photoprism/internal/auth/acl/const.go
Michael Mayer 755ebe0aee Cluster: Rename RoleInstance to RoleApp in service/cluster/roles.go #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-31 16:46:42 +01:00

105 lines
3.5 KiB
Go

package acl
// Any matches everything.
const Any = "*"
// RoleAliasNone is a more explicit, user-friendly alias for RoleNone.
const RoleAliasNone = "none"
// Roles that can be granted Permissions to use a Resource.
const (
RoleDefault Role = "default"
RoleAdmin Role = "admin"
RoleUser Role = "user"
RoleViewer Role = "viewer"
RoleGuest Role = "guest"
RoleVisitor Role = "visitor"
RoleApp Role = "app"
RoleService Role = "service"
RolePortal Role = "portal"
RoleClient Role = "client"
RoleNone Role = ""
)
// Permissions to use a Resource that can be granted to a Role.
const (
FullAccess Permission = "full_access"
AccessShared Permission = "access_shared"
AccessLibrary Permission = "access_library"
AccessPrivate Permission = "access_private"
AccessOwn Permission = "access_own"
AccessAll Permission = "access_all"
ActionUse Permission = "use"
ActionSearch Permission = "search"
ActionView Permission = "view"
ActionUpload Permission = "upload"
ActionCreate Permission = "create"
ActionUpdate Permission = "update"
ActionUpdateOwn Permission = "update_own"
ActionDownload Permission = "download"
ActionShare Permission = "share"
ActionDelete Permission = "delete"
ActionRate Permission = "rate"
ActionReact Permission = "react"
ActionPublish Permission = "publish"
ActionSubscribe Permission = "subscribe"
ActionManage Permission = "manage"
ActionManageOwn Permission = "manage_own"
)
// A Role can be given Permission to use a Resource.
const (
ResourceFiles Resource = "files"
ResourceFolders Resource = "folders"
ResourceShares Resource = "shares"
ResourcePhotos Resource = "photos"
ResourceVideos Resource = "videos"
ResourceFavorites Resource = "favorites"
ResourceAlbums Resource = "albums"
ResourceCalendar Resource = "calendar"
ResourceMoments Resource = "moments"
ResourcePeople Resource = "people"
ResourcePlaces Resource = "places"
ResourceLabels Resource = "labels"
ResourceConfig Resource = "config"
ResourceSettings Resource = "settings"
ResourcePasscode Resource = "passcode"
ResourcePassword Resource = "password"
ResourceServices Resource = "services"
ResourceUsers Resource = "users"
ResourceSessions Resource = "sessions"
ResourceLogs Resource = "logs"
ResourceApi Resource = "api"
ResourceWebDAV Resource = "webdav"
ResourceWebhooks Resource = "webhooks"
ResourceMetrics Resource = "metrics"
ResourceVision Resource = "vision"
ResourceCluster Resource = "cluster"
ResourceFeedback Resource = "feedback"
ResourceDefault Resource = "default"
)
// Events for which a Role can be granted the ActionSubscribe Permission.
const (
ChannelUser Resource = "user"
ChannelSession Resource = "session"
ChannelAudit Resource = "audit"
ChannelLog Resource = "log"
ChannelNotify Resource = "notify"
ChannelIndex Resource = "index"
ChannelUpload Resource = "upload"
ChannelImport Resource = "import"
ChannelConfig Resource = "config"
ChannelCount Resource = "count"
ChannelPhotos Resource = "photos"
ChannelCameras Resource = "cameras"
ChannelLenses Resource = "lenses"
ChannelCountries Resource = "countries"
ChannelAlbums Resource = "albums"
ChannelLabels Resource = "labels"
ChannelSubjects Resource = "subjects"
ChannelPeople Resource = "people"
ChannelSync Resource = "sync"
ChannelInstance Resource = "instance"
ChannelSystem Resource = "system"
)