Skip to content

Commit 50b9ae4

Browse files
drew-grossflovilmart
authored andcommitted
Fix #1919 (#1926)
1 parent c5e3be8 commit 50b9ae4

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

spec/schemas.spec.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1556,4 +1556,21 @@ describe('schemas', () => {
15561556
done();
15571557
})
15581558
})
1559+
1560+
it('gives correct response when deleting a schema with CLPs (regression test #1919)', done => {
1561+
new Parse.Object('MyClass').save({ data: 'foo'})
1562+
.then(obj => obj.destroy())
1563+
.then(() => setPermissionsOnClass('MyClass', { find: {}, get: {} }, true))
1564+
.then(() => {
1565+
request.del({
1566+
url: 'http://localhost:8378/1/schemas/MyClass',
1567+
headers: masterKeyHeaders,
1568+
json: true,
1569+
}, (error, response, body) => {
1570+
expect(response.statusCode).toEqual(200);
1571+
expect(response.body).toEqual({});
1572+
done();
1573+
});
1574+
});
1575+
});
15591576
});

src/Routers/SchemasRouter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ function modifySchema(req) {
6767
// A helper function that removes all join tables for a schema. Returns a promise.
6868
var removeJoinTables = (database, mongoSchema) => {
6969
return Promise.all(Object.keys(mongoSchema)
70-
.filter(field => mongoSchema[field].startsWith('relation<'))
70+
.filter(field => field !== '_metadata' && mongoSchema[field].startsWith('relation<'))
7171
.map(field => {
7272
let collectionName = `_Join:${field}:${mongoSchema._id}`;
7373
return database.adapter.deleteOneSchema(collectionName);

0 commit comments

Comments
 (0)