Skip to content

Commit c7945f8

Browse files
authored
Merge branch 'alpha' into update-yoga-fix-status-code
2 parents 051b7e6 + 2ea4e37 commit c7945f8

File tree

6 files changed

+228
-73
lines changed

6 files changed

+228
-73
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

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

package.json

+8-8
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": {
@@ -20,9 +20,9 @@
2020
"license": "BSD-3-Clause",
2121
"dependencies": {
2222
"@graphql-yoga/node": "2.11.1",
23-
"@graphql-tools/utils": "8.6.12",
24-
"@graphql-tools/merge": "8.2.13",
25-
"@graphql-tools/schema": "8.3.14",
23+
"@graphql-tools/utils": "8.6.13",
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",
@@ -39,9 +39,9 @@
3939
"intersect": "1.0.1",
4040
"jsonwebtoken": "8.5.1",
4141
"jwks-rsa": "2.1.4",
42-
"ldapjs": "2.3.2",
42+
"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,9 +54,9 @@
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",
59-
"ws": "8.7.0"
59+
"ws": "8.8.0"
6060
},
6161
"devDependencies": {
6262
"graphql-tag": "2.12.6",

spec/ParseGraphQLServer.spec.js

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

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

0 commit comments

Comments
 (0)