437 lines
10 KiB
Go
437 lines
10 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.28.0
|
|
// source: sys_user.sql
|
|
|
|
package db
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
const countSysUser = `-- name: CountSysUser :one
|
|
SELECT COUNT(*) FROM sys_user
|
|
WHERE status = 0
|
|
`
|
|
|
|
func (q *Queries) CountSysUser(ctx context.Context) (int64, error) {
|
|
row := q.db.QueryRow(ctx, countSysUser)
|
|
var count int64
|
|
err := row.Scan(&count)
|
|
return count, err
|
|
}
|
|
|
|
const countSysUserCondition = `-- name: CountSysUserCondition :one
|
|
SELECT COUNT(*) FROM sys_user
|
|
WHERE (NOT $1::Boolean OR status = $2)
|
|
AND (NOT $3::Boolean OR id = $4)
|
|
AND ($5::text = '' OR username ILIKE '%' || $5 || '%')
|
|
AND ($6::text = '' OR email ILIKE '%' || $6 || '%')
|
|
`
|
|
|
|
type CountSysUserConditionParams struct {
|
|
IsStatus bool `json:"is_status"`
|
|
Status int32 `json:"status"`
|
|
IsID bool `json:"is_id"`
|
|
ID int32 `json:"id"`
|
|
Username string `json:"username"`
|
|
Email string `json:"email"`
|
|
}
|
|
|
|
func (q *Queries) CountSysUserCondition(ctx context.Context, arg *CountSysUserConditionParams) (int64, error) {
|
|
row := q.db.QueryRow(ctx, countSysUserCondition,
|
|
arg.IsStatus,
|
|
arg.Status,
|
|
arg.IsID,
|
|
arg.ID,
|
|
arg.Username,
|
|
arg.Email,
|
|
)
|
|
var count int64
|
|
err := row.Scan(&count)
|
|
return count, err
|
|
}
|
|
|
|
const createSysUser = `-- name: CreateSysUser :one
|
|
INSERT INTO sys_user (
|
|
uuid,
|
|
email,
|
|
username,
|
|
hashed_password,
|
|
salt,
|
|
avatar,
|
|
gender,
|
|
department_id,
|
|
role_id,
|
|
status,
|
|
change_password_at,
|
|
created_at,
|
|
updated_at
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13
|
|
) RETURNING id, uuid, email, username, hashed_password, salt, avatar, gender, department_id, role_id, status, change_password_at, created_at, updated_at
|
|
`
|
|
|
|
type CreateSysUserParams struct {
|
|
Uuid uuid.UUID `json:"uuid"`
|
|
Email string `json:"email"`
|
|
Username string `json:"username"`
|
|
HashedPassword []byte `json:"hashed_password"`
|
|
Salt string `json:"salt"`
|
|
Avatar string `json:"avatar"`
|
|
Gender int32 `json:"gender"`
|
|
DepartmentID int32 `json:"department_id"`
|
|
RoleID int32 `json:"role_id"`
|
|
Status int32 `json:"status"`
|
|
ChangePasswordAt time.Time `json:"change_password_at"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func (q *Queries) CreateSysUser(ctx context.Context, arg *CreateSysUserParams) (*SysUser, error) {
|
|
row := q.db.QueryRow(ctx, createSysUser,
|
|
arg.Uuid,
|
|
arg.Email,
|
|
arg.Username,
|
|
arg.HashedPassword,
|
|
arg.Salt,
|
|
arg.Avatar,
|
|
arg.Gender,
|
|
arg.DepartmentID,
|
|
arg.RoleID,
|
|
arg.Status,
|
|
arg.ChangePasswordAt,
|
|
arg.CreatedAt,
|
|
arg.UpdatedAt,
|
|
)
|
|
var i SysUser
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.Uuid,
|
|
&i.Email,
|
|
&i.Username,
|
|
&i.HashedPassword,
|
|
&i.Salt,
|
|
&i.Avatar,
|
|
&i.Gender,
|
|
&i.DepartmentID,
|
|
&i.RoleID,
|
|
&i.Status,
|
|
&i.ChangePasswordAt,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return &i, err
|
|
}
|
|
|
|
const existsSysUser = `-- name: ExistsSysUser :one
|
|
SELECT EXISTS (
|
|
SELECT 1 FROM sys_user
|
|
)
|
|
`
|
|
|
|
func (q *Queries) ExistsSysUser(ctx context.Context) (bool, error) {
|
|
row := q.db.QueryRow(ctx, existsSysUser)
|
|
var exists bool
|
|
err := row.Scan(&exists)
|
|
return exists, err
|
|
}
|
|
|
|
const getSysUser = `-- name: GetSysUser :one
|
|
SELECT id, uuid, email, username, hashed_password, salt, avatar, gender, department_id, role_id, status, change_password_at, created_at, updated_at FROM sys_user
|
|
WHERE id = $1 LIMIT 1
|
|
`
|
|
|
|
func (q *Queries) GetSysUser(ctx context.Context, id int32) (*SysUser, error) {
|
|
row := q.db.QueryRow(ctx, getSysUser, id)
|
|
var i SysUser
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.Uuid,
|
|
&i.Email,
|
|
&i.Username,
|
|
&i.HashedPassword,
|
|
&i.Salt,
|
|
&i.Avatar,
|
|
&i.Gender,
|
|
&i.DepartmentID,
|
|
&i.RoleID,
|
|
&i.Status,
|
|
&i.ChangePasswordAt,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return &i, err
|
|
}
|
|
|
|
const getSysUserByEmail = `-- name: GetSysUserByEmail :one
|
|
SELECT id, uuid, email, username, hashed_password, salt, avatar, gender, department_id, role_id, status, change_password_at, created_at, updated_at FROM sys_user
|
|
WHERE email = $1 LIMIT 1
|
|
`
|
|
|
|
func (q *Queries) GetSysUserByEmail(ctx context.Context, email string) (*SysUser, error) {
|
|
row := q.db.QueryRow(ctx, getSysUserByEmail, email)
|
|
var i SysUser
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.Uuid,
|
|
&i.Email,
|
|
&i.Username,
|
|
&i.HashedPassword,
|
|
&i.Salt,
|
|
&i.Avatar,
|
|
&i.Gender,
|
|
&i.DepartmentID,
|
|
&i.RoleID,
|
|
&i.Status,
|
|
&i.ChangePasswordAt,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return &i, err
|
|
}
|
|
|
|
const listSysUser = `-- name: ListSysUser :many
|
|
SELECT id, uuid, email, username, hashed_password, salt, avatar, gender, department_id, role_id, status, change_password_at, created_at, updated_at FROM sys_user
|
|
WHERE status = 0
|
|
ORDER BY created_at DESC
|
|
`
|
|
|
|
func (q *Queries) ListSysUser(ctx context.Context) ([]*SysUser, error) {
|
|
rows, err := q.db.Query(ctx, listSysUser)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []*SysUser{}
|
|
for rows.Next() {
|
|
var i SysUser
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.Uuid,
|
|
&i.Email,
|
|
&i.Username,
|
|
&i.HashedPassword,
|
|
&i.Salt,
|
|
&i.Avatar,
|
|
&i.Gender,
|
|
&i.DepartmentID,
|
|
&i.RoleID,
|
|
&i.Status,
|
|
&i.ChangePasswordAt,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, &i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const listSysUserByIds = `-- name: ListSysUserByIds :many
|
|
SELECT id, uuid, email, username, hashed_password, salt, avatar, gender, department_id, role_id, status, change_password_at, created_at, updated_at FROM sys_user
|
|
WHERE id = ANY($1::int[])
|
|
`
|
|
|
|
func (q *Queries) ListSysUserByIds(ctx context.Context, dollar_1 []int32) ([]*SysUser, error) {
|
|
rows, err := q.db.Query(ctx, listSysUserByIds, dollar_1)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []*SysUser{}
|
|
for rows.Next() {
|
|
var i SysUser
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.Uuid,
|
|
&i.Email,
|
|
&i.Username,
|
|
&i.HashedPassword,
|
|
&i.Salt,
|
|
&i.Avatar,
|
|
&i.Gender,
|
|
&i.DepartmentID,
|
|
&i.RoleID,
|
|
&i.Status,
|
|
&i.ChangePasswordAt,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, &i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const listSysUserCondition = `-- name: ListSysUserCondition :many
|
|
SELECT id,
|
|
uuid,
|
|
email,
|
|
username,
|
|
avatar,
|
|
gender,
|
|
department_id,
|
|
role_id,
|
|
status,
|
|
change_password_at,
|
|
created_at,
|
|
updated_at,
|
|
COALESCE((SELECT name FROM sys_department WHERE ID = sys_user.department_id), '') AS department_name,
|
|
COALESCE((SELECT display_name
|
|
FROM sys_role
|
|
WHERE id = sys_user.role_id), '') AS role_name
|
|
FROM sys_user
|
|
WHERE (NOT $1::Boolean OR sys_user.status = $2)
|
|
AND (NOT $3::Boolean OR sys_user.id = $4)
|
|
AND ($5::text = '' OR sys_user.username ILIKE '%' || $5 || '%')
|
|
AND ($6::text = '' OR sys_user.email ILIKE '%' || $6 || '%')
|
|
ORDER BY created_at DESC
|
|
OFFSET $7
|
|
LIMIT $8
|
|
`
|
|
|
|
type ListSysUserConditionParams struct {
|
|
IsStatus bool `json:"is_status"`
|
|
Status int32 `json:"status"`
|
|
IsID bool `json:"is_id"`
|
|
ID int32 `json:"id"`
|
|
Username string `json:"username"`
|
|
Email string `json:"email"`
|
|
Skip int32 `json:"skip"`
|
|
Size int32 `json:"size"`
|
|
}
|
|
|
|
type ListSysUserConditionRow struct {
|
|
ID int32 `json:"id"`
|
|
Uuid uuid.UUID `json:"uuid"`
|
|
Email string `json:"email"`
|
|
Username string `json:"username"`
|
|
Avatar string `json:"avatar"`
|
|
Gender int32 `json:"gender"`
|
|
DepartmentID int32 `json:"department_id"`
|
|
RoleID int32 `json:"role_id"`
|
|
Status int32 `json:"status"`
|
|
ChangePasswordAt time.Time `json:"change_password_at"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
DepartmentName interface{} `json:"department_name"`
|
|
RoleName interface{} `json:"role_name"`
|
|
}
|
|
|
|
func (q *Queries) ListSysUserCondition(ctx context.Context, arg *ListSysUserConditionParams) ([]*ListSysUserConditionRow, error) {
|
|
rows, err := q.db.Query(ctx, listSysUserCondition,
|
|
arg.IsStatus,
|
|
arg.Status,
|
|
arg.IsID,
|
|
arg.ID,
|
|
arg.Username,
|
|
arg.Email,
|
|
arg.Skip,
|
|
arg.Size,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []*ListSysUserConditionRow{}
|
|
for rows.Next() {
|
|
var i ListSysUserConditionRow
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.Uuid,
|
|
&i.Email,
|
|
&i.Username,
|
|
&i.Avatar,
|
|
&i.Gender,
|
|
&i.DepartmentID,
|
|
&i.RoleID,
|
|
&i.Status,
|
|
&i.ChangePasswordAt,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.DepartmentName,
|
|
&i.RoleName,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, &i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const updateSysUser = `-- name: UpdateSysUser :one
|
|
UPDATE sys_user
|
|
SET username = $2,
|
|
hashed_password = $3,
|
|
avatar = $4,
|
|
gender = $5,
|
|
department_id = $6,
|
|
role_id = $7,
|
|
status = $8,
|
|
change_password_at = $9,
|
|
updated_at = $10
|
|
WHERE id = $1
|
|
RETURNING id, uuid, email, username, hashed_password, salt, avatar, gender, department_id, role_id, status, change_password_at, created_at, updated_at
|
|
`
|
|
|
|
type UpdateSysUserParams struct {
|
|
ID int32 `json:"id"`
|
|
Username string `json:"username"`
|
|
HashedPassword []byte `json:"hashed_password"`
|
|
Avatar string `json:"avatar"`
|
|
Gender int32 `json:"gender"`
|
|
DepartmentID int32 `json:"department_id"`
|
|
RoleID int32 `json:"role_id"`
|
|
Status int32 `json:"status"`
|
|
ChangePasswordAt time.Time `json:"change_password_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func (q *Queries) UpdateSysUser(ctx context.Context, arg *UpdateSysUserParams) (*SysUser, error) {
|
|
row := q.db.QueryRow(ctx, updateSysUser,
|
|
arg.ID,
|
|
arg.Username,
|
|
arg.HashedPassword,
|
|
arg.Avatar,
|
|
arg.Gender,
|
|
arg.DepartmentID,
|
|
arg.RoleID,
|
|
arg.Status,
|
|
arg.ChangePasswordAt,
|
|
arg.UpdatedAt,
|
|
)
|
|
var i SysUser
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.Uuid,
|
|
&i.Email,
|
|
&i.Username,
|
|
&i.HashedPassword,
|
|
&i.Salt,
|
|
&i.Avatar,
|
|
&i.Gender,
|
|
&i.DepartmentID,
|
|
&i.RoleID,
|
|
&i.Status,
|
|
&i.ChangePasswordAt,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return &i, err
|
|
}
|