Commit Graph

2692 Commits

Author SHA1 Message Date
greenkeeper[bot]
beeb097e55 Update husky to the latest version 🚀 (#5825)
* chore(package): update husky to version 3.0.1

* chore(package): update lockfile package-lock.json
2019-07-18 22:11:48 +00:00
greenkeeper[bot]
61ae2eb91b Update flow-bin to the latest version 🚀 (#5824)
* chore(package): update flow-bin to version 0.103.0

* chore(package): update lockfile package-lock.json
2019-07-18 21:03:33 +00:00
Antonio Davi Macedo Coelho de Castro
71d92aed8d GraphQL Custom Schema (#5821)
This PR empowers the Parse GraphQL API with custom user-defined schema. The developers can now write their own types, queries, and mutations, which will merged with the ones that are automatically generated. The new types are resolved by the application's cloud code functions.

Therefore, regarding https://github.com/parse-community/parse-server/issues/5777, this PR closes the cloud functions needs and also addresses the graphql customization topic. In my view, I think that this PR, together with https://github.com/parse-community/parse-server/pull/5782 and https://github.com/parse-community/parse-server/pull/5818, when merged, closes the issue.

How it works:

1. When initializing ParseGraphQLServer, now the developer can pass a custom schema that will be merged to the auto-generated one:
```
      parseGraphQLServer = new ParseGraphQLServer(parseServer, {
        graphQLPath: '/graphql',
        graphQLCustomTypeDefs: gql`
          extend type Query {
            custom: Custom @namespace
          }
           type Custom {
            hello: String @resolve
            hello2: String @resolve(to: "hello")
            userEcho(user: _UserFields!): _UserClass! @resolve
          }
        `,
      });
```

Note:
- This PR includes a @namespace directive that can be used to the top level field of the nested queries and mutations (it basically just returns an empty object);
- This PR includes a @resolve directive that can be used to notify the Parse GraphQL Server to resolve that field using a cloud code function. The `to` argument specifies the function name. If the `to` argument is not passed, the Parse GraphQL Server will look for a function with the same name of the field;
- This PR allows creating custom types using the auto-generated ones as in `userEcho(user: _UserFields!): _UserClass! @resolve`;
- This PR allows to extend the auto-generated types, as in `extend type Query { ... }`.

2. Once the schema was set, you just need to write regular cloud code functions:
```
      Parse.Cloud.define('hello', async () => {
        return 'Hello world!';
      });

      Parse.Cloud.define('userEcho', async req => {
        return req.params.user;
      });
```

3. Now you are ready to play with your new custom api:
```
query {
  custom {
    hello
    hello2
    userEcho(user: { username: "somefolk" }) {
      username
    }
  }
}
```
should return
```
{
  "data": {
    "custom": {
      "hello": "Hello world!",
      "hello2": "Hello world!",
      "userEcho": {
        "username": "somefolk"
      }
    }
  }
}
```
2019-07-18 16:43:49 -03:00
Antonio Davi Macedo Coelho de Castro
0b86a86209 GraphQL { functions { call } } generic mutation (#5818)
* Generic call function mutation
* Change function return type to any
* First passing test
* Testing errors
* Testing different data types
2019-07-18 16:41:10 -03:00
greenkeeper[bot]
6be15331a6 Update eslint-plugin-flowtype to the latest version 🚀 (#5823)
* chore(package): update eslint-plugin-flowtype to version 3.12.0

* chore(package): update lockfile package-lock.json
2019-07-18 17:14:07 +00:00
Tom Fox
516d789491 Add contributors section, improve backers section (#5815)
* add contributors, improve backers section

* spacing
2019-07-18 17:47:16 +01:00
greenkeeper[bot]
9eec0f1b78 Update babel7 to the latest version 🚀 (#5820)
* chore(package): update @babel/cli to version 7.5.5

* chore(package): update @babel/core to version 7.5.5

* chore(package): update @babel/plugin-proposal-object-rest-spread to version 7.5.5

* chore(package): update @babel/preset-env to version 7.5.5

* chore(package): update lockfile package-lock.json
2019-07-17 23:40:20 +00:00
greenkeeper[bot]
1b5c045706 Update apollo-server to the latest version 🚀 (#5817)
* fix(package): update apollo-server-express to version 2.7.0

* chore(package): update lockfile package-lock.json
2019-07-16 14:18:14 +00:00
greenkeeper[bot]
82e24cb18d Update @parse/s3-files-adapter to the latest version 🚀 (#5816)
* fix(package): update @parse/s3-files-adapter to version 1.2.3

* chore(package): update lockfile package-lock.json
2019-07-15 18:07:19 +00:00
greenkeeper[bot]
cdc6eee295 Update jsdoc to the latest version 🚀 (#5813)
* chore(package): update jsdoc to version 3.6.3

* chore(package): update lockfile package-lock.json
2019-07-14 18:32:19 +00:00
Antonio Davi Macedo Coelho de Castro
7222bb6af9 Running GraphQL (#5810)
* Improving GraphQL running instruction

* Improving GraphQL learning more section

* Fixing typo
2019-07-13 21:01:32 -07:00
Douglas Muraoka
f91034ab8c GraphQL: Improve session token error messages (#5753)
* GraphQL: Improve session token error message

Fixes the session token related error messages during GraphQL operations. If any authentication error were thrown, it was not correctly handled by the GraphQL express middleware, and ended responding the request with a JSON parsing error.

* Refactor handleError usage

* Use handleParseErrors middleware to handle invalid session token error

* fix: Status code 400 when session token is invalid

* fix: Undo handleParseErrors middleware change
2019-07-12 13:58:47 -07:00
greenkeeper[bot]
1c62ab6f49 Update winston-daily-rotate-file to the latest version 🚀 (#5808)
* fix(package): update winston-daily-rotate-file to version 3.10.0

* chore(package): update lockfile package-lock.json
2019-07-12 15:52:20 +00:00
greenkeeper[bot]
3e888249cc Update parse to the latest version 🚀 (#5806)
* fix(package): update parse to version 2.5.1

* chore(package): update lockfile package-lock.json
2019-07-12 00:42:32 +00:00
greenkeeper[bot]
527662f336 Update pg-promise to the latest version 🚀 (#5805)
* fix(package): update pg-promise to version 8.7.4

* chore(package): update lockfile package-lock.json
2019-07-11 22:46:36 +00:00
greenkeeper[bot]
0dc7152681 Update apollo-server to the latest version 🚀 (#5804)
* fix(package): update apollo-server-express to version 2.6.9

* chore(package): update lockfile package-lock.json
2019-07-11 19:02:20 +00:00
Diamond Lewis
bb06376a32 Prevent linkWith sessionToken from generating new session (#5801) 2019-07-11 09:32:11 -05:00
Arthur Cinader
26943de778 Prepare 3.6.0 Release (#5792)
* Re-apply "Prepare for 3.6.0 Release""

This reverts commit 08dbafe49a.

* fix link formatting

* revert mongodb-runner upgrade.

* Update CHANGELOG.md

* Fix formatting
2019-07-11 09:22:36 -04:00
dependabot-preview[bot]
2afaf00d1f Bump lodash from 4.17.13 to 4.17.14 (#5803)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.13 to 4.17.14.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.13...4.17.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-11 11:22:24 +00:00
dependabot-preview[bot]
b5b718196b Bump lint-staged from 9.1.0 to 9.2.0 (#5802)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 9.1.0 to 9.2.0.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v9.1.0...v9.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-11 11:13:41 +00:00
Diamond Lewis
5341b8248f Generate sessionToken with linkWith (#5799)
* Generate sessionToken with linkWith

* improve test

* Add comment
2019-07-10 20:23:16 +00:00
Raschid J.F. Rafeally
9816285205 Added rest option: excludeKeys (#5737)
* Added restOption: excludeKeys

* improve tests
2019-07-10 15:01:21 -05:00
Diamond Lewis
378e70afdc Fix #5794 (#5797) 2019-07-10 15:19:40 -04:00
Arthur Cinader
76ce9e1a5c Run test that require db access (#5796)
as mongo only.

also seperate out into own section of test.
2019-07-10 12:25:29 -05:00
Arthur Cinader
815b7c6e05 Too much output! (#5795)
Reducing the spew.
2019-07-10 11:56:04 -04:00
Diamond Lewis
af6c44eca4 Handle LiveQuery create event with fields (#5790)
Close:  https://github.com/parse-community/parse-server/issues/5764

Fix logic handling null original object
2019-07-10 10:14:55 -05:00
Arthur Cinader
08dbafe49a Revert "Prepare for 3.6.0 Release"
This reverts commit 8c1124e3c4.
2019-07-10 10:21:47 -04:00
Arthur Cinader
8c1124e3c4 Prepare for 3.6.0 Release
also run 'npm audit fix' to address some dependency vulnerabilities
2019-07-10 10:18:29 -04:00
Fabian Strachanski
73b0f9a339 Merge pull request from GHSA-8w3j-g983-8jh5
* Add Test and Authenticator for ghsa-8w3j-g983-8jh5

* fix for ghsa-8w3j-g983-8jh5

* nit whitespace

not sure why lint isn't catching...
2019-07-10 09:47:23 -04:00
greenkeeper[bot]
050dd19e80 Update apollo-upload-client to the latest version 🚀 (#5791)
* chore(package): update apollo-upload-client to version 11.0.0

* chore(package): update lockfile package-lock.json
2019-07-10 01:12:46 +00:00
greenkeeper[bot]
ed72e58ea6 Update apollo-server to the latest version 🚀 (#5789)
* fix(package): update apollo-server-express to version 2.6.8

* chore(package): update lockfile package-lock.json
2019-07-10 00:05:32 +00:00
greenkeeper[bot]
bf74b7445e Update lodash to the latest version 🚀 (#5788)
* fix(package): update lodash to version 4.17.13

* chore(package): update lockfile package-lock.json
2019-07-09 23:22:57 +00:00
greenkeeper[bot]
60a9a4d79c Update lodash to the latest version 🚀 (#5787)
* fix(package): update lodash to version 4.17.12

* chore(package): update lockfile package-lock.json
2019-07-09 22:45:40 +00:00
greenkeeper[bot]
71ddeed2e7 Update babel7 to the latest version 🚀 (#5786)
* chore(package): update @babel/core to version 7.5.4

* chore(package): update @babel/plugin-proposal-object-rest-spread to version 7.5.4

* chore(package): update @babel/preset-env to version 7.5.4

* chore(package): update lockfile package-lock.json
2019-07-09 21:29:49 +00:00
greenkeeper[bot]
72dbc01712 Update babel7 to the latest version 🚀 (#5784)
* chore(package): update @babel/plugin-proposal-object-rest-spread to version 7.5.3

* chore(package): update @babel/preset-env to version 7.5.3

* chore(package): update lockfile package-lock.json
2019-07-09 18:25:27 +00:00
greenkeeper[bot]
04a196695a Update ws to the latest version 🚀 (#5781)
* fix(package): update ws to version 7.1.0

* chore(package): update lockfile package-lock.json
2019-07-08 23:18:46 -07:00
greenkeeper[bot]
e471bb960d Update babel7 to the latest version 🚀 (#5783)
* chore(package): update @babel/plugin-proposal-object-rest-spread to version 7.5.2

* chore(package): update @babel/preset-env to version 7.5.2

* chore(package): update lockfile package-lock.json
2019-07-08 23:05:57 +00:00
greenkeeper[bot]
f57646d397 Update lint-staged to the latest version 🚀 (#5776)
* chore(package): update lint-staged to version 9.1.0

* chore(package): update lockfile package-lock.json
2019-07-06 12:16:42 +00:00
greenkeeper[bot]
cd350ee1d1 Update babel7 to the latest version 🚀 (#5775)
* chore(package): update @babel/plugin-proposal-object-rest-spread to version 7.5.1

* chore(package): update lockfile package-lock.json
2019-07-06 09:41:24 +00:00
dependabot-preview[bot]
180ec0090d Bump @babel/plugin-proposal-object-rest-spread from 7.4.4 to 7.5.0 (#5771)
Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel) from 7.4.4 to 7.5.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.4.4...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-05 19:08:37 +00:00
dependabot-preview[bot]
8918ac1598 Bump @babel/core from 7.4.5 to 7.5.0 (#5769)
Bumps [@babel/core](https://github.com/babel/babel) from 7.4.5 to 7.5.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.4.5...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-05 11:46:25 -07:00
greenkeeper[bot]
d35de8a12f Update @apollographql/graphql-playground-html to the latest version 🚀 (#5773)
* fix(package): update @apollographql/graphql-playground-html to version 1.6.24

* chore(package): update lockfile package-lock.json
2019-07-05 14:13:47 +00:00
greenkeeper[bot]
fdf085f814 Update pg-promise to the latest version 🚀 (#5772)
* fix(package): update pg-promise to version 8.7.3

* chore(package): update lockfile package-lock.json
2019-07-05 13:57:40 +00:00
dependabot-preview[bot]
a160bc33bf Bump @babel/cli from 7.4.4 to 7.5.0 (#5770)
Bumps [@babel/cli](https://github.com/babel/babel) from 7.4.4 to 7.5.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.4.4...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-05 11:01:39 +00:00
dependabot-preview[bot]
7ea0b95d7b Bump @babel/preset-env from 7.4.5 to 7.5.0 (#5768)
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.4.5 to 7.5.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.4.5...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-05 10:43:28 +00:00
dependabot-preview[bot]
0e05313a6a Bump @apollographql/graphql-playground-html from 1.6.20 to 1.6.23 (#5767)
Bumps [@apollographql/graphql-playground-html](https://github.com/graphcool/graphql-playground) from 1.6.20 to 1.6.23.
- [Release notes](https://github.com/graphcool/graphql-playground/releases)
- [Commits](https://github.com/graphcool/graphql-playground/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-05 10:33:51 +00:00
dependabot-preview[bot]
79e8123ffe Bump graphql from 14.4.1 to 14.4.2 (#5760)
Bumps [graphql](https://github.com/graphql/graphql-js) from 14.4.1 to 14.4.2.
- [Release notes](https://github.com/graphql/graphql-js/releases)
- [Commits](https://github.com/graphql/graphql-js/compare/v14.4.1...v14.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-04 10:41:25 +00:00
dependabot-preview[bot]
1761ab9046 Bump form-data from 2.4.0 to 2.5.0 (#5759)
Bumps [form-data](https://github.com/form-data/form-data) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Commits](https://github.com/form-data/form-data/compare/v2.4.0...v2.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-04 10:32:47 +00:00
Diamond Lewis
9900a956e6 ️ Release 3.5.0 (#5754)
* ️ Release 3.5.0

* nit
2019-07-03 17:07:49 -05:00
Diamond Lewis
3a7b0c4c75 Fix: Linking with Apple Auth (#5755)
Rename from apple-signin to apple (key names can't have hyphens
Rename id_token to id (auth adapters require id)
2019-07-03 16:28:29 -05:00