projectx/internal/db/sqlc/sys_user.sql.go
2025-04-01 17:57:35 +08:00

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
}