Skip to content

Commit 99ecbb3

Browse files
drew-grossflovilmart
authored andcommitted
Move mongo field type logic into mongoadapter (#1432)
1 parent e9e561f commit 99ecbb3

File tree

2 files changed

+145
-140
lines changed

2 files changed

+145
-140
lines changed

src/Adapters/Storage/Mongo/MongoSchemaCollection.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,23 @@ function _mongoSchemaObjectFromNameFields(name: string, fields) {
7676
return object;
7777
}
7878

79+
// Returns a type suitable for inserting into mongo _SCHEMA collection.
80+
// Does no validation. That is expected to be done in Parse Server.
81+
function parseFieldTypeToMongoFieldType({ type, targetClass }) {
82+
switch (type) {
83+
case 'Pointer': return `*${targetClass}`;
84+
case 'Relation': return `relation<${targetClass}>`;
85+
case 'Number': return 'number';
86+
case 'String': return 'string';
87+
case 'Boolean': return 'boolean';
88+
case 'Date': return 'date';
89+
case 'Object': return 'object';
90+
case 'Array': return 'array';
91+
case 'GeoPoint': return 'geopoint';
92+
case 'File': return 'file';
93+
}
94+
}
95+
7996
class MongoSchemaCollection {
8097
_collection: MongoCollection;
8198

@@ -148,4 +165,8 @@ MongoSchemaCollection._TESTmongoSchemaToParseSchema = mongoSchemaToParseSchema
148165
// into the database adapter yet. We will remove this before too long.
149166
MongoSchemaCollection._DONOTUSEmongoFieldToParseSchemaField = mongoFieldToParseSchemaField
150167

168+
// Exported because we haven't moved all mongo schema format related logic
169+
// into the database adapter yet. We will remove this before too long.
170+
MongoSchemaCollection._DONOTUSEparseFieldTypeToMongoFieldType = parseFieldTypeToMongoFieldType;
171+
151172
export default MongoSchemaCollection

0 commit comments

Comments
 (0)