256 lines
5.7 KiB
Go
256 lines
5.7 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.30.0
|
|
// source: space.sql
|
|
|
|
package repo
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
const dissolveSpace = `-- name: DissolveSpace :exec
|
|
UPDATE space SET
|
|
status = 2,
|
|
dissolve_time = NOW(),
|
|
update_time = NOW()
|
|
WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) DissolveSpace(ctx context.Context, id int64) error {
|
|
_, err := q.db.Exec(ctx, dissolveSpace, id)
|
|
return err
|
|
}
|
|
|
|
const getSpaceById = `-- name: GetSpaceById :one
|
|
SELECT id, name, invite_code, owner_id, status, disabled_time, dissolve_time, 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.OwnerID,
|
|
&i.Status,
|
|
&i.DisabledTime,
|
|
&i.DissolveTime,
|
|
&i.CreateTime,
|
|
&i.UpdateTime,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getSpaceByInviteCode = `-- name: GetSpaceByInviteCode :one
|
|
SELECT id, name, invite_code, owner_id, status, disabled_time, dissolve_time, 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.OwnerID,
|
|
&i.Status,
|
|
&i.DisabledTime,
|
|
&i.DissolveTime,
|
|
&i.CreateTime,
|
|
&i.UpdateTime,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getSpaceByUserIdAndSpaceId = `-- name: GetSpaceByUserIdAndSpaceId :one
|
|
SELECT
|
|
s.id AS space_id,
|
|
s.owner_id,
|
|
s.name,
|
|
sm.role,
|
|
COALESCE(mc.member_count, 0) AS member_count,
|
|
sm.is_default,
|
|
sm.member_name,
|
|
sm.sort_number,
|
|
s.invite_code
|
|
FROM space s
|
|
JOIN space_member sm
|
|
ON s.id = sm.space_id
|
|
LEFT JOIN (
|
|
SELECT space_id, COUNT(*) AS member_count
|
|
FROM space_member
|
|
GROUP BY space_id
|
|
) mc
|
|
ON s.id = mc.space_id
|
|
WHERE sm.user_id = $1 AND s.id = $2 AND s.status != 2 AND sm.status != 2
|
|
ORDER BY sm.is_default DESC, sm.sort_number ASC
|
|
`
|
|
|
|
type GetSpaceByUserIdAndSpaceIdParams struct {
|
|
UserID int64
|
|
ID int64
|
|
}
|
|
|
|
type GetSpaceByUserIdAndSpaceIdRow struct {
|
|
SpaceID int64
|
|
OwnerID int64
|
|
Name string
|
|
Role int16
|
|
MemberCount int64
|
|
IsDefault int16
|
|
MemberName string
|
|
SortNumber int32
|
|
InviteCode string
|
|
}
|
|
|
|
func (q *Queries) GetSpaceByUserIdAndSpaceId(ctx context.Context, arg GetSpaceByUserIdAndSpaceIdParams) (GetSpaceByUserIdAndSpaceIdRow, error) {
|
|
row := q.db.QueryRow(ctx, getSpaceByUserIdAndSpaceId, arg.UserID, arg.ID)
|
|
var i GetSpaceByUserIdAndSpaceIdRow
|
|
err := row.Scan(
|
|
&i.SpaceID,
|
|
&i.OwnerID,
|
|
&i.Name,
|
|
&i.Role,
|
|
&i.MemberCount,
|
|
&i.IsDefault,
|
|
&i.MemberName,
|
|
&i.SortNumber,
|
|
&i.InviteCode,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const insertSpace = `-- name: InsertSpace :exec
|
|
INSERT INTO space (
|
|
id,name,invite_code,owner_id,create_time,update_time
|
|
) VALUES ($1,$2,$3,$4,NOW(),NOW())
|
|
`
|
|
|
|
type InsertSpaceParams struct {
|
|
ID int64
|
|
Name string
|
|
InviteCode string
|
|
OwnerID int64
|
|
}
|
|
|
|
// 创建空间
|
|
func (q *Queries) InsertSpace(ctx context.Context, arg InsertSpaceParams) error {
|
|
_, err := q.db.Exec(ctx, insertSpace,
|
|
arg.ID,
|
|
arg.Name,
|
|
arg.InviteCode,
|
|
arg.OwnerID,
|
|
)
|
|
return err
|
|
}
|
|
|
|
const listSpacesByUserId = `-- name: ListSpacesByUserId :many
|
|
SELECT
|
|
s.id AS space_id,
|
|
s.owner_id,
|
|
s.name,
|
|
sm.role,
|
|
COALESCE(mc.member_count, 0) AS member_count,
|
|
sm.is_default,
|
|
sm.member_name,
|
|
sm.sort_number
|
|
FROM space s
|
|
JOIN space_member sm
|
|
ON s.id = sm.space_id
|
|
LEFT JOIN (
|
|
SELECT space_id, COUNT(*) AS member_count
|
|
FROM space_member
|
|
GROUP BY space_id
|
|
) mc
|
|
ON s.id = mc.space_id
|
|
WHERE sm.user_id = $1 AND s.status != 2 AND sm.status != 2
|
|
ORDER BY sm.is_default DESC, sm.sort_number ASC
|
|
`
|
|
|
|
type ListSpacesByUserIdRow struct {
|
|
SpaceID int64
|
|
OwnerID int64
|
|
Name string
|
|
Role int16
|
|
MemberCount int64
|
|
IsDefault int16
|
|
MemberName string
|
|
SortNumber int32
|
|
}
|
|
|
|
func (q *Queries) ListSpacesByUserId(ctx context.Context, userID int64) ([]ListSpacesByUserIdRow, error) {
|
|
rows, err := q.db.Query(ctx, listSpacesByUserId, userID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []ListSpacesByUserIdRow
|
|
for rows.Next() {
|
|
var i ListSpacesByUserIdRow
|
|
if err := rows.Scan(
|
|
&i.SpaceID,
|
|
&i.OwnerID,
|
|
&i.Name,
|
|
&i.Role,
|
|
&i.MemberCount,
|
|
&i.IsDefault,
|
|
&i.MemberName,
|
|
&i.SortNumber,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const updateSpaceInviteCode = `-- name: UpdateSpaceInviteCode :exec
|
|
UPDATE space set invite_code = $1,update_time = NOW() WHERE id = $2
|
|
`
|
|
|
|
type UpdateSpaceInviteCodeParams struct {
|
|
InviteCode string
|
|
ID int64
|
|
}
|
|
|
|
func (q *Queries) UpdateSpaceInviteCode(ctx context.Context, arg UpdateSpaceInviteCodeParams) error {
|
|
_, err := q.db.Exec(ctx, updateSpaceInviteCode, arg.InviteCode, arg.ID)
|
|
return err
|
|
}
|
|
|
|
const updateSpaceName = `-- name: UpdateSpaceName :exec
|
|
UPDATE space SET name = $1
|
|
WHERE id = $2
|
|
`
|
|
|
|
type UpdateSpaceNameParams struct {
|
|
Name string
|
|
ID int64
|
|
}
|
|
|
|
func (q *Queries) UpdateSpaceName(ctx context.Context, arg UpdateSpaceNameParams) error {
|
|
_, err := q.db.Exec(ctx, updateSpaceName, arg.Name, arg.ID)
|
|
return err
|
|
}
|
|
|
|
const updateSpaceOwnerId = `-- name: UpdateSpaceOwnerId :exec
|
|
UPDATE space set owner_id = $1,update_time = NOW() WHERE id = $2
|
|
`
|
|
|
|
type UpdateSpaceOwnerIdParams struct {
|
|
OwnerID int64
|
|
ID int64
|
|
}
|
|
|
|
func (q *Queries) UpdateSpaceOwnerId(ctx context.Context, arg UpdateSpaceOwnerIdParams) error {
|
|
_, err := q.db.Exec(ctx, updateSpaceOwnerId, arg.OwnerID, arg.ID)
|
|
return err
|
|
}
|