@@ -13,6 +13,7 @@ import (
1313 "github.com/gogo/protobuf/proto"
1414 "go.uber.org/zap"
1515
16+ "github.com/anyproto/any-sync-coordinator/accountlimit"
1617 "github.com/anyproto/any-sync-coordinator/spacestatus"
1718)
1819
@@ -109,6 +110,15 @@ func (r *rpcHandler) SpaceStatusCheck(ctx context.Context, req *coordinatorproto
109110 }
110111 if status .Identity == accountIdentity {
111112 resp .Payload .Permissions = coordinatorproto .SpacePermissions_SpacePermissionsOwner
113+ var aLimits accountlimit.Limits
114+ aLimits , err = r .c .accountLimit .GetLimits (ctx , accountIdentity )
115+ if err != nil {
116+ return nil , err
117+ }
118+ resp .Payload .Limits = & coordinatorproto.SpaceLimits {
119+ ReadMembers : aLimits .SpaceMembersRead ,
120+ WriteMembers : aLimits .SpaceMembersWrite ,
121+ }
112122 }
113123 return resp , nil
114124}
@@ -132,9 +142,11 @@ func (r *rpcHandler) SpaceStatusCheckMany(ctx context.Context, req *coordinatorp
132142 }
133143 accountIdentity := accountPubKey .Account ()
134144
145+ var limits * coordinatorproto.SpaceLimits
146+
147+ var status spacestatus.StatusEntry
135148 for _ , spaceId := range req .SpaceIds {
136- var status spacestatus.StatusEntry
137- status , err := r .c .StatusCheck (ctx , spaceId )
149+ status , err = r .c .StatusCheck (ctx , spaceId )
138150 if err != nil {
139151 if errors .Is (err , coordinatorproto .ErrSpaceNotExists ) {
140152 resp .Payloads = append (resp .Payloads , & coordinatorproto.SpaceStatusPayload {
@@ -147,6 +159,18 @@ func (r *rpcHandler) SpaceStatusCheckMany(ctx context.Context, req *coordinatorp
147159 st := r .convertStatus (status )
148160 if status .Identity == accountIdentity {
149161 st .Permissions = coordinatorproto .SpacePermissions_SpacePermissionsOwner
162+ if limits == nil {
163+ var aLimits accountlimit.Limits
164+ aLimits , err = r .c .accountLimit .GetLimits (ctx , accountIdentity )
165+ if err != nil {
166+ return nil , err
167+ }
168+ limits = & coordinatorproto.SpaceLimits {
169+ ReadMembers : aLimits .SpaceMembersRead ,
170+ WriteMembers : aLimits .SpaceMembersWrite ,
171+ }
172+ }
173+ st .Limits = limits
150174 }
151175 resp .Payloads = append (resp .Payloads , st )
152176 }
0 commit comments