|
1 | 1 | import log from './logger';
|
| 2 | +import _ from 'lodash'; |
2 | 3 | var mongodb = require('mongodb');
|
3 | 4 | var Parse = require('parse/node').Parse;
|
4 | 5 |
|
@@ -149,8 +150,6 @@ export function transformKeyValue(schema, className, restKey, restValue, options
|
149 | 150 | throw 'There was a problem transforming an ACL.';
|
150 | 151 | }
|
151 | 152 |
|
152 |
| - |
153 |
| - |
154 | 153 | // Handle arrays
|
155 | 154 | if (restValue instanceof Array) {
|
156 | 155 | if (options.query) {
|
@@ -646,84 +645,50 @@ function untransformObject(schema, className, mongoObject, isNestedObject = fals
|
646 | 645 |
|
647 | 646 | var restObject = untransformACL(mongoObject);
|
648 | 647 | 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 | + } |
650 | 667 | switch(key) {
|
651 | 668 | case '_id':
|
652 |
| - if (isNestedObject) { |
653 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
654 |
| - break; |
655 |
| - } |
656 | 669 | restObject['objectId'] = '' + mongoObject[key];
|
657 | 670 | break;
|
658 | 671 | case '_hashed_password':
|
659 |
| - if (isNestedObject) { |
660 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
661 |
| - break; |
662 |
| - } |
663 | 672 | restObject['password'] = mongoObject[key];
|
664 | 673 | break;
|
665 | 674 | case '_acl':
|
666 |
| - if (isNestedObject) { |
667 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
668 |
| - break; |
669 |
| - } |
670 | 675 | case '_email_verify_token':
|
671 |
| - if (isNestedObject) { |
672 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
673 |
| - break; |
674 |
| - } |
675 | 676 | case '_perishable_token':
|
676 |
| - if (isNestedObject) { |
677 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
678 |
| - break; |
679 |
| - } |
680 | 677 | case '_tombstone':
|
681 |
| - if (isNestedObject) { |
682 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
683 |
| - break; |
684 |
| - } |
685 | 678 | break;
|
686 | 679 | case '_session_token':
|
687 |
| - if (isNestedObject) { |
688 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
689 |
| - break; |
690 |
| - } |
691 | 680 | restObject['sessionToken'] = mongoObject[key];
|
692 | 681 | break;
|
693 | 682 | case 'updatedAt':
|
694 |
| - if (isNestedObject) { |
695 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
696 |
| - break; |
697 |
| - } |
698 | 683 | case '_updated_at':
|
699 |
| - if (isNestedObject) { |
700 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
701 |
| - break; |
702 |
| - } |
703 | 684 | restObject['updatedAt'] = Parse._encode(new Date(mongoObject[key])).iso;
|
704 | 685 | break;
|
705 | 686 | case 'createdAt':
|
706 |
| - if (isNestedObject) { |
707 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
708 |
| - break; |
709 |
| - } |
710 | 687 | case '_created_at':
|
711 |
| - if (isNestedObject) { |
712 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
713 |
| - break; |
714 |
| - } |
715 | 688 | restObject['createdAt'] = Parse._encode(new Date(mongoObject[key])).iso;
|
716 | 689 | break;
|
717 | 690 | case 'expiresAt':
|
718 |
| - if (isNestedObject) { |
719 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
720 |
| - break; |
721 |
| - } |
722 | 691 | case '_expiresAt':
|
723 |
| - if (isNestedObject) { |
724 |
| - restObject[key] = untransformObject(schema, className, mongoObject[key], true); |
725 |
| - break; |
726 |
| - } |
727 | 692 | restObject['expiresAt'] = Parse._encode(new Date(mongoObject[key]));
|
728 | 693 | break;
|
729 | 694 | default:
|
|
0 commit comments