Fix-ish frontend models, a generator and a generate command

This commit is contained in:
Melody Becker 2024-11-20 16:11:11 +01:00
parent a6291fd098
commit a94a360773
14 changed files with 380 additions and 314 deletions

View file

@ -4,5 +4,5 @@ package server
import "gitlab.com/mstarongitlab/linstrom/storage"
func convertRoleStorageToLinstrom(r storage.Role) linstromRole {
return linstromRole{Id:r.ID,CreatedAt:r.CreatedAt,UpdatedAt:r.UpdatedAt,Name:r.Name,Priority:r.Priority,IsUserRole:r.IsUserRole,IsBuiltIn:r.IsBuiltIn,CanSendAnnouncements:r.CanSendAnnouncements,CanIncludeSurvey:r.CanIncludeSurvey,CanSubmitReports:r.CanSubmitReports,CanMentionOthers:r.CanMentionOthers,WithholdNotesBasedOnRegex:r.WithholdNotesBasedOnRegex,CanSendMedia:r.CanSendMedia,CanSendLocalNotes:r.CanSendLocalNotes,ScanCreatedFollowerOnlyNotes:r.ScanCreatedFollowerOnlyNotes,CanOverwriteDisplayNames:r.CanOverwriteDisplayNames,CanDeleteNotes:r.CanDeleteNotes,CanSupressInteractionsBetweenUsers:r.CanSupressInteractionsBetweenUsers,CanManageAds:r.CanManageAds,BlockedUsers:r.BlockedUsers,CanLogin:r.CanLogin,AutoCwPosts:r.AutoCwPosts,WithholdNotesRegexes:r.WithholdNotesRegexes,ScanCreatedPublicNotes:r.ScanCreatedPublicNotes,ScanCreatedLocalNotes:r.ScanCreatedLocalNotes,CanAffectOtherAdmins:r.CanAffectOtherAdmins,CanAssignRoles:r.CanAssignRoles,CanSendFollowerOnlyNotes:r.CanSendFollowerOnlyNotes,CanBoost:r.CanBoost,CanFederateBsky:r.CanFederateBsky,HasMentionCountLimit:r.HasMentionCountLimit,DisallowInteractionsWith:r.DisallowInteractionsWith,CanViewDeletedNotes:r.CanViewDeletedNotes,CanSendCustomReactions:r.CanSendCustomReactions,CanSendReplies:r.CanSendReplies,CanIncludeLinks:r.CanIncludeLinks,CanChangeDisplayName:r.CanChangeDisplayName,CanSendPrivateNotes:r.CanSendPrivateNotes,MentionLimit:r.MentionLimit,WithholdNotesForManualApproval:r.WithholdNotesForManualApproval,CanRecoverDeletedNotes:r.CanRecoverDeletedNotes,AutoCwPostsText:r.AutoCwPostsText,ScanCreatedPrivateNotes:r.ScanCreatedPrivateNotes,CanSendCustomEmotes:r.CanSendCustomEmotes,CanSendPublicNotes:r.CanSendPublicNotes,CanQuote:r.CanQuote,CanFederateFedi:r.CanFederateFedi,CanManageAvatarDecorations:r.CanManageAvatarDecorations,AutoNsfwMedia:r.AutoNsfwMedia,FullAdmin:r.FullAdmin,CanConfirmWithheldNotes:r.CanConfirmWithheldNotes,CanManageCustomEmotes:r.CanManageCustomEmotes,}
return linstromRole{Id:r.ID,CreatedAt:r.CreatedAt,UpdatedAt:r.UpdatedAt,Name:r.Name,Priority:r.Priority,IsUserRole:r.IsUserRole,IsBuiltIn:r.IsBuiltIn,CanRecoverDeletedNotes:r.CanRecoverDeletedNotes,CanSendFollowerOnlyNotes:r.CanSendFollowerOnlyNotes,CanSendReplies:r.CanSendReplies,AutoNsfwMedia:r.AutoNsfwMedia,WithholdNotesForManualApproval:r.WithholdNotesForManualApproval,CanAffectOtherAdmins:r.CanAffectOtherAdmins,CanAssignRoles:r.CanAssignRoles,CanOverwriteDisplayNames:r.CanOverwriteDisplayNames,CanManageAvatarDecorations:r.CanManageAvatarDecorations,CanSendMedia:r.CanSendMedia,ScanCreatedLocalNotes:r.ScanCreatedLocalNotes,CanSendCustomEmotes:r.CanSendCustomEmotes,CanSendPublicNotes:r.CanSendPublicNotes,CanIncludeSurvey:r.CanIncludeSurvey,AutoCwPostsText:r.AutoCwPostsText,CanManageCustomEmotes:r.CanManageCustomEmotes,CanSendAnnouncements:r.CanSendAnnouncements,CanSendLocalNotes:r.CanSendLocalNotes,CanBoost:r.CanBoost,CanLogin:r.CanLogin,CanMentionOthers:r.CanMentionOthers,CanManageAds:r.CanManageAds,CanQuote:r.CanQuote,CanChangeDisplayName:r.CanChangeDisplayName,CanSubmitReports:r.CanSubmitReports,FullAdmin:r.FullAdmin,CanSendPrivateNotes:r.CanSendPrivateNotes,CanIncludeLinks:r.CanIncludeLinks,CanFederateFedi:r.CanFederateFedi,HasMentionCountLimit:r.HasMentionCountLimit,AutoCwPosts:r.AutoCwPosts,ScanCreatedPublicNotes:r.ScanCreatedPublicNotes,DisallowInteractionsWith:r.DisallowInteractionsWith,CanDeleteNotes:r.CanDeleteNotes,CanConfirmWithheldNotes:r.CanConfirmWithheldNotes,ScanCreatedPrivateNotes:r.ScanCreatedPrivateNotes,WithholdNotesBasedOnRegex:r.WithholdNotesBasedOnRegex,WithholdNotesRegexes:r.WithholdNotesRegexes,CanSupressInteractionsBetweenUsers:r.CanSupressInteractionsBetweenUsers,CanViewDeletedNotes:r.CanViewDeletedNotes,CanSendCustomReactions:r.CanSendCustomReactions,CanFederateBsky:r.CanFederateBsky,BlockedUsers:r.BlockedUsers,MentionLimit:r.MentionLimit,ScanCreatedFollowerOnlyNotes:r.ScanCreatedFollowerOnlyNotes,}
}

View file

@ -11,49 +11,49 @@ type linstromRole struct {
Priority uint32 `jsonapi:"attr,priority"`
IsUserRole bool `jsonapi:"attr,is-user-role"`
IsBuiltIn bool `jsonapi:"attr,is-built-in"`
CanQuote *bool `jsonapi:"attr,can-quote"`
CanFederateFedi *bool `jsonapi:"attr,can-federate-fedi"`
DisallowInteractionsWith []string `jsonapi:"attr,disallow-interactions-with"`
WithholdNotesRegexes []string `jsonapi:"attr,withhold-notes-regexes"`
FullAdmin *bool `jsonapi:"attr,full-admin"`
CanViewDeletedNotes *bool `jsonapi:"attr,can-view-deleted-notes"`
CanSendCustomReactions *bool `jsonapi:"attr,can-send-custom-reactions"`
CanSendFollowerOnlyNotes *bool `jsonapi:"attr,can-send-follower-only-notes"`
CanLogin *bool `jsonapi:"attr,can-login"`
AutoCwPostsText *string `jsonapi:"attr,auto-cw-posts-text"`
WithholdNotesForManualApproval *bool `jsonapi:"attr,withhold-notes-for-manual-approval"`
CanDeleteNotes *bool `jsonapi:"attr,can-delete-notes"`
CanSendLocalNotes *bool `jsonapi:"attr,can-send-local-notes"`
CanIncludeLinks *bool `jsonapi:"attr,can-include-links"`
AutoCwPosts *bool `jsonapi:"attr,auto-cw-posts"`
WithholdNotesBasedOnRegex *bool `jsonapi:"attr,withhold-notes-based-on-regex"`
CanAffectOtherAdmins *bool `jsonapi:"attr,can-affect-other-admins"`
CanAssignRoles *bool `jsonapi:"attr,can-assign-roles"`
CanSendMedia *bool `jsonapi:"attr,can-send-media"`
BlockedUsers []string `jsonapi:"attr,blocked-users"`
AutoNsfwMedia *bool `jsonapi:"attr,auto-nsfw-media"`
CanConfirmWithheldNotes *bool `jsonapi:"attr,can-confirm-withheld-notes"`
CanOverwriteDisplayNames *bool `jsonapi:"attr,can-overwrite-display-names"`
CanManageAds *bool `jsonapi:"attr,can-manage-ads"`
CanIncludeSurvey *bool `jsonapi:"attr,can-include-survey"`
CanSubmitReports *bool `jsonapi:"attr,can-submit-reports"`
ScanCreatedFollowerOnlyNotes *bool `jsonapi:"attr,scan-created-follower-only-notes"`
CanLogin *bool `jsonapi:"attr,can-login"`
CanSupressInteractionsBetweenUsers *bool `jsonapi:"attr,can-supress-interactions-between-users"`
CanManageCustomEmotes *bool `jsonapi:"attr,can-manage-custom-emotes"`
CanManageAvatarDecorations *bool `jsonapi:"attr,can-manage-avatar-decorations"`
CanSendAnnouncements *bool `jsonapi:"attr,can-send-announcements"`
CanBoost *bool `jsonapi:"attr,can-boost"`
ScanCreatedPublicNotes *bool `jsonapi:"attr,scan-created-public-notes"`
CanSendReplies *bool `jsonapi:"attr,can-send-replies"`
CanRecoverDeletedNotes *bool `jsonapi:"attr,can-recover-deleted-notes"`
CanMentionOthers *bool `jsonapi:"attr,can-mention-others"`
CanSendFollowerOnlyNotes *bool `jsonapi:"attr,can-send-follower-only-notes"`
CanSendPrivateNotes *bool `jsonapi:"attr,can-send-private-notes"`
HasMentionCountLimit *bool `jsonapi:"attr,has-mention-count-limit"`
MentionLimit *uint32 `jsonapi:"attr,mention-limit"`
CanSendCustomEmotes *bool `jsonapi:"attr,can-send-custom-emotes"`
CanChangeDisplayName *bool `jsonapi:"attr,can-change-display-name"`
ScanCreatedLocalNotes *bool `jsonapi:"attr,scan-created-local-notes"`
CanSupressInteractionsBetweenUsers *bool `jsonapi:"attr,can-supress-interactions-between-users"`
CanSendReplies *bool `jsonapi:"attr,can-send-replies"`
CanFederateBsky *bool `jsonapi:"attr,can-federate-bsky"`
CanMentionOthers *bool `jsonapi:"attr,can-mention-others"`
ScanCreatedPrivateNotes *bool `jsonapi:"attr,scan-created-private-notes"`
CanRecoverDeletedNotes *bool `jsonapi:"attr,can-recover-deleted-notes"`
ScanCreatedFollowerOnlyNotes *bool `jsonapi:"attr,scan-created-follower-only-notes"`
FullAdmin *bool `jsonapi:"attr,full-admin"`
CanSendPublicNotes *bool `jsonapi:"attr,can-send-public-notes"`
CanSendPrivateNotes *bool `jsonapi:"attr,can-send-private-notes"`
CanFederateBsky *bool `jsonapi:"attr,can-federate-bsky"`
CanSubmitReports *bool `jsonapi:"attr,can-submit-reports"`
AutoNsfwMedia *bool `jsonapi:"attr,auto-nsfw-media"`
AutoCwPostsText *string `jsonapi:"attr,auto-cw-posts-text"`
WithholdNotesForManualApproval *bool `jsonapi:"attr,withhold-notes-for-manual-approval"`
CanManageAds *bool `jsonapi:"attr,can-manage-ads"`
CanFederateFedi *bool `jsonapi:"attr,can-federate-fedi"`
CanChangeDisplayName *bool `jsonapi:"attr,can-change-display-name"`
ScanCreatedPublicNotes *bool `jsonapi:"attr,scan-created-public-notes"`
ScanCreatedPrivateNotes *bool `jsonapi:"attr,scan-created-private-notes"`
CanAssignRoles *bool `jsonapi:"attr,can-assign-roles"`
CanSendCustomReactions *bool `jsonapi:"attr,can-send-custom-reactions"`
BlockedUsers []string `jsonapi:"attr,blocked-users"`
DisallowInteractionsWith []string `jsonapi:"attr,disallow-interactions-with"`
CanDeleteNotes *bool `jsonapi:"attr,can-delete-notes"`
CanViewDeletedNotes *bool `jsonapi:"attr,can-view-deleted-notes"`
CanManageAvatarDecorations *bool `jsonapi:"attr,can-manage-avatar-decorations"`
CanSendMedia *bool `jsonapi:"attr,can-send-media"`
CanSendLocalNotes *bool `jsonapi:"attr,can-send-local-notes"`
CanBoost *bool `jsonapi:"attr,can-boost"`
AutoCwPosts *bool `jsonapi:"attr,auto-cw-posts"`
ScanCreatedLocalNotes *bool `jsonapi:"attr,scan-created-local-notes"`
WithholdNotesRegexes []string `jsonapi:"attr,withhold-notes-regexes"`
CanSendCustomEmotes *bool `jsonapi:"attr,can-send-custom-emotes"`
WithholdNotesBasedOnRegex *bool `jsonapi:"attr,withhold-notes-based-on-regex"`
CanAffectOtherAdmins *bool `jsonapi:"attr,can-affect-other-admins"`
CanConfirmWithheldNotes *bool `jsonapi:"attr,can-confirm-withheld-notes"`
CanOverwriteDisplayNames *bool `jsonapi:"attr,can-overwrite-display-names"`
CanQuote *bool `jsonapi:"attr,can-quote"`
}