models

package
v0.5.0-alpha Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Hash

func Hash(password string) ([]byte, error)

Hash - TODO comment

func VerifyPassword

func VerifyPassword(hashedPassword, password string) error

VerifyPassword - TODO comment

Types

type Group

type Group struct {
	ID                        uint32    `gorm:"primary_key;auto_increment" json:"gid" csv:"gid"`
	Name                      *string   `gorm:"size:100;unique;not null" json:"name" csv:"name"`
	Description               *string   `gorm:"size:255" json:"description" csv:"description"`
	CreatedAt                 time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at" csv:"-"`
	CreatedBy                 *string   `gorm:"size:500" json:"created_by" csv:"-"`
	UpdatedAt                 time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at" csv:"-"`
	UpdatedBy                 *string   `gorm:"size:500" json:"updated_by" csv:"-"`
	UUID                      *string   `gorm:"size:36" json:"uuid" csv:"-"`
	Members                   []*User   `gorm:"many2many:group_members" csv:"-"`
	GuacamoleConfigProtocol   *string   `gorm:"size:255" json:"guac_config_protocol" csv:"guac_config_protocol"`
	GuacamoleConfigParameters *string   `gorm:"size:1000" json:"guac_config_parameters" csv:"guac_config_parameters"`
	GroupMembers              *string   `csv:"members"`
}

Group - TODO comment

type GroupID

type GroupID struct {
	ID uint32 `json:"gid"`
}

type GroupInfo

type GroupInfo struct {
	ID                        uint32     `json:"gid"`
	Name                      string     `json:"name"`
	Description               string     `json:"description"`
	Members                   []UserInfo `json:"members,omitempty"`
	GuacamoleConfigProtocol   string     `json:"guac_config_protocol"`
	GuacamoleConfigParameters string     `json:"guac_config_parameters"`
}

GroupInfo - TODO comment

func GetGroupInfo

func GetGroupInfo(g *Group, showMembers bool, guacamole bool) *GroupInfo

GetGroupInfo - TODO comment

type GroupMembers

type GroupMembers struct {
	Members string `json:"members"`
}

GroupMembers - TODO comment

type JSONGroupBody

type JSONGroupBody struct {
	Name                      string `json:"name"`
	Description               string `json:"description"`
	Members                   string `json:"members,omitempty"`
	ReplaceMembers            bool   `json:"replace"`
	GuacamoleConfigProtocol   string `json:"guac_config_protocol"`
	GuacamoleConfigParameters string `json:"guac_config_parameters"`
}

JSONGroupBody - TODO comment

type JSONPasswdBody

type JSONPasswdBody struct {
	Password    string `json:"password"`
	OldPassword string `json:"old_password"`
}

JSONPasswdBody - TODO comment

type JSONUserBody

type JSONUserBody struct {
	Username         string `json:"username"`
	Name             string `json:"name"`
	GivenName        string `json:"firstname"`
	Surname          string `json:"lastname"`
	Email            string `json:"email"`
	Password         string `json:"password"`
	SSHPublicKey     string `json:"ssh_public_key"`
	JPEGPhoto        string `json:"jpeg_photo"`
	MemberOf         string `json:"members,omitempty"`
	Manager          *bool  `json:"manager"`
	Readonly         *bool  `json:"readonly"`
	Locked           *bool  `json:"locked"`
	ReplaceMembersOf bool   `json:"replace"`
	RemoveMembersOf  bool   `json:"remove"`
}

JSONUserBody - TODO comment

type User

type User struct {
	ID           uint32    `gorm:"primary_key;auto_increment" json:"uid" csv:"uid"`
	Username     *string   `gorm:"size:64;not null;unique" json:"username" csv:"username"`
	Name         *string   `gorm:"size:300" json:"name" csv:"-"`
	GivenName    *string   `gorm:"size:150" json:"firstname" csv:"firstname"`
	Surname      *string   `gorm:"size:150" json:"lastname" csv:"lastname"`
	Email        *string   `gorm:"size:322" json:"email" csv:"email"`
	Password     *string   `gorm:"size:60" json:"password" csv:"password"`
	CreatedAt    time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at" csv:"-"`
	CreatedBy    *string   `gorm:"size:500" json:"created_by" csv:"-"`
	UpdatedAt    time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at" csv:"-"`
	UpdatedBy    *string   `gorm:"size:500" json:"updated_by" csv:"-"`
	Manager      *bool     `gorm:"default:false" json:"manager" csv:"manager"`
	Readonly     *bool     `gorm:"default:false" json:"readonly" csv:"readonly"`
	Groups       *string   `csv:"groups"`
	MemberOf     []*Group  `gorm:"many2many:group_members" csv:"-"`
	UUID         *string   `gorm:"size:36" json:"uuid" csv:"-"`
	Locked       *bool     `gorm:"default:false" json:"locked" csv:"locked"`
	SSHPublicKey *string   `json:"ssh_public_key" csv:"ssh_public_key"`
	JPEGPhoto    *string   `json:"jpeg_photo" csv:"jpeg_photo"`
}

User - TODO comment

type UserID

type UserID struct {
	ID uint32 `json:"uid"`
}

type UserInfo

type UserInfo struct {
	ID           uint32      `json:"uid"`
	Username     string      `json:"username"`
	Name         string      `json:"name"`
	GivenName    string      `json:"firstname"`
	Surname      string      `json:"lastname"`
	Email        string      `json:"email"`
	SSHPublicKey string      `json:"ssh_public_key"`
	JPEGPhoto    string      `json:"jpeg_photo"`
	Manager      bool        `json:"manager"`
	Readonly     bool        `json:"readonly"`
	MemberOf     []GroupInfo `json:"memberOf,omitempty"`
	Locked       bool        `json:"locked"`
}

UserInfo - TODO comment

func GetUserInfo

func GetUserInfo(u User, showMemberOf bool, guacamole bool) UserInfo

GetUserInfo - TODO comment

Jump to

Keyboard shortcuts

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