Skip to content

Commit d76aca9

Browse files
authored
Merge branch 'alpha' into updatePostgres
2 parents 832d638 + 94d558e commit d76aca9

File tree

5 files changed

+24
-6
lines changed

5 files changed

+24
-6
lines changed

changelogs/CHANGELOG_alpha.md

+7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# [6.1.0-alpha.2](https://github.com/parse-community/parse-server/compare/6.1.0-alpha.1...6.1.0-alpha.2) (2023-03-05)
2+
3+
4+
### Bug Fixes
5+
6+
* Nested date is incorrectly decoded as empty object `{}` when fetching a Parse Object ([#8446](https://github.com/parse-community/parse-server/issues/8446)) ([22d2446](https://github.com/parse-community/parse-server/commit/22d2446dfea2bc339affc20535d181097e152acf))
7+
18
# [6.1.0-alpha.1](https://github.com/parse-community/parse-server/compare/6.0.0...6.1.0-alpha.1) (2023-03-03)
29

310

package-lock.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "parse-server",
3-
"version": "6.1.0-alpha.1",
3+
"version": "6.1.0-alpha.2",
44
"description": "An express module providing a Parse-compatible API server",
55
"main": "lib/index.js",
66
"repository": {

spec/MongoStorageAdapter.spec.js

+4
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,10 @@ describe_only_db('mongo')('MongoStorageAdapter', () => {
248248
expect(object.date[0] instanceof Date).toBeTrue();
249249
expect(object.bar.date[0] instanceof Date).toBeTrue();
250250
expect(object.foo.test.date[0] instanceof Date).toBeTrue();
251+
const obj = await new Parse.Query('MyClass').first({useMasterKey: true});
252+
expect(obj.get('date')[0] instanceof Date).toBeTrue();
253+
expect(obj.get('bar').date[0] instanceof Date).toBeTrue();
254+
expect(obj.get('foo').test.date[0] instanceof Date).toBeTrue();
251255
});
252256

253257
it('handles updating a single object with array, object date', done => {

src/Adapters/Storage/Mongo/MongoTransform.js

+10-3
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,16 @@ const transformInteriorValue = restValue => {
188188
// Handle atomic values
189189
var value = transformInteriorAtom(restValue);
190190
if (value !== CannotTransform) {
191+
if (value && typeof value === 'object') {
192+
if (value instanceof Date) {
193+
return value;
194+
}
195+
if (value instanceof Array) {
196+
value = value.map(transformInteriorValue);
197+
} else {
198+
value = mapValues(value, transformInteriorValue);
199+
}
200+
}
191201
return value;
192202
}
193203

@@ -1014,9 +1024,6 @@ function mapValues(object, iterator) {
10141024
const result = {};
10151025
Object.keys(object).forEach(key => {
10161026
result[key] = iterator(object[key]);
1017-
if (result[key] && JSON.stringify(result[key]).includes(`"__type"`)) {
1018-
result[key] = mapValues(object[key], iterator);
1019-
}
10201027
});
10211028
return result;
10221029
}

0 commit comments

Comments
 (0)