Skip to content

Commit 9aa47a8

Browse files
committed
Cleanup
1 parent 10590e9 commit 9aa47a8

File tree

1 file changed

+20
-55
lines changed

1 file changed

+20
-55
lines changed

src/transform.js

Lines changed: 20 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import log from './logger';
2+
import _ from 'lodash';
23
var mongodb = require('mongodb');
34
var Parse = require('parse/node').Parse;
45

@@ -149,8 +150,6 @@ export function transformKeyValue(schema, className, restKey, restValue, options
149150
throw 'There was a problem transforming an ACL.';
150151
}
151152

152-
153-
154153
// Handle arrays
155154
if (restValue instanceof Array) {
156155
if (options.query) {
@@ -646,84 +645,50 @@ function untransformObject(schema, className, mongoObject, isNestedObject = fals
646645

647646
var restObject = untransformACL(mongoObject);
648647
for (var key in mongoObject) {
649-
// TODO: This could use some cleanup. Default case handling still needs to happen for some nested keys.
648+
const specialKeys = [
649+
'_id',
650+
'_hashed_password',
651+
'_acl',
652+
'_email_verify_token',
653+
'_perishable_token',
654+
'_tombstone',
655+
'_session_token',
656+
'updatedAt',
657+
'_updated_at',
658+
'createdAt',
659+
'_created_at',
660+
'expiresAt',
661+
'_expiresAt',
662+
];
663+
if (_.includes(specialKeys, key) && isNestedObject) {
664+
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
665+
continue;
666+
}
650667
switch(key) {
651668
case '_id':
652-
if (isNestedObject) {
653-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
654-
break;
655-
}
656669
restObject['objectId'] = '' + mongoObject[key];
657670
break;
658671
case '_hashed_password':
659-
if (isNestedObject) {
660-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
661-
break;
662-
}
663672
restObject['password'] = mongoObject[key];
664673
break;
665674
case '_acl':
666-
if (isNestedObject) {
667-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
668-
break;
669-
}
670675
case '_email_verify_token':
671-
if (isNestedObject) {
672-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
673-
break;
674-
}
675676
case '_perishable_token':
676-
if (isNestedObject) {
677-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
678-
break;
679-
}
680677
case '_tombstone':
681-
if (isNestedObject) {
682-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
683-
break;
684-
}
685678
break;
686679
case '_session_token':
687-
if (isNestedObject) {
688-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
689-
break;
690-
}
691680
restObject['sessionToken'] = mongoObject[key];
692681
break;
693682
case 'updatedAt':
694-
if (isNestedObject) {
695-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
696-
break;
697-
}
698683
case '_updated_at':
699-
if (isNestedObject) {
700-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
701-
break;
702-
}
703684
restObject['updatedAt'] = Parse._encode(new Date(mongoObject[key])).iso;
704685
break;
705686
case 'createdAt':
706-
if (isNestedObject) {
707-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
708-
break;
709-
}
710687
case '_created_at':
711-
if (isNestedObject) {
712-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
713-
break;
714-
}
715688
restObject['createdAt'] = Parse._encode(new Date(mongoObject[key])).iso;
716689
break;
717690
case 'expiresAt':
718-
if (isNestedObject) {
719-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
720-
break;
721-
}
722691
case '_expiresAt':
723-
if (isNestedObject) {
724-
restObject[key] = untransformObject(schema, className, mongoObject[key], true);
725-
break;
726-
}
727692
restObject['expiresAt'] = Parse._encode(new Date(mongoObject[key]));
728693
break;
729694
default:

0 commit comments

Comments
 (0)