Skip to content

Commit c5d9ce3

Browse files
authored
Merge branch 'alpha' into snyk-upgrade-400cfc07862fa6becf47ceeee1a0b1f1
2 parents 13a9cb0 + 1246551 commit c5d9ce3

File tree

6 files changed

+215
-60
lines changed

6 files changed

+215
-60
lines changed

changelogs/CHANGELOG_alpha.md

+17
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
# [5.3.0-alpha.20](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.19...5.3.0-alpha.20) (2022-07-22)
2+
3+
4+
### Bug Fixes
5+
6+
* security upgrade undici from 5.6.0 to 5.8.0 ([#8108](https://github.com/parse-community/parse-server/issues/8108)) ([4aa016b](https://github.com/parse-community/parse-server/commit/4aa016b7322467422b9fdf05d8e29b9ecf910da7))
7+
8+
# [5.3.0-alpha.19](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.18...5.3.0-alpha.19) (2022-07-03)
9+
10+
11+
### Bug Fixes
12+
13+
* certificate in Apple Game Center auth adapter not validated [skip release] ([#8058](https://github.com/parse-community/parse-server/issues/8058)) ([75af9a2](https://github.com/parse-community/parse-server/commit/75af9a26cc8e9e88a33d1e452c93a0ee6e509f17))
14+
* graphQL query ignores condition `equalTo` with value `false` ([#8032](https://github.com/parse-community/parse-server/issues/8032)) ([7f5a15d](https://github.com/parse-community/parse-server/commit/7f5a15d5df0dfa3515e9f73709d6a49663545f9b))
15+
* invalid file request not properly handled [skip release] ([#8062](https://github.com/parse-community/parse-server/issues/8062)) ([4c9e956](https://github.com/parse-community/parse-server/commit/4c9e95674ad081f13062e8cd30b77b1962d5df57))
16+
* protected fields exposed via LiveQuery (GHSA-crrq-vr9j-fxxh) [skip release] ([#8076](https://github.com/parse-community/parse-server/issues/8076)) ([9fd4516](https://github.com/parse-community/parse-server/commit/9fd4516cde5c742f9f29dd05468b4a43a85639a6))
17+
118
# [5.3.0-alpha.18](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.17...5.3.0-alpha.18) (2022-06-17)
219

320

package-lock.json

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

package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "parse-server",
3-
"version": "5.2.3",
3+
"version": "5.3.0-alpha.20",
44
"description": "An express module providing a Parse-compatible API server",
55
"main": "lib/index.js",
66
"repository": {
@@ -21,8 +21,8 @@
2121
"dependencies": {
2222
"@graphql-yoga/node": "2.6.0",
2323
"@graphql-tools/utils": "8.6.13",
24-
"@graphql-tools/merge": "8.2.13",
25-
"@graphql-tools/schema": "8.3.14",
24+
"@graphql-tools/merge": "8.3.0",
25+
"@graphql-tools/schema": "8.5.0",
2626
"@parse/fs-files-adapter": "1.2.2",
2727
"@parse/push-adapter": "4.1.2",
2828
"bcryptjs": "2.4.3",
@@ -41,7 +41,7 @@
4141
"jwks-rsa": "2.1.4",
4242
"ldapjs": "2.3.3",
4343
"lodash": "4.17.21",
44-
"lru-cache": "7.10.1",
44+
"lru-cache": "7.10.2",
4545
"mime": "3.0.0",
4646
"mongodb": "4.6.0",
4747
"mustache": "4.2.0",
@@ -54,7 +54,7 @@
5454
"subscriptions-transport-ws": "0.11.0",
5555
"tv4": "1.3.0",
5656
"uuid": "8.3.2",
57-
"winston": "3.7.2",
57+
"winston": "3.8.0",
5858
"winston-daily-rotate-file": "4.7.1",
5959
"ws": "8.8.0"
6060
},

spec/ParseGraphQLServer.spec.js

+124
Original file line numberDiff line numberDiff line change
@@ -9516,6 +9516,130 @@ describe('ParseGraphQLServer', () => {
95169516
}
95179517
});
95189518

9519+
it('should support where argument on object field that contains false boolean value or 0 number value', async () => {
9520+
try {
9521+
const someObjectFieldValue1 = {
9522+
foo: { bar: true, baz: 100 },
9523+
};
9524+
9525+
const someObjectFieldValue2 = {
9526+
foo: { bar: false, baz: 0 },
9527+
};
9528+
9529+
const object1 = new Parse.Object('SomeClass');
9530+
await object1.save({
9531+
someObjectField: someObjectFieldValue1,
9532+
});
9533+
const object2 = new Parse.Object('SomeClass');
9534+
await object2.save({
9535+
someObjectField: someObjectFieldValue2,
9536+
});
9537+
9538+
const whereToObject1 = {
9539+
someObjectField: {
9540+
equalTo: { key: 'foo.bar', value: true },
9541+
notEqualTo: { key: 'foo.baz', value: 0 },
9542+
},
9543+
};
9544+
const whereToObject2 = {
9545+
someObjectField: {
9546+
notEqualTo: { key: 'foo.bar', value: true },
9547+
equalTo: { key: 'foo.baz', value: 0 },
9548+
},
9549+
};
9550+
9551+
const whereToAll = {
9552+
someObjectField: {
9553+
lessThan: { key: 'foo.baz', value: 101 },
9554+
},
9555+
};
9556+
9557+
const whereToNone = {
9558+
someObjectField: {
9559+
notEqualTo: { key: 'foo.bar', value: true },
9560+
equalTo: { key: 'foo.baz', value: 1 },
9561+
},
9562+
};
9563+
9564+
const queryResult = await apolloClient.query({
9565+
query: gql`
9566+
query GetSomeObject(
9567+
$id1: ID!
9568+
$id2: ID!
9569+
$whereToObject1: SomeClassWhereInput
9570+
$whereToObject2: SomeClassWhereInput
9571+
$whereToAll: SomeClassWhereInput
9572+
$whereToNone: SomeClassWhereInput
9573+
) {
9574+
obj1: someClass(id: $id1) {
9575+
id
9576+
someObjectField
9577+
}
9578+
obj2: someClass(id: $id2) {
9579+
id
9580+
someObjectField
9581+
}
9582+
onlyObj1: someClasses(where: $whereToObject1) {
9583+
edges {
9584+
node {
9585+
id
9586+
someObjectField
9587+
}
9588+
}
9589+
}
9590+
onlyObj2: someClasses(where: $whereToObject2) {
9591+
edges {
9592+
node {
9593+
id
9594+
someObjectField
9595+
}
9596+
}
9597+
}
9598+
all: someClasses(where: $whereToAll) {
9599+
edges {
9600+
node {
9601+
id
9602+
someObjectField
9603+
}
9604+
}
9605+
}
9606+
none: someClasses(where: $whereToNone) {
9607+
edges {
9608+
node {
9609+
id
9610+
someObjectField
9611+
}
9612+
}
9613+
}
9614+
}
9615+
`,
9616+
variables: {
9617+
id1: object1.id,
9618+
id2: object2.id,
9619+
whereToObject1,
9620+
whereToObject2,
9621+
whereToAll,
9622+
whereToNone,
9623+
},
9624+
});
9625+
9626+
const { obj1, obj2, onlyObj1, onlyObj2, all, none } = queryResult.data;
9627+
9628+
expect(obj1.someObjectField).toEqual(someObjectFieldValue1);
9629+
expect(obj2.someObjectField).toEqual(someObjectFieldValue2);
9630+
9631+
// Checks class query results
9632+
expect(onlyObj1.edges.length).toEqual(1);
9633+
expect(onlyObj1.edges[0].node.someObjectField).toEqual(someObjectFieldValue1);
9634+
expect(onlyObj2.edges.length).toEqual(1);
9635+
expect(onlyObj2.edges[0].node.someObjectField).toEqual(someObjectFieldValue2);
9636+
expect(all.edges.length).toEqual(2);
9637+
expect(none.edges.length).toEqual(0);
9638+
} catch (e) {
9639+
handleError(e);
9640+
}
9641+
});
9642+
95199643
it('should support object composed queries', async () => {
95209644
try {
95219645
const someObjectFieldValue1 = {

0 commit comments

Comments
 (0)