Skip to content

Commit ebffac7

Browse files
committed
Optimistically set ACLs from JSON blobs
1 parent ec396f7 commit ebffac7

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/ParseObject.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,12 @@ export default class ParseObject {
601601
newOps[k] = opFromJSON(changes[k]);
602602
} else if (k === 'objectId' || k === 'id') {
603603
this.id = changes[k];
604+
} else if (
605+
k === 'ACL' &&
606+
typeof changes[k] === 'object' &&
607+
!(changes[k] instanceof ParseACL)
608+
) {
609+
newOps[k] = new SetOp(new ParseACL(changes[k]));
604610
} else {
605611
newOps[k] = new SetOp(changes[k]);
606612
}

src/__tests__/ParseObject-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,7 @@ describe('ParseObject', () => {
491491
it('validates attributes on set()', () => {
492492
var o = new ParseObject('Listing');
493493
expect(o.set('ACL', 'not an acl')).toBe(false);
494+
expect(o.set('ACL', { '*': { read: true, write: false } })).toBe(o);
494495
expect(o.set('$$$', 'o_O')).toBe(false);
495496

496497
o.set('$$$', 'o_O', { error: function(obj, err) {

0 commit comments

Comments
 (0)