1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-10 18:10:54 +09:00

Merge branch 'main' into GO-2972-cancel-remove-self

This commit is contained in:
mcrakhman 2024-02-27 19:49:52 +01:00
commit b000b31266
No known key found for this signature in database
GPG key ID: DED12CFEF5B8396B
2 changed files with 22 additions and 0 deletions

View file

@ -36,6 +36,7 @@ type AclSpaceClient interface {
ChangePermissions(ctx context.Context, permChange list.PermissionChangesPayload) (err error) ChangePermissions(ctx context.Context, permChange list.PermissionChangesPayload) (err error)
RequestSelfRemove(ctx context.Context) (err error) RequestSelfRemove(ctx context.Context) (err error)
RevokeInvite(ctx context.Context, inviteRecordId string) (err error) RevokeInvite(ctx context.Context, inviteRecordId string) (err error)
RevokeAllInvites(ctx context.Context) (err error)
AddAccounts(ctx context.Context, add list.AccountsAddPayload) (err error) AddAccounts(ctx context.Context, add list.AccountsAddPayload) (err error)
} }
@ -115,6 +116,20 @@ func (c *aclSpaceClient) RemoveAccounts(ctx context.Context, payload list.Accoun
return c.sendRecordAndUpdate(ctx, c.spaceId, res) return c.sendRecordAndUpdate(ctx, c.spaceId, res)
} }
func (c *aclSpaceClient) RevokeAllInvites(ctx context.Context) (err error) {
c.acl.Lock()
payload := list.BatchRequestPayload{
InviteRevokes: c.acl.AclState().InviteIds(),
}
res, err := c.acl.RecordBuilder().BuildBatchRequest(payload)
if err != nil {
c.acl.Unlock()
return
}
c.acl.Unlock()
return c.sendRecordAndUpdate(ctx, c.spaceId, res)
}
func (c *aclSpaceClient) StopSharing(ctx context.Context, readKeyChange list.ReadKeyChangePayload) (err error) { func (c *aclSpaceClient) StopSharing(ctx context.Context, readKeyChange list.ReadKeyChangePayload) (err error) {
c.acl.Lock() c.acl.Lock()
var ( var (

View file

@ -111,6 +111,13 @@ func TestAclExecutor(t *testing.T) {
{"a.batch::remove:e,y;add:z,rw,mz|u,r,mu;revoke:inv1Id;approve:l,r;approve:p,adm;decline:s", nil}, {"a.batch::remove:e,y;add:z,rw,mz|u,r,mu;revoke:inv1Id;approve:l,r;approve:p,adm;decline:s", nil},
{"p.remove::l", nil}, {"p.remove::l", nil},
{"s.join::inv1Id", ErrNoSuchInvite}, {"s.join::inv1Id", ErrNoSuchInvite},
{"p.invite::i1", nil},
{"p.invite::i2", nil},
{"r.join::i1", nil},
{"q.join::i2", nil},
{"p.batch::revoke:i1;revoke:i2", nil},
{"f.join::i1", ErrNoSuchInvite},
{"f.join::i2", ErrNoSuchInvite},
} }
for _, cmd := range cmds { for _, cmd := range cmds {
err := a.Execute(cmd.cmd) err := a.Execute(cmd.cmd)