aboutsummaryrefslogtreecommitdiff
path: root/validators.go
diff options
context:
space:
mode:
Diffstat (limited to 'validators.go')
-rw-r--r--validators.go51
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(&params.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(&params.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(&params.Fields)
+}