// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: space_user.sql package repo import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const deleteSpaceUser = `-- name: DeleteSpaceUser :exec DELETE FROM space_user WHERE user_id = $1 ` // 删除空间下的单个用户 func (q *Queries) DeleteSpaceUser(ctx context.Context, userID int64) error { _, err := q.db.Exec(ctx, deleteSpaceUser, userID) return err } const deleteSpaceUserAll = `-- name: DeleteSpaceUserAll :exec DELETE FROM space_user WHERE space_id = $1 ` // 删除空间下的所有用户 func (q *Queries) DeleteSpaceUserAll(ctx context.Context, spaceID int64) error { _, err := q.db.Exec(ctx, deleteSpaceUserAll, spaceID) return err } const getSpaceUserByUserId = `-- name: GetSpaceUserByUserId :one SELECT id, space_id, user_id, role, join_time FROM space_user WHERE user_id = $1 ` func (q *Queries) GetSpaceUserByUserId(ctx context.Context, userID int64) (SpaceUser, error) { row := q.db.QueryRow(ctx, getSpaceUserByUserId, userID) var i SpaceUser err := row.Scan( &i.ID, &i.SpaceID, &i.UserID, &i.Role, &i.JoinTime, ) return i, err } const getUserSpaceDetail = `-- name: GetUserSpaceDetail :one SELECT s.id AS space_id, s.name AS space_name, s.invite_code AS space_invite_code, su.id AS space_user_id, su.user_id, su.role FROM space_user su JOIN space s ON su.space_id = s.id WHERE su.user_id = $1 ` type GetUserSpaceDetailRow struct { SpaceID int64 SpaceName pgtype.Text SpaceInviteCode string SpaceUserID int64 UserID int64 Role int32 } func (q *Queries) GetUserSpaceDetail(ctx context.Context, userID int64) (GetUserSpaceDetailRow, error) { row := q.db.QueryRow(ctx, getUserSpaceDetail, userID) var i GetUserSpaceDetailRow err := row.Scan( &i.SpaceID, &i.SpaceName, &i.SpaceInviteCode, &i.SpaceUserID, &i.UserID, &i.Role, ) return i, err } const insertSpaceUser = `-- name: InsertSpaceUser :exec INSERT INTO space_user(id,space_id,user_id,role) VALUES ($1,$2,$3,$4) ` type InsertSpaceUserParams struct { ID int64 SpaceID int64 UserID int64 Role int32 } // 加入空间 func (q *Queries) InsertSpaceUser(ctx context.Context, arg InsertSpaceUserParams) error { _, err := q.db.Exec(ctx, insertSpaceUser, arg.ID, arg.SpaceID, arg.UserID, arg.Role, ) return err } const listSpaceUsers = `-- name: ListSpaceUsers :many SELECT u.id as user_id, u.username, su.role, su.join_time FROM space_user su JOIN space s ON su.space_id = s.id JOIN user_info u ON su.user_id = u.id WHERE s.id = $1 ORDER BY su.join_time ASC ` type ListSpaceUsersRow struct { UserID int64 Username pgtype.Text Role int32 JoinTime pgtype.Timestamp } // 获取空间下的所有用户信息 func (q *Queries) ListSpaceUsers(ctx context.Context, id int64) ([]ListSpaceUsersRow, error) { rows, err := q.db.Query(ctx, listSpaceUsers, id) if err != nil { return nil, err } defer rows.Close() var items []ListSpaceUsersRow for rows.Next() { var i ListSpaceUsersRow if err := rows.Scan( &i.UserID, &i.Username, &i.Role, &i.JoinTime, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const updateSpaceUserRole = `-- name: UpdateSpaceUserRole :exec UPDATE space_user SET role = $1 WHERE user_id = $2 AND space_id = $3 ` type UpdateSpaceUserRoleParams struct { Role int32 UserID int64 SpaceID int64 } // 修改角色 func (q *Queries) UpdateSpaceUserRole(ctx context.Context, arg UpdateSpaceUserRoleParams) error { _, err := q.db.Exec(ctx, updateSpaceUserRole, arg.Role, arg.UserID, arg.SpaceID) return err }