users

package
v0.9.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2026 License: BSD-3-Clause-Clear Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ScopeDevicesR  = scopeR << scopeShiftDevices
	ScopeDevicesRU = (scopeU | scopeR) << scopeShiftDevices
	ScopeDevicesC  = scopeC << scopeShiftDevices
	ScopeDevicesD  = scopeD << scopeShiftDevices

	ScopeUpdatesR  = scopeR << scopeShiftUpdates
	ScopeUpdatesRU = (scopeU | scopeR) << scopeShiftUpdates
	ScopeUpdatesD  = scopeD << scopeShiftUpdates

	ScopeUsersR  = scopeR << scopeShiftUsers
	ScopeUsersRU = (scopeU | scopeR) << scopeShiftUsers
	ScopeUsersC  = scopeC << scopeShiftUsers
	ScopeUsersD  = scopeD << scopeShiftUsers
)

Variables

This section is empty.

Functions

func ScopesAvailable

func ScopesAvailable() []string

ScopesAvailable returns a list of all available scopes as strings for display purposes.

Types

type Scopes

type Scopes uint64

Scopes is a bitmask representation of RBAC access. Scopes are done in groups of four bits to denote Read, Update, Create, Delete. This 64-bit value gives room for 16 different resources.

func ScopesFromSlice

func ScopesFromSlice(scopes []string) (Scopes, error)

ScopesFromSlice parses a slice of scope strings into a Scopes bitmask.

func ScopesFromString

func ScopesFromString(scopes string) (Scopes, error)

ScopesFromString parses a comma-separated list of scopes into a Scopes bitmask.

func (Scopes) Has

func (s Scopes) Has(scope Scopes) bool

func (Scopes) String

func (s Scopes) String() string

func (Scopes) ToSlice

func (s Scopes) ToSlice() []string

type Storage

type Storage struct {
	// contains filtered or unexported fields
}

func NewStorage

func NewStorage(db *storage.DbHandle, fs *storage.FsHandle) (*Storage, error)

func (Storage) Create

func (s Storage) Create(u *User) error

func (Storage) Get

func (s Storage) Get(username string) (*User, error)

func (Storage) GetBySession

func (s Storage) GetBySession(id string) (*User, error)

func (Storage) GetByToken

func (s Storage) GetByToken(token string) (*User, error)

func (Storage) List

func (s Storage) List() ([]User, error)

func (Storage) RunGc

func (s Storage) RunGc()

func (Storage) Upsert

func (s Storage) Upsert(username, email string, scopes Scopes) (*User, error)

type Token

type Token struct {
	PublicID    int64
	CreatedAt   int64
	ExpiresAt   int64
	Description string
	Scopes      Scopes
	Value       string
}

type User

type User struct {
	Username string
	Password string
	Email    string

	CreatedAt int64
	Deleted   bool

	AllowedScopes Scopes

	AuthProviderData []byte
	// contains filtered or unexported fields
}

func (User) CreateSession

func (u User) CreateSession(remoteIP string, expires int64, scopes Scopes) (string, error)

func (User) Delete

func (u User) Delete() error

func (User) DeleteSession

func (u User) DeleteSession(id string) error

func (User) DeleteToken

func (u User) DeleteToken(id int64) error

func (User) GenerateToken

func (u User) GenerateToken(description string, expires int64, scopes Scopes) (*Token, error)

func (User) GetAuditLog

func (u User) GetAuditLog() (string, error)

func (User) ListTokens

func (u User) ListTokens() ([]Token, error)

func (User) Update

func (u User) Update(reason string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL