summaryrefslogtreecommitdiff
path: root/internal/processing
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/processing
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/processing')
-rw-r--r--internal/processing/preferences.go2
-rw-r--r--internal/processing/status/create.go2
-rw-r--r--internal/processing/timeline/notification.go4
-rw-r--r--internal/processing/workers/surfacenotify.go2
4 files changed, 5 insertions, 5 deletions
diff --git a/internal/processing/preferences.go b/internal/processing/preferences.go
index 0a5f566ae..fb445ec5b 100644
--- a/internal/processing/preferences.go
+++ b/internal/processing/preferences.go
@@ -46,7 +46,7 @@ func (p *Processor) PreferencesGet(ctx context.Context, accountID string) (*apim
func mastoPrefVisibility(vis gtsmodel.Visibility) string {
switch vis {
case gtsmodel.VisibilityPublic, gtsmodel.VisibilityDirect:
- return string(vis)
+ return vis.String()
case gtsmodel.VisibilityUnlocked:
return "unlisted"
default:
diff --git a/internal/processing/status/create.go b/internal/processing/status/create.go
index fbc2dadf7..ef8f8aa56 100644
--- a/internal/processing/status/create.go
+++ b/internal/processing/status/create.go
@@ -372,7 +372,7 @@ func (p *Processor) processVisibility(
// Fall back to account default, set
// this back on the form for later use.
- case accountDefaultVis != "":
+ case accountDefaultVis != 0:
status.Visibility = accountDefaultVis
form.Visibility = p.converter.VisToAPIVis(ctx, accountDefaultVis)
diff --git a/internal/processing/timeline/notification.go b/internal/processing/timeline/notification.go
index 34e6d865d..92dbf851f 100644
--- a/internal/processing/timeline/notification.go
+++ b/internal/processing/timeline/notification.go
@@ -41,8 +41,8 @@ func (p *Processor) NotificationsGet(
sinceID string,
minID string,
limit int,
- types []string,
- excludeTypes []string,
+ types []gtsmodel.NotificationType,
+ excludeTypes []gtsmodel.NotificationType,
) (*apimodel.PageableResponse, gtserror.WithCode) {
notifs, err := p.state.DB.GetAccountNotifications(
ctx,
diff --git a/internal/processing/workers/surfacenotify.go b/internal/processing/workers/surfacenotify.go
index 872ccca65..1520d2ec0 100644
--- a/internal/processing/workers/surfacenotify.go
+++ b/internal/processing/workers/surfacenotify.go
@@ -542,7 +542,7 @@ func getNotifyLockURI(
) string {
builder := strings.Builder{}
builder.WriteString("notification:?")
- builder.WriteString("type=" + string(notificationType))
+ builder.WriteString("type=" + notificationType.String())
builder.WriteString("&target=" + targetAccount.URI)
builder.WriteString("&origin=" + originAccount.URI)
if statusID != "" {