Set default protectedFields and remove previous filter logic
This commit is contained in:
@@ -23,6 +23,7 @@ describe('MongoSchemaCollection', () => {
|
||||
create: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
indexes: {
|
||||
name1: { deviceToken: 1 },
|
||||
@@ -72,6 +73,7 @@ describe('MongoSchemaCollection', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
indexes: {
|
||||
name1: { deviceToken: 1 },
|
||||
|
||||
@@ -257,6 +257,7 @@ describe('ParseLiveQueryServer', function() {
|
||||
find: {},
|
||||
update: {},
|
||||
delete: { '*': true },
|
||||
protectedFields: {},
|
||||
});
|
||||
|
||||
expect(deleteSpy).toHaveBeenCalled();
|
||||
@@ -270,6 +271,7 @@ describe('ParseLiveQueryServer', function() {
|
||||
find: {},
|
||||
update: {},
|
||||
delete: { '*': true },
|
||||
protectedFields: {},
|
||||
});
|
||||
done();
|
||||
})
|
||||
@@ -1920,6 +1922,7 @@ describe('LiveQueryController', () => {
|
||||
find: {},
|
||||
update: {},
|
||||
delete: { '*': true },
|
||||
protectedFields: {},
|
||||
});
|
||||
|
||||
expect(deleteSpy).toHaveBeenCalled();
|
||||
@@ -1933,6 +1936,7 @@ describe('LiveQueryController', () => {
|
||||
find: {},
|
||||
update: {},
|
||||
delete: { '*': true },
|
||||
protectedFields: {},
|
||||
});
|
||||
done();
|
||||
})
|
||||
|
||||
@@ -320,6 +320,7 @@ describe('SchemaController', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
};
|
||||
expect(dd(actualSchema, expectedSchema)).toEqual(undefined);
|
||||
@@ -338,6 +339,7 @@ describe('SchemaController', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
};
|
||||
config.database.loadSchema().then(schema => {
|
||||
schema
|
||||
@@ -461,6 +463,7 @@ describe('SchemaController', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
};
|
||||
expect(dd(actualSchema, expectedSchema)).toEqual(undefined);
|
||||
@@ -653,6 +656,68 @@ describe('SchemaController', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('refuses to add CLP with incorrect find', done => {
|
||||
const levelPermissions = {
|
||||
find: { '*': false },
|
||||
get: { '*': true },
|
||||
create: { '*': true },
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': ['email'] },
|
||||
};
|
||||
config.database.loadSchema().then(schema => {
|
||||
schema
|
||||
.validateObject('NewClass', {})
|
||||
.then(() => schema.reloadData())
|
||||
.then(() =>
|
||||
schema.updateClass(
|
||||
'NewClass',
|
||||
{},
|
||||
levelPermissions,
|
||||
{},
|
||||
config.database
|
||||
)
|
||||
)
|
||||
.then(done.fail)
|
||||
.catch(error => {
|
||||
expect(error.code).toEqual(Parse.Error.INVALID_JSON);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('refuses to add CLP with incorrect protectedFields', done => {
|
||||
const levelPermissions = {
|
||||
find: { '*': true },
|
||||
get: { '*': true },
|
||||
create: { '*': true },
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': 'email' },
|
||||
};
|
||||
config.database.loadSchema().then(schema => {
|
||||
schema
|
||||
.validateObject('NewClass', {})
|
||||
.then(() => schema.reloadData())
|
||||
.then(() =>
|
||||
schema.updateClass(
|
||||
'NewClass',
|
||||
{},
|
||||
levelPermissions,
|
||||
{},
|
||||
config.database
|
||||
)
|
||||
)
|
||||
.then(done.fail)
|
||||
.catch(error => {
|
||||
expect(error.code).toEqual(Parse.Error.INVALID_JSON);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('will create classes', done => {
|
||||
config.database
|
||||
.loadSchema()
|
||||
@@ -706,6 +771,7 @@ describe('SchemaController', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
};
|
||||
expect(dd(actualSchema, expectedSchema)).toEqual(undefined);
|
||||
@@ -751,6 +817,7 @@ describe('SchemaController', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
};
|
||||
expect(dd(actualSchema, expectedSchema)).toEqual(undefined);
|
||||
@@ -782,6 +849,7 @@ describe('SchemaController', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
};
|
||||
expect(dd(actualSchema, expectedSchema)).toEqual(undefined);
|
||||
@@ -815,6 +883,7 @@ describe('SchemaController', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
};
|
||||
expect(dd(actualSchema, expectedSchema)).toEqual(undefined);
|
||||
@@ -1002,6 +1071,7 @@ describe('SchemaController', () => {
|
||||
update: { '*': true },
|
||||
delete: { '*': true },
|
||||
addField: { '*': true },
|
||||
protectedFields: { '*': [] },
|
||||
},
|
||||
};
|
||||
expect(dd(actualSchema, expectedSchema)).toEqual(undefined);
|
||||
|
||||
@@ -45,6 +45,9 @@ const defaultClassLevelPermissions = {
|
||||
delete: {
|
||||
'*': true,
|
||||
},
|
||||
protectedFields: {
|
||||
'*': [],
|
||||
},
|
||||
};
|
||||
|
||||
const plainOldDataSchema = {
|
||||
@@ -1141,6 +1144,7 @@ describe('schemas', () => {
|
||||
update: {},
|
||||
delete: {},
|
||||
addField: {},
|
||||
protectedFields: {},
|
||||
});
|
||||
done();
|
||||
});
|
||||
@@ -2037,6 +2041,7 @@ describe('schemas', () => {
|
||||
update: {},
|
||||
delete: {},
|
||||
addField: {},
|
||||
protectedFields: {},
|
||||
});
|
||||
})
|
||||
.then(done)
|
||||
|
||||
Reference in New Issue
Block a user