users

package
v1.0.19 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

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

func NewManager

func NewManager(db *gorm.DB) (*Manager, error)

func (Manager) CreateUser

func (m Manager) CreateUser(user *User) error

func (Manager) DeleteUser

func (m Manager) DeleteUser(user *User, soft bool) error

func (Manager) GetFilteredAndSortedUsers

func (m Manager) GetFilteredAndSortedUsers(sortKey, sortDirection, search string) []User

func (Manager) GetFilteredAndSortedUsersUnscoped

func (m Manager) GetFilteredAndSortedUsersUnscoped(sortKey, sortDirection, search string) []User

func (Manager) GetOrCreateUser

func (m Manager) GetOrCreateUser(email string) (*User, error)

func (Manager) GetOrCreateUserUnscoped

func (m Manager) GetOrCreateUserUnscoped(email string) (*User, error)

func (Manager) GetUser

func (m Manager) GetUser(email string) *User

func (Manager) GetUserUnscoped

func (m Manager) GetUserUnscoped(email string) *User

func (Manager) GetUsers

func (m Manager) GetUsers() []User

func (Manager) GetUsersUnscoped

func (m Manager) GetUsersUnscoped() []User

func (Manager) UpdateUser

func (m Manager) UpdateUser(user *User) error

func (Manager) UserExists

func (m Manager) UserExists(email string) bool

type PrivateString added in v1.0.8

type PrivateString string

func (PrivateString) MarshalJSON added in v1.0.8

func (PrivateString) MarshalJSON() ([]byte, error)

func (PrivateString) String added in v1.0.8

func (PrivateString) String() string

type User

type User struct {
	// required fields
	Email   string `gorm:"primaryKey" form:"email" binding:"required,email"`
	Source  UserSource
	IsAdmin bool `form:"isadmin"`

	// optional fields
	Firstname string `form:"firstname" binding:"required"`
	Lastname  string `form:"lastname" binding:"required"`
	Phone     string `form:"phone" binding:"omitempty"`

	// optional, integrated password authentication
	Password PrivateString `form:"password" binding:"omitempty"`

	// database internal fields
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt gorm.DeletedAt `gorm:"index" json:",omitempty" swaggertype:"string"`
}

User is the user model that gets linked to peer entries, by default an empty usermodel with only the email address is created

type UserSource

type UserSource string
const (
	UserSourceLdap     UserSource = "ldap" // LDAP / ActiveDirectory
	UserSourceDatabase UserSource = "db"   // sqlite / mysql database
)

Jump to

Keyboard shortcuts

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