summaryrefslogtreecommitdiff
path: root/internal/api/util
diff options
context:
space:
mode:
Diffstat (limited to 'internal/api/util')
-rw-r--r--internal/api/util/parsequery.go98
1 files changed, 81 insertions, 17 deletions
diff --git a/internal/api/util/parsequery.go b/internal/api/util/parsequery.go
index da6320b67..54cb4c466 100644
--- a/internal/api/util/parsequery.go
+++ b/internal/api/util/parsequery.go
@@ -34,12 +34,13 @@ const (
/* Common keys */
- IDKey = "id"
- LimitKey = "limit"
- LocalKey = "local"
- MaxIDKey = "max_id"
- SinceIDKey = "since_id"
- MinIDKey = "min_id"
+ IDKey = "id"
+ LimitKey = "limit"
+ LocalKey = "local"
+ MaxIDKey = "max_id"
+ SinceIDKey = "since_id"
+ MinIDKey = "min_id"
+ UsernameKey = "username"
/* AP endpoint keys */
@@ -61,33 +62,55 @@ const (
/* Web endpoint keys */
- WebUsernameKey = "username"
WebStatusIDKey = "status"
/* Domain permission keys */
DomainPermissionExportKey = "export"
DomainPermissionImportKey = "import"
+
+ /* Admin query keys */
+
+ AdminRemoteKey = "remote"
+ AdminActiveKey = "active"
+ AdminPendingKey = "pending"
+ AdminDisabledKey = "disabled"
+ AdminSilencedKey = "silenced"
+ AdminSuspendedKey = "suspended"
+ AdminSensitizedKey = "sensitized"
+ AdminDisplayNameKey = "display_name"
+ AdminByDomainKey = "by_domain"
+ AdminEmailKey = "email"
+ AdminIPKey = "ip"
+ AdminStaffKey = "staff"
+ AdminOriginKey = "origin"
+ AdminStatusKey = "status"
+ AdminPermissionsKey = "permissions"
+ AdminRoleIDsKey = "role_ids[]"
+ AdminInvitedByKey = "invited_by"
)
/*
Parse functions for *OPTIONAL* parameters with default values.
*/
-func ParseLimit(value string, defaultValue int, max, min int) (int, gtserror.WithCode) {
- i, err := parseInt(value, defaultValue, max, min, LimitKey)
- if err != nil {
- return 0, err
+func ParseMaxID(value string, defaultValue string) string {
+ if value == "" {
+ return defaultValue
}
- return i, nil
+ return value
}
-func ParseLocal(value string, defaultValue bool) (bool, gtserror.WithCode) {
- return parseBool(value, defaultValue, LocalKey)
+func ParseSinceID(value string, defaultValue string) string {
+ if value == "" {
+ return defaultValue
+ }
+
+ return value
}
-func ParseMaxID(value string, defaultValue string) string {
+func ParseMinID(value string, defaultValue string) string {
if value == "" {
return defaultValue
}
@@ -95,6 +118,19 @@ func ParseMaxID(value string, defaultValue string) string {
return value
}
+func ParseLimit(value string, defaultValue int, max, min int) (int, gtserror.WithCode) {
+ i, err := parseInt(value, defaultValue, max, min, LimitKey)
+ if err != nil {
+ return 0, err
+ }
+
+ return i, nil
+}
+
+func ParseLocal(value string, defaultValue bool) (bool, gtserror.WithCode) {
+ return parseBool(value, defaultValue, LocalKey)
+}
+
func ParseSearchExcludeUnreviewed(value string, defaultValue bool) (bool, gtserror.WithCode) {
return parseBool(value, defaultValue, SearchExcludeUnreviewedKey)
}
@@ -123,6 +159,34 @@ func ParseOnlyOtherAccounts(value string, defaultValue bool) (bool, gtserror.Wit
return parseBool(value, defaultValue, OnlyOtherAccountsKey)
}
+func ParseAdminRemote(value string, defaultValue bool) (bool, gtserror.WithCode) {
+ return parseBool(value, defaultValue, AdminRemoteKey)
+}
+
+func ParseAdminActive(value string, defaultValue bool) (bool, gtserror.WithCode) {
+ return parseBool(value, defaultValue, AdminActiveKey)
+}
+
+func ParseAdminPending(value string, defaultValue bool) (bool, gtserror.WithCode) {
+ return parseBool(value, defaultValue, AdminPendingKey)
+}
+
+func ParseAdminDisabled(value string, defaultValue bool) (bool, gtserror.WithCode) {
+ return parseBool(value, defaultValue, AdminDisabledKey)
+}
+
+func ParseAdminSilenced(value string, defaultValue bool) (bool, gtserror.WithCode) {
+ return parseBool(value, defaultValue, AdminSilencedKey)
+}
+
+func ParseAdminSuspended(value string, defaultValue bool) (bool, gtserror.WithCode) {
+ return parseBool(value, defaultValue, AdminSuspendedKey)
+}
+
+func ParseAdminStaff(value string, defaultValue bool) (bool, gtserror.WithCode) {
+ return parseBool(value, defaultValue, AdminStaffKey)
+}
+
/*
Parse functions for *REQUIRED* parameters.
*/
@@ -187,8 +251,8 @@ func ParseTagName(value string) (string, gtserror.WithCode) {
return value, nil
}
-func ParseWebUsername(value string) (string, gtserror.WithCode) {
- key := WebUsernameKey
+func ParseUsername(value string) (string, gtserror.WithCode) {
+ key := UsernameKey
if value == "" {
return "", requiredError(key)