diff --git a/code/allapp/allapp-go/biz/handler/space/space_service.go b/code/allapp/allapp-go/biz/handler/space/space_service.go
index 7d28411c..7a89e21d 100644
--- a/code/allapp/allapp-go/biz/handler/space/space_service.go
+++ b/code/allapp/allapp-go/biz/handler/space/space_service.go
@@ -34,7 +34,7 @@ func CreateSpace(ctx context.Context, c *app.RequestContext) {
userID := middleware.GetUserID(ctx)
- _, err = db.Queries.GetSpaceUser(ctx, userID)
+ _, err = db.Queries.GetSpaceMember(ctx, userID)
var isExist = true
@@ -93,13 +93,13 @@ func CreateSpace(ctx context.Context, c *app.RequestContext) {
return err
}
// 将创建用户默认添加到该空间内
- userParams := repo.InsertSpaceUserParams{
+ userParams := repo.InsertSpaceMemberParams{
ID: idgen.NextId(),
SpaceID: spaceId,
UserID: userID,
Role: 0,
}
- err := q.InsertSpaceUser(ctx, userParams)
+ err := q.InsertSpaceMember(ctx, userParams)
if err != nil {
return err
@@ -155,7 +155,7 @@ func DissolveSpace(ctx context.Context, c *app.RequestContext) {
return err2
}
- err2 = q.DeleteSpaceUsersBySpaceID(ctx, spaceID)
+ err2 = q.DeleteSpaceMembersBySpaceID(ctx, spaceID)
if err2 != nil {
return err2
}
@@ -188,7 +188,7 @@ func ExitSpace(ctx context.Context, c *app.RequestContext) {
userID := middleware.GetUserID(ctx)
- spaceUser, err := db.Queries.GetSpaceUser(ctx, userID)
+ spaceUser, err := db.Queries.GetSpaceMember(ctx, userID)
if err != nil {
if errorx.IsNotFound(err) {
@@ -210,7 +210,7 @@ func ExitSpace(ctx context.Context, c *app.RequestContext) {
}
err = db.WithTx(ctx, func(q *repo.Queries) error {
- err2 := q.DeleteSpaceUserByUserID(ctx, userID)
+ err2 := q.DeleteSpaceMemberByUserID(ctx, userID)
if err2 != nil {
return err2
}
@@ -225,90 +225,6 @@ func ExitSpace(ctx context.Context, c *app.RequestContext) {
response.Success(c).Data(resp).Send()
}
-// ListSpaceUsers .
-// @router /space/users [POST]
-func ListSpaceUsers(ctx context.Context, c *app.RequestContext) {
- var err error
- var req space.ListSpaceUsersParams
- if err = c.BindAndValidate(&req); err != nil {
- c.String(consts.StatusBadRequest, err.Error())
- return
- }
-
- resp := new(space.ListSpaceUsersResult)
-
- users, err := db.Queries.ListSpaceUsers(ctx, req.SpaceId)
- if err != nil {
- c.String(consts.StatusInternalServerError, err.Error())
- return
- }
-
- resp.Users = make([]*space.SpaceUser, 0, len(users))
-
- for _, u := range users {
- resp.Users = append(resp.Users, &space.SpaceUser{
- Id: u.UserID,
- Username: u.UserName,
- Avatar: u.UserAvatar,
- Role: u.Role,
- LastLoginTime: pgtypex.TimestamptzToMillis(u.LastLoginTime),
- })
- }
-
- response.Success(c).Data(resp).Send()
-}
-
-// RemoveSpaceUser .
-// @router /space/remove [POST]
-func RemoveSpaceUser(ctx context.Context, c *app.RequestContext) {
- var err error
- var req space.RemoveSpaceUserParams
- err = c.BindAndValidate(&req)
- if err != nil {
- c.String(consts.StatusBadRequest, err.Error())
- return
- }
-
- resp := new(space.RemoveSpaceUserResult)
-
- userID := middleware.GetUserID(ctx)
- spaceID := req.SpaceId
-
- // 检查权限
- hasPermission, err := hasSpacePermission(ctx, userID, spaceID)
-
- if err != nil {
- errorx.AddError(c, err)
- return
- }
-
- if !hasPermission {
- response.Fail(c).Message("无权限操作该空间").Send()
- return
- }
-
- // 移除
- err = db.WithTx(ctx, func(q *repo.Queries) error {
- err2 := q.DeleteSpaceUserBySpaceIDAndUserID(ctx, repo.DeleteSpaceUserBySpaceIDAndUserIDParams{
- SpaceID: spaceID,
- UserID: req.UserId,
- })
-
- if err2 != nil {
- return err2
- }
-
- return nil
- })
-
- if err != nil {
- errorx.AddError(c, err)
- return
- }
-
- response.Success(c).Data(resp).Send()
-}
-
// JoinSpace .
// @router /space/join [POST]
func JoinSpace(ctx context.Context, c *app.RequestContext) {
@@ -324,7 +240,7 @@ func JoinSpace(ctx context.Context, c *app.RequestContext) {
userID := middleware.GetUserID(ctx)
- _, err = db.Queries.GetSpaceUser(ctx, userID)
+ _, err = db.Queries.GetSpaceMember(ctx, userID)
if err != nil {
if errorx.IsNotFound(err) {
@@ -352,7 +268,7 @@ func JoinSpace(ctx context.Context, c *app.RequestContext) {
}
err = db.WithTx(ctx, func(q *repo.Queries) error {
- err2 := q.InsertSpaceUser(ctx, repo.InsertSpaceUserParams{
+ err2 := q.InsertSpaceMember(ctx, repo.InsertSpaceMemberParams{
ID: idgen.NextId(),
UserID: userID,
SpaceID: spaceByInviteCode.ID,
@@ -377,18 +293,102 @@ func JoinSpace(ctx context.Context, c *app.RequestContext) {
response.Success(c).Data(resp).Send()
}
-// UpdateSpaceUserRole .
-// @router /space/updateRole [POST]
-func UpdateSpaceUserRole(ctx context.Context, c *app.RequestContext) {
+// ListSpaceMembers .
+// @router /space/members [POST]
+func ListSpaceMembers(ctx context.Context, c *app.RequestContext) {
var err error
- var req space.UpdateSpaceUserRoleParams
+ var req space.ListSpaceMembersParams
+ if err = c.BindAndValidate(&req); err != nil {
+ c.String(consts.StatusBadRequest, err.Error())
+ return
+ }
+
+ resp := new(space.ListSpaceMembersResult)
+
+ members, err := db.Queries.ListSpaceMembers(ctx, req.SpaceId)
+ if err != nil {
+ c.String(consts.StatusInternalServerError, err.Error())
+ return
+ }
+
+ resp.Members = make([]*space.SpaceMember, 0, len(members))
+
+ for _, u := range members {
+ resp.Members = append(resp.Members, &space.SpaceMember{
+ Id: u.UserID,
+ Username: u.UserName,
+ Avatar: u.UserAvatar,
+ Role: u.Role,
+ LastLoginTime: pgtypex.TimestamptzToMillis(u.LastLoginTime),
+ })
+ }
+
+ response.Success(c).Data(resp).Send()
+}
+
+// RemoveSpaceMember .
+// @router /space/remove [POST]
+func RemoveSpaceMember(ctx context.Context, c *app.RequestContext) {
+ var err error
+ var req space.RemoveSpaceMemberParams
err = c.BindAndValidate(&req)
if err != nil {
c.String(consts.StatusBadRequest, err.Error())
return
}
- resp := new(space.UpdateSpaceUserRoleResult)
+ resp := new(space.RemoveSpaceMemberResult)
+
+ userID := middleware.GetUserID(ctx)
+ spaceID := req.SpaceId
+
+ // 检查权限
+ hasPermission, err := hasSpacePermission(ctx, userID, spaceID)
+
+ if err != nil {
+ errorx.AddError(c, err)
+ return
+ }
+
+ if !hasPermission {
+ response.Fail(c).Message("无权限操作该空间").Send()
+ return
+ }
+
+ // 移除
+ err = db.WithTx(ctx, func(q *repo.Queries) error {
+ err2 := q.DeleteSpaceMemberBySpaceIDAndUserID(ctx, repo.DeleteSpaceMemberBySpaceIDAndUserIDParams{
+ SpaceID: spaceID,
+ UserID: req.UserId,
+ })
+
+ if err2 != nil {
+ return err2
+ }
+
+ return nil
+ })
+
+ if err != nil {
+ errorx.AddError(c, err)
+ return
+ }
+
+ response.Success(c).Data(resp).Send()
+}
+
+// UpdateSpaceMemberRole .
+// @router /space/updateRole [POST]
+func UpdateSpaceMemberRole(ctx context.Context, c *app.RequestContext) {
+ var err error
+ var req space.UpdateSpaceMemberRoleParams
+ err = c.BindAndValidate(&req)
+ if err != nil {
+ c.String(consts.StatusBadRequest, err.Error())
+ return
+ }
+
+ resp := new(space.UpdateSpaceMemberRoleResult)
userID := middleware.GetUserID(ctx)
spaceID := req.SpaceId
@@ -407,7 +407,7 @@ func UpdateSpaceUserRole(ctx context.Context, c *app.RequestContext) {
}
// 检查是否在该空间
- updateSpaceUser, err := db.Queries.GetSpaceUser(ctx, updateUserID)
+ updateSpaceUser, err := db.Queries.GetSpaceMember(ctx, updateUserID)
if err != nil {
if errorx.IsNotFound(err) {
@@ -425,7 +425,7 @@ func UpdateSpaceUserRole(ctx context.Context, c *app.RequestContext) {
// 更新
err = db.WithTx(ctx, func(q *repo.Queries) error {
- err2 := q.UpdateSpaceUserRole(ctx, repo.UpdateSpaceUserRoleParams{
+ err2 := q.UpdateSpaceMemberRole(ctx, repo.UpdateSpaceMemberRoleParams{
Role: 1,
SpaceID: spaceID,
UserID: userID,
@@ -435,7 +435,7 @@ func UpdateSpaceUserRole(ctx context.Context, c *app.RequestContext) {
return err2
}
- err2 = q.UpdateSpaceUserRole(ctx, repo.UpdateSpaceUserRoleParams{
+ err2 = q.UpdateSpaceMemberRole(ctx, repo.UpdateSpaceMemberRoleParams{
Role: 0,
SpaceID: spaceID,
UserID: updateUserID,
@@ -457,7 +457,7 @@ func UpdateSpaceUserRole(ctx context.Context, c *app.RequestContext) {
}
func hasSpacePermission(ctx context.Context, userID int64, spaceID int64) (bool, error) {
- user, err := db.Queries.GetSpaceUser(ctx, userID)
+ user, err := db.Queries.GetSpaceMember(ctx, userID)
if err != nil {
if errorx.IsNotFound(err) {
diff --git a/code/allapp/allapp-go/biz/model/api/api.pb.go b/code/allapp/allapp-go/biz/model/api/api.pb.go
index d82e6a07..ff03c0ce 100644
--- a/code/allapp/allapp-go/biz/model/api/api.pb.go
+++ b/code/allapp/allapp-go/biz/model/api/api.pb.go
@@ -3,7 +3,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
-// protoc v4.25.3
+// protoc v6.33.1
// source: api.proto
package api
diff --git a/code/allapp/allapp-go/biz/model/space/space.pb.go b/code/allapp/allapp-go/biz/model/space/space.pb.go
index 2948d420..3dd9badd 100644
--- a/code/allapp/allapp-go/biz/model/space/space.pb.go
+++ b/code/allapp/allapp-go/biz/model/space/space.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
-// protoc v4.25.3
+// protoc v6.33.1
// source: space.proto
package space
@@ -26,7 +26,7 @@ var file_space_proto_rawDesc = []byte{
0x0a, 0x0b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x73,
0x70, 0x61, 0x63, 0x65, 0x1a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x17, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x90, 0x05, 0x0a, 0x0c, 0x53, 0x70, 0x61,
+ 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xa4, 0x05, 0x0a, 0x0c, 0x53, 0x70, 0x61,
0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61,
@@ -43,65 +43,67 @@ var file_space_proto_rawDesc = []byte{
0x63, 0x65, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x73, 0x1a, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x53,
0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x0f, 0xd2, 0xc1, 0x18, 0x0b,
- 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x65, 0x78, 0x69, 0x74, 0x12, 0x5c, 0x0a, 0x0e, 0x4c,
- 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x2e,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55,
- 0x73, 0x65, 0x72, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1b, 0x2e, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72,
- 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x10, 0xd2, 0xc1, 0x18, 0x0c, 0x2f, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x52, 0x65, 0x6d,
- 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65,
- 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1c, 0x2e, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73,
- 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x11, 0xd2, 0xc1, 0x18, 0x0d, 0x2f, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x4a,
- 0x6f, 0x69, 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x1a, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x0f, 0xd2, 0xc1, 0x18, 0x0b, 0x2f, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x2f, 0x6a, 0x6f, 0x69, 0x6e, 0x12, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65,
- 0x12, 0x20, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x1a, 0x20, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
- 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x22, 0x15, 0xd2, 0xc1, 0x18, 0x11, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x18, 0x5a, 0x16, 0x61,
- 0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x65, 0x78, 0x69, 0x74, 0x12, 0x64, 0x0a, 0x10, 0x4c,
+ 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12,
+ 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1d,
+ 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x12, 0xd2,
+ 0xc1, 0x18, 0x0e, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x73, 0x12, 0x66, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x11, 0xd2, 0xc1, 0x18, 0x0d, 0x2f, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x4a, 0x6f, 0x69,
+ 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4a,
+ 0x6f, 0x69, 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x16,
+ 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x0f, 0xd2, 0xc1, 0x18, 0x0b, 0x2f, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x2f, 0x6a, 0x6f, 0x69, 0x6e, 0x12, 0x76, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65,
+ 0x12, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f,
+ 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x15, 0xd2, 0xc1, 0x18, 0x11, 0x2f, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x42,
+ 0x18, 0x5a, 0x16, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f,
+ 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
}
var file_space_proto_goTypes = []interface{}{
- (*CreateSpaceParams)(nil), // 0: space.CreateSpaceParams
- (*DissolveSpaceParams)(nil), // 1: space.DissolveSpaceParams
- (*ExitSpaceParams)(nil), // 2: space.ExitSpaceParams
- (*ListSpaceUsersParams)(nil), // 3: space.ListSpaceUsersParams
- (*RemoveSpaceUserParams)(nil), // 4: space.RemoveSpaceUserParams
- (*JoinSpaceParams)(nil), // 5: space.JoinSpaceParams
- (*UpdateSpaceUserRoleParams)(nil), // 6: space.UpdateSpaceUserRoleParams
- (*DissolveSpaceResult)(nil), // 7: space.DissolveSpaceResult
- (*ExitSpaceResult)(nil), // 8: space.ExitSpaceResult
- (*ListSpaceUsersResult)(nil), // 9: space.ListSpaceUsersResult
- (*RemoveSpaceUserResult)(nil), // 10: space.RemoveSpaceUserResult
- (*JoinSpaceResult)(nil), // 11: space.JoinSpaceResult
- (*UpdateSpaceUserRoleResult)(nil), // 12: space.UpdateSpaceUserRoleResult
+ (*CreateSpaceParams)(nil), // 0: space.CreateSpaceParams
+ (*DissolveSpaceParams)(nil), // 1: space.DissolveSpaceParams
+ (*ExitSpaceParams)(nil), // 2: space.ExitSpaceParams
+ (*ListSpaceMembersParams)(nil), // 3: space.ListSpaceMembersParams
+ (*RemoveSpaceMemberParams)(nil), // 4: space.RemoveSpaceMemberParams
+ (*JoinSpaceParams)(nil), // 5: space.JoinSpaceParams
+ (*UpdateSpaceMemberRoleParams)(nil), // 6: space.UpdateSpaceMemberRoleParams
+ (*DissolveSpaceResult)(nil), // 7: space.DissolveSpaceResult
+ (*ExitSpaceResult)(nil), // 8: space.ExitSpaceResult
+ (*ListSpaceMembersResult)(nil), // 9: space.ListSpaceMembersResult
+ (*RemoveSpaceMemberResult)(nil), // 10: space.RemoveSpaceMemberResult
+ (*JoinSpaceResult)(nil), // 11: space.JoinSpaceResult
+ (*UpdateSpaceMemberRoleResult)(nil), // 12: space.UpdateSpaceMemberRoleResult
}
var file_space_proto_depIdxs = []int32{
0, // 0: space.SpaceService.CreateSpace:input_type -> space.CreateSpaceParams
1, // 1: space.SpaceService.DissolveSpace:input_type -> space.DissolveSpaceParams
2, // 2: space.SpaceService.ExitSpace:input_type -> space.ExitSpaceParams
- 3, // 3: space.SpaceService.ListSpaceUsers:input_type -> space.ListSpaceUsersParams
- 4, // 4: space.SpaceService.RemoveSpaceUser:input_type -> space.RemoveSpaceUserParams
+ 3, // 3: space.SpaceService.ListSpaceMembers:input_type -> space.ListSpaceMembersParams
+ 4, // 4: space.SpaceService.RemoveSpaceMember:input_type -> space.RemoveSpaceMemberParams
5, // 5: space.SpaceService.JoinSpace:input_type -> space.JoinSpaceParams
- 6, // 6: space.SpaceService.UpdateSpaceUserRole:input_type -> space.UpdateSpaceUserRoleParams
+ 6, // 6: space.SpaceService.UpdateSpaceMemberRole:input_type -> space.UpdateSpaceMemberRoleParams
0, // 7: space.SpaceService.CreateSpace:output_type -> space.CreateSpaceParams
7, // 8: space.SpaceService.DissolveSpace:output_type -> space.DissolveSpaceResult
8, // 9: space.SpaceService.ExitSpace:output_type -> space.ExitSpaceResult
- 9, // 10: space.SpaceService.ListSpaceUsers:output_type -> space.ListSpaceUsersResult
- 10, // 11: space.SpaceService.RemoveSpaceUser:output_type -> space.RemoveSpaceUserResult
+ 9, // 10: space.SpaceService.ListSpaceMembers:output_type -> space.ListSpaceMembersResult
+ 10, // 11: space.SpaceService.RemoveSpaceMember:output_type -> space.RemoveSpaceMemberResult
11, // 12: space.SpaceService.JoinSpace:output_type -> space.JoinSpaceResult
- 12, // 13: space.SpaceService.UpdateSpaceUserRole:output_type -> space.UpdateSpaceUserRoleResult
+ 12, // 13: space.SpaceService.UpdateSpaceMemberRole:output_type -> space.UpdateSpaceMemberRoleResult
7, // [7:14] is the sub-list for method output_type
0, // [0:7] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
diff --git a/code/allapp/allapp-go/biz/model/space/space_types.pb.go b/code/allapp/allapp-go/biz/model/space/space_types.pb.go
index a95e503e..f566115d 100644
--- a/code/allapp/allapp-go/biz/model/space/space_types.pb.go
+++ b/code/allapp/allapp-go/biz/model/space/space_types.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
-// protoc v4.25.3
+// protoc v6.33.1
// source: space/space_types.proto
package space
@@ -211,7 +211,7 @@ func (*DissolveSpaceResult) Descriptor() ([]byte, []int) {
}
// 获取空间下的成员
-type ListSpaceUsersParams struct {
+type ListSpaceMembersParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
@@ -219,8 +219,8 @@ type ListSpaceUsersParams struct {
SpaceId int64 `protobuf:"varint,1,opt,name=SpaceId,proto3" form:"space_id" json:"space_id"`
}
-func (x *ListSpaceUsersParams) Reset() {
- *x = ListSpaceUsersParams{}
+func (x *ListSpaceMembersParams) Reset() {
+ *x = ListSpaceMembersParams{}
if protoimpl.UnsafeEnabled {
mi := &file_space_space_types_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -228,13 +228,13 @@ func (x *ListSpaceUsersParams) Reset() {
}
}
-func (x *ListSpaceUsersParams) String() string {
+func (x *ListSpaceMembersParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ListSpaceUsersParams) ProtoMessage() {}
+func (*ListSpaceMembersParams) ProtoMessage() {}
-func (x *ListSpaceUsersParams) ProtoReflect() protoreflect.Message {
+func (x *ListSpaceMembersParams) ProtoReflect() protoreflect.Message {
mi := &file_space_space_types_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -246,19 +246,19 @@ func (x *ListSpaceUsersParams) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ListSpaceUsersParams.ProtoReflect.Descriptor instead.
-func (*ListSpaceUsersParams) Descriptor() ([]byte, []int) {
+// Deprecated: Use ListSpaceMembersParams.ProtoReflect.Descriptor instead.
+func (*ListSpaceMembersParams) Descriptor() ([]byte, []int) {
return file_space_space_types_proto_rawDescGZIP(), []int{4}
}
-func (x *ListSpaceUsersParams) GetSpaceId() int64 {
+func (x *ListSpaceMembersParams) GetSpaceId() int64 {
if x != nil {
return x.SpaceId
}
return 0
}
-type SpaceUser struct {
+type SpaceMember struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
@@ -270,8 +270,8 @@ type SpaceUser struct {
LastLoginTime int64 `protobuf:"varint,5,opt,name=LastLoginTime,proto3" form:"last_login_time" json:"last_login_time"`
}
-func (x *SpaceUser) Reset() {
- *x = SpaceUser{}
+func (x *SpaceMember) Reset() {
+ *x = SpaceMember{}
if protoimpl.UnsafeEnabled {
mi := &file_space_space_types_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -279,13 +279,13 @@ func (x *SpaceUser) Reset() {
}
}
-func (x *SpaceUser) String() string {
+func (x *SpaceMember) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*SpaceUser) ProtoMessage() {}
+func (*SpaceMember) ProtoMessage() {}
-func (x *SpaceUser) ProtoReflect() protoreflect.Message {
+func (x *SpaceMember) ProtoReflect() protoreflect.Message {
mi := &file_space_space_types_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -297,56 +297,56 @@ func (x *SpaceUser) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use SpaceUser.ProtoReflect.Descriptor instead.
-func (*SpaceUser) Descriptor() ([]byte, []int) {
+// Deprecated: Use SpaceMember.ProtoReflect.Descriptor instead.
+func (*SpaceMember) Descriptor() ([]byte, []int) {
return file_space_space_types_proto_rawDescGZIP(), []int{5}
}
-func (x *SpaceUser) GetId() int64 {
+func (x *SpaceMember) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
-func (x *SpaceUser) GetUsername() string {
+func (x *SpaceMember) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
-func (x *SpaceUser) GetAvatar() string {
+func (x *SpaceMember) GetAvatar() string {
if x != nil {
return x.Avatar
}
return ""
}
-func (x *SpaceUser) GetRole() int32 {
+func (x *SpaceMember) GetRole() int32 {
if x != nil {
return x.Role
}
return 0
}
-func (x *SpaceUser) GetLastLoginTime() int64 {
+func (x *SpaceMember) GetLastLoginTime() int64 {
if x != nil {
return x.LastLoginTime
}
return 0
}
-type ListSpaceUsersResult struct {
+type ListSpaceMembersResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Users []*SpaceUser `protobuf:"bytes,1,rep,name=users,proto3" form:"users" json:"users" query:"users"`
+ Members []*SpaceMember `protobuf:"bytes,1,rep,name=members,proto3" form:"members" json:"members" query:"members"`
}
-func (x *ListSpaceUsersResult) Reset() {
- *x = ListSpaceUsersResult{}
+func (x *ListSpaceMembersResult) Reset() {
+ *x = ListSpaceMembersResult{}
if protoimpl.UnsafeEnabled {
mi := &file_space_space_types_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -354,13 +354,13 @@ func (x *ListSpaceUsersResult) Reset() {
}
}
-func (x *ListSpaceUsersResult) String() string {
+func (x *ListSpaceMembersResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ListSpaceUsersResult) ProtoMessage() {}
+func (*ListSpaceMembersResult) ProtoMessage() {}
-func (x *ListSpaceUsersResult) ProtoReflect() protoreflect.Message {
+func (x *ListSpaceMembersResult) ProtoReflect() protoreflect.Message {
mi := &file_space_space_types_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -372,14 +372,14 @@ func (x *ListSpaceUsersResult) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ListSpaceUsersResult.ProtoReflect.Descriptor instead.
-func (*ListSpaceUsersResult) Descriptor() ([]byte, []int) {
+// Deprecated: Use ListSpaceMembersResult.ProtoReflect.Descriptor instead.
+func (*ListSpaceMembersResult) Descriptor() ([]byte, []int) {
return file_space_space_types_proto_rawDescGZIP(), []int{6}
}
-func (x *ListSpaceUsersResult) GetUsers() []*SpaceUser {
+func (x *ListSpaceMembersResult) GetMembers() []*SpaceMember {
if x != nil {
- return x.Users
+ return x.Members
}
return nil
}
@@ -574,7 +574,7 @@ func (*ExitSpaceResult) Descriptor() ([]byte, []int) {
}
// 踢出成员
-type RemoveSpaceUserParams struct {
+type RemoveSpaceMemberParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
@@ -583,8 +583,8 @@ type RemoveSpaceUserParams struct {
UserId int64 `protobuf:"varint,2,opt,name=UserId,proto3" form:"user_id" json:"user_id" vd:"$ != 0"`
}
-func (x *RemoveSpaceUserParams) Reset() {
- *x = RemoveSpaceUserParams{}
+func (x *RemoveSpaceMemberParams) Reset() {
+ *x = RemoveSpaceMemberParams{}
if protoimpl.UnsafeEnabled {
mi := &file_space_space_types_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -592,13 +592,13 @@ func (x *RemoveSpaceUserParams) Reset() {
}
}
-func (x *RemoveSpaceUserParams) String() string {
+func (x *RemoveSpaceMemberParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*RemoveSpaceUserParams) ProtoMessage() {}
+func (*RemoveSpaceMemberParams) ProtoMessage() {}
-func (x *RemoveSpaceUserParams) ProtoReflect() protoreflect.Message {
+func (x *RemoveSpaceMemberParams) ProtoReflect() protoreflect.Message {
mi := &file_space_space_types_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -610,33 +610,33 @@ func (x *RemoveSpaceUserParams) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use RemoveSpaceUserParams.ProtoReflect.Descriptor instead.
-func (*RemoveSpaceUserParams) Descriptor() ([]byte, []int) {
+// Deprecated: Use RemoveSpaceMemberParams.ProtoReflect.Descriptor instead.
+func (*RemoveSpaceMemberParams) Descriptor() ([]byte, []int) {
return file_space_space_types_proto_rawDescGZIP(), []int{11}
}
-func (x *RemoveSpaceUserParams) GetSpaceId() int64 {
+func (x *RemoveSpaceMemberParams) GetSpaceId() int64 {
if x != nil {
return x.SpaceId
}
return 0
}
-func (x *RemoveSpaceUserParams) GetUserId() int64 {
+func (x *RemoveSpaceMemberParams) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
-type RemoveSpaceUserResult struct {
+type RemoveSpaceMemberResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
-func (x *RemoveSpaceUserResult) Reset() {
- *x = RemoveSpaceUserResult{}
+func (x *RemoveSpaceMemberResult) Reset() {
+ *x = RemoveSpaceMemberResult{}
if protoimpl.UnsafeEnabled {
mi := &file_space_space_types_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -644,13 +644,13 @@ func (x *RemoveSpaceUserResult) Reset() {
}
}
-func (x *RemoveSpaceUserResult) String() string {
+func (x *RemoveSpaceMemberResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*RemoveSpaceUserResult) ProtoMessage() {}
+func (*RemoveSpaceMemberResult) ProtoMessage() {}
-func (x *RemoveSpaceUserResult) ProtoReflect() protoreflect.Message {
+func (x *RemoveSpaceMemberResult) ProtoReflect() protoreflect.Message {
mi := &file_space_space_types_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -662,13 +662,13 @@ func (x *RemoveSpaceUserResult) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use RemoveSpaceUserResult.ProtoReflect.Descriptor instead.
-func (*RemoveSpaceUserResult) Descriptor() ([]byte, []int) {
+// Deprecated: Use RemoveSpaceMemberResult.ProtoReflect.Descriptor instead.
+func (*RemoveSpaceMemberResult) Descriptor() ([]byte, []int) {
return file_space_space_types_proto_rawDescGZIP(), []int{12}
}
// 更新权限
-type UpdateSpaceUserRoleParams struct {
+type UpdateSpaceMemberRoleParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
@@ -678,8 +678,8 @@ type UpdateSpaceUserRoleParams struct {
Role int32 `protobuf:"varint,3,opt,name=Role,proto3" form:"role" json:"role" vd:"$ != 0"`
}
-func (x *UpdateSpaceUserRoleParams) Reset() {
- *x = UpdateSpaceUserRoleParams{}
+func (x *UpdateSpaceMemberRoleParams) Reset() {
+ *x = UpdateSpaceMemberRoleParams{}
if protoimpl.UnsafeEnabled {
mi := &file_space_space_types_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -687,13 +687,13 @@ func (x *UpdateSpaceUserRoleParams) Reset() {
}
}
-func (x *UpdateSpaceUserRoleParams) String() string {
+func (x *UpdateSpaceMemberRoleParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*UpdateSpaceUserRoleParams) ProtoMessage() {}
+func (*UpdateSpaceMemberRoleParams) ProtoMessage() {}
-func (x *UpdateSpaceUserRoleParams) ProtoReflect() protoreflect.Message {
+func (x *UpdateSpaceMemberRoleParams) ProtoReflect() protoreflect.Message {
mi := &file_space_space_types_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -705,40 +705,40 @@ func (x *UpdateSpaceUserRoleParams) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use UpdateSpaceUserRoleParams.ProtoReflect.Descriptor instead.
-func (*UpdateSpaceUserRoleParams) Descriptor() ([]byte, []int) {
+// Deprecated: Use UpdateSpaceMemberRoleParams.ProtoReflect.Descriptor instead.
+func (*UpdateSpaceMemberRoleParams) Descriptor() ([]byte, []int) {
return file_space_space_types_proto_rawDescGZIP(), []int{13}
}
-func (x *UpdateSpaceUserRoleParams) GetSpaceId() int64 {
+func (x *UpdateSpaceMemberRoleParams) GetSpaceId() int64 {
if x != nil {
return x.SpaceId
}
return 0
}
-func (x *UpdateSpaceUserRoleParams) GetUserId() int64 {
+func (x *UpdateSpaceMemberRoleParams) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
-func (x *UpdateSpaceUserRoleParams) GetRole() int32 {
+func (x *UpdateSpaceMemberRoleParams) GetRole() int32 {
if x != nil {
return x.Role
}
return 0
}
-type UpdateSpaceUserRoleResult struct {
+type UpdateSpaceMemberRoleResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
-func (x *UpdateSpaceUserRoleResult) Reset() {
- *x = UpdateSpaceUserRoleResult{}
+func (x *UpdateSpaceMemberRoleResult) Reset() {
+ *x = UpdateSpaceMemberRoleResult{}
if protoimpl.UnsafeEnabled {
mi := &file_space_space_types_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -746,13 +746,13 @@ func (x *UpdateSpaceUserRoleResult) Reset() {
}
}
-func (x *UpdateSpaceUserRoleResult) String() string {
+func (x *UpdateSpaceMemberRoleResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*UpdateSpaceUserRoleResult) ProtoMessage() {}
+func (*UpdateSpaceMemberRoleResult) ProtoMessage() {}
-func (x *UpdateSpaceUserRoleResult) ProtoReflect() protoreflect.Message {
+func (x *UpdateSpaceMemberRoleResult) ProtoReflect() protoreflect.Message {
mi := &file_space_space_types_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -764,8 +764,8 @@ func (x *UpdateSpaceUserRoleResult) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use UpdateSpaceUserRoleResult.ProtoReflect.Descriptor instead.
-func (*UpdateSpaceUserRoleResult) Descriptor() ([]byte, []int) {
+// Deprecated: Use UpdateSpaceMemberRoleResult.ProtoReflect.Descriptor instead.
+func (*UpdateSpaceMemberRoleResult) Descriptor() ([]byte, []int) {
return file_space_space_types_proto_rawDescGZIP(), []int{14}
}
@@ -790,67 +790,69 @@ var file_space_space_types_proto_rawDesc = []byte{
0x20, 0x01, 0x28, 0x03, 0x42, 0x0c, 0xca, 0xbb, 0x18, 0x08, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
0x69, 0x64, 0x52, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x44,
0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x22, 0x3e, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55,
- 0x73, 0x65, 0x72, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x07, 0x53, 0x70,
- 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0c, 0xca, 0xbb, 0x18,
- 0x08, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x52, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65,
- 0x49, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x09, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72,
- 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06, 0xca, 0xbb,
- 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xca, 0xbb, 0x18, 0x08,
- 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x06,
- 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x05, 0x42, 0x08, 0xca, 0xbb, 0x18, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x52, 0x04,
- 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69,
- 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x13, 0xca, 0xbb, 0x18,
- 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
- 0x52, 0x0d, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22,
- 0x3e, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72,
- 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22,
- 0x4d, 0x0a, 0x0f, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x12, 0x3a, 0x0a, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xca, 0xbb, 0x18, 0x0b, 0x69, 0x6e, 0x76, 0x69,
- 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0xda, 0xbb, 0x18, 0x07, 0x24, 0x20, 0x21, 0x3d, 0x20,
- 0x27, 0x27, 0x52, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x67,
- 0x0a, 0x0f, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x12, 0x26, 0x0a, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x03, 0x42, 0x0c, 0xca, 0xbb, 0x18, 0x08, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64,
- 0x52, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x53, 0x70, 0x61,
- 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xca, 0xbb,
- 0x18, 0x0a, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x53, 0x70,
- 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x74, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x07, 0x53, 0x70,
- 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0c, 0xca, 0xbb, 0x18,
- 0x08, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x52, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65,
- 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x78, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x30,
- 0x0a, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42,
- 0x16, 0xca, 0xbb, 0x18, 0x08, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18,
- 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64,
- 0x12, 0x2d, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
- 0x42, 0x15, 0xca, 0xbb, 0x18, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18,
- 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22,
- 0x17, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73,
- 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x16, 0xca, 0xbb, 0x18, 0x08, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52,
- 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72,
- 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xca, 0xbb, 0x18, 0x07, 0x75, 0x73,
- 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52,
- 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x12, 0xca, 0xbb, 0x18, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0xda,
- 0xbb, 0x18, 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x22,
- 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73,
- 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x18, 0x5a, 0x16,
- 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
- 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x6c, 0x74, 0x22, 0x40, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d,
+ 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x07,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0c, 0xca,
+ 0xbb, 0x18, 0x08, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x52, 0x07, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x49, 0x64, 0x22, 0xcc, 0x01, 0x0a, 0x0b, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65,
+ 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+ 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x08,
+ 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c,
+ 0xca, 0xbb, 0x18, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x55, 0x73,
+ 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, 0x04, 0x52, 0x6f,
+ 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x08, 0xca, 0xbb, 0x18, 0x04, 0x72, 0x6f,
+ 0x6c, 0x65, 0x52, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x4c, 0x61, 0x73, 0x74,
+ 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42,
+ 0x13, 0xca, 0xbb, 0x18, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54,
+ 0x69, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2c, 0x0a,
+ 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
+ 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62,
+ 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x4d, 0x0a, 0x0f, 0x4a,
+ 0x6f, 0x69, 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3a,
+ 0x0a, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x1a, 0xca, 0xbb, 0x18, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x63,
+ 0x6f, 0x64, 0x65, 0xda, 0xbb, 0x18, 0x07, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x52, 0x0a,
+ 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4a, 0x6f,
+ 0x69, 0x6e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a,
+ 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0c,
+ 0xca, 0xbb, 0x18, 0x08, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x52, 0x07, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xca, 0xbb, 0x18, 0x0a, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0c, 0xca, 0xbb, 0x18, 0x08, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x5f, 0x69, 0x64, 0x52, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x11,
+ 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x22, 0x7a, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x07,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x16, 0xca,
+ 0xbb, 0x18, 0x08, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x06, 0x24,
+ 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2d,
+ 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15,
+ 0xca, 0xbb, 0x18, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x06, 0x24,
+ 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x19, 0x0a,
+ 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62,
+ 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f,
+ 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x16, 0xca, 0xbb, 0x18, 0x08, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20,
+ 0x30, 0x52, 0x07, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x55, 0x73,
+ 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xca, 0xbb, 0x18, 0x07,
+ 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20,
+ 0x30, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x52, 0x6f, 0x6c,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x12, 0xca, 0xbb, 0x18, 0x04, 0x72, 0x6f, 0x6c,
+ 0x65, 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x04, 0x52, 0x6f, 0x6c,
+ 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x42, 0x18, 0x5a, 0x16, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d,
+ 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
}
var (
@@ -867,24 +869,24 @@ func file_space_space_types_proto_rawDescGZIP() []byte {
var file_space_space_types_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_space_space_types_proto_goTypes = []interface{}{
- (*CreateSpaceParams)(nil), // 0: space.CreateSpaceParams
- (*CreateSpaceResult)(nil), // 1: space.CreateSpaceResult
- (*DissolveSpaceParams)(nil), // 2: space.DissolveSpaceParams
- (*DissolveSpaceResult)(nil), // 3: space.DissolveSpaceResult
- (*ListSpaceUsersParams)(nil), // 4: space.ListSpaceUsersParams
- (*SpaceUser)(nil), // 5: space.SpaceUser
- (*ListSpaceUsersResult)(nil), // 6: space.ListSpaceUsersResult
- (*JoinSpaceParams)(nil), // 7: space.JoinSpaceParams
- (*JoinSpaceResult)(nil), // 8: space.JoinSpaceResult
- (*ExitSpaceParams)(nil), // 9: space.ExitSpaceParams
- (*ExitSpaceResult)(nil), // 10: space.ExitSpaceResult
- (*RemoveSpaceUserParams)(nil), // 11: space.RemoveSpaceUserParams
- (*RemoveSpaceUserResult)(nil), // 12: space.RemoveSpaceUserResult
- (*UpdateSpaceUserRoleParams)(nil), // 13: space.UpdateSpaceUserRoleParams
- (*UpdateSpaceUserRoleResult)(nil), // 14: space.UpdateSpaceUserRoleResult
+ (*CreateSpaceParams)(nil), // 0: space.CreateSpaceParams
+ (*CreateSpaceResult)(nil), // 1: space.CreateSpaceResult
+ (*DissolveSpaceParams)(nil), // 2: space.DissolveSpaceParams
+ (*DissolveSpaceResult)(nil), // 3: space.DissolveSpaceResult
+ (*ListSpaceMembersParams)(nil), // 4: space.ListSpaceMembersParams
+ (*SpaceMember)(nil), // 5: space.SpaceMember
+ (*ListSpaceMembersResult)(nil), // 6: space.ListSpaceMembersResult
+ (*JoinSpaceParams)(nil), // 7: space.JoinSpaceParams
+ (*JoinSpaceResult)(nil), // 8: space.JoinSpaceResult
+ (*ExitSpaceParams)(nil), // 9: space.ExitSpaceParams
+ (*ExitSpaceResult)(nil), // 10: space.ExitSpaceResult
+ (*RemoveSpaceMemberParams)(nil), // 11: space.RemoveSpaceMemberParams
+ (*RemoveSpaceMemberResult)(nil), // 12: space.RemoveSpaceMemberResult
+ (*UpdateSpaceMemberRoleParams)(nil), // 13: space.UpdateSpaceMemberRoleParams
+ (*UpdateSpaceMemberRoleResult)(nil), // 14: space.UpdateSpaceMemberRoleResult
}
var file_space_space_types_proto_depIdxs = []int32{
- 5, // 0: space.ListSpaceUsersResult.users:type_name -> space.SpaceUser
+ 5, // 0: space.ListSpaceMembersResult.members:type_name -> space.SpaceMember
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
@@ -947,7 +949,7 @@ func file_space_space_types_proto_init() {
}
}
file_space_space_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListSpaceUsersParams); i {
+ switch v := v.(*ListSpaceMembersParams); i {
case 0:
return &v.state
case 1:
@@ -959,7 +961,7 @@ func file_space_space_types_proto_init() {
}
}
file_space_space_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SpaceUser); i {
+ switch v := v.(*SpaceMember); i {
case 0:
return &v.state
case 1:
@@ -971,7 +973,7 @@ func file_space_space_types_proto_init() {
}
}
file_space_space_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListSpaceUsersResult); i {
+ switch v := v.(*ListSpaceMembersResult); i {
case 0:
return &v.state
case 1:
@@ -1031,7 +1033,7 @@ func file_space_space_types_proto_init() {
}
}
file_space_space_types_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveSpaceUserParams); i {
+ switch v := v.(*RemoveSpaceMemberParams); i {
case 0:
return &v.state
case 1:
@@ -1043,7 +1045,7 @@ func file_space_space_types_proto_init() {
}
}
file_space_space_types_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveSpaceUserResult); i {
+ switch v := v.(*RemoveSpaceMemberResult); i {
case 0:
return &v.state
case 1:
@@ -1055,7 +1057,7 @@ func file_space_space_types_proto_init() {
}
}
file_space_space_types_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateSpaceUserRoleParams); i {
+ switch v := v.(*UpdateSpaceMemberRoleParams); i {
case 0:
return &v.state
case 1:
@@ -1067,7 +1069,7 @@ func file_space_space_types_proto_init() {
}
}
file_space_space_types_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateSpaceUserRoleResult); i {
+ switch v := v.(*UpdateSpaceMemberRoleResult); i {
case 0:
return &v.state
case 1:
diff --git a/code/allapp/allapp-go/biz/router/space/middleware.go b/code/allapp/allapp-go/biz/router/space/middleware.go
index 5f9f6a72..cbe29225 100644
--- a/code/allapp/allapp-go/biz/router/space/middleware.go
+++ b/code/allapp/allapp-go/biz/router/space/middleware.go
@@ -55,3 +55,18 @@ func _updatespaceuserroleMw() []app.HandlerFunc {
// your code...
return nil
}
+
+func _listspacemembersMw() []app.HandlerFunc {
+ // your code...
+ return nil
+}
+
+func _removespacememberMw() []app.HandlerFunc {
+ // your code...
+ return nil
+}
+
+func _updatespacememberroleMw() []app.HandlerFunc {
+ // your code...
+ return nil
+}
diff --git a/code/allapp/allapp-go/biz/router/space/space.go b/code/allapp/allapp-go/biz/router/space/space.go
index 72d62d81..eafd256e 100644
--- a/code/allapp/allapp-go/biz/router/space/space.go
+++ b/code/allapp/allapp-go/biz/router/space/space.go
@@ -23,8 +23,8 @@ func Register(r *server.Hertz) {
_space.POST("/dissolve", append(_dissolvespaceMw(), space.DissolveSpace)...)
_space.POST("/exit", append(_exitspaceMw(), space.ExitSpace)...)
_space.POST("/join", append(_joinspaceMw(), space.JoinSpace)...)
- _space.POST("/remove", append(_removespaceuserMw(), space.RemoveSpaceUser)...)
- _space.POST("/updateRole", append(_updatespaceuserroleMw(), space.UpdateSpaceUserRole)...)
- _space.POST("/users", append(_listspaceusersMw(), space.ListSpaceUsers)...)
+ _space.POST("/members", append(_listspacemembersMw(), space.ListSpaceMembers)...)
+ _space.POST("/remove", append(_removespacememberMw(), space.RemoveSpaceMember)...)
+ _space.POST("/updateRole", append(_updatespacememberroleMw(), space.UpdateSpaceMemberRole)...)
}
}
diff --git a/code/allapp/allapp-go/db/queries/money_record.sql b/code/allapp/allapp-go/db/queries/money_record.sql
index 73f940b2..af6bb8d1 100644
--- a/code/allapp/allapp-go/db/queries/money_record.sql
+++ b/code/allapp/allapp-go/db/queries/money_record.sql
@@ -3,7 +3,7 @@ SELECT
mr.*,
u.username AS username
FROM money_record mr
- LEFT JOIN space_user su
+ LEFT JOIN space_member su
ON su.user_id = mr.user_id
LEFT JOIN "user" u
ON u.id = mr.user_id
@@ -68,7 +68,7 @@ FROM
LEFT JOIN
money_user_category muc ON mr.category_id = muc.id -- 连接 money_user_category 获取 type
LEFT JOIN
- space_user su ON su.user_id = $2 -- 连接 space_user 表,查找该用户在空间中的信息
+ space_member su ON su.user_id = $2 -- 连接 space_member 表,查找该用户在空间中的信息
LEFT JOIN
space s ON s.id = su.space_id -- 连接 space 表,获取空间信息
WHERE
@@ -94,7 +94,7 @@ FROM
LEFT JOIN
money_user_category muc ON mr.category_id = muc.id
LEFT JOIN
- space_user su ON su.user_id = $1 -- 连接 space_user 表,查找该用户在空间中的信息
+ space_member su ON su.user_id = $1 -- 连接 space_member 表,查找该用户在空间中的信息
LEFT JOIN
space s ON s.id = su.space_id -- 连接 space 表,获取空间信息
WHERE
diff --git a/code/allapp/allapp-go/db/queries/space.sql b/code/allapp/allapp-go/db/queries/space.sql
index fe1541b9..ae9ba1d3 100644
--- a/code/allapp/allapp-go/db/queries/space.sql
+++ b/code/allapp/allapp-go/db/queries/space.sql
@@ -12,11 +12,12 @@ DELETE FROM space WHERE id = $1;
-- name: GetSpaceById :one
SELECT * FROM space WHERE id = $1;
+
-- 查询用户所在的空间信息
-- name: GetSpaceByUserId :one
SELECT s.*, m.role
FROM space s
- JOIN space_user m
+ JOIN space_member m
ON s.id = m.space_id
WHERE m.user_id = $1;
diff --git a/code/allapp/allapp-go/db/queries/space_user.sql b/code/allapp/allapp-go/db/queries/space_member.sql
similarity index 58%
rename from code/allapp/allapp-go/db/queries/space_user.sql
rename to code/allapp/allapp-go/db/queries/space_member.sql
index 22cdb336..2abc535c 100644
--- a/code/allapp/allapp-go/db/queries/space_user.sql
+++ b/code/allapp/allapp-go/db/queries/space_member.sql
@@ -1,44 +1,44 @@
-- 插入空间用户
--- name: InsertSpaceUser :exec
-INSERT INTO space_user(id,space_id,user_id,role,join_time)
+-- name: InsertSpaceMember :exec
+INSERT INTO space_member(id,space_id,user_id,role,join_time)
VALUES ($1,$2,$3,$4,NOW());
--- name: ListSpaceUsers :many
+-- name: ListSpaceMembers :many
SELECT
u.id AS user_id,
u.username AS user_name,
u.avatar AS user_avatar,
u.last_login_time AS last_login_time,
su.role
-FROM space_user su
+FROM space_member su
INNER JOIN "user" u ON su.user_id = u.id
WHERE su.space_id = $1
ORDER BY su.role DESC, u.username ASC;
-- 获取空间用户
--- name: GetSpaceUser :one
+-- name: GetSpaceMember :one
SELECT *
-FROM space_user
+FROM space_member
WHERE user_id = $1;
-- 删除某个用户在所有空间的关系
--- name: DeleteSpaceUserByUserID :exec
-DELETE FROM space_user
+-- name: DeleteSpaceMemberByUserID :exec
+DELETE FROM space_member
WHERE user_id = $1;
-- 删除某个用户在指定空间中的关系
--- name: DeleteSpaceUserBySpaceIDAndUserID :exec
-DELETE FROM space_user
+-- name: DeleteSpaceMemberBySpaceIDAndUserID :exec
+DELETE FROM space_member
WHERE space_id = $1
AND user_id = $2;
-- 删除某个空间下的所有用户
--- name: DeleteSpaceUsersBySpaceID :exec
-DELETE FROM space_user
+-- name: DeleteSpaceMembersBySpaceID :exec
+DELETE FROM space_member
WHERE space_id = $1;
-- 修改角色
--- name: UpdateSpaceUserRole :exec
-UPDATE space_user
+-- name: UpdateSpaceMemberRole :exec
+UPDATE space_member
SET role = $1
WHERE user_id = $2 AND space_id = $3;
\ No newline at end of file
diff --git a/code/allapp/allapp-go/db/repo/models.go b/code/allapp/allapp-go/db/repo/models.go
index 785d949e..dd2c6a5f 100644
--- a/code/allapp/allapp-go/db/repo/models.go
+++ b/code/allapp/allapp-go/db/repo/models.go
@@ -46,7 +46,7 @@ type Space struct {
UpdateTime pgtype.Timestamp
}
-type SpaceUser struct {
+type SpaceMember struct {
ID int64
SpaceID int64
UserID int64
diff --git a/code/allapp/allapp-go/db/repo/money_record.sql.go b/code/allapp/allapp-go/db/repo/money_record.sql.go
index 838cdac7..2350a150 100644
--- a/code/allapp/allapp-go/db/repo/money_record.sql.go
+++ b/code/allapp/allapp-go/db/repo/money_record.sql.go
@@ -95,7 +95,7 @@ SELECT
mr.id, mr.category_id, mr.user_id, mr.amount, mr.remark, mr.record_time, mr.create_time, mr.update_time,
u.username AS username
FROM money_record mr
- LEFT JOIN space_user su
+ LEFT JOIN space_member su
ON su.user_id = mr.user_id
LEFT JOIN "user" u
ON u.id = mr.user_id
@@ -173,7 +173,7 @@ FROM
LEFT JOIN
money_user_category muc ON mr.category_id = muc.id -- 连接 money_user_category 获取 type
LEFT JOIN
- space_user su ON su.user_id = $2 -- 连接 space_user 表,查找该用户在空间中的信息
+ space_member su ON su.user_id = $2 -- 连接 space_member 表,查找该用户在空间中的信息
LEFT JOIN
space s ON s.id = su.space_id -- 连接 space 表,获取空间信息
WHERE
@@ -238,7 +238,7 @@ FROM
LEFT JOIN
money_user_category muc ON mr.category_id = muc.id
LEFT JOIN
- space_user su ON su.user_id = $1 -- 连接 space_user 表,查找该用户在空间中的信息
+ space_member su ON su.user_id = $1 -- 连接 space_member 表,查找该用户在空间中的信息
LEFT JOIN
space s ON s.id = su.space_id -- 连接 space 表,获取空间信息
WHERE
diff --git a/code/allapp/allapp-go/db/repo/space.sql.go b/code/allapp/allapp-go/db/repo/space.sql.go
index 1b3d1b30..057fac01 100644
--- a/code/allapp/allapp-go/db/repo/space.sql.go
+++ b/code/allapp/allapp-go/db/repo/space.sql.go
@@ -60,7 +60,7 @@ func (q *Queries) GetSpaceById(ctx context.Context, id int64) (Space, error) {
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_user m
+ JOIN space_member m
ON s.id = m.space_id
WHERE m.user_id = $1
`
diff --git a/code/allapp/allapp-go/db/repo/space_member.sql.go b/code/allapp/allapp-go/db/repo/space_member.sql.go
new file mode 100644
index 00000000..9f795cc4
--- /dev/null
+++ b/code/allapp/allapp-go/db/repo/space_member.sql.go
@@ -0,0 +1,159 @@
+// Code generated by sqlc. DO NOT EDIT.
+// versions:
+// sqlc v1.30.0
+// source: space_member.sql
+
+package repo
+
+import (
+ "context"
+
+ "github.com/jackc/pgx/v5/pgtype"
+)
+
+const deleteSpaceMemberBySpaceIDAndUserID = `-- name: DeleteSpaceMemberBySpaceIDAndUserID :exec
+DELETE FROM space_member
+WHERE space_id = $1
+ AND user_id = $2
+`
+
+type DeleteSpaceMemberBySpaceIDAndUserIDParams struct {
+ SpaceID int64
+ UserID int64
+}
+
+// 删除某个用户在指定空间中的关系
+func (q *Queries) DeleteSpaceMemberBySpaceIDAndUserID(ctx context.Context, arg DeleteSpaceMemberBySpaceIDAndUserIDParams) error {
+ _, err := q.db.Exec(ctx, deleteSpaceMemberBySpaceIDAndUserID, arg.SpaceID, arg.UserID)
+ return err
+}
+
+const deleteSpaceMemberByUserID = `-- name: DeleteSpaceMemberByUserID :exec
+DELETE FROM space_member
+WHERE user_id = $1
+`
+
+// 删除某个用户在所有空间的关系
+func (q *Queries) DeleteSpaceMemberByUserID(ctx context.Context, userID int64) error {
+ _, err := q.db.Exec(ctx, deleteSpaceMemberByUserID, userID)
+ return err
+}
+
+const deleteSpaceMembersBySpaceID = `-- name: DeleteSpaceMembersBySpaceID :exec
+DELETE FROM space_member
+WHERE space_id = $1
+`
+
+// 删除某个空间下的所有用户
+func (q *Queries) DeleteSpaceMembersBySpaceID(ctx context.Context, spaceID int64) error {
+ _, err := q.db.Exec(ctx, deleteSpaceMembersBySpaceID, spaceID)
+ return err
+}
+
+const getSpaceMember = `-- name: GetSpaceMember :one
+SELECT id, space_id, user_id, role, join_time
+FROM space_member
+WHERE user_id = $1
+`
+
+// 获取空间用户
+func (q *Queries) GetSpaceMember(ctx context.Context, userID int64) (SpaceMember, error) {
+ row := q.db.QueryRow(ctx, getSpaceMember, userID)
+ var i SpaceMember
+ err := row.Scan(
+ &i.ID,
+ &i.SpaceID,
+ &i.UserID,
+ &i.Role,
+ &i.JoinTime,
+ )
+ return i, err
+}
+
+const insertSpaceMember = `-- name: InsertSpaceMember :exec
+INSERT INTO space_member(id,space_id,user_id,role,join_time)
+VALUES ($1,$2,$3,$4,NOW())
+`
+
+type InsertSpaceMemberParams struct {
+ ID int64
+ SpaceID int64
+ UserID int64
+ Role int32
+}
+
+// 插入空间用户
+func (q *Queries) InsertSpaceMember(ctx context.Context, arg InsertSpaceMemberParams) error {
+ _, err := q.db.Exec(ctx, insertSpaceMember,
+ arg.ID,
+ arg.SpaceID,
+ arg.UserID,
+ arg.Role,
+ )
+ return err
+}
+
+const listSpaceMembers = `-- name: ListSpaceMembers :many
+SELECT
+ u.id AS user_id,
+ u.username AS user_name,
+ u.avatar AS user_avatar,
+ u.last_login_time AS last_login_time,
+ su.role
+FROM space_member su
+ INNER JOIN "user" u ON su.user_id = u.id
+WHERE su.space_id = $1
+ORDER BY su.role DESC, u.username ASC
+`
+
+type ListSpaceMembersRow struct {
+ UserID int64
+ UserName string
+ UserAvatar string
+ LastLoginTime pgtype.Timestamptz
+ Role int32
+}
+
+func (q *Queries) ListSpaceMembers(ctx context.Context, spaceID int64) ([]ListSpaceMembersRow, error) {
+ rows, err := q.db.Query(ctx, listSpaceMembers, spaceID)
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+ var items []ListSpaceMembersRow
+ for rows.Next() {
+ var i ListSpaceMembersRow
+ if err := rows.Scan(
+ &i.UserID,
+ &i.UserName,
+ &i.UserAvatar,
+ &i.LastLoginTime,
+ &i.Role,
+ ); err != nil {
+ return nil, err
+ }
+ items = append(items, i)
+ }
+ if err := rows.Err(); err != nil {
+ return nil, err
+ }
+ return items, nil
+}
+
+const updateSpaceMemberRole = `-- name: UpdateSpaceMemberRole :exec
+UPDATE space_member
+SET role = $1
+WHERE user_id = $2 AND space_id = $3
+`
+
+type UpdateSpaceMemberRoleParams struct {
+ Role int32
+ UserID int64
+ SpaceID int64
+}
+
+// 修改角色
+func (q *Queries) UpdateSpaceMemberRole(ctx context.Context, arg UpdateSpaceMemberRoleParams) error {
+ _, err := q.db.Exec(ctx, updateSpaceMemberRole, arg.Role, arg.UserID, arg.SpaceID)
+ return err
+}
diff --git a/code/allapp/allapp-go/db/repo/space_user.sql.go b/code/allapp/allapp-go/db/repo/space_user.sql.go
deleted file mode 100644
index 8be0bdb9..00000000
--- a/code/allapp/allapp-go/db/repo/space_user.sql.go
+++ /dev/null
@@ -1,159 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.30.0
-// source: space_user.sql
-
-package repo
-
-import (
- "context"
-
- "github.com/jackc/pgx/v5/pgtype"
-)
-
-const deleteSpaceUserBySpaceIDAndUserID = `-- name: DeleteSpaceUserBySpaceIDAndUserID :exec
-DELETE FROM space_user
-WHERE space_id = $1
- AND user_id = $2
-`
-
-type DeleteSpaceUserBySpaceIDAndUserIDParams struct {
- SpaceID int64
- UserID int64
-}
-
-// 删除某个用户在指定空间中的关系
-func (q *Queries) DeleteSpaceUserBySpaceIDAndUserID(ctx context.Context, arg DeleteSpaceUserBySpaceIDAndUserIDParams) error {
- _, err := q.db.Exec(ctx, deleteSpaceUserBySpaceIDAndUserID, arg.SpaceID, arg.UserID)
- return err
-}
-
-const deleteSpaceUserByUserID = `-- name: DeleteSpaceUserByUserID :exec
-DELETE FROM space_user
-WHERE user_id = $1
-`
-
-// 删除某个用户在所有空间的关系
-func (q *Queries) DeleteSpaceUserByUserID(ctx context.Context, userID int64) error {
- _, err := q.db.Exec(ctx, deleteSpaceUserByUserID, userID)
- return err
-}
-
-const deleteSpaceUsersBySpaceID = `-- name: DeleteSpaceUsersBySpaceID :exec
-DELETE FROM space_user
-WHERE space_id = $1
-`
-
-// 删除某个空间下的所有用户
-func (q *Queries) DeleteSpaceUsersBySpaceID(ctx context.Context, spaceID int64) error {
- _, err := q.db.Exec(ctx, deleteSpaceUsersBySpaceID, spaceID)
- return err
-}
-
-const getSpaceUser = `-- name: GetSpaceUser :one
-SELECT id, space_id, user_id, role, join_time
-FROM space_user
-WHERE user_id = $1
-`
-
-// 获取空间用户
-func (q *Queries) GetSpaceUser(ctx context.Context, userID int64) (SpaceUser, error) {
- row := q.db.QueryRow(ctx, getSpaceUser, userID)
- var i SpaceUser
- err := row.Scan(
- &i.ID,
- &i.SpaceID,
- &i.UserID,
- &i.Role,
- &i.JoinTime,
- )
- return i, err
-}
-
-const insertSpaceUser = `-- name: InsertSpaceUser :exec
-INSERT INTO space_user(id,space_id,user_id,role,join_time)
-VALUES ($1,$2,$3,$4,NOW())
-`
-
-type InsertSpaceUserParams struct {
- ID int64
- SpaceID int64
- UserID int64
- Role int32
-}
-
-// 插入空间用户
-func (q *Queries) InsertSpaceUser(ctx context.Context, arg InsertSpaceUserParams) error {
- _, err := q.db.Exec(ctx, insertSpaceUser,
- arg.ID,
- arg.SpaceID,
- arg.UserID,
- arg.Role,
- )
- return err
-}
-
-const listSpaceUsers = `-- name: ListSpaceUsers :many
-SELECT
- u.id AS user_id,
- u.username AS user_name,
- u.avatar AS user_avatar,
- u.last_login_time AS last_login_time,
- su.role
-FROM space_user su
- INNER JOIN "user" u ON su.user_id = u.id
-WHERE su.space_id = $1
-ORDER BY su.role DESC, u.username ASC
-`
-
-type ListSpaceUsersRow struct {
- UserID int64
- UserName string
- UserAvatar string
- LastLoginTime pgtype.Timestamptz
- Role int32
-}
-
-func (q *Queries) ListSpaceUsers(ctx context.Context, spaceID int64) ([]ListSpaceUsersRow, error) {
- rows, err := q.db.Query(ctx, listSpaceUsers, spaceID)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []ListSpaceUsersRow
- for rows.Next() {
- var i ListSpaceUsersRow
- if err := rows.Scan(
- &i.UserID,
- &i.UserName,
- &i.UserAvatar,
- &i.LastLoginTime,
- &i.Role,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const updateSpaceUserRole = `-- name: UpdateSpaceUserRole :exec
-UPDATE space_user
-SET role = $1
-WHERE user_id = $2 AND space_id = $3
-`
-
-type UpdateSpaceUserRoleParams struct {
- Role int32
- UserID int64
- SpaceID int64
-}
-
-// 修改角色
-func (q *Queries) UpdateSpaceUserRole(ctx context.Context, arg UpdateSpaceUserRoleParams) error {
- _, err := q.db.Exec(ctx, updateSpaceUserRole, arg.Role, arg.UserID, arg.SpaceID)
- return err
-}
diff --git a/code/allapp/allapp-go/db/schema.sql b/code/allapp/allapp-go/db/schema.sql
index c072a598..02ce70b7 100644
--- a/code/allapp/allapp-go/db/schema.sql
+++ b/code/allapp/allapp-go/db/schema.sql
@@ -74,7 +74,7 @@ ALTER TABLE space
ADD CONSTRAINT space_invite_code_key UNIQUE (invite_code);
-- 空间成员表(每个用户只能加入一个空间)
-CREATE TABLE space_user (
+CREATE TABLE space_member (
id BIGSERIAL PRIMARY KEY,
space_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
diff --git a/code/allapp/allapp-go/go.mod b/code/allapp/allapp-go/go.mod
index 598151c9..6b597d0c 100644
--- a/code/allapp/allapp-go/go.mod
+++ b/code/allapp/allapp-go/go.mod
@@ -5,6 +5,7 @@ go 1.25.3
require (
github.com/cloudwego/hertz v0.10.4
github.com/golang-jwt/jwt/v4 v4.5.2
+ github.com/gorilla/websocket v1.5.3
github.com/hertz-contrib/requestid v1.1.0
github.com/jackc/pgx/v5 v5.8.0
github.com/pkg/errors v0.9.1
@@ -28,7 +29,6 @@ require (
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/go-viper/mapstructure/v2 v2.5.0 // indirect
github.com/google/uuid v1.6.0 // indirect
- github.com/gorilla/websocket v1.5.3 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/puddle/v2 v2.2.2 // indirect
diff --git a/code/allapp/allapp-go/idl/space/space.proto b/code/allapp/allapp-go/idl/space/space.proto
index a6c99402..2507b3b2 100644
--- a/code/allapp/allapp-go/idl/space/space.proto
+++ b/code/allapp/allapp-go/idl/space/space.proto
@@ -25,12 +25,12 @@ service SpaceService {
};
// 获取空间用户列表
- rpc ListSpaceUsers(ListSpaceUsersParams) returns (ListSpaceUsersResult){
- option (api.post) = '/space/users';
+ rpc ListSpaceMembers(ListSpaceMembersParams) returns (ListSpaceMembersResult){
+ option (api.post) = '/space/members';
};
// 踢出某人
- rpc RemoveSpaceUser(RemoveSpaceUserParams) returns (RemoveSpaceUserResult){
+ rpc RemoveSpaceMember(RemoveSpaceMemberParams) returns (RemoveSpaceMemberResult){
option (api.post) = '/space/remove';
};
@@ -40,7 +40,7 @@ service SpaceService {
};
// 赋予权限
- rpc UpdateSpaceUserRole(UpdateSpaceUserRoleParams) returns (UpdateSpaceUserRoleResult) {
+ rpc UpdateSpaceMemberRole(UpdateSpaceMemberRoleParams) returns (UpdateSpaceMemberRoleResult) {
option (api.post) = "/space/updateRole";
}
}
diff --git a/code/allapp/allapp-go/idl/space/space_types.proto b/code/allapp/allapp-go/idl/space/space_types.proto
index 13aa3d9d..24bd7354 100644
--- a/code/allapp/allapp-go/idl/space/space_types.proto
+++ b/code/allapp/allapp-go/idl/space/space_types.proto
@@ -26,11 +26,11 @@ message DissolveSpaceResult {
}
// 获取空间下的成员
-message ListSpaceUsersParams {
+message ListSpaceMembersParams {
int64 SpaceId = 1 [(api.body)="space_id"];
}
-message SpaceUser {
+message SpaceMember {
int64 Id = 1 [(api.body)="id"];
string Username = 2 [(api.body)="username"];
string Avatar = 3 [(api.body)="avatar"];
@@ -38,8 +38,8 @@ message SpaceUser {
int64 LastLoginTime = 5 [(api.body)="last_login_time"];
}
-message ListSpaceUsersResult {
- repeated SpaceUser users = 1;
+message ListSpaceMembersResult {
+ repeated SpaceMember members = 1;
}
// 加入空间
@@ -62,22 +62,22 @@ message ExitSpaceResult {
}
// 踢出成员
-message RemoveSpaceUserParams {
+message RemoveSpaceMemberParams {
int64 SpaceId = 1 [(api.body) = "space_id",(api.vd)="$ != 0"];
int64 UserId = 2 [(api.body) = "user_id",(api.vd)="$ != 0"];
}
-message RemoveSpaceUserResult {
+message RemoveSpaceMemberResult {
}
// 更新权限
-message UpdateSpaceUserRoleParams {
+message UpdateSpaceMemberRoleParams {
int64 SpaceId = 1 [(api.body) = "space_id",(api.vd)="$ != 0"];
int64 UserId = 2 [(api.body) = "user_id",(api.vd)="$ != 0"];
int32 Role = 3 [(api.body) = "role",(api.vd)="$ != 0"];
}
-message UpdateSpaceUserRoleResult {
+message UpdateSpaceMemberRoleResult {
}
\ No newline at end of file
diff --git a/code/allapp/allapp-rn/src/app/(tabs)/_layout.tsx b/code/allapp/allapp-rn/src/app/(tabs)/_layout.tsx
index 2a1c2265..5d9315c7 100644
--- a/code/allapp/allapp-rn/src/app/(tabs)/_layout.tsx
+++ b/code/allapp/allapp-rn/src/app/(tabs)/_layout.tsx
@@ -5,7 +5,8 @@ import { useCallback, useEffect, useState } from 'react'
import { Text, TouchableOpacity, View } from 'react-native'
import Animated, { useAnimatedRef } from 'react-native-reanimated'
import Sortable from 'react-native-sortables'
-import { ADivider, ADrawer, LucideIcon } from '@/components/common/ao'
+import { ADrawer, LucideIcon } from '@/components/common/ao'
+import { Divider } from '@/components/ui/divider'
import { useNavStore } from '@/store/navigation'
export default function TabsLayout() {
@@ -92,9 +93,7 @@ export default function TabsLayout() {
-
+
{currentNav.label}
-
+
diff --git a/code/allapp/allapp-rn/src/app/(tabs)/money/components/TransactionsList.tsx b/code/allapp/allapp-rn/src/app/(tabs)/money/components/TransactionsList.tsx
index 463bf3e7..9788068f 100644
--- a/code/allapp/allapp-rn/src/app/(tabs)/money/components/TransactionsList.tsx
+++ b/code/allapp/allapp-rn/src/app/(tabs)/money/components/TransactionsList.tsx
@@ -5,7 +5,7 @@ import { Pressable, RefreshControl, SectionList, Text, Vibration, View } from 'r
import { LucideIcon } from '@/components/common/ao'
import EmptyState from '@/components/common/EmptyStatus'
import MoneyCategoryIcon from '@/components/common/MoneyCategoryIcon'
-import { Menu, MenuItem, MenuItemLabel } from '@/components/ui/menu'
+import { Menu, MenuItem, MenuItemLabel, MenuSeparator } from '@/components/ui/menu'
import { useMoneyCategoryStore } from '@/store/moneyCategory'
import { useUserStore } from '@/store/user'
import { MoneyCategoryEnum } from '@/types/money/category'
@@ -125,6 +125,7 @@ export default function StaticTransactions({
shadowColor: '#000',
borderRadius: 4,
width: 160,
+ padding: 0,
}}
offset={0}
placement="bottom"
@@ -186,53 +187,69 @@ export default function StaticTransactions({
>
{
userID === item.user_id && (
-
+ <>
+
+
+ >
)
}
+
)
diff --git a/code/allapp/allapp-rn/src/app/system/share/components/SpaceInvite.tsx b/code/allapp/allapp-rn/src/app/system/share/components/SpaceInvite.tsx
index 5c26acda..4fb7f87f 100644
--- a/code/allapp/allapp-rn/src/app/system/share/components/SpaceInvite.tsx
+++ b/code/allapp/allapp-rn/src/app/system/share/components/SpaceInvite.tsx
@@ -1,4 +1,4 @@
-import type { SpaceUser } from '@/types/space/space'
+import type { SpaceMember } from '@/types/space/space'
import * as Clipboard from 'expo-clipboard'
import { useState } from 'react'
import { FlatList, TouchableHighlight, TouchableOpacity, View } from 'react-native'
@@ -28,7 +28,7 @@ import { HStack } from '@/components/ui/hstack'
import { ChevronDownIcon, ChevronUpIcon } from '@/components/ui/icon'
import { Text } from '@/components/ui/text'
import { VStack } from '@/components/ui/vstack'
-import { dissolveSpaceApi, exitSpaceApi, removeSpaceUserApi } from '@/request/api/space/space'
+import { dissolveSpaceApi, exitSpaceApi, removeSpaceMemberApi } from '@/request/api/space/space'
import { useUserStore } from '@/store/user'
import { formatRelativeTime } from '@/utils/time'
import { toast } from '@/utils/toast'
@@ -42,7 +42,7 @@ interface ExitParams {
interface SpaceInviteProps {
userSpace: UserSpace | null
- spaceUsers: SpaceUser[]
+ spaceUsers: SpaceMember[]
onExit?: (params: ExitParams) => void
}
@@ -92,7 +92,7 @@ export default function SpaceInvite({
return
}
// 移除
- removeSpaceUserApi({
+ removeSpaceMemberApi({
space_id: userSpace.id,
user_id: modal.userId,
}).catch((err) => {
diff --git a/code/allapp/allapp-rn/src/app/system/share/index.tsx b/code/allapp/allapp-rn/src/app/system/share/index.tsx
index b70d5dc3..27963ffe 100644
--- a/code/allapp/allapp-rn/src/app/system/share/index.tsx
+++ b/code/allapp/allapp-rn/src/app/system/share/index.tsx
@@ -1,8 +1,8 @@
-import type { SpaceUser } from '@/types/space/space'
+import type { SpaceMember } from '@/types/space/space'
import { useEffect, useState } from 'react'
import { View } from 'react-native'
import CustomHeader from '@/components/custom/Header'
-import { createSpaceApi, joinSpaceApi, listSpaceUsersApi } from '@/request/api/space/space'
+import { createSpaceApi, joinSpaceApi, listSpaceMembersApi } from '@/request/api/space/space'
import { useSpaceStore } from '@/store/space'
import { useUserStore } from '@/store/user'
import JoinSpace from './components/JoinSpace'
@@ -16,15 +16,15 @@ export default function PagerWithTab() {
const [headerTitle, setHeaderTitle] = useState('我的空间')
const [step, setStep] = useState<'join' | 'invite' | 'home'>('home')
- const [spaceUsers, setSpaceUsers] = useState([])
+ const [spaceUsers, setSpaceUsers] = useState([])
// 封装获取空间用户列表并直接更新状态
const fetchSpaceUsers = async (spaceId: number) => {
try {
- const res = await listSpaceUsersApi({ space_id: spaceId })
+ const res = await listSpaceMembersApi({ space_id: spaceId })
if (res.isSuccess) {
- setSpaceUsers(res.data.users)
- console.log(res.data.users)
+ setSpaceUsers(res.data.members)
+ console.log(res.data.members)
}
else {
console.warn('获取空间用户失败')
diff --git a/code/allapp/allapp-rn/src/request/api/space/space.ts b/code/allapp/allapp-rn/src/request/api/space/space.ts
index c278ff59..bdddee1b 100644
--- a/code/allapp/allapp-rn/src/request/api/space/space.ts
+++ b/code/allapp/allapp-rn/src/request/api/space/space.ts
@@ -7,12 +7,12 @@ import type {
ExitSpaceResult,
JoinSpaceParams,
JoinSpaceResult,
- ListSpaceUsersParams,
- ListSpaceUsersResult,
- RemoveSpaceUserParams,
- RemoveSpaceUserResult,
- UpdateSpaceUserRoleParams,
- UpdateSpaceUserRoleResult,
+ ListSpaceMembersParams,
+ ListSpaceMembersResult,
+ RemoveSpaceMemberParams,
+ RemoveSpaceMemberResult,
+ UpdateSpaceMemberRoleParams,
+ UpdateSpaceMemberRoleResult,
} from '@/types/space/space'
import alovaInstance from '../../index'
@@ -39,16 +39,16 @@ export function exitSpaceApi(params: ExitSpaceParams) {
}
// Remove Space User API
-export function removeSpaceUserApi(params: RemoveSpaceUserParams) {
- return alovaInstance.Post>(`${API_PREFIX}/remove`, params)
+export function removeSpaceMemberApi(params: RemoveSpaceMemberParams) {
+ return alovaInstance.Post>(`${API_PREFIX}/remove`, params)
}
// Update Role API
-export function updateSpaceUserRoleApi(params: UpdateSpaceUserRoleParams) {
- return alovaInstance.Post>(`${API_PREFIX}/updateRole`, params)
+export function updateSpaceMemberRoleApi(params: UpdateSpaceMemberRoleParams) {
+ return alovaInstance.Post>(`${API_PREFIX}/updateRole`, params)
}
// List Space Users API
-export function listSpaceUsersApi(params: ListSpaceUsersParams) {
- return alovaInstance.Post>(`${API_PREFIX}/users`, params)
+export function listSpaceMembersApi(params: ListSpaceMembersParams) {
+ return alovaInstance.Post>(`${API_PREFIX}/members`, params)
}
diff --git a/code/allapp/allapp-rn/src/request/index.ts b/code/allapp/allapp-rn/src/request/index.ts
index 2f5e9787..1288fff7 100644
--- a/code/allapp/allapp-rn/src/request/index.ts
+++ b/code/allapp/allapp-rn/src/request/index.ts
@@ -28,8 +28,8 @@ function isWhiteListed(url: string) {
}
const alovaInstance = createAlova({
- // baseURL: 'http://192.168.5.6:8086/app',
- baseURL: 'http://192.168.1.137:8086/app',
+ baseURL: 'http://192.168.5.6:8086/app',
+ // baseURL: 'http://192.168.1.137:8086/app',
requestAdapter: axiosRequestAdapter(),
timeout: 5000,
cacheFor: null,
diff --git a/code/allapp/allapp-rn/src/types/space/space.ts b/code/allapp/allapp-rn/src/types/space/space.ts
index 48bb02ad..71ab2898 100644
--- a/code/allapp/allapp-rn/src/types/space/space.ts
+++ b/code/allapp/allapp-rn/src/types/space/space.ts
@@ -31,25 +31,25 @@ export interface ExitSpaceResult {
}
// 踢出用户
-export interface RemoveSpaceUserParams {
+export interface RemoveSpaceMemberParams {
space_id: number
user_id: number
}
-export interface RemoveSpaceUserResult {
+export interface RemoveSpaceMemberResult {
}
// 更新用户权限
-export interface UpdateSpaceUserRoleParams {
+export interface UpdateSpaceMemberRoleParams {
space_id: number
user_id: number
role: number
}
-export interface UpdateSpaceUserRoleResult {
+export interface UpdateSpaceMemberRoleResult {
}
// 空间用户列表
-export interface SpaceUser {
+export interface SpaceMember {
id: number
username: string
avatar: string
@@ -57,10 +57,10 @@ export interface SpaceUser {
last_login_time: number
}
-export interface ListSpaceUsersParams {
+export interface ListSpaceMembersParams {
space_id: number
}
-export interface ListSpaceUsersResult {
- users: SpaceUser[]
+export interface ListSpaceMembersResult {
+ members: SpaceMember[]
}