This commit is contained in:
oneao committed 2025-12-02 22:44:12 +08:00
1 parent f7b0c6ad2f
commit e81f605999
23 files changed
+1286 -413

No files matched your search

@@ -13,6 +13,7 @@ import (
"context"
space "cn/oneao/base-go/biz/model/space"
"github.com/cloudwego/hertz/pkg/app"
"github.com/cloudwego/hertz/pkg/protocol/consts"
)
@@ -73,23 +74,93 @@ func InsertSpace(ctx context.Context, c *app.RequestContext) {
// 如果存在,继续循环重新生成
}
// 创建空间
spaceId := idgen.NextId()
params := repo.InsertSpaceParams{
ID: spaceId,
InviteCode: inviteCode,
}
err = db.Queries.InsertSpace(ctx, params)
err = db.WithTx(ctx, func(q *repo.Queries) error {
// 创建空间
params := repo.InsertSpaceParams{
ID: spaceId,
InviteCode: inviteCode,
}
err = q.InsertSpace(ctx, params)
if err != nil {
return err
}
// 将创建用户默认添加到该空间内
userParams := repo.InsertSpaceUserParams{
ID: idgen.NextId(),
SpaceID: spaceId,
UserID: userID,
Role: 0,
}
err := q.InsertSpaceUser(ctx, userParams)
if err != nil {
return err
}
return nil
})
if err != nil {
errorx.AddError(c, err)
return
}
var resp space.InsertSpaceResult
resp.Id = spaceId
resp.InviteCode = inviteCode
resp := &space.InsertSpaceResult{
Id: spaceId,
InviteCode: inviteCode,
}
response.Success(c).Data(resp).Send()
}
// DeleteSpace .
// @router /space/delete [POST]
func DeleteSpace(ctx context.Context, c *app.RequestContext) {
var err error
var req space.DeleteSpaceParams
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
userID := middleware.GetUserID(ctx)
spaceByUserId, err := db.Queries.GetSpaceByUserId(ctx, userID)
if err != nil {
if errorx.IsNotFound(err) {
response.Success(c).Send()
return
} else {
errorx.AddError(c, err)
return
}
}
spaceId := spaceByUserId.ID
err = db.WithTx(ctx, func(q *repo.Queries) error {
err := q.DeleteSpace(ctx, spaceId)
if err != nil {
return err
}
err = q.DeleteSpaceUserAll(ctx, spaceId)
if err != nil {
return err
}
return nil
})
if err != nil {
errorx.AddError(c, err)
return
}
response.Success(c).Send()
}