feat: update template

This commit is contained in:
2026-08-19 22:05:49 +08:00
parent 0e674e9d56
commit 5a71093b0c
67 changed files with 2070 additions and 585 deletions

View File

@@ -78,34 +78,7 @@ func (q *Queries) DeleteUser(ctx context.Context, id int32) (int64, error) {
return result.RowsAffected(), nil
}
const getActiveUserByID = `-- name: GetActiveUserByID :one
SELECT id, account, username, status
FROM sys_users
WHERE id = $1
AND status = 1
`
type GetActiveUserByIDRow struct {
ID int32 `json:"id"`
Account string `json:"account"`
Username string `json:"username"`
Status int16 `json:"status"`
}
// 场景:用户登录、获取个人信息、刷新 Token严格校验 status = 1
func (q *Queries) GetActiveUserByID(ctx context.Context, id int32) (GetActiveUserByIDRow, error) {
row := q.db.QueryRow(ctx, getActiveUserByID, id)
var i GetActiveUserByIDRow
err := row.Scan(
&i.ID,
&i.Account,
&i.Username,
&i.Status,
)
return i, err
}
const getUserByAccount = `-- name: GetUserByAccount :one
const getUser = `-- name: GetUser :one
SELECT u.id,
u.account,
u.username,
@@ -113,14 +86,21 @@ SELECT u.id,
u.status,
u.avatar_id,
f.file_url AS avatar_url,
u.token_version,
u.created_at,
u.updated_at
FROM sys_users u
LEFT JOIN files f ON u.avatar_id = f.id
WHERE u.account = $1
WHERE u.id = $1
OR u.account = $2
`
type GetUserByAccountRow struct {
type GetUserParams struct {
ID int32 `json:"id"`
Account string `json:"account"`
}
type GetUserRow struct {
ID int32 `json:"id"`
Account string `json:"account"`
Username string `json:"username"`
@@ -128,13 +108,14 @@ type GetUserByAccountRow struct {
Status int16 `json:"status"`
AvatarID *int32 `json:"avatar_id"`
AvatarUrl *string `json:"avatar_url"`
TokenVersion int32 `json:"token_version"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}
func (q *Queries) GetUserByAccount(ctx context.Context, account string) (GetUserByAccountRow, error) {
row := q.db.QueryRow(ctx, getUserByAccount, account)
var i GetUserByAccountRow
func (q *Queries) GetUser(ctx context.Context, arg GetUserParams) (GetUserRow, error) {
row := q.db.QueryRow(ctx, getUser, arg.ID, arg.Account)
var i GetUserRow
err := row.Scan(
&i.ID,
&i.Account,
@@ -143,53 +124,53 @@ func (q *Queries) GetUserByAccount(ctx context.Context, account string) (GetUser
&i.Status,
&i.AvatarID,
&i.AvatarUrl,
&i.TokenVersion,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const getUserByID = `-- name: GetUserByID :one
SELECT u.id,
u.account,
u.username,
u.avatar_id,
u.status,
f.file_url AS avatar_url,
u.created_at,
u.updated_at
FROM sys_users u
LEFT JOIN files f ON u.avatar_id = f.id
WHERE u.id = $1
const getUserAuthState = `-- name: GetUserAuthState :one
SELECT status,
token_version
FROM sys_users
WHERE id = $1
`
type GetUserByIDRow struct {
ID int32 `json:"id"`
Account string `json:"account"`
Username string `json:"username"`
AvatarID *int32 `json:"avatar_id"`
Status int16 `json:"status"`
AvatarUrl *string `json:"avatar_url"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
type GetUserAuthStateRow struct {
Status int16 `json:"status"`
TokenVersion int32 `json:"token_version"`
}
func (q *Queries) GetUserByID(ctx context.Context, id int32) (GetUserByIDRow, error) {
row := q.db.QueryRow(ctx, getUserByID, id)
var i GetUserByIDRow
err := row.Scan(
&i.ID,
&i.Account,
&i.Username,
&i.AvatarID,
&i.Status,
&i.AvatarUrl,
&i.CreatedAt,
&i.UpdatedAt,
)
func (q *Queries) GetUserAuthState(ctx context.Context, id int32) (GetUserAuthStateRow, error) {
row := q.db.QueryRow(ctx, getUserAuthState, id)
var i GetUserAuthStateRow
err := row.Scan(&i.Status, &i.TokenVersion)
return i, err
}
const incrementTokenVersionForAllUsers = `-- name: IncrementTokenVersionForAllUsers :exec
UPDATE sys_users
SET token_version = token_version + 1
`
func (q *Queries) IncrementTokenVersionForAllUsers(ctx context.Context) error {
_, err := q.db.Exec(ctx, incrementTokenVersionForAllUsers)
return err
}
const incrementUserTokenVersion = `-- name: IncrementUserTokenVersion :exec
UPDATE sys_users
SET token_version = token_version + 1
WHERE id = $1
`
func (q *Queries) IncrementUserTokenVersion(ctx context.Context, id int32) error {
_, err := q.db.Exec(ctx, incrementUserTokenVersion, id)
return err
}
const listAdminMenus = `-- name: ListAdminMenus :many
SELECT id, name, path, component, type, hidden, sort, status, parent_id, icon, created_at, updated_at
FROM sys_menus