convert statuses.visibility and notifications.notification_type columns from type string -> int for performance / space savings

This commit is contained in:
kim 2024-11-21 17:03:53 +00:00
commit 759df1240a
21 changed files with 586 additions and 84 deletions

View file

@ -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:

View file

@ -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)

View file

@ -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,

View file

@ -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 != "" {