diff --git a/commonspace/object/acl/list/aclrecordbuilder.go b/commonspace/object/acl/list/aclrecordbuilder.go index 68d5dd96..5b3e85f1 100644 --- a/commonspace/object/acl/list/aclrecordbuilder.go +++ b/commonspace/object/acl/list/aclrecordbuilder.go @@ -455,7 +455,7 @@ func (a *aclRecordBuilder) buildInviteAnyone(permissions AclPermissions) (invKey inviteRec := &aclrecordproto.AclAccountInvite{ InviteKey: invitePubKey, InviteType: aclrecordproto.AclInviteType_AnyoneCanJoin, - Permissions: aclrecordproto.AclUserPermissions_Reader, + Permissions: aclrecordproto.AclUserPermissions(permissions), EncryptedReadKey: encReadKey, } content = &aclrecordproto.AclContentValue{Value: &aclrecordproto.AclContentValue_Invite{Invite: inviteRec}} diff --git a/commonspace/object/acl/list/acltestsuite.go b/commonspace/object/acl/list/acltestsuite.go index 2b4df02d..bf61312c 100644 --- a/commonspace/object/acl/list/acltestsuite.go +++ b/commonspace/object/acl/list/acltestsuite.go @@ -191,8 +191,16 @@ func (a *AclTestExecutor) buildBatchRequest(args []string, acl AclList, getPerm case "invite_anyone": inviteParts := strings.Split(commandArgs[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) - batchPayload.NewInvites = append(batchPayload.NewInvites, AclPermissionsReader) + batchPayload.NewInvites = append(batchPayload.NewInvites, permissions) case "approve": recs, err := acl.AclState().JoinRecords(false) if err != nil { diff --git a/commonspace/object/acl/list/acltestsuite_test.go b/commonspace/object/acl/list/acltestsuite_test.go index 657d145d..8cc65701 100644 --- a/commonspace/object/acl/list/acltestsuite_test.go +++ b/commonspace/object/acl/list/acltestsuite_test.go @@ -139,8 +139,9 @@ func TestAclExecutor(t *testing.T) { {"a.invite_change::oldInvId,a", nil}, {"new2.invite_join::oldInvId", 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.add::super,r,superm", nil}, } for _, cmd := range cmds { err := a.Execute(cmd.cmd)