mirror of
https://github.com/abhinavxd/libredesk.git
synced 2025-10-24 00:23:36 +00:00
107 lines
3.1 KiB
Go
107 lines
3.1 KiB
Go
package models
|
|
|
|
const (
|
|
// Conversation
|
|
PermConversationsReadAll = "conversations:read_all"
|
|
PermConversationsReadUnassigned = "conversations:read_unassigned"
|
|
PermConversationsReadAssigned = "conversations:read_assigned"
|
|
PermConversationsReadTeamInbox = "conversations:read_team_inbox"
|
|
PermConversationsRead = "conversations:read"
|
|
PermConversationsUpdateUserAssignee = "conversations:update_user_assignee"
|
|
PermConversationsUpdateTeamAssignee = "conversations:update_team_assignee"
|
|
PermConversationsUpdatePriority = "conversations:update_priority"
|
|
PermConversationsUpdateStatus = "conversations:update_status"
|
|
PermConversationsUpdateTags = "conversations:update_tags"
|
|
PermMessagesRead = "messages:read"
|
|
PermMessagesWrite = "messages:write"
|
|
|
|
// View
|
|
PermViewManage = "view:manage"
|
|
|
|
// Status
|
|
PermStatusManage = "status:manage"
|
|
|
|
// Tags
|
|
PermTagsManage = "tags:manage"
|
|
|
|
// Macros
|
|
PermMacrosManage = "macros:manage"
|
|
|
|
// Users
|
|
PermUsersManage = "users:manage"
|
|
|
|
// Teams
|
|
PermTeamsManage = "teams:manage"
|
|
|
|
// Automations
|
|
PermAutomationsManage = "automations:manage"
|
|
|
|
// Inboxes
|
|
PermInboxesManage = "inboxes:manage"
|
|
|
|
// Roles
|
|
PermRolesManage = "roles:manage"
|
|
|
|
// Templates
|
|
PermTemplatesManage = "templates:manage"
|
|
|
|
// Reports
|
|
PermReportsManage = "reports:manage"
|
|
|
|
// Business Hours
|
|
PermBusinessHoursManage = "business_hours:manage"
|
|
|
|
// SLA
|
|
PermSLAManage = "sla:manage"
|
|
|
|
// General Settings
|
|
PermGeneralSettingsManage = "general_settings:manage"
|
|
|
|
// Notification Settings
|
|
PermNotificationSettingsManage = "notification_settings:manage"
|
|
|
|
// OpenID Connect SSO
|
|
PermOIDCManage = "oidc:manage"
|
|
|
|
// AI
|
|
PermAIManage = "ai:manage"
|
|
)
|
|
|
|
var validPermissions = map[string]struct{}{
|
|
PermConversationsReadAll: {},
|
|
PermConversationsReadUnassigned: {},
|
|
PermConversationsReadAssigned: {},
|
|
PermConversationsReadTeamInbox: {},
|
|
PermConversationsRead: {},
|
|
PermConversationsUpdateUserAssignee: {},
|
|
PermConversationsUpdateTeamAssignee: {},
|
|
PermConversationsUpdatePriority: {},
|
|
PermConversationsUpdateStatus: {},
|
|
PermConversationsUpdateTags: {},
|
|
PermMessagesRead: {},
|
|
PermMessagesWrite: {},
|
|
PermViewManage: {},
|
|
PermStatusManage: {},
|
|
PermTagsManage: {},
|
|
PermMacrosManage: {},
|
|
PermUsersManage: {},
|
|
PermTeamsManage: {},
|
|
PermAutomationsManage: {},
|
|
PermInboxesManage: {},
|
|
PermRolesManage: {},
|
|
PermTemplatesManage: {},
|
|
PermReportsManage: {},
|
|
PermBusinessHoursManage: {},
|
|
PermSLAManage: {},
|
|
PermGeneralSettingsManage: {},
|
|
PermNotificationSettingsManage: {},
|
|
PermOIDCManage: {},
|
|
PermAIManage: {},
|
|
}
|
|
|
|
// IsValidPermission returns true if it's a valid permission.
|
|
func IsValidPermission(permission string) bool {
|
|
_, exists := validPermissions[permission]
|
|
return exists
|
|
}
|