types

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: May 4, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountService

type AccountService interface {
	Register(ctx context.Context, user models.User) (models.User, error)
	Login(ctx context.Context, user models.User) (models.User, error)
	Authenticate(account, found models.User) error
	CreateAdmin(ctx context.Context, user models.User) (models.User, error)
	CreateDatabase(ctx context.Context) error
}

type GroupRepository

type GroupRepository interface {
	Create(ctx context.Context, item models.Group) (models.Group, error)
	Update(ctx context.Context, group models.Group) (models.Group, error)
	Remove(ctx context.Context, item models.Group) error
	Search(ctx context.Context, sb *sql.SqlBuilder) ([]models.Group, error)
	SearchByRole(ctx context.Context, role models.Role) ([]models.Group, error)
	GetByName(ctx context.Context, name string) (models.Group, error)
	AttachRoles(ctx context.Context, group models.Group) error
}

type RepositoryContainer

type RepositoryContainer interface {
	Sqlite() datastores.SqlDataStore
	UserRepository() UserRepository
	GroupRepository() GroupRepository
	RoleRepository() RoleRepository
}

type RoleRepository

type RoleRepository interface {
	Create(ctx context.Context, item models.Role) (models.Role, error)
	Update(ctx context.Context, role models.Role) (models.Role, error)
	Remove(ctx context.Context, item models.Role) error
	Search(ctx context.Context, sb *sql.SqlBuilder) ([]models.Role, error)
	GetByID(ctx context.Context, id uint64) (models.Role, error)
	Upsert(ctx context.Context, role models.Role) (models.Role, error)
}

type RoleService

type RoleService interface {
	ValidatePermissions(role models.Role) error
}

type UserRepository

type UserRepository interface {
	Create(ctx context.Context, item models.User) (models.User, error)
	Update(ctx context.Context, item models.User) (models.User, error)
	Search(ctx context.Context, sb *sql.SqlBuilder) ([]models.User, error)
	SearchAuthors(ctx context.Context, sb *sql.SqlBuilder) ([]models.User, error)
	SearchByGroup(ctx context.Context, group models.Group) ([]models.User, error)
	GetByEmail(ctx context.Context, email string) (models.User, error)
	GetByID(ctx context.Context, id string) (models.User, error)
	GetGroups(ctx context.Context, user models.User) ([]models.Group, error)
	AddMembership(ctx context.Context, user models.User, group models.Group) error
	SetMemberships(ctx context.Context, user models.User) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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