parse-server 6.0.0-alpha.9 → 6.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/LICENSE +167 -25
  2. package/NOTICE +10 -0
  3. package/README.md +57 -33
  4. package/lib/AccountLockout.js +11 -26
  5. package/lib/Adapters/AdapterLoader.js +8 -14
  6. package/lib/Adapters/Analytics/AnalyticsAdapter.js +2 -8
  7. package/lib/Adapters/Auth/AuthAdapter.js +7 -16
  8. package/lib/Adapters/Auth/OAuth1Client.js +32 -57
  9. package/lib/Adapters/Auth/apple.js +6 -22
  10. package/lib/Adapters/Auth/facebook.js +7 -37
  11. package/lib/Adapters/Auth/gcenter.js +8 -37
  12. package/lib/Adapters/Auth/github.js +7 -10
  13. package/lib/Adapters/Auth/google.js +11 -34
  14. package/lib/Adapters/Auth/gpgames.js +5 -8
  15. package/lib/Adapters/Auth/httpsRequest.js +1 -7
  16. package/lib/Adapters/Auth/index.js +20 -65
  17. package/lib/Adapters/Auth/instagram.js +5 -9
  18. package/lib/Adapters/Auth/janraincapture.js +8 -12
  19. package/lib/Adapters/Auth/janrainengage.js +7 -11
  20. package/lib/Adapters/Auth/keycloak.js +5 -19
  21. package/lib/Adapters/Auth/ldap.js +1 -15
  22. package/lib/Adapters/Auth/line.js +7 -10
  23. package/lib/Adapters/Auth/linkedin.js +7 -12
  24. package/lib/Adapters/Auth/meetup.js +7 -10
  25. package/lib/Adapters/Auth/microsoft.js +7 -10
  26. package/lib/Adapters/Auth/oauth2.js +6 -18
  27. package/lib/Adapters/Auth/phantauth.js +8 -10
  28. package/lib/Adapters/Auth/qq.js +7 -13
  29. package/lib/Adapters/Auth/spotify.js +7 -14
  30. package/lib/Adapters/Auth/twitter.js +5 -15
  31. package/lib/Adapters/Auth/vkontakte.js +9 -15
  32. package/lib/Adapters/Auth/wechat.js +7 -10
  33. package/lib/Adapters/Auth/weibo.js +7 -11
  34. package/lib/Adapters/Cache/CacheAdapter.js +4 -12
  35. package/lib/Adapters/Cache/InMemoryCache.js +5 -19
  36. package/lib/Adapters/Cache/InMemoryCacheAdapter.js +1 -11
  37. package/lib/Adapters/Cache/LRUCache.js +1 -11
  38. package/lib/Adapters/Cache/NullCacheAdapter.js +1 -8
  39. package/lib/Adapters/Cache/RedisCacheAdapter.js +3 -30
  40. package/lib/Adapters/Cache/SchemaCache.js +1 -6
  41. package/lib/Adapters/Email/MailAdapter.js +2 -7
  42. package/lib/Adapters/Files/FilesAdapter.js +7 -21
  43. package/lib/Adapters/Files/GridFSBucketAdapter.js +6 -44
  44. package/lib/Adapters/Files/GridStoreAdapter.js +1 -1
  45. package/lib/Adapters/Logger/LoggerAdapter.js +2 -11
  46. package/lib/Adapters/Logger/WinstonLogger.js +3 -30
  47. package/lib/Adapters/Logger/WinstonLoggerAdapter.js +5 -16
  48. package/lib/Adapters/MessageQueue/EventEmitterMQ.js +3 -20
  49. package/lib/Adapters/PubSub/EventEmitterPubSub.js +1 -16
  50. package/lib/Adapters/PubSub/PubSubAdapter.js +2 -9
  51. package/lib/Adapters/PubSub/RedisPubSub.js +12 -7
  52. package/lib/Adapters/Push/PushAdapter.js +2 -8
  53. package/lib/Adapters/Storage/Mongo/MongoCollection.js +12 -37
  54. package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +26 -79
  55. package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +78 -209
  56. package/lib/Adapters/Storage/Mongo/MongoTransform.js +82 -371
  57. package/lib/Adapters/Storage/Postgres/PostgresClient.js +1 -13
  58. package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +1 -20
  59. package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +119 -446
  60. package/lib/Adapters/Storage/Postgres/sql/index.js +4 -7
  61. package/lib/Adapters/Storage/StorageAdapter.js +1 -1
  62. package/lib/Adapters/WebSocketServer/WSAdapter.js +3 -12
  63. package/lib/Adapters/WebSocketServer/WSSAdapter.js +7 -12
  64. package/lib/Auth.js +68 -121
  65. package/lib/ClientSDK.js +3 -11
  66. package/lib/Config.js +73 -115
  67. package/lib/Controllers/AdaptableController.js +6 -18
  68. package/lib/Controllers/AnalyticsController.js +1 -9
  69. package/lib/Controllers/CacheController.js +3 -23
  70. package/lib/Controllers/DatabaseController.js +171 -364
  71. package/lib/Controllers/FilesController.js +5 -34
  72. package/lib/Controllers/HooksController.js +1 -51
  73. package/lib/Controllers/LiveQueryController.js +4 -23
  74. package/lib/Controllers/LoggerController.js +15 -54
  75. package/lib/Controllers/ParseGraphQLController.js +49 -104
  76. package/lib/Controllers/PushController.js +20 -59
  77. package/lib/Controllers/SchemaController.js +162 -348
  78. package/lib/Controllers/UserController.js +17 -78
  79. package/lib/Controllers/index.js +19 -68
  80. package/lib/Controllers/types.js +1 -1
  81. package/lib/Deprecator/Deprecations.js +1 -1
  82. package/lib/Deprecator/Deprecator.js +9 -18
  83. package/lib/GraphQL/ParseGraphQLSchema.js +16 -100
  84. package/lib/GraphQL/ParseGraphQLServer.js +2 -29
  85. package/lib/GraphQL/helpers/objectsMutations.js +2 -12
  86. package/lib/GraphQL/helpers/objectsQueries.js +18 -76
  87. package/lib/GraphQL/loaders/defaultGraphQLMutations.js +1 -9
  88. package/lib/GraphQL/loaders/defaultGraphQLQueries.js +1 -8
  89. package/lib/GraphQL/loaders/defaultGraphQLTypes.js +9 -115
  90. package/lib/GraphQL/loaders/defaultRelaySchema.js +6 -18
  91. package/lib/GraphQL/loaders/filesMutations.js +2 -19
  92. package/lib/GraphQL/loaders/functionsMutations.js +6 -17
  93. package/lib/GraphQL/loaders/parseClassMutations.js +6 -44
  94. package/lib/GraphQL/loaders/parseClassQueries.js +1 -26
  95. package/lib/GraphQL/loaders/parseClassTypes.js +10 -64
  96. package/lib/GraphQL/loaders/schemaDirectives.js +1 -17
  97. package/lib/GraphQL/loaders/schemaMutations.js +1 -20
  98. package/lib/GraphQL/loaders/schemaQueries.js +1 -14
  99. package/lib/GraphQL/loaders/schemaTypes.js +2 -6
  100. package/lib/GraphQL/loaders/usersMutations.js +6 -28
  101. package/lib/GraphQL/loaders/usersQueries.js +4 -26
  102. package/lib/GraphQL/parseGraphQLUtils.js +6 -19
  103. package/lib/GraphQL/transformers/className.js +1 -4
  104. package/lib/GraphQL/transformers/constraintType.js +1 -20
  105. package/lib/GraphQL/transformers/inputType.js +1 -20
  106. package/lib/GraphQL/transformers/mutation.js +6 -51
  107. package/lib/GraphQL/transformers/outputType.js +1 -20
  108. package/lib/GraphQL/transformers/query.js +6 -42
  109. package/lib/GraphQL/transformers/schemaFields.js +7 -34
  110. package/lib/KeyPromiseQueue.js +1 -12
  111. package/lib/LiveQuery/Client.js +1 -25
  112. package/lib/LiveQuery/Id.js +1 -7
  113. package/lib/LiveQuery/ParseCloudCodePublisher.js +13 -19
  114. package/lib/LiveQuery/ParseLiveQueryServer.js +111 -307
  115. package/lib/LiveQuery/ParsePubSub.js +1 -12
  116. package/lib/LiveQuery/ParseWebSocketServer.js +4 -26
  117. package/lib/LiveQuery/QueryTools.js +14 -116
  118. package/lib/LiveQuery/RequestSchema.js +1 -1
  119. package/lib/LiveQuery/SessionTokenCache.js +1 -17
  120. package/lib/LiveQuery/Subscription.js +4 -18
  121. package/lib/LiveQuery/equalObjects.js +2 -14
  122. package/lib/Options/Definitions.js +88 -8
  123. package/lib/Options/docs.js +25 -3
  124. package/lib/Options/index.js +4 -12
  125. package/lib/Options/parsers.js +1 -18
  126. package/lib/Page.js +1 -9
  127. package/lib/ParseMessageQueue.js +1 -10
  128. package/lib/ParseServer.js +175 -207
  129. package/lib/ParseServerRESTController.js +6 -33
  130. package/lib/PromiseRouter.js +16 -50
  131. package/lib/Push/PushQueue.js +3 -15
  132. package/lib/Push/PushWorker.js +7 -32
  133. package/lib/Push/utils.js +9 -38
  134. package/lib/RestQuery.js +105 -242
  135. package/lib/RestWrite.js +224 -389
  136. package/lib/Routers/AggregateRouter.js +14 -51
  137. package/lib/Routers/AnalyticsRouter.js +2 -8
  138. package/lib/Routers/AudiencesRouter.js +1 -15
  139. package/lib/Routers/ClassesRouter.js +3 -53
  140. package/lib/Routers/CloudCodeRouter.js +1 -19
  141. package/lib/Routers/FeaturesRouter.js +1 -10
  142. package/lib/Routers/FilesRouter.js +29 -76
  143. package/lib/Routers/FunctionsRouter.js +5 -28
  144. package/lib/Routers/GlobalConfigRouter.js +4 -18
  145. package/lib/Routers/GraphQLRouter.js +1 -14
  146. package/lib/Routers/HooksRouter.js +1 -29
  147. package/lib/Routers/IAPValidationRouter.js +6 -29
  148. package/lib/Routers/InstallationsRouter.js +2 -12
  149. package/lib/Routers/LogsRouter.js +4 -16
  150. package/lib/Routers/PagesRouter.js +69 -129
  151. package/lib/Routers/PublicAPIRouter.js +3 -62
  152. package/lib/Routers/PurgeRouter.js +1 -15
  153. package/lib/Routers/PushRouter.js +2 -18
  154. package/lib/Routers/RolesRouter.js +1 -7
  155. package/lib/Routers/SchemasRouter.js +4 -34
  156. package/lib/Routers/SecurityRouter.js +1 -12
  157. package/lib/Routers/SessionsRouter.js +3 -19
  158. package/lib/Routers/UsersRouter.js +48 -135
  159. package/lib/SchemaMigrations/DefinedSchemas.js +56 -115
  160. package/lib/SchemaMigrations/Migrations.js +2 -8
  161. package/lib/Security/Check.js +8 -16
  162. package/lib/Security/CheckGroup.js +4 -11
  163. package/lib/Security/CheckGroups/CheckGroupDatabase.js +8 -18
  164. package/lib/Security/CheckGroups/CheckGroupServerConfig.js +5 -15
  165. package/lib/Security/CheckGroups/CheckGroups.js +1 -4
  166. package/lib/Security/CheckRunner.js +22 -41
  167. package/lib/StatusHandler.js +12 -69
  168. package/lib/TestUtils.js +1 -6
  169. package/lib/Utils.js +27 -66
  170. package/lib/batch.js +17 -28
  171. package/lib/cache.js +1 -3
  172. package/lib/cli/definitions/parse-live-query-server.js +1 -3
  173. package/lib/cli/definitions/parse-server.js +1 -3
  174. package/lib/cli/parse-live-query-server.js +1 -6
  175. package/lib/cli/parse-server.js +11 -21
  176. package/lib/cli/utils/commander.js +13 -51
  177. package/lib/cli/utils/runner.js +1 -14
  178. package/lib/cloud-code/Parse.Cloud.js +71 -81
  179. package/lib/cryptoUtils.js +11 -19
  180. package/lib/defaults.js +2 -14
  181. package/lib/deprecated.js +1 -2
  182. package/lib/index.js +16 -34
  183. package/lib/logger.js +6 -13
  184. package/lib/middlewares.js +166 -148
  185. package/lib/password.js +6 -10
  186. package/lib/request.js +8 -42
  187. package/lib/requiredParameter.js +1 -3
  188. package/lib/rest.js +25 -47
  189. package/lib/triggers.js +54 -252
  190. package/lib/vendor/mongodbUrl.js +129 -310
  191. package/package.json +13 -10
  192. package/PATENTS +0 -37
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parse-server",
3
- "version": "6.0.0-alpha.9",
3
+ "version": "6.0.0-beta.1",
4
4
  "description": "An express module providing a Parse-compatible API server",
5
5
  "main": "lib/index.js",
6
6
  "repository": {
@@ -13,12 +13,13 @@
13
13
  "public_html/",
14
14
  "views/",
15
15
  "LICENSE",
16
- "PATENTS",
16
+ "NOTICE",
17
17
  "postinstall.js",
18
18
  "README.md"
19
19
  ],
20
- "license": "BSD-3-Clause",
20
+ "license": "Apache-2.0",
21
21
  "dependencies": {
22
+ "@babel/eslint-parser": "7.19.1",
22
23
  "@graphql-tools/merge": "8.3.6",
23
24
  "@graphql-tools/schema": "9.0.4",
24
25
  "@graphql-tools/utils": "8.12.0",
@@ -31,6 +32,7 @@
31
32
  "cors": "2.8.5",
32
33
  "deepcopy": "2.1.0",
33
34
  "express": "4.18.2",
35
+ "express-rate-limit": "6.6.0",
34
36
  "follow-redirects": "1.15.2",
35
37
  "graphql": "16.6.0",
36
38
  "graphql-list-fields": "2.0.2",
@@ -46,7 +48,8 @@
46
48
  "mime": "3.0.0",
47
49
  "mongodb": "4.10.0",
48
50
  "mustache": "4.2.0",
49
- "parse": "3.4.2",
51
+ "parse": "4.0.1",
52
+ "path-to-regexp": "0.1.7",
50
53
  "pg-monitor": "1.5.0",
51
54
  "pg-promise": "10.12.1",
52
55
  "pluralize": "8.0.0",
@@ -63,7 +66,7 @@
63
66
  "@actions/core": "1.9.1",
64
67
  "@apollo/client": "3.6.1",
65
68
  "@babel/cli": "7.10.0",
66
- "@babel/core": "7.10.0",
69
+ "@babel/core": "7.20.2",
67
70
  "@babel/plugin-proposal-object-rest-spread": "7.10.0",
68
71
  "@babel/plugin-transform-flow-strip-types": "7.9.0",
69
72
  "@babel/preset-env": "7.10.0",
@@ -76,14 +79,12 @@
76
79
  "@semantic-release/npm": "7.1.3",
77
80
  "@semantic-release/release-notes-generator": "9.0.3",
78
81
  "all-node-versions": "8.0.0",
79
- "apollo-upload-client": "16.0.0",
80
- "apollo-utilities": "1.3.4",
81
- "babel-eslint": "10.1.0",
82
+ "apollo-upload-client": "17.0.0",
82
83
  "bcrypt-nodejs": "0.0.3",
83
84
  "cross-env": "7.0.2",
84
85
  "deep-diff": "1.0.2",
85
- "eslint": "6.8.0",
86
- "eslint-plugin-flowtype": "5.1.3",
86
+ "eslint": "8.26.0",
87
+ "eslint-plugin-flowtype": "8.0.3",
87
88
  "flow-bin": "0.119.1",
88
89
  "form-data": "3.0.0",
89
90
  "graphql-tag": "2.12.6",
@@ -98,6 +99,7 @@
98
99
  "mock-mail-adapter": "file:spec/dependencies/mock-mail-adapter",
99
100
  "mongodb-runner": "4.8.1",
100
101
  "mongodb-version-list": "1.0.0",
102
+ "node-abort-controller": "3.0.1",
101
103
  "node-fetch": "3.2.10",
102
104
  "nyc": "15.1.0",
103
105
  "prettier": "2.0.5",
@@ -107,6 +109,7 @@
107
109
  "scripts": {
108
110
  "ci:check": "node ./ci/ciCheck.js",
109
111
  "ci:checkNodeEngine": "node ./ci/nodeEngineCheck.js",
112
+ "ci:definitionsCheck": "node ./ci/definitionsCheck.js",
110
113
  "definitions": "node ./resources/buildConfigDefinitions.js && prettier --write 'src/Options/*.js'",
111
114
  "docs": "jsdoc -c ./jsdoc-conf.json",
112
115
  "lint": "flow && eslint --cache ./",
package/PATENTS DELETED
@@ -1,37 +0,0 @@
1
- Additional Grant of Patent Rights Version 2
2
-
3
- "Software" means the Parse Server software distributed by Parse, LLC.
4
-
5
- Parse, LLC. ("Parse") hereby grants to each recipient of the Software
6
- ("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable
7
- (subject to the termination provision below) license under any Necessary
8
- Claims, to make, have made, use, sell, offer to sell, import, and otherwise
9
- transfer the Software. For avoidance of doubt, no license is granted under
10
- Parse’s rights in any patent claims that are infringed by (i) modifications
11
- to the Software made by you or any third party or (ii) the Software in
12
- combination with any software or other technology.
13
-
14
- The license granted hereunder will terminate, automatically and without notice,
15
- if you (or any of your subsidiaries, corporate affiliates or agents) initiate
16
- directly or indirectly, or take a direct financial interest in, any Patent
17
- Assertion: (i) against Parse or any of its subsidiaries or corporate
18
- affiliates, (ii) against any party if such Patent Assertion arises in whole or
19
- in part from any software, technology, product or service of Parse or any of
20
- its subsidiaries or corporate affiliates, or (iii) against any party relating
21
- to the Software. Notwithstanding the foregoing, if Parse or any of its
22
- subsidiaries or corporate affiliates files a lawsuit alleging patent
23
- infringement against you in the first instance, and you respond by filing a
24
- patent infringement counterclaim in that lawsuit against that party that is
25
- unrelated to the Software, the license granted hereunder will not terminate
26
- under section (i) of this paragraph due to such counterclaim.
27
-
28
- A "Necessary Claim" is a claim of a patent owned by Parse that is
29
- necessarily infringed by the Software standing alone.
30
-
31
- A "Patent Assertion" is any lawsuit or other action alleging direct, indirect,
32
- or contributory infringement or inducement to infringe any patent, including a
33
- cross-claim or counterclaim.
34
-
35
- -----
36
-
37
- As of April 5, 2017, Parse, LLC has transferred this code to the parse-community organization, and will no longer be contributing to or distributing this code.