users

package
v1.7.4 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2026 License: GPL-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const MODEL_KEY = "users.User"

Variables

This section is empty.

Functions

func GetUserModel

func GetUserModel(typeNames ...string) *contenttypes.ContentTypeDefinition

func GetUserModelString

func GetUserModelString(typeNames ...string) string

Types

type Base

type Base struct {
	IsAdministrator bool      `json:"is_administrator" attrs:"blank"`
	IsActive        bool      `json:"is_active" attrs:"blank;default=true"`
	IsLoggedIn      bool      `json:"is_logged_in"`
	LastLogin       time.Time `json:"last_login"`

	Groups      *queries.RelM2M[*Group, *UserGroup]           `json:"-"`
	Permissions *queries.RelM2M[*Permission, *UserPermission] `json:"-"`
	// contains filtered or unexported fields
}

func (*Base) Fields

func (u *Base) Fields(user attrs.Definer) []any

func (*Base) HasObjectPermission

func (u *Base) HasObjectPermission(ctx context.Context, obj interface{}, perms ...string) bool

func (*Base) IsAdmin

func (u *Base) IsAdmin() bool

func (*Base) IsAuthenticated

func (u *Base) IsAuthenticated() bool

func (*Base) LastLoggedIn

func (u *Base) LastLoggedIn() time.Time

type Group

type Group struct {
	models.Model `table:"auth_groups" json:"-"`
	ID           uint64                                         `json:"id"`
	Name         string                                         `json:"name"`
	Description  string                                         `json:"description"`
	Permissions  *queries.RelM2M[*Permission, *GroupPermission] `json:"-"`
}

func (*Group) FieldDefs

func (g *Group) FieldDefs() attrs.Definitions

func (*Group) String

func (g *Group) String() string

type GroupPermission

type GroupPermission struct {
	GroupID      drivers.Uint `json:"group_id" attrs:"primary;readonly"`
	PermissionID drivers.Uint `json:"permission_id" attrs:"primary;readonly"`
}

func (*GroupPermission) FieldDefs

func (gp *GroupPermission) FieldDefs() attrs.Definitions

func (*GroupPermission) UniqueTogether

func (gp *GroupPermission) UniqueTogether() [][]string

type Permission

type Permission struct {
	models.Model `table:"auth_permissions" json:"-"`
	ID           uint64 `json:"id"`
	Name         string `json:"name"`
	Description  string `json:"description"`
}

func (*Permission) FieldDefs

func (p *Permission) FieldDefs() attrs.Definitions

func (*Permission) String

func (p *Permission) String() string

type PermissionsBackend

type PermissionsBackend struct{}

func NewPermissionsBackend

func NewPermissionsBackend() *PermissionsBackend

func (*PermissionsBackend) HasObjectPermission

func (pb *PermissionsBackend) HasObjectPermission(r *http.Request, obj interface{}, perms ...string) bool

func (*PermissionsBackend) HasPermission

func (pb *PermissionsBackend) HasPermission(r *http.Request, perms ...string) bool

type User

type User interface {
	attrs.Definer
	authentication.User
}

type UserGroup

type UserGroup struct {
	UserID  drivers.Uint `json:"user_id" attrs:"primary;readonly"`
	GroupID drivers.Uint `json:"group_id" attrs:"primary;readonly"`
}

func (*UserGroup) FieldDefs

func (up *UserGroup) FieldDefs() attrs.Definitions

func (*UserGroup) UniqueTogether

func (up *UserGroup) UniqueTogether() [][]string

type UserPermission

type UserPermission struct {
	UserID       drivers.Uint `json:"user_id" attrs:"primary;readonly"`
	PermissionID drivers.Uint `json:"permission_id" attrs:"primary;readonly"`
}

func (*UserPermission) FieldDefs

func (up *UserPermission) FieldDefs() attrs.Definitions

func (*UserPermission) UniqueTogether

func (up *UserPermission) UniqueTogether() [][]string

Jump to

Keyboard shortcuts

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