Skip to content

Commit e440046

Browse files
committed
Remove getRelationFields
1 parent f4b1f7b commit e440046

File tree

3 files changed

+17
-28
lines changed

3 files changed

+17
-28
lines changed

spec/MongoTransform.spec.js

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ var dummySchema = {
1717
}
1818
return;
1919
},
20-
getRelationFields: function() {
21-
return {}
22-
}
2320
};
2421

2522

@@ -39,7 +36,7 @@ describe('parseObjectToMongoObjectForCreate', () => {
3936
createdAt: "2015-10-06T21:24:50.332Z",
4037
updatedAt: "2015-10-06T21:24:50.332Z"
4138
};
42-
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input);
39+
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input, { fields: {} });
4340
expect(output._created_at instanceof Date).toBe(true);
4441
expect(output._updated_at instanceof Date).toBe(true);
4542
done();
@@ -62,14 +59,14 @@ describe('parseObjectToMongoObjectForCreate', () => {
6259
//have __op delete in a new object. Figure out what this should actually be testing.
6360
notWorking('a delete op', (done) => {
6461
var input = {deleteMe: {__op: 'Delete'}};
65-
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input);
62+
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input, { fields: {} });
6663
jequal(output, {});
6764
done();
6865
});
6966

7067
it('basic ACL', (done) => {
7168
var input = {ACL: {'0123': {'read': true, 'write': true}}};
72-
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input);
69+
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input, { fields: {} });
7370
// This just checks that it doesn't crash, but it should check format.
7471
done();
7572
});
@@ -124,7 +121,7 @@ describe('transformWhere', () => {
124121
describe('mongoObjectToParseObject', () => {
125122
it('built-in timestamps', (done) => {
126123
var input = {createdAt: new Date(), updatedAt: new Date()};
127-
var output = transform.mongoObjectToParseObject(dummySchema, null, input);
124+
var output = transform.mongoObjectToParseObject(dummySchema, null, input, { fields: {} });
128125
expect(typeof output.createdAt).toEqual('string');
129126
expect(typeof output.updatedAt).toEqual('string');
130127
done();
@@ -236,7 +233,7 @@ describe('transform schema key changes', () => {
236233
"Kevin": { "write": true }
237234
}
238235
};
239-
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input);
236+
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input, { fields: {} });
240237
expect(typeof output._rperm).toEqual('object');
241238
expect(typeof output._wperm).toEqual('object');
242239
expect(output.ACL).toBeUndefined();
@@ -253,7 +250,7 @@ describe('transform schema key changes', () => {
253250
}
254251
};
255252

256-
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input);
253+
var output = transform.parseObjectToMongoObjectForCreate(dummySchema, null, input, { fields: {} });
257254
expect(typeof output._acl).toEqual('object');
258255
expect(output._acl["Kevin"].w).toBeTruthy();
259256
expect(output._acl["Kevin"].r).toBeUndefined();
@@ -265,7 +262,7 @@ describe('transform schema key changes', () => {
265262
_rperm: ["*"],
266263
_wperm: ["Kevin"]
267264
};
268-
var output = transform.mongoObjectToParseObject(dummySchema, null, input);
265+
var output = transform.mongoObjectToParseObject(dummySchema, null, input, { fields: {} });
269266
expect(typeof output.ACL).toEqual('object');
270267
expect(output._rperm).toBeUndefined();
271268
expect(output._wperm).toBeUndefined();

src/Adapters/Storage/Mongo/MongoTransform.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,16 @@ const mongoObjectToParseObject = (schemaController, className, mongoObject, sche
868868
}
869869
}
870870

871-
return { ...restObject, ...schemaController.getRelationFields(className) };
871+
const relationFieldNames = Object.keys(schema.fields).filter(fieldName => schema.fields[fieldName].type === 'Relation');
872+
let relationFields = {};
873+
relationFieldNames.forEach(relationFieldName => {
874+
relationFields[relationFieldName] = {
875+
__type: 'Relation',
876+
className: schema.fields[relationFieldName].targetClass,
877+
}
878+
});
879+
880+
return { ...restObject, ...relationFields };
872881
default:
873882
throw 'unknown js type';
874883
}

src/Controllers/SchemaController.js

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -686,23 +686,6 @@ class SchemaController {
686686
hasClass(className) {
687687
return this.reloadData().then(() => !!(this.data[className]));
688688
}
689-
690-
getRelationFields(className) {
691-
if (this.data && this.data[className]) {
692-
let classData = this.data[className];
693-
return Object.keys(classData).filter((field) => {
694-
return classData[field].type === 'Relation';
695-
}).reduce((memo, field) => {
696-
let type = classData[field];
697-
memo[field] = {
698-
__type: 'Relation',
699-
className: type.targetClass
700-
};
701-
return memo;
702-
}, {});
703-
}
704-
return {};
705-
}
706689
}
707690

708691
// Returns a promise for a new Schema.

0 commit comments

Comments
 (0)