// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: space_member.sql package repo import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const deleteSpaceMemberBySpaceIDAndUserID = `-- name: DeleteSpaceMemberBySpaceIDAndUserID :exec DELETE FROM space_member WHERE space_id = $1 AND user_id = $2 ` type DeleteSpaceMemberBySpaceIDAndUserIDParams struct { SpaceID int64 UserID int64 } // 删除某个用户在指定空间中的关系 func (q *Queries) DeleteSpaceMemberBySpaceIDAndUserID(ctx context.Context, arg DeleteSpaceMemberBySpaceIDAndUserIDParams) error { _, err := q.db.Exec(ctx, deleteSpaceMemberBySpaceIDAndUserID, arg.SpaceID, arg.UserID) return err } const deleteSpaceMemberByUserID = `-- name: DeleteSpaceMemberByUserID :exec DELETE FROM space_member WHERE user_id = $1 ` // 删除某个用户在所有空间的关系 func (q *Queries) DeleteSpaceMemberByUserID(ctx context.Context, userID int64) error { _, err := q.db.Exec(ctx, deleteSpaceMemberByUserID, userID) return err } const deleteSpaceMembersBySpaceID = `-- name: DeleteSpaceMembersBySpaceID :exec DELETE FROM space_member WHERE space_id = $1 ` // 删除某个空间下的所有用户 func (q *Queries) DeleteSpaceMembersBySpaceID(ctx context.Context, spaceID int64) error { _, err := q.db.Exec(ctx, deleteSpaceMembersBySpaceID, spaceID) return err } const getSpaceMember = `-- name: GetSpaceMember :one SELECT id, space_id, user_id, role, join_time FROM space_member WHERE user_id = $1 ` // 获取空间用户 func (q *Queries) GetSpaceMember(ctx context.Context, userID int64) (SpaceMember, error) { row := q.db.QueryRow(ctx, getSpaceMember, userID) var i SpaceMember err := row.Scan( &i.ID, &i.SpaceID, &i.UserID, &i.Role, &i.JoinTime, ) return i, err } const insertSpaceMember = `-- name: InsertSpaceMember :exec INSERT INTO space_member(id,space_id,user_id,role,join_time) VALUES ($1,$2,$3,$4,NOW()) ` type InsertSpaceMemberParams struct { ID int64 SpaceID int64 UserID int64 Role int32 } // 插入空间用户 func (q *Queries) InsertSpaceMember(ctx context.Context, arg InsertSpaceMemberParams) error { _, err := q.db.Exec(ctx, insertSpaceMember, arg.ID, arg.SpaceID, arg.UserID, arg.Role, ) return err } const listSpaceMembers = `-- name: ListSpaceMembers :many SELECT u.id AS user_id, u.username AS user_name, u.avatar AS user_avatar, u.last_login_time AS last_login_time, su.role FROM space_member su INNER JOIN "user" u ON su.user_id = u.id WHERE su.space_id = $1 ORDER BY su.role DESC, u.username ASC ` type ListSpaceMembersRow struct { UserID int64 UserName string UserAvatar string LastLoginTime pgtype.Timestamptz Role int32 } func (q *Queries) ListSpaceMembers(ctx context.Context, spaceID int64) ([]ListSpaceMembersRow, error) { rows, err := q.db.Query(ctx, listSpaceMembers, spaceID) if err != nil { return nil, err } defer rows.Close() var items []ListSpaceMembersRow for rows.Next() { var i ListSpaceMembersRow if err := rows.Scan( &i.UserID, &i.UserName, &i.UserAvatar, &i.LastLoginTime, &i.Role, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const updateSpaceMemberRole = `-- name: UpdateSpaceMemberRole :exec UPDATE space_member SET role = $1 WHERE user_id = $2 AND space_id = $3 ` type UpdateSpaceMemberRoleParams struct { Role int32 UserID int64 SpaceID int64 } // 修改角色 func (q *Queries) UpdateSpaceMemberRole(ctx context.Context, arg UpdateSpaceMemberRoleParams) error { _, err := q.db.Exec(ctx, updateSpaceMemberRole, arg.Role, arg.UserID, arg.SpaceID) return err }