Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DAO ¶
type DAO interface { // Create create a user record in the table, it will return the ID of the user Create(ctx context.Context, user *commonmodels.User) (int, error) // List list users List(ctx context.Context, query *q.Query) ([]*commonmodels.User, error) // Count counts the number of users Count(ctx context.Context, query *q.Query) (int64, error) // Update updates the user record based on the model the parm props are the columns will be updated Update(ctx context.Context, user *commonmodels.User, props ...string) error // Delete delete user Delete(ctx context.Context, userID int) error }
DAO is the data access object interface for user
type User ¶
type User struct { UserID int `orm:"pk;auto;column(user_id)" json:"user_id"` Username string `orm:"column(username)" json:"username" sort:"default"` // Email defined as sql.NullString because sometimes email is missing in LDAP/OIDC auth, // set it to null to avoid unique constraint check Email sql.NullString `orm:"column(email)" json:"email"` Password string `orm:"column(password)" json:"password"` PasswordVersion string `orm:"column(password_version)" json:"password_version"` Realname string `orm:"column(realname)" json:"realname"` Comment string `orm:"column(comment)" json:"comment"` Deleted bool `orm:"column(deleted)" json:"deleted"` SysAdminFlag bool `orm:"column(sysadmin_flag)" json:"sysadmin_flag"` ResetUUID string `orm:"column(reset_uuid)" json:"reset_uuid"` Salt string `orm:"column(salt)" json:"-"` CreationTime time.Time `orm:"column(creation_time);auto_now_add" json:"creation_time"` UpdateTime time.Time `orm:"column(update_time);auto_now" json:"update_time"` }
User holds the details of a user. only used in DAO, for other place, use the User model in common/models
func (*User) FilterByUsernameOrEmail ¶
func (u *User) FilterByUsernameOrEmail(_ context.Context, qs orm.QuerySeter, _ string, value interface{}) orm.QuerySeter
FilterByUsernameOrEmail generates the query setter to match username or email column to the same value
Click to show internal directories.
Click to hide internal directories.