67 lines
2.1 KiB
Go
67 lines
2.1 KiB
Go
|
package config
|
||
|
|
||
|
// All available admin scopes
|
||
|
const (
|
||
|
// Social moderation over the chat and forums.
|
||
|
// - Chat: have operator controls in the chat room
|
||
|
// - Forum: ability to edit and delete user posts
|
||
|
// - Photo: omniscient view of all gallery photos, can edit/delete photos
|
||
|
// - Inner circle: ability to remove users from it
|
||
|
ScopeChatModerator = "social.moderator.chat"
|
||
|
ScopeForumModerator = "social.moderator.forum"
|
||
|
ScopePhotoModerator = "social.moderator.photo"
|
||
|
ScopeCircleModerator = "social.moderator.inner-circle"
|
||
|
|
||
|
// Certification photo management
|
||
|
// - Approve: ability to respond to pending certification pics
|
||
|
// - List: paginate thru all approved or rejected photos
|
||
|
// - View: inspect specific user photos
|
||
|
ScopeCertificationApprove = "certification.approve"
|
||
|
ScopeCertificationList = "certification.list"
|
||
|
ScopeCertificationView = "certification.view"
|
||
|
|
||
|
// Website administration
|
||
|
// - Forum: ability to manage available forums
|
||
|
// - Scopes: ability to manage admin groups & scopes
|
||
|
ScopeForumAdmin = "admin.forum.manage"
|
||
|
ScopeAdminScopeAdmin = "admin.scope.manage"
|
||
|
|
||
|
// User account admin
|
||
|
// - Impersonate: ability to log in as a user account
|
||
|
// - Ban: ability to ban/unban users
|
||
|
// - Delete: ability to delete user accounts
|
||
|
ScopeUserImpersonate = "admin.user.impersonate"
|
||
|
ScopeUserBan = "admin.user.ban"
|
||
|
ScopeUserPromote = "admin.user.promote"
|
||
|
ScopeUserDelete = "admin.user.delete"
|
||
|
|
||
|
// Special scope to mark an admin automagically in the Inner Circle
|
||
|
ScopeIsInnerCircle = "admin.override.inner-circle"
|
||
|
)
|
||
|
|
||
|
// Number of expected scopes for unit test and validation.
|
||
|
const QuantityAdminScopes = 14
|
||
|
|
||
|
// The specially named Superusers group.
|
||
|
const AdminGroupSuperusers = "Superusers"
|
||
|
|
||
|
// ListAdminScopes returns the listing of all available admin scopes.
|
||
|
func ListAdminScopes() []string {
|
||
|
return []string{
|
||
|
ScopeChatModerator,
|
||
|
ScopeForumModerator,
|
||
|
ScopePhotoModerator,
|
||
|
ScopeCircleModerator,
|
||
|
ScopeCertificationApprove,
|
||
|
ScopeCertificationList,
|
||
|
ScopeCertificationView,
|
||
|
ScopeForumAdmin,
|
||
|
ScopeAdminScopeAdmin,
|
||
|
ScopeUserImpersonate,
|
||
|
ScopeUserBan,
|
||
|
ScopeUserDelete,
|
||
|
ScopeUserPromote,
|
||
|
ScopeIsInnerCircle,
|
||
|
}
|
||
|
}
|