This commit is contained in:
oneao committed 2026-03-02 22:09:47 +08:00
1 parent cf23acdabc
commit 2efeb7cee2
13 files changed
+271 -49

No files matched your search

@@ -183,6 +183,38 @@ func DissolveSpace(c fiber.Ctx) error {
return responsex.OK(c, "空间已成功解散")
}
// ExitSpace 退出空间
func ExitSpace(c fiber.Ctx) error {
dto := new(types.ExitSpaceDTO)
if err := requestx.BindAndValidate(c, dto); err != nil {
return err
}
userId, err := middleware.GetUserID(c)
if err != nil {
return err
}
spaceId := dto.SpaceId
_, err = db.Queries.GetSpaceById(c.Context(), spaceId)
if err != nil {
if errorx.IsNotFound(err) {
return responsex.Error(c, "空间不存在或已解散")
}
return err
}
if err := db.Queries.UpdateSpaceMemberExit(c.Context(), repo.UpdateSpaceMemberExitParams{
SpaceID: spaceId,
UserID: userId,
}); err != nil {
return err
}
return responsex.OK(c, "空间已成功退出")
}
// UpdateMemberName 更新群成员名称
func UpdateMemberName(c fiber.Ctx) error {
dto := new(types.UpdateMemberNameDTO)
@@ -257,6 +289,7 @@ func UpdateSpaceDefault(c fiber.Ctx) error {
return responsex.OK(c, "更新成功")
}
// UpdateSpaceName 更新空间名称
func UpdateSpaceName(c fiber.Ctx) error {
dto := new(types.UpdateSpaceNameDTO)
if err := requestx.BindAndValidate(c, dto); err != nil {
@@ -295,6 +328,7 @@ func UpdateSpaceName(c fiber.Ctx) error {
return responsex.OK(c, "更新成功")
}
// GetSpaceSettings 获取空间配置信息
func GetSpaceSettings(c fiber.Ctx) error {
dto := new(types.GetSpaceSettingDTO)
if err := requestx.BindAndValidate(c, dto); err != nil {
@@ -329,6 +363,7 @@ func GetSpaceSettings(c fiber.Ctx) error {
vo.MemberCount = row.MemberCount
vo.OwnerId = row.OwnerID
vo.SortNumber = row.SortNumber
vo.InviteCode = row.InviteCode
return responsex.OK(c, vo)
}
@@ -30,6 +30,7 @@ func SetupRouters(app *fiber.App) {
spaceRouter.Post("/member/default", space.UpdateSpaceDefault)
spaceRouter.Post("/member/name", space.UpdateMemberName)
spaceRouter.Post("/member/sortNumber", space.UpdateSpaceSortNumber)
spaceRouter.Post("/member/exit", space.ExitSpace)
// authGroup.Get("/user/profile", user.GetProfile)
// spaceGroup.Get("/space/info", space.GetInfo)
+5
View File
@@ -21,6 +21,7 @@ type UserSpace struct {
IsDefault int16 `json:"is_default"`
MemberName string `json:"member_name"`
SortNumber int32 `json:"sort_number"`
InviteCode string `json:"invite_code"`
}
type ListSpacesVO struct {
@@ -31,6 +32,10 @@ type DissolveSpaceDTO struct {
SpaceId int64 `json:"space_id" validate:"required"`
}
type ExitSpaceDTO struct {
SpaceId int64 `json:"space_id" validate:"required"`
}
type UpdateMemberNameDTO struct {
SpaceId int64 `json:"space_id" validate:"required"`
MemberName string `json:"member_name" validate:"required"`