database

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrTemplateInUse = errors.New("template in use")
)

Functions

func GetUserQuota

func GetUserQuota(user *model.User) (*model.Quota, error)

func GetUserUsage

func GetUserUsage(userId string, inZone string) (*model.Usage, error)

func IsSessionDriverShared

func IsSessionDriverShared() bool

IsSessionDriverShared returns true if the session driver uses shared storage e.g. Redis

Types

type DbDriver

type DbDriver interface {
	Connect() error

	// Users
	SaveUser(user *model.User, updateFields []string) error
	DeleteUser(user *model.User) error
	GetUser(id string) (*model.User, error)
	GetUserByEmail(email string) (*model.User, error)
	GetUserByUsername(email string) (*model.User, error)
	GetUsers() ([]*model.User, error)
	HasUsers() (bool, error)

	// Tokens
	SaveToken(token *model.Token) error
	DeleteToken(token *model.Token) error
	GetToken(id string) (*model.Token, error)
	GetTokensForUser(userId string) ([]*model.Token, error)
	GetTokens() ([]*model.Token, error)

	// Space
	SaveSpace(space *model.Space, updateFields []string) error
	DeleteSpace(space *model.Space) error
	GetSpace(id string) (*model.Space, error)
	GetSpacesForUser(userId string) ([]*model.Space, error)
	GetSpaceByName(userId string, spaceName string) (*model.Space, error)
	GetSpacesByTemplateId(templateId string) ([]*model.Space, error)
	GetSpaces() ([]*model.Space, error)

	// Templates
	SaveTemplate(template *model.Template, updateFields []string) error
	DeleteTemplate(template *model.Template) error
	GetTemplate(id string) (*model.Template, error)
	GetTemplates() ([]*model.Template, error)

	// Groups
	SaveGroup(group *model.Group) error
	DeleteGroup(group *model.Group) error
	GetGroup(id string) (*model.Group, error)
	GetGroups() ([]*model.Group, error)

	// Template Variables
	SaveTemplateVar(variable *model.TemplateVar) error
	DeleteTemplateVar(variable *model.TemplateVar) error
	GetTemplateVar(id string) (*model.TemplateVar, error)
	GetTemplateVars() ([]*model.TemplateVar, error)

	// Volumes
	SaveVolume(volume *model.Volume, updateFields []string) error
	DeleteVolume(volume *model.Volume) error
	GetVolume(id string) (*model.Volume, error)
	GetVolumes() ([]*model.Volume, error)

	// Roles
	SaveRole(role *model.Role) error
	DeleteRole(role *model.Role) error
	GetRole(id string) (*model.Role, error)
	GetRoles() ([]*model.Role, error)

	// Audit Logs
	HasAuditLog() bool
	SaveAuditLog(auditLog *model.AuditLogEntry) error
	GetNumberOfAuditLogs() (int, error)
	GetAuditLogs(offset int, limit int) ([]*model.AuditLogEntry, error)

	// Config Values
	GetCfgValues() ([]*model.CfgValue, error)
	GetCfgValue(name string) (*model.CfgValue, error)
	SaveCfgValue(cfgValue *model.CfgValue) error
}

DbDriver is the interface for the database drivers

func GetInstance

func GetInstance() DbDriver

Returns the database driver and on first call initializes it

type SessionStorage

type SessionStorage interface {
	SaveSession(session *model.Session) error
	DeleteSession(session *model.Session) error
	GetSession(id string) (*model.Session, error)
	GetSessionsForUser(userId string) ([]*model.Session, error)
	GetSessions() ([]*model.Session, error)
}

func GetSessionStorage

func GetSessionStorage() SessionStorage

Returns the caching database driver and on first call initializes it

Directories

Path Synopsis
drivers

Jump to

Keyboard shortcuts

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