Skip to content

Commit 8338783

Browse files
blachaflovilmart
authored andcommitted
Adding more information to the permission denied error (#2210)
1 parent 944e5ad commit 8338783

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

spec/schemas.spec.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -1054,7 +1054,7 @@ describe('schemas', () => {
10541054
fail('should not be able to add a field');
10551055
done();
10561056
}, (err) => {
1057-
expect(err.message).toEqual('Permission denied for this action.');
1057+
expect(err.message).toEqual('Permission denied for action addField on class AClass.');
10581058
done();
10591059
})
10601060
})
@@ -1270,7 +1270,7 @@ describe('schemas', () => {
12701270
return query.find().then((err) => {
12711271
fail('Use should hot be able to find!')
12721272
}, (err) => {
1273-
expect(err.message).toEqual('Permission denied for this action.');
1273+
expect(err.message).toEqual('Permission denied for action find on class AClass.');
12741274
return Promise.resolve();
12751275
})
12761276
}).then(() => {
@@ -1319,7 +1319,7 @@ describe('schemas', () => {
13191319
return query.find().then((err) => {
13201320
fail('User should not be able to find!')
13211321
}, (err) => {
1322-
expect(err.message).toEqual('Permission denied for this action.');
1322+
expect(err.message).toEqual('Permission denied for action find on class AClass.');
13231323
return Promise.resolve();
13241324
})
13251325
}).then(() => {
@@ -1384,7 +1384,7 @@ describe('schemas', () => {
13841384
return query.find().then((err) => {
13851385
fail('User should not be able to find!')
13861386
}, (err) => {
1387-
expect(err.message).toEqual('Permission denied for this action.');
1387+
expect(err.message).toEqual('Permission denied for action find on class AClass.');
13881388
return Promise.resolve();
13891389
})
13901390
}).then(() => {
@@ -1442,7 +1442,7 @@ describe('schemas', () => {
14421442
return query.find().then((err) => {
14431443
fail('User should not be able to find!')
14441444
}, (err) => {
1445-
expect(err.message).toEqual('Permission denied for this action.');
1445+
expect(err.message).toEqual('Permission denied for action find on class AClass.');
14461446
return Promise.resolve();
14471447
})
14481448
}).then(() => {
@@ -1461,7 +1461,7 @@ describe('schemas', () => {
14611461
return query.find().then((result) => {
14621462
fail('User should not be able to find!')
14631463
}, (err) => {
1464-
expect(err.message).toEqual('Permission denied for this action.');
1464+
expect(err.message).toEqual('Permission denied for action find on class AClass.');
14651465
return Promise.resolve();
14661466
});
14671467
}).then(() => {
@@ -1528,7 +1528,7 @@ describe('schemas', () => {
15281528
fail("should not be able to read!");
15291529
return Promise.resolve();
15301530
}, (err) => {
1531-
expect(err.message).toEqual('Permission denied for this action.');
1531+
expect(err.message).toEqual('Permission denied for action create on class AClass.');
15321532
return Promise.resolve();
15331533
}).then(() => {
15341534
return Parse.User.logIn('user2', 'user2');
@@ -1539,7 +1539,7 @@ describe('schemas', () => {
15391539
fail("should not be able to read!");
15401540
return Promise.resolve();
15411541
}, (err) => {
1542-
expect(err.message).toEqual('Permission denied for this action.');
1542+
expect(err.message).toEqual('Permission denied for action find on class AClass.');
15431543
return Promise.resolve();
15441544
}).then(() => {
15451545
done();

src/Controllers/SchemaController.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,15 @@ class SchemaController {
683683
// Reject create when write lockdown
684684
if (permissionField == 'writeUserFields' && operation == 'create') {
685685
throw new Parse.Error(Parse.Error.OPERATION_FORBIDDEN,
686-
'Permission denied for this action.');
686+
`Permission denied for action ${operation} on class ${className}.`);
687687
}
688688

689689
// Process the readUserFields later
690690
if (Array.isArray(classPerms[permissionField]) && classPerms[permissionField].length > 0) {
691691
return Promise.resolve();
692692
}
693693
throw new Parse.Error(Parse.Error.OPERATION_FORBIDDEN,
694-
'Permission denied for this action.');
694+
`Permission denied for action ${operation} on class ${className}.`);
695695
};
696696

697697
// Returns the expected type for a className+key combination

0 commit comments

Comments
 (0)