/*
 * 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 term

import (
	"mstore/pkg/uuid"
)

type PathUsage string

const (
	AsFinePath PathUsage = "asFinePath"
	AsPrefix   PathUsage = "asPrefix"
	AsRegexp   PathUsage = "asRegexp"
)

const (
	AnonimousUsername string    = "anonymous"
	AnonymousID       uuid.UUID = "10000000-0000-0000-0000-000000000001"
	ServerUsername    string    = "server"
	ServerID          uuid.UUID = "10000000-0000-0000-0000-000000000002"
	InitUsername      string    = "mstore"
	InitID            uuid.UUID = "10000000-0000-0000-0000-000000000005"
)

type Right string

const (
	// Accounts, grants
	RightReadAccounts  Right = "readAccounts"  // GetAccount, ListAccounts
	RightWriteAccounts Right = "writeAccounts" // CreateAccount, UpdateAccount, DeleteAccount
	RightWriteFiles    Right = "writeFiles"    // FileInfo, GetFile, ListFiles
	RightReadFiles     Right = "readFiles"     // PutFile, DeleteFile
	RightReadImages    Right = "readImages"    // ManifestInfo, GetManifest, BlobInfo, GetBlob
	RightWriteImages   Right = "writeImages"   // other opearion
)
