Skip to content

Commit

Permalink
feat:validate tags with reserved words(#14)
Browse files Browse the repository at this point in the history
  • Loading branch information
vimiix committed Jan 30, 2024
1 parent 4186336 commit 78b2504
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
27 changes: 27 additions & 0 deletions ssx/reserved.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package ssx

var (
// Reference: https://github.com/vimiix/ssx/issues/14
reservedWords = []string{
"l", "ls", "list",
"t", "tag",
"d", "del", "delete",
"a", "add",
"i", "info",
"u", "update",
"cp", "scp",
"stats", "top", "share",
"ssx",
}
reservedWordsMap = map[string]bool{}
)

func init() {
for _, word := range reservedWords {
reservedWordsMap[word] = true
}
}

func isReservedWord(word string) bool {
return reservedWordsMap[word]
}
11 changes: 11 additions & 0 deletions ssx/ssx.go
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,17 @@ func (s *SSX) AppendTagByID(id int, tags ...string) error {
if len(tags) == 0 {
return nil
}
var reserved []string
for _, tag := range tags {
if isReservedWord(tag) {
reserved = append(reserved, tag)
}
}
if len(reserved) > 0 {
return fmt.Errorf("can not contain reserved words: %s\nsee also %s",
reserved, "https://github.com/vimiix/ssx/issues/14")
}

em, err := s.repo.GetAllEntries()
if err != nil {
return err
Expand Down

0 comments on commit 78b2504

Please sign in to comment.