diff options
Diffstat (limited to 'validators.go')
-rw-r--r-- | validators.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/validators.go b/validators.go index 2dafaad..7386c23 100644 --- a/validators.go +++ b/validators.go @@ -263,6 +263,31 @@ func validateSuggestedParams(params *SuggestedParams) error { return validateAnimeFields(¶ms.Fields) } +func validateAnimeListParams(params *ListParams) error { + // if username is empty, set it to @me + if strings.TrimSpace(params.Username) == "" { + params.Username = "@me" + } + + if params.Status != "" { + err := validateAnimeListStatus(params.Status) + if err != nil { + return err + } + } + + err := validateAnimeListSort(params.Sort) + if err != nil { + return err + } + + if params.Limit > 1000 || params.Limit < 1 { + return ErrLimitOutOfRange + } + + return validateAnimeFields(¶ms.Fields) +} + func validateMangaSearchParams(params *SearchParams) error { if strings.TrimSpace(params.SearchString) == "" { return ErrEmptySearchString @@ -292,3 +317,29 @@ func validateMangaRankingParams(params *RankingParams) error { return err } + + +func validateMangaListParams(params *ListParams) error { + // if username is empty, set it to @me + if strings.TrimSpace(params.Username) == "" { + params.Username = "@me" + } + + if params.Status != "" { + err := validateMangaListStatus(params.Status) + if err != nil { + return err + } + } + + err := validateMangaListSort(params.Sort) + if err != nil { + return err + } + + if params.Limit > 1000 || params.Limit < 1 { + return ErrLimitOutOfRange + } + + return validateMangaFields(¶ms.Fields) +} |