mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-08 05:57:03 +09:00
Create invite with non-default permissions
This commit is contained in:
parent
b8a877201b
commit
355ab1fda0
3 changed files with 12 additions and 3 deletions
|
@ -455,7 +455,7 @@ func (a *aclRecordBuilder) buildInviteAnyone(permissions AclPermissions) (invKey
|
||||||
inviteRec := &aclrecordproto.AclAccountInvite{
|
inviteRec := &aclrecordproto.AclAccountInvite{
|
||||||
InviteKey: invitePubKey,
|
InviteKey: invitePubKey,
|
||||||
InviteType: aclrecordproto.AclInviteType_AnyoneCanJoin,
|
InviteType: aclrecordproto.AclInviteType_AnyoneCanJoin,
|
||||||
Permissions: aclrecordproto.AclUserPermissions_Reader,
|
Permissions: aclrecordproto.AclUserPermissions(permissions),
|
||||||
EncryptedReadKey: encReadKey,
|
EncryptedReadKey: encReadKey,
|
||||||
}
|
}
|
||||||
content = &aclrecordproto.AclContentValue{Value: &aclrecordproto.AclContentValue_Invite{Invite: inviteRec}}
|
content = &aclrecordproto.AclContentValue{Value: &aclrecordproto.AclContentValue_Invite{Invite: inviteRec}}
|
||||||
|
|
|
@ -191,8 +191,16 @@ func (a *AclTestExecutor) buildBatchRequest(args []string, acl AclList, getPerm
|
||||||
case "invite_anyone":
|
case "invite_anyone":
|
||||||
inviteParts := strings.Split(commandArgs[0], ",")
|
inviteParts := strings.Split(commandArgs[0], ",")
|
||||||
id := inviteParts[0]
|
id := inviteParts[0]
|
||||||
|
var permissions AclPermissions
|
||||||
|
if inviteParts[1] == "r" {
|
||||||
|
permissions = AclPermissions(aclrecordproto.AclUserPermissions_Reader)
|
||||||
|
} else if inviteParts[1] == "rw" {
|
||||||
|
permissions = AclPermissions(aclrecordproto.AclUserPermissions_Writer)
|
||||||
|
} else {
|
||||||
|
permissions = AclPermissions(aclrecordproto.AclUserPermissions_Admin)
|
||||||
|
}
|
||||||
inviteIds = append(inviteIds, id)
|
inviteIds = append(inviteIds, id)
|
||||||
batchPayload.NewInvites = append(batchPayload.NewInvites, AclPermissionsReader)
|
batchPayload.NewInvites = append(batchPayload.NewInvites, permissions)
|
||||||
case "approve":
|
case "approve":
|
||||||
recs, err := acl.AclState().JoinRecords(false)
|
recs, err := acl.AclState().JoinRecords(false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -139,8 +139,9 @@ func TestAclExecutor(t *testing.T) {
|
||||||
{"a.invite_change::oldInvId,a", nil},
|
{"a.invite_change::oldInvId,a", nil},
|
||||||
{"new2.invite_join::oldInvId", nil},
|
{"new2.invite_join::oldInvId", nil},
|
||||||
{"new2.add::new3,r,new3m", nil},
|
{"new2.add::new3,r,new3m", nil},
|
||||||
{"a.batch::revoke:oldInvId;invite_anyone:someId", nil},
|
{"a.batch::revoke:oldInvId;invite_anyone:someId,a", nil},
|
||||||
{"new4.invite_join::someId", nil},
|
{"new4.invite_join::someId", nil},
|
||||||
|
{"new4.add::super,r,superm", nil},
|
||||||
}
|
}
|
||||||
for _, cmd := range cmds {
|
for _, cmd := range cmds {
|
||||||
err := a.Execute(cmd.cmd)
|
err := a.Execute(cmd.cmd)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue