109 lines
2.4 KiB
Go
109 lines
2.4 KiB
Go
// 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 findSpaceByInviteCode = `-- name: FindSpaceByInviteCode :one
|
|
SELECT id, name, invite_code, create_time, update_time FROM space WHERE invite_code = $1
|
|
`
|
|
|
|
// 根据邀请码查询空间
|
|
func (q *Queries) FindSpaceByInviteCode(ctx context.Context, inviteCode string) (Space, error) {
|
|
row := q.db.QueryRow(ctx, findSpaceByInviteCode, inviteCode)
|
|
var i Space
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.Name,
|
|
&i.InviteCode,
|
|
&i.CreateTime,
|
|
&i.UpdateTime,
|
|
)
|
|
return i, 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 getSpaceByUserId = `-- name: GetSpaceByUserId :one
|
|
SELECT s.id, s.name, s.invite_code, s.create_time, s.update_time, m.role
|
|
FROM space s
|
|
JOIN space_member m
|
|
ON s.id = m.space_id
|
|
WHERE m.user_id = $1
|
|
`
|
|
|
|
type GetSpaceByUserIdRow struct {
|
|
ID int64
|
|
Name pgtype.Text
|
|
InviteCode string
|
|
CreateTime pgtype.Timestamp
|
|
UpdateTime pgtype.Timestamp
|
|
Role int32
|
|
}
|
|
|
|
// 查询用户所在的空间信息
|
|
func (q *Queries) GetSpaceByUserId(ctx context.Context, userID int64) (GetSpaceByUserIdRow, error) {
|
|
row := q.db.QueryRow(ctx, getSpaceByUserId, userID)
|
|
var i GetSpaceByUserIdRow
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.Name,
|
|
&i.InviteCode,
|
|
&i.CreateTime,
|
|
&i.UpdateTime,
|
|
&i.Role,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const insertSpace = `-- name: InsertSpace :exec
|
|
INSERT INTO space (
|
|
id,name,invite_code,create_time,update_time
|
|
) VALUES ($1,$2,$3,NOW(),NOW())
|
|
`
|
|
|
|
type InsertSpaceParams struct {
|
|
ID int64
|
|
Name pgtype.Text
|
|
InviteCode string
|
|
}
|
|
|
|
// 新增分享空间
|
|
func (q *Queries) InsertSpace(ctx context.Context, arg InsertSpaceParams) error {
|
|
_, err := q.db.Exec(ctx, insertSpace, arg.ID, arg.Name, arg.InviteCode)
|
|
return err
|
|
}
|