summaryrefslogtreecommitdiff
path: root/internal/api/client/notifications/notificationsget.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2024-11-25 13:48:59 +0000
committerLibravatar GitHub <noreply@github.com>2024-11-25 14:48:59 +0100
commitcac9d65029e972af9440ff79a2617d5c524a9d64 (patch)
tree87353498b2d6bb29679cd4af8744d5b3f7cd3423 /internal/api/client/notifications/notificationsget.go
parent[chore]: Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#3564) (diff)
downloadgotosocial-cac9d65029e972af9440ff79a2617d5c524a9d64.tar.xz
[performance] convert enum strings to ints (#3558)
* convert statuses.visibility and notifications.notification_type columns from type string -> int for performance / space savings * fix test trying to compare string to int * fix instance count query using string literal instead of gtsmodel const type * ensure a default value is always set * also migrate the account settings and sin bin status tables * initialize maps outside loops and place into singular enum mapping creation func * use int16 for enum types * update sinbinstatus creation to be from a snapshot at initial creation * add snapshot of poll type at creation time
Diffstat (limited to 'internal/api/client/notifications/notificationsget.go')
-rw-r--r--internal/api/client/notifications/notificationsget.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/internal/api/client/notifications/notificationsget.go b/internal/api/client/notifications/notificationsget.go
index f7bcf1994..cc3e5bdb7 100644
--- a/internal/api/client/notifications/notificationsget.go
+++ b/internal/api/client/notifications/notificationsget.go
@@ -164,6 +164,18 @@ func (m *Module) NotificationsGETHandler(c *gin.Context) {
limit = int(i)
}
+ types, errWithCode := apiutil.ParseNotificationTypes(c.QueryArray(TypesKey))
+ if errWithCode != nil {
+ apiutil.ErrorHandler(c, errWithCode, m.processor.InstanceGetV1)
+ return
+ }
+
+ exclTypes, errWithCode := apiutil.ParseNotificationTypes(c.QueryArray(ExcludeTypesKey))
+ if errWithCode != nil {
+ apiutil.ErrorHandler(c, errWithCode, m.processor.InstanceGetV1)
+ return
+ }
+
resp, errWithCode := m.processor.Timeline().NotificationsGet(
c.Request.Context(),
authed,
@@ -171,8 +183,8 @@ func (m *Module) NotificationsGETHandler(c *gin.Context) {
c.Query(SinceIDKey),
c.Query(MinIDKey),
limit,
- c.QueryArray(TypesKey),
- c.QueryArray(ExcludeTypesKey),
+ types,
+ exclTypes,
)
if errWithCode != nil {
apiutil.ErrorHandler(c, errWithCode, m.processor.InstanceGetV1)