119 lines
4.8 KiB
Go
119 lines
4.8 KiB
Go
|
package storage
|
||
|
|
||
|
import (
|
||
|
"math"
|
||
|
|
||
|
"gitlab.com/mstarongitlab/goutils/other"
|
||
|
)
|
||
|
|
||
|
var DefaultUserRole = Role{
|
||
|
Name: "Default",
|
||
|
Priority: 0,
|
||
|
IsUserRole: false,
|
||
|
IsBuiltIn: true,
|
||
|
|
||
|
CanSendMedia: other.IntoPointer(true),
|
||
|
CanSendCustomEmotes: other.IntoPointer(true),
|
||
|
CanSendCustomReactions: other.IntoPointer(true),
|
||
|
CanSendPublicNotes: other.IntoPointer(true),
|
||
|
CanSendLocalNotes: other.IntoPointer(true),
|
||
|
CanSendFollowerOnlyNotes: other.IntoPointer(true),
|
||
|
CanSendPrivateNotes: other.IntoPointer(true),
|
||
|
CanQuote: other.IntoPointer(true),
|
||
|
CanBoost: other.IntoPointer(true),
|
||
|
CanIncludeLinks: other.IntoPointer(true),
|
||
|
CanIncludeSurvey: other.IntoPointer(true),
|
||
|
|
||
|
CanChangeDisplayName: other.IntoPointer(true),
|
||
|
|
||
|
BlockedUsers: []string{},
|
||
|
CanSubmitReports: other.IntoPointer(true),
|
||
|
CanLogin: other.IntoPointer(true),
|
||
|
|
||
|
CanMentionOthers: other.IntoPointer(true),
|
||
|
HasMentionCountLimit: other.IntoPointer(false),
|
||
|
MentionLimit: other.IntoPointer(uint32(math.MaxUint32)), // Set this to max, even if not used due to *HasMentionCountLimit == false
|
||
|
|
||
|
AutoNsfwMedia: other.IntoPointer(false),
|
||
|
AutoCwPosts: other.IntoPointer(false),
|
||
|
AutoCwPostsText: nil,
|
||
|
WithholdNotesForManualApproval: other.IntoPointer(false),
|
||
|
ScanCreatedPublicNotes: other.IntoPointer(false),
|
||
|
ScanCreatedLocalNotes: other.IntoPointer(false),
|
||
|
ScanCreatedFollowerOnlyNotes: other.IntoPointer(false),
|
||
|
ScanCreatedPrivateNotes: other.IntoPointer(false),
|
||
|
DisallowInteractionsWith: []string{},
|
||
|
|
||
|
FullAdmin: other.IntoPointer(false),
|
||
|
CanAffectOtherAdmins: other.IntoPointer(false),
|
||
|
CanDeleteNotes: other.IntoPointer(false),
|
||
|
CanConfirmWithheldNotes: other.IntoPointer(false),
|
||
|
CanAssignRoles: other.IntoPointer(false),
|
||
|
CanSupressInteractionsBetweenUsers: other.IntoPointer(false),
|
||
|
CanOverwriteDisplayNames: other.IntoPointer(false),
|
||
|
CanManageCustomEmotes: other.IntoPointer(false),
|
||
|
CanViewDeletedNotes: other.IntoPointer(false),
|
||
|
CanRecoverDeletedNotes: other.IntoPointer(false),
|
||
|
CanManageAvatarDecorations: other.IntoPointer(false),
|
||
|
CanManageAds: other.IntoPointer(false),
|
||
|
CanSendAnnouncements: other.IntoPointer(false),
|
||
|
}
|
||
|
|
||
|
var fullAdminRole = Role{
|
||
|
Name: "fullAdmin",
|
||
|
Priority: math.MaxUint,
|
||
|
IsUserRole: false,
|
||
|
IsBuiltIn: true,
|
||
|
|
||
|
CanSendMedia: other.IntoPointer(true),
|
||
|
CanSendCustomEmotes: other.IntoPointer(true),
|
||
|
CanSendCustomReactions: other.IntoPointer(true),
|
||
|
CanSendPublicNotes: other.IntoPointer(true),
|
||
|
CanSendLocalNotes: other.IntoPointer(true),
|
||
|
CanSendFollowerOnlyNotes: other.IntoPointer(true),
|
||
|
CanSendPrivateNotes: other.IntoPointer(true),
|
||
|
CanQuote: other.IntoPointer(true),
|
||
|
CanBoost: other.IntoPointer(true),
|
||
|
CanIncludeLinks: other.IntoPointer(true),
|
||
|
CanIncludeSurvey: other.IntoPointer(true),
|
||
|
|
||
|
CanChangeDisplayName: other.IntoPointer(true),
|
||
|
|
||
|
BlockedUsers: []string{},
|
||
|
CanSubmitReports: other.IntoPointer(true),
|
||
|
CanLogin: other.IntoPointer(true),
|
||
|
|
||
|
CanMentionOthers: other.IntoPointer(true),
|
||
|
HasMentionCountLimit: other.IntoPointer(false),
|
||
|
MentionLimit: other.IntoPointer(uint32(math.MaxUint32)), // Set this to max, even if not used due to *HasMentionCountLimit == false
|
||
|
|
||
|
AutoNsfwMedia: other.IntoPointer(false),
|
||
|
AutoCwPosts: other.IntoPointer(false),
|
||
|
AutoCwPostsText: nil,
|
||
|
WithholdNotesForManualApproval: other.IntoPointer(false),
|
||
|
ScanCreatedPublicNotes: other.IntoPointer(false),
|
||
|
ScanCreatedLocalNotes: other.IntoPointer(false),
|
||
|
ScanCreatedFollowerOnlyNotes: other.IntoPointer(false),
|
||
|
ScanCreatedPrivateNotes: other.IntoPointer(false),
|
||
|
DisallowInteractionsWith: []string{},
|
||
|
|
||
|
FullAdmin: other.IntoPointer(true),
|
||
|
CanAffectOtherAdmins: other.IntoPointer(true),
|
||
|
CanDeleteNotes: other.IntoPointer(true),
|
||
|
CanConfirmWithheldNotes: other.IntoPointer(true),
|
||
|
CanAssignRoles: other.IntoPointer(true),
|
||
|
CanSupressInteractionsBetweenUsers: other.IntoPointer(true),
|
||
|
CanOverwriteDisplayNames: other.IntoPointer(true),
|
||
|
CanManageCustomEmotes: other.IntoPointer(true),
|
||
|
CanViewDeletedNotes: other.IntoPointer(true),
|
||
|
CanRecoverDeletedNotes: other.IntoPointer(true),
|
||
|
CanManageAvatarDecorations: other.IntoPointer(true),
|
||
|
CanManageAds: other.IntoPointer(true),
|
||
|
CanSendAnnouncements: other.IntoPointer(true),
|
||
|
}
|
||
|
|
||
|
var allDefaultRoles = []*Role{
|
||
|
&DefaultUserRole,
|
||
|
&fullAdminRole,
|
||
|
}
|