Files
mstore/app/descr/grant.go
T
2026-02-13 13:25:16 +02:00

57 lines
1.9 KiB
Go

/*
* Copyright 2026 Oleg Borodin <onborodin@gmail.com>
*
* This work is published and licensed under a Creative Commons
* Attribution-NonCommercial-NoDerivatives 4.0 International License.
*
* Distribution of this work is permitted, but commercial use and
* modifications are strictly prohibited.
*/
package descr
const (
AnonimousUsername = "anonymous"
AnonymousID = "10000000-0000-0000-0000-000000000001"
ServerUsername = "server"
ServerID = "10000000-0000-0000-0000-000000000002"
InitUsername = "mstore"
InitID = "10000000-0000-0000-0000-000000000005"
)
type Grant struct {
ID string `json:"id" db:"id"`
AccountID string `json:"accountID" db:"account_id"`
Right string `json:"right" db:"right"`
Pattern string `json:"pattern" db:"pattern"`
CreatedAt string `json:"createdAt" db:"created_at"`
UpdatedAt string `json:"updatedAt" db:"updated_at"`
CreatedBy string `json:"createdBy" db:"created_by"`
UpdatedBy string `json:"updatedBy" db:"updated_by"`
}
type GrantShort struct {
Right string `json:"right" db:"right"`
Pattern string `json:"pattern" db:"pattern"`
CreatedAt string `json:"createdAt" db:"created_at"`
UpdatedAt string `json:"updatedAt" db:"updated_at"`
CreatedBy string `json:"createdBy" db:"created_by"`
UpdatedBy string `json:"updatedBy" db:"updated_by"`
}
const (
// Accounts
RightReadAccounts = "readAccounts" // GetAccount, ListAccounts
RightWriteAccounts = "writeAccounts" // CreateAccount, UpdateAccount, DeleteAccount
// Frants
RightReadGrants = "readGrants" // Like account operation
RightWriteGrants = "writeGrants"
// Files
RightWriteFiles = "writeFiles" // FileInfo, GetFile, ListFiles
RightReadFiles = "readFiles" // PutFile, DeleteFile
// Images: manifests, layers
RightReadImages = "readImages" // ManifestInfo, GetManifest, BlobInfo, GetBlob
RightWriteImages = "writeImages" // other opearion
)