// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: space.sql package repo import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const deleteSpace = `-- name: DeleteSpace :exec DELETE FROM space WHERE id = $1 ` // 删除分享空间 func (q *Queries) DeleteSpace(ctx context.Context, id int64) error { _, err := q.db.Exec(ctx, deleteSpace, id) return err } const getSpaceById = `-- name: GetSpaceById :one SELECT id, name, invite_code, create_time, update_time FROM space WHERE id = $1 ` // 根据id获取分享空间信息 func (q *Queries) GetSpaceById(ctx context.Context, id int64) (Space, error) { row := q.db.QueryRow(ctx, getSpaceById, id) var i Space err := row.Scan( &i.ID, &i.Name, &i.InviteCode, &i.CreateTime, &i.UpdateTime, ) return i, err } const getSpaceByInviteCode = `-- name: GetSpaceByInviteCode :one SELECT id, name, invite_code, create_time, update_time FROM space WHERE invite_code = $1 ` // 根据验证码获取空间 func (q *Queries) GetSpaceByInviteCode(ctx context.Context, inviteCode string) (Space, error) { row := q.db.QueryRow(ctx, getSpaceByInviteCode, inviteCode) var i Space err := row.Scan( &i.ID, &i.Name, &i.InviteCode, &i.CreateTime, &i.UpdateTime, ) return i, err } const getSpaceByUserId = `-- name: GetSpaceByUserId :one SELECT s.id, s.name, s.invite_code, s.create_time, s.update_time FROM space s JOIN space_user m ON s.id = m.space_id WHERE m.user_id = $1 ` // 查询用户所在的空间信息 func (q *Queries) GetSpaceByUserId(ctx context.Context, userID int64) (Space, error) { row := q.db.QueryRow(ctx, getSpaceByUserId, userID) var i Space err := row.Scan( &i.ID, &i.Name, &i.InviteCode, &i.CreateTime, &i.UpdateTime, ) return i, err } const getSpaceUsers = `-- name: GetSpaceUsers :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 GetSpaceUsersRow struct { UserID int64 Username pgtype.Text Role int32 JoinTime pgtype.Timestamp } // 获取空间下的所有用户信息 func (q *Queries) GetSpaceUsers(ctx context.Context, id int64) ([]GetSpaceUsersRow, error) { rows, err := q.db.Query(ctx, getSpaceUsers, id) if err != nil { return nil, err } defer rows.Close() var items []GetSpaceUsersRow for rows.Next() { var i GetSpaceUsersRow 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 insertSpace = `-- name: InsertSpace :exec INSERT INTO space (id,invite_code) VALUES ($1,$2) ` type InsertSpaceParams struct { ID int64 InviteCode string } // 新增分享空间 func (q *Queries) InsertSpace(ctx context.Context, arg InsertSpaceParams) error { _, err := q.db.Exec(ctx, insertSpace, arg.ID, arg.InviteCode) return err }