Skip to content

Commit a0b2561

Browse files
brunocosta91acinaderdplewis
authored
Add Parse.CLP Object to control ClassLevelPermissions (#1145)
* Add Parse.CLP Object to control ClassLevelPermissions * Cleanup * Move Tests * Add ProtectedFields * readUserFields, writeUserFields, requiresAuthentication, pointerFields * Refactor and Documentation Co-authored-by: Arthur Cinader <[email protected]> Co-authored-by: Diamond Lewis <[email protected]>
1 parent 88d4ecd commit a0b2561

File tree

6 files changed

+1336
-4
lines changed

6 files changed

+1336
-4
lines changed

integration/test/ParseSchemaTest.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ describe('Schema', () => {
264264
assert.deepEqual(json, expected);
265265
});
266266

267-
it('save class level permissions', async () => {
267+
it('save class level permissions json', async () => {
268268
const clp = {
269269
get: { requiresAuthentication: true },
270270
find: {},
@@ -281,6 +281,25 @@ describe('Schema', () => {
281281
assert.deepEqual(schema.classLevelPermissions, clp);
282282
});
283283

284+
it('save class level permissions object', async () => {
285+
const permissionsMap = {
286+
get: { '*': true },
287+
find: {},
288+
count: {},
289+
create: { '*': true },
290+
update: { '*': true },
291+
delete: {},
292+
addField: {},
293+
protectedFields: {},
294+
};
295+
const clp = new Parse.CLP(permissionsMap);
296+
const testSchema = new Parse.Schema('SchemaTest');
297+
testSchema.setCLP(clp);
298+
const schema = await testSchema.save();
299+
assert.deepEqual(schema.classLevelPermissions, permissionsMap);
300+
assert.deepEqual(schema.classLevelPermissions, clp.toJSON());
301+
});
302+
284303
it('update class level permissions', async () => {
285304
const clp = {
286305
get: { requiresAuthentication: true },

src/Parse.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ Parse.ACL = require('./ParseACL').default;
193193
Parse.Analytics = require('./Analytics');
194194
Parse.AnonymousUtils = require('./AnonymousUtils').default;
195195
Parse.Cloud = require('./Cloud');
196+
Parse.CLP = require('./ParseCLP').default;
196197
Parse.CoreManager = require('./CoreManager');
197198
Parse.Config = require('./ParseConfig').default;
198199
Parse.Error = require('./ParseError').default;

0 commit comments

Comments
 (0)