@beiguancyc/parse-server 9.9.0-ruixiang.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 (251) hide show
  1. package/LICENSE +176 -0
  2. package/NOTICE +10 -0
  3. package/README.md +1311 -0
  4. package/bin/parse-live-query-server +3 -0
  5. package/bin/parse-server +3 -0
  6. package/lib/AccountLockout.js +149 -0
  7. package/lib/Adapters/AdapterLoader.js +60 -0
  8. package/lib/Adapters/Analytics/AnalyticsAdapter.js +32 -0
  9. package/lib/Adapters/Auth/AuthAdapter.js +132 -0
  10. package/lib/Adapters/Auth/BaseCodeAuthAdapter.js +119 -0
  11. package/lib/Adapters/Auth/OAuth1Client.js +204 -0
  12. package/lib/Adapters/Auth/apple.js +125 -0
  13. package/lib/Adapters/Auth/facebook.js +187 -0
  14. package/lib/Adapters/Auth/gcenter.js +217 -0
  15. package/lib/Adapters/Auth/github.js +125 -0
  16. package/lib/Adapters/Auth/google.js +122 -0
  17. package/lib/Adapters/Auth/gpgames.js +125 -0
  18. package/lib/Adapters/Auth/httpsRequest.js +41 -0
  19. package/lib/Adapters/Auth/index.js +248 -0
  20. package/lib/Adapters/Auth/instagram.js +118 -0
  21. package/lib/Adapters/Auth/janraincapture.js +85 -0
  22. package/lib/Adapters/Auth/janrainengage.js +57 -0
  23. package/lib/Adapters/Auth/keycloak.js +168 -0
  24. package/lib/Adapters/Auth/ldap.js +193 -0
  25. package/lib/Adapters/Auth/line.js +125 -0
  26. package/lib/Adapters/Auth/linkedin.js +117 -0
  27. package/lib/Adapters/Auth/meetup.js +44 -0
  28. package/lib/Adapters/Auth/mfa.js +334 -0
  29. package/lib/Adapters/Auth/microsoft.js +111 -0
  30. package/lib/Adapters/Auth/oauth2.js +115 -0
  31. package/lib/Adapters/Auth/phantauth.js +53 -0
  32. package/lib/Adapters/Auth/qq.js +113 -0
  33. package/lib/Adapters/Auth/spotify.js +115 -0
  34. package/lib/Adapters/Auth/twitter.js +197 -0
  35. package/lib/Adapters/Auth/utils.js +28 -0
  36. package/lib/Adapters/Auth/vkontakte.js +55 -0
  37. package/lib/Adapters/Auth/wechat.js +110 -0
  38. package/lib/Adapters/Auth/weibo.js +141 -0
  39. package/lib/Adapters/Cache/CacheAdapter.js +40 -0
  40. package/lib/Adapters/Cache/InMemoryCache.js +61 -0
  41. package/lib/Adapters/Cache/InMemoryCacheAdapter.js +34 -0
  42. package/lib/Adapters/Cache/LRUCache.js +35 -0
  43. package/lib/Adapters/Cache/NullCacheAdapter.js +26 -0
  44. package/lib/Adapters/Cache/RedisCacheAdapter.js +109 -0
  45. package/lib/Adapters/Cache/SchemaCache.js +25 -0
  46. package/lib/Adapters/Email/MailAdapter.js +32 -0
  47. package/lib/Adapters/Files/FilesAdapter.js +129 -0
  48. package/lib/Adapters/Files/GridFSBucketAdapter.js +280 -0
  49. package/lib/Adapters/Files/GridStoreAdapter.js +5 -0
  50. package/lib/Adapters/Logger/LoggerAdapter.js +27 -0
  51. package/lib/Adapters/Logger/WinstonLogger.js +107 -0
  52. package/lib/Adapters/Logger/WinstonLoggerAdapter.js +63 -0
  53. package/lib/Adapters/MessageQueue/EventEmitterMQ.js +55 -0
  54. package/lib/Adapters/PubSub/EventEmitterPubSub.js +53 -0
  55. package/lib/Adapters/PubSub/PubSubAdapter.js +34 -0
  56. package/lib/Adapters/PubSub/RedisPubSub.js +49 -0
  57. package/lib/Adapters/Push/PushAdapter.js +40 -0
  58. package/lib/Adapters/Storage/Mongo/MongoCollection.js +212 -0
  59. package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +334 -0
  60. package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +1047 -0
  61. package/lib/Adapters/Storage/Mongo/MongoTransform.js +1397 -0
  62. package/lib/Adapters/Storage/Postgres/PostgresClient.js +38 -0
  63. package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +73 -0
  64. package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +2409 -0
  65. package/lib/Adapters/Storage/Postgres/sql/array/add-unique.sql +11 -0
  66. package/lib/Adapters/Storage/Postgres/sql/array/add.sql +11 -0
  67. package/lib/Adapters/Storage/Postgres/sql/array/contains-all-regex.sql +14 -0
  68. package/lib/Adapters/Storage/Postgres/sql/array/contains-all.sql +14 -0
  69. package/lib/Adapters/Storage/Postgres/sql/array/contains.sql +11 -0
  70. package/lib/Adapters/Storage/Postgres/sql/array/remove.sql +11 -0
  71. package/lib/Adapters/Storage/Postgres/sql/index.js +32 -0
  72. package/lib/Adapters/Storage/Postgres/sql/misc/json-object-set-keys.sql +19 -0
  73. package/lib/Adapters/Storage/StorageAdapter.js +2 -0
  74. package/lib/Adapters/WebSocketServer/WSAdapter.js +35 -0
  75. package/lib/Adapters/WebSocketServer/WSSAdapter.js +66 -0
  76. package/lib/Auth.js +687 -0
  77. package/lib/AuthDataLock.js +53 -0
  78. package/lib/ClientSDK.js +39 -0
  79. package/lib/Config.js +879 -0
  80. package/lib/Controllers/AdaptableController.js +72 -0
  81. package/lib/Controllers/AnalyticsController.js +43 -0
  82. package/lib/Controllers/CacheController.js +71 -0
  83. package/lib/Controllers/DatabaseController.js +1685 -0
  84. package/lib/Controllers/FilesController.js +122 -0
  85. package/lib/Controllers/HooksController.js +254 -0
  86. package/lib/Controllers/LiveQueryController.js +72 -0
  87. package/lib/Controllers/LoggerController.js +222 -0
  88. package/lib/Controllers/ParseGraphQLController.js +294 -0
  89. package/lib/Controllers/PushController.js +224 -0
  90. package/lib/Controllers/SchemaController.js +1563 -0
  91. package/lib/Controllers/UserController.js +364 -0
  92. package/lib/Controllers/index.js +251 -0
  93. package/lib/Controllers/types.js +2 -0
  94. package/lib/Deprecator/Deprecations.js +100 -0
  95. package/lib/Deprecator/Deprecator.js +140 -0
  96. package/lib/Error.js +50 -0
  97. package/lib/FileUrlValidator.js +69 -0
  98. package/lib/GraphQL/ParseGraphQLSchema.js +375 -0
  99. package/lib/GraphQL/ParseGraphQLServer.js +241 -0
  100. package/lib/GraphQL/helpers/objectsMutations.js +30 -0
  101. package/lib/GraphQL/helpers/objectsQueries.js +246 -0
  102. package/lib/GraphQL/helpers/queryComplexity.js +138 -0
  103. package/lib/GraphQL/loaders/configMutations.js +87 -0
  104. package/lib/GraphQL/loaders/configQueries.js +79 -0
  105. package/lib/GraphQL/loaders/defaultGraphQLMutations.js +21 -0
  106. package/lib/GraphQL/loaders/defaultGraphQLQueries.js +23 -0
  107. package/lib/GraphQL/loaders/defaultGraphQLTypes.js +1099 -0
  108. package/lib/GraphQL/loaders/defaultRelaySchema.js +53 -0
  109. package/lib/GraphQL/loaders/filesMutations.js +107 -0
  110. package/lib/GraphQL/loaders/functionsMutations.js +77 -0
  111. package/lib/GraphQL/loaders/parseClassMutations.js +267 -0
  112. package/lib/GraphQL/loaders/parseClassQueries.js +126 -0
  113. package/lib/GraphQL/loaders/parseClassTypes.js +493 -0
  114. package/lib/GraphQL/loaders/schemaDirectives.js +62 -0
  115. package/lib/GraphQL/loaders/schemaMutations.js +161 -0
  116. package/lib/GraphQL/loaders/schemaQueries.js +80 -0
  117. package/lib/GraphQL/loaders/schemaTypes.js +341 -0
  118. package/lib/GraphQL/loaders/usersMutations.js +433 -0
  119. package/lib/GraphQL/loaders/usersQueries.js +90 -0
  120. package/lib/GraphQL/parseGraphQLUtils.js +71 -0
  121. package/lib/GraphQL/transformers/className.js +14 -0
  122. package/lib/GraphQL/transformers/constraintType.js +53 -0
  123. package/lib/GraphQL/transformers/inputType.js +51 -0
  124. package/lib/GraphQL/transformers/mutation.js +280 -0
  125. package/lib/GraphQL/transformers/outputType.js +51 -0
  126. package/lib/GraphQL/transformers/query.js +237 -0
  127. package/lib/GraphQL/transformers/schemaFields.js +99 -0
  128. package/lib/InstallationDedup.js +178 -0
  129. package/lib/KeyPromiseQueue.js +48 -0
  130. package/lib/LiveQuery/Client.js +90 -0
  131. package/lib/LiveQuery/Id.js +20 -0
  132. package/lib/LiveQuery/ParseCloudCodePublisher.js +54 -0
  133. package/lib/LiveQuery/ParseLiveQueryServer.js +1071 -0
  134. package/lib/LiveQuery/ParsePubSub.js +37 -0
  135. package/lib/LiveQuery/ParseWebSocketServer.js +66 -0
  136. package/lib/LiveQuery/QueryTools.js +443 -0
  137. package/lib/LiveQuery/RequestSchema.js +161 -0
  138. package/lib/LiveQuery/SessionTokenCache.js +51 -0
  139. package/lib/LiveQuery/Subscription.js +47 -0
  140. package/lib/LiveQuery/equalObjects.js +50 -0
  141. package/lib/Options/Definitions.js +1599 -0
  142. package/lib/Options/docs.js +389 -0
  143. package/lib/Options/index.js +12 -0
  144. package/lib/Options/parsers.js +89 -0
  145. package/lib/Page.js +44 -0
  146. package/lib/ParseMessageQueue.js +24 -0
  147. package/lib/ParseServer.js +632 -0
  148. package/lib/ParseServerRESTController.js +173 -0
  149. package/lib/PromiseRouter.js +208 -0
  150. package/lib/Push/PushQueue.js +67 -0
  151. package/lib/Push/PushWorker.js +101 -0
  152. package/lib/Push/utils.js +129 -0
  153. package/lib/RestQuery.js +1208 -0
  154. package/lib/RestWrite.js +1671 -0
  155. package/lib/Routers/AggregateRouter.js +150 -0
  156. package/lib/Routers/AnalyticsRouter.js +26 -0
  157. package/lib/Routers/AudiencesRouter.js +54 -0
  158. package/lib/Routers/ClassesRouter.js +191 -0
  159. package/lib/Routers/CloudCodeRouter.js +87 -0
  160. package/lib/Routers/FeaturesRouter.js +72 -0
  161. package/lib/Routers/FilesRouter.js +772 -0
  162. package/lib/Routers/FunctionsRouter.js +341 -0
  163. package/lib/Routers/GlobalConfigRouter.js +123 -0
  164. package/lib/Routers/GraphQLRouter.js +41 -0
  165. package/lib/Routers/HooksRouter.js +121 -0
  166. package/lib/Routers/IAPValidationRouter.js +113 -0
  167. package/lib/Routers/InstallationsRouter.js +46 -0
  168. package/lib/Routers/LogsRouter.js +57 -0
  169. package/lib/Routers/PagesRouter.js +676 -0
  170. package/lib/Routers/PurgeRouter.js +45 -0
  171. package/lib/Routers/PushRouter.js +75 -0
  172. package/lib/Routers/RolesRouter.js +33 -0
  173. package/lib/Routers/SchemasRouter.js +118 -0
  174. package/lib/Routers/SecurityRouter.js +34 -0
  175. package/lib/Routers/SessionsRouter.js +126 -0
  176. package/lib/Routers/UsersRouter.js +733 -0
  177. package/lib/SchemaMigrations/DefinedSchemas.js +379 -0
  178. package/lib/SchemaMigrations/Migrations.js +30 -0
  179. package/lib/Security/Check.js +109 -0
  180. package/lib/Security/CheckGroup.js +44 -0
  181. package/lib/Security/CheckGroups/CheckGroupDatabase.js +44 -0
  182. package/lib/Security/CheckGroups/CheckGroupServerConfig.js +160 -0
  183. package/lib/Security/CheckGroups/CheckGroups.js +21 -0
  184. package/lib/Security/CheckRunner.js +213 -0
  185. package/lib/SharedRest.js +34 -0
  186. package/lib/StatusHandler.js +329 -0
  187. package/lib/TestUtils.js +87 -0
  188. package/lib/Utils.js +577 -0
  189. package/lib/batch.js +185 -0
  190. package/lib/cache.js +12 -0
  191. package/lib/cli/definitions/parse-live-query-server.js +9 -0
  192. package/lib/cli/definitions/parse-server.js +9 -0
  193. package/lib/cli/parse-live-query-server.js +14 -0
  194. package/lib/cli/parse-server.js +101 -0
  195. package/lib/cli/utils/commander.js +132 -0
  196. package/lib/cli/utils/runner.js +53 -0
  197. package/lib/cloud-code/Parse.Cloud.js +797 -0
  198. package/lib/cloud-code/Parse.Server.js +21 -0
  199. package/lib/cryptoUtils.js +54 -0
  200. package/lib/defaults.js +58 -0
  201. package/lib/deprecated.js +12 -0
  202. package/lib/index.js +89 -0
  203. package/lib/logger.js +40 -0
  204. package/lib/middlewares.js +810 -0
  205. package/lib/password.js +40 -0
  206. package/lib/request.js +175 -0
  207. package/lib/requiredParameter.js +11 -0
  208. package/lib/rest.js +264 -0
  209. package/lib/triggers.js +949 -0
  210. package/lib/vendor/README.md +8 -0
  211. package/lib/vendor/mongodbUrl.js +1012 -0
  212. package/package.json +172 -0
  213. package/postinstall.js +38 -0
  214. package/public/custom_json.html +17 -0
  215. package/public/custom_json.json +23 -0
  216. package/public/custom_page.html +15 -0
  217. package/public/de/email_verification_link_expired.html +24 -0
  218. package/public/de/email_verification_link_invalid.html +21 -0
  219. package/public/de/email_verification_send_fail.html +21 -0
  220. package/public/de/email_verification_send_success.html +19 -0
  221. package/public/de/email_verification_success.html +18 -0
  222. package/public/de/password_reset.html +65 -0
  223. package/public/de/password_reset_link_invalid.html +19 -0
  224. package/public/de/password_reset_success.html +18 -0
  225. package/public/de-AT/email_verification_link_expired.html +24 -0
  226. package/public/de-AT/email_verification_link_invalid.html +21 -0
  227. package/public/de-AT/email_verification_send_fail.html +21 -0
  228. package/public/de-AT/email_verification_send_success.html +19 -0
  229. package/public/de-AT/email_verification_success.html +18 -0
  230. package/public/de-AT/password_reset.html +65 -0
  231. package/public/de-AT/password_reset_link_invalid.html +19 -0
  232. package/public/de-AT/password_reset_success.html +18 -0
  233. package/public/email_verification_link_expired.html +24 -0
  234. package/public/email_verification_link_invalid.html +21 -0
  235. package/public/email_verification_send_fail.html +21 -0
  236. package/public/email_verification_send_success.html +19 -0
  237. package/public/email_verification_success.html +18 -0
  238. package/public/password_reset.html +65 -0
  239. package/public/password_reset_link_invalid.html +19 -0
  240. package/public/password_reset_success.html +18 -0
  241. package/types/@types/@parse/fs-files-adapter/index.d.ts +5 -0
  242. package/types/@types/deepcopy/index.d.ts +5 -0
  243. package/types/LiveQuery/ParseLiveQueryServer.d.ts +40 -0
  244. package/types/Options/index.d.ts +320 -0
  245. package/types/ParseServer.d.ts +65 -0
  246. package/types/eslint.config.mjs +30 -0
  247. package/types/index.d.ts +21 -0
  248. package/types/logger.d.ts +2 -0
  249. package/types/tests.ts +44 -0
  250. package/types/tsconfig.json +24 -0
  251. package/views/choose_password +215 -0
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Client = void 0;
7
+ var _logger = _interopRequireDefault(require("../logger"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ const dafaultFields = ['className', 'objectId', 'updatedAt', 'createdAt', 'ACL'];
10
+ class Client {
11
+ constructor(id, parseWebSocket, hasMasterKey = false, sessionToken, installationId) {
12
+ this.id = id;
13
+ this.parseWebSocket = parseWebSocket;
14
+ this.hasMasterKey = hasMasterKey;
15
+ this.sessionToken = sessionToken;
16
+ this.installationId = installationId;
17
+ this.roles = [];
18
+ this.subscriptionInfos = new Map();
19
+ this.pushConnect = this._pushEvent('connected');
20
+ this.pushSubscribe = this._pushEvent('subscribed');
21
+ this.pushUnsubscribe = this._pushEvent('unsubscribed');
22
+ this.pushCreate = this._pushEvent('create');
23
+ this.pushEnter = this._pushEvent('enter');
24
+ this.pushUpdate = this._pushEvent('update');
25
+ this.pushDelete = this._pushEvent('delete');
26
+ this.pushLeave = this._pushEvent('leave');
27
+ }
28
+ static pushResponse(parseWebSocket, message) {
29
+ _logger.default.verbose('Push Response : %j', message);
30
+ parseWebSocket.send(message);
31
+ }
32
+ static pushError(parseWebSocket, code, error, reconnect = true, requestId = null) {
33
+ Client.pushResponse(parseWebSocket, JSON.stringify({
34
+ op: 'error',
35
+ error,
36
+ code,
37
+ reconnect,
38
+ requestId
39
+ }));
40
+ }
41
+ addSubscriptionInfo(requestId, subscriptionInfo) {
42
+ this.subscriptionInfos.set(requestId, subscriptionInfo);
43
+ }
44
+ getSubscriptionInfo(requestId) {
45
+ return this.subscriptionInfos.get(requestId);
46
+ }
47
+ deleteSubscriptionInfo(requestId) {
48
+ return this.subscriptionInfos.delete(requestId);
49
+ }
50
+ _pushEvent(type) {
51
+ return function (subscriptionId, parseObjectJSON, parseOriginalObjectJSON) {
52
+ const response = {
53
+ op: type,
54
+ clientId: this.id,
55
+ installationId: this.installationId
56
+ };
57
+ if (typeof subscriptionId !== 'undefined') {
58
+ response['requestId'] = subscriptionId;
59
+ }
60
+ if (typeof parseObjectJSON !== 'undefined') {
61
+ let keys;
62
+ if (this.subscriptionInfos.has(subscriptionId)) {
63
+ keys = this.subscriptionInfos.get(subscriptionId).keys;
64
+ }
65
+ response['object'] = this._toJSONWithFields(parseObjectJSON, keys);
66
+ if (parseOriginalObjectJSON) {
67
+ response['original'] = this._toJSONWithFields(parseOriginalObjectJSON, keys);
68
+ }
69
+ }
70
+ Client.pushResponse(this.parseWebSocket, JSON.stringify(response));
71
+ };
72
+ }
73
+ _toJSONWithFields(parseObjectJSON, fields) {
74
+ if (!fields) {
75
+ return parseObjectJSON;
76
+ }
77
+ const limitedParseObject = {};
78
+ for (const field of dafaultFields) {
79
+ limitedParseObject[field] = parseObjectJSON[field];
80
+ }
81
+ for (const field of fields) {
82
+ if (field in parseObjectJSON) {
83
+ limitedParseObject[field] = parseObjectJSON[field];
84
+ }
85
+ }
86
+ return limitedParseObject;
87
+ }
88
+ }
89
+ exports.Client = Client;
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkYWZhdWx0RmllbGRzIiwiQ2xpZW50IiwiY29uc3RydWN0b3IiLCJpZCIsInBhcnNlV2ViU29ja2V0IiwiaGFzTWFzdGVyS2V5Iiwic2Vzc2lvblRva2VuIiwiaW5zdGFsbGF0aW9uSWQiLCJyb2xlcyIsInN1YnNjcmlwdGlvbkluZm9zIiwiTWFwIiwicHVzaENvbm5lY3QiLCJfcHVzaEV2ZW50IiwicHVzaFN1YnNjcmliZSIsInB1c2hVbnN1YnNjcmliZSIsInB1c2hDcmVhdGUiLCJwdXNoRW50ZXIiLCJwdXNoVXBkYXRlIiwicHVzaERlbGV0ZSIsInB1c2hMZWF2ZSIsInB1c2hSZXNwb25zZSIsIm1lc3NhZ2UiLCJsb2dnZXIiLCJ2ZXJib3NlIiwic2VuZCIsInB1c2hFcnJvciIsImNvZGUiLCJlcnJvciIsInJlY29ubmVjdCIsInJlcXVlc3RJZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJvcCIsImFkZFN1YnNjcmlwdGlvbkluZm8iLCJzdWJzY3JpcHRpb25JbmZvIiwic2V0IiwiZ2V0U3Vic2NyaXB0aW9uSW5mbyIsImdldCIsImRlbGV0ZVN1YnNjcmlwdGlvbkluZm8iLCJkZWxldGUiLCJ0eXBlIiwic3Vic2NyaXB0aW9uSWQiLCJwYXJzZU9iamVjdEpTT04iLCJwYXJzZU9yaWdpbmFsT2JqZWN0SlNPTiIsInJlc3BvbnNlIiwiY2xpZW50SWQiLCJrZXlzIiwiaGFzIiwiX3RvSlNPTldpdGhGaWVsZHMiLCJmaWVsZHMiLCJsaW1pdGVkUGFyc2VPYmplY3QiLCJmaWVsZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvTGl2ZVF1ZXJ5L0NsaWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbG9nZ2VyIGZyb20gJy4uL2xvZ2dlcic7XG5cbmltcG9ydCB0eXBlIHsgRmxhdHRlbmVkT2JqZWN0RGF0YSB9IGZyb20gJy4vU3Vic2NyaXB0aW9uJztcbmV4cG9ydCB0eXBlIE1lc3NhZ2UgPSB7IFthdHRyOiBzdHJpbmddOiBhbnkgfTtcblxuY29uc3QgZGFmYXVsdEZpZWxkcyA9IFsnY2xhc3NOYW1lJywgJ29iamVjdElkJywgJ3VwZGF0ZWRBdCcsICdjcmVhdGVkQXQnLCAnQUNMJ107XG5cbmNsYXNzIENsaWVudCB7XG4gIGlkOiBudW1iZXI7XG4gIHBhcnNlV2ViU29ja2V0OiBhbnk7XG4gIGhhc01hc3RlcktleTogYm9vbGVhbjtcbiAgc2Vzc2lvblRva2VuOiBzdHJpbmc7XG4gIGluc3RhbGxhdGlvbklkOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICByb2xlczogQXJyYXk8c3RyaW5nPjtcbiAgc3Vic2NyaXB0aW9uSW5mb3M6IE9iamVjdDtcbiAgcHVzaENvbm5lY3Q6IEZ1bmN0aW9uO1xuICBwdXNoU3Vic2NyaWJlOiBGdW5jdGlvbjtcbiAgcHVzaFVuc3Vic2NyaWJlOiBGdW5jdGlvbjtcbiAgcHVzaENyZWF0ZTogRnVuY3Rpb247XG4gIHB1c2hFbnRlcjogRnVuY3Rpb247XG4gIHB1c2hVcGRhdGU6IEZ1bmN0aW9uO1xuICBwdXNoRGVsZXRlOiBGdW5jdGlvbjtcbiAgcHVzaExlYXZlOiBGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogbnVtYmVyLFxuICAgIHBhcnNlV2ViU29ja2V0OiBhbnksXG4gICAgaGFzTWFzdGVyS2V5OiBib29sZWFuID0gZmFsc2UsXG4gICAgc2Vzc2lvblRva2VuOiBzdHJpbmcsXG4gICAgaW5zdGFsbGF0aW9uSWQ6IHN0cmluZ1xuICApIHtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5wYXJzZVdlYlNvY2tldCA9IHBhcnNlV2ViU29ja2V0O1xuICAgIHRoaXMuaGFzTWFzdGVyS2V5ID0gaGFzTWFzdGVyS2V5O1xuICAgIHRoaXMuc2Vzc2lvblRva2VuID0gc2Vzc2lvblRva2VuO1xuICAgIHRoaXMuaW5zdGFsbGF0aW9uSWQgPSBpbnN0YWxsYXRpb25JZDtcbiAgICB0aGlzLnJvbGVzID0gW107XG4gICAgdGhpcy5zdWJzY3JpcHRpb25JbmZvcyA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLnB1c2hDb25uZWN0ID0gdGhpcy5fcHVzaEV2ZW50KCdjb25uZWN0ZWQnKTtcbiAgICB0aGlzLnB1c2hTdWJzY3JpYmUgPSB0aGlzLl9wdXNoRXZlbnQoJ3N1YnNjcmliZWQnKTtcbiAgICB0aGlzLnB1c2hVbnN1YnNjcmliZSA9IHRoaXMuX3B1c2hFdmVudCgndW5zdWJzY3JpYmVkJyk7XG4gICAgdGhpcy5wdXNoQ3JlYXRlID0gdGhpcy5fcHVzaEV2ZW50KCdjcmVhdGUnKTtcbiAgICB0aGlzLnB1c2hFbnRlciA9IHRoaXMuX3B1c2hFdmVudCgnZW50ZXInKTtcbiAgICB0aGlzLnB1c2hVcGRhdGUgPSB0aGlzLl9wdXNoRXZlbnQoJ3VwZGF0ZScpO1xuICAgIHRoaXMucHVzaERlbGV0ZSA9IHRoaXMuX3B1c2hFdmVudCgnZGVsZXRlJyk7XG4gICAgdGhpcy5wdXNoTGVhdmUgPSB0aGlzLl9wdXNoRXZlbnQoJ2xlYXZlJyk7XG4gIH1cblxuICBzdGF0aWMgcHVzaFJlc3BvbnNlKHBhcnNlV2ViU29ja2V0OiBhbnksIG1lc3NhZ2U6IE1lc3NhZ2UpOiB2b2lkIHtcbiAgICBsb2dnZXIudmVyYm9zZSgnUHVzaCBSZXNwb25zZSA6ICVqJywgbWVzc2FnZSk7XG4gICAgcGFyc2VXZWJTb2NrZXQuc2VuZChtZXNzYWdlKTtcbiAgfVxuXG4gIHN0YXRpYyBwdXNoRXJyb3IoXG4gICAgcGFyc2VXZWJTb2NrZXQ6IGFueSxcbiAgICBjb2RlOiBudW1iZXIsXG4gICAgZXJyb3I6IHN0cmluZyxcbiAgICByZWNvbm5lY3Q6IGJvb2xlYW4gPSB0cnVlLFxuICAgIHJlcXVlc3RJZDogbnVtYmVyIHwgdm9pZCA9IG51bGxcbiAgKTogdm9pZCB7XG4gICAgQ2xpZW50LnB1c2hSZXNwb25zZShcbiAgICAgIHBhcnNlV2ViU29ja2V0LFxuICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBvcDogJ2Vycm9yJyxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGNvZGUsXG4gICAgICAgIHJlY29ubmVjdCxcbiAgICAgICAgcmVxdWVzdElkLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYWRkU3Vic2NyaXB0aW9uSW5mbyhyZXF1ZXN0SWQ6IG51bWJlciwgc3Vic2NyaXB0aW9uSW5mbzogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25JbmZvcy5zZXQocmVxdWVzdElkLCBzdWJzY3JpcHRpb25JbmZvKTtcbiAgfVxuXG4gIGdldFN1YnNjcmlwdGlvbkluZm8ocmVxdWVzdElkOiBudW1iZXIpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbkluZm9zLmdldChyZXF1ZXN0SWQpO1xuICB9XG5cbiAgZGVsZXRlU3Vic2NyaXB0aW9uSW5mbyhyZXF1ZXN0SWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbkluZm9zLmRlbGV0ZShyZXF1ZXN0SWQpO1xuICB9XG5cbiAgX3B1c2hFdmVudCh0eXBlOiBzdHJpbmcpOiBGdW5jdGlvbiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChcbiAgICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXIsXG4gICAgICBwYXJzZU9iamVjdEpTT046IGFueSxcbiAgICAgIHBhcnNlT3JpZ2luYWxPYmplY3RKU09OOiBhbnlcbiAgICApOiB2b2lkIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBNZXNzYWdlID0ge1xuICAgICAgICBvcDogdHlwZSxcbiAgICAgICAgY2xpZW50SWQ6IHRoaXMuaWQsXG4gICAgICAgIGluc3RhbGxhdGlvbklkOiB0aGlzLmluc3RhbGxhdGlvbklkLFxuICAgICAgfTtcbiAgICAgIGlmICh0eXBlb2Ygc3Vic2NyaXB0aW9uSWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJlc3BvbnNlWydyZXF1ZXN0SWQnXSA9IHN1YnNjcmlwdGlvbklkO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBwYXJzZU9iamVjdEpTT04gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGxldCBrZXlzO1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25JbmZvcy5oYXMoc3Vic2NyaXB0aW9uSWQpKSB7XG4gICAgICAgICAga2V5cyA9IHRoaXMuc3Vic2NyaXB0aW9uSW5mb3MuZ2V0KHN1YnNjcmlwdGlvbklkKS5rZXlzO1xuICAgICAgICB9XG4gICAgICAgIHJlc3BvbnNlWydvYmplY3QnXSA9IHRoaXMuX3RvSlNPTldpdGhGaWVsZHMocGFyc2VPYmplY3RKU09OLCBrZXlzKTtcbiAgICAgICAgaWYgKHBhcnNlT3JpZ2luYWxPYmplY3RKU09OKSB7XG4gICAgICAgICAgcmVzcG9uc2VbJ29yaWdpbmFsJ10gPSB0aGlzLl90b0pTT05XaXRoRmllbGRzKHBhcnNlT3JpZ2luYWxPYmplY3RKU09OLCBrZXlzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQ2xpZW50LnB1c2hSZXNwb25zZSh0aGlzLnBhcnNlV2ViU29ja2V0LCBKU09OLnN0cmluZ2lmeShyZXNwb25zZSkpO1xuICAgIH07XG4gIH1cblxuICBfdG9KU09OV2l0aEZpZWxkcyhwYXJzZU9iamVjdEpTT046IGFueSwgZmllbGRzOiBhbnkpOiBGbGF0dGVuZWRPYmplY3REYXRhIHtcbiAgICBpZiAoIWZpZWxkcykge1xuICAgICAgcmV0dXJuIHBhcnNlT2JqZWN0SlNPTjtcbiAgICB9XG4gICAgY29uc3QgbGltaXRlZFBhcnNlT2JqZWN0ID0ge307XG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBkYWZhdWx0RmllbGRzKSB7XG4gICAgICBsaW1pdGVkUGFyc2VPYmplY3RbZmllbGRdID0gcGFyc2VPYmplY3RKU09OW2ZpZWxkXTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICAgIGlmIChmaWVsZCBpbiBwYXJzZU9iamVjdEpTT04pIHtcbiAgICAgICAgbGltaXRlZFBhcnNlT2JqZWN0W2ZpZWxkXSA9IHBhcnNlT2JqZWN0SlNPTltmaWVsZF07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsaW1pdGVkUGFyc2VPYmplY3Q7XG4gIH1cbn1cblxuZXhwb3J0IHsgQ2xpZW50IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUErQixTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUsvQixNQUFNRyxhQUFhLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDO0FBRWhGLE1BQU1DLE1BQU0sQ0FBQztFQWtCWEMsV0FBV0EsQ0FDVEMsRUFBVSxFQUNWQyxjQUFtQixFQUNuQkMsWUFBcUIsR0FBRyxLQUFLLEVBQzdCQyxZQUFvQixFQUNwQkMsY0FBc0IsRUFDdEI7SUFDQSxJQUFJLENBQUNKLEVBQUUsR0FBR0EsRUFBRTtJQUNaLElBQUksQ0FBQ0MsY0FBYyxHQUFHQSxjQUFjO0lBQ3BDLElBQUksQ0FBQ0MsWUFBWSxHQUFHQSxZQUFZO0lBQ2hDLElBQUksQ0FBQ0MsWUFBWSxHQUFHQSxZQUFZO0lBQ2hDLElBQUksQ0FBQ0MsY0FBYyxHQUFHQSxjQUFjO0lBQ3BDLElBQUksQ0FBQ0MsS0FBSyxHQUFHLEVBQUU7SUFDZixJQUFJLENBQUNDLGlCQUFpQixHQUFHLElBQUlDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLElBQUksQ0FBQ0MsV0FBVyxHQUFHLElBQUksQ0FBQ0MsVUFBVSxDQUFDLFdBQVcsQ0FBQztJQUMvQyxJQUFJLENBQUNDLGFBQWEsR0FBRyxJQUFJLENBQUNELFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDbEQsSUFBSSxDQUFDRSxlQUFlLEdBQUcsSUFBSSxDQUFDRixVQUFVLENBQUMsY0FBYyxDQUFDO0lBQ3RELElBQUks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
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ class Id {
4
+ constructor(className, objectId) {
5
+ this.className = className;
6
+ this.objectId = objectId;
7
+ }
8
+ toString() {
9
+ return this.className + ':' + this.objectId;
10
+ }
11
+ static fromString(str) {
12
+ var split = str.split(':');
13
+ if (split.length !== 2) {
14
+ throw new TypeError('Cannot create Id object from this string');
15
+ }
16
+ return new Id(split[0], split[1]);
17
+ }
18
+ }
19
+ module.exports = Id;
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJZCIsImNvbnN0cnVjdG9yIiwiY2xhc3NOYW1lIiwib2JqZWN0SWQiLCJ0b1N0cmluZyIsImZyb21TdHJpbmciLCJzdHIiLCJzcGxpdCIsImxlbmd0aCIsIlR5cGVFcnJvciIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvTGl2ZVF1ZXJ5L0lkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNsYXNzIElkIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIG9iamVjdElkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY2xhc3NOYW1lOiBzdHJpbmcsIG9iamVjdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICB0aGlzLm9iamVjdElkID0gb2JqZWN0SWQ7XG4gIH1cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jbGFzc05hbWUgKyAnOicgKyB0aGlzLm9iamVjdElkO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdHJpbmcoc3RyOiBzdHJpbmcpIHtcbiAgICB2YXIgc3BsaXQgPSBzdHIuc3BsaXQoJzonKTtcbiAgICBpZiAoc3BsaXQubGVuZ3RoICE9PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY3JlYXRlIElkIG9iamVjdCBmcm9tIHRoaXMgc3RyaW5nJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSWQoc3BsaXRbMF0sIHNwbGl0WzFdKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IElkO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLEVBQUUsQ0FBQztFQUlQQyxXQUFXQSxDQUFDQyxTQUFpQixFQUFFQyxRQUFnQixFQUFFO0lBQy9DLElBQUksQ0FBQ0QsU0FBUyxHQUFHQSxTQUFTO0lBQzFCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQSxRQUFRO0VBQzFCO0VBQ0FDLFFBQVFBLENBQUEsRUFBVztJQUNqQixPQUFPLElBQUksQ0FBQ0YsU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUNDLFFBQVE7RUFDN0M7RUFFQSxPQUFPRSxVQUFVQSxDQUFDQyxHQUFXLEVBQUU7SUFDN0IsSUFBSUMsS0FBSyxHQUFHRCxHQUFHLENBQUNDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDMUIsSUFBSUEsS0FBSyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ3RCLE1BQU0sSUFBSUMsU0FBUyxDQUFDLDBDQUEwQyxDQUFDO0lBQ2pFO0lBQ0EsT0FBTyxJQUFJVCxFQUFFLENBQUNPLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRUEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ25DO0FBQ0Y7QUFFQUcsTUFBTSxDQUFDQyxPQUFPLEdBQUdYLEVBQUUiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ParseCloudCodePublisher = void 0;
7
+ var _ParsePubSub = require("./ParsePubSub");
8
+ var _node = _interopRequireDefault(require("parse/node"));
9
+ var _logger = _interopRequireDefault(require("../logger"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class ParseCloudCodePublisher {
12
+ // config object of the publisher, right now it only contains the redisURL,
13
+ // but we may extend it later.
14
+ constructor(config = {}) {
15
+ this.parsePublisher = _ParsePubSub.ParsePubSub.createPublisher(config);
16
+ }
17
+ async connect() {
18
+ if (typeof this.parsePublisher.connect === 'function') {
19
+ if (this.parsePublisher.isOpen) {
20
+ return;
21
+ }
22
+ return Promise.resolve(this.parsePublisher.connect());
23
+ }
24
+ }
25
+ onCloudCodeAfterSave(request) {
26
+ this._onCloudCodeMessage(_node.default.applicationId + 'afterSave', request);
27
+ }
28
+ onCloudCodeAfterDelete(request) {
29
+ this._onCloudCodeMessage(_node.default.applicationId + 'afterDelete', request);
30
+ }
31
+ onClearCachedRoles(user) {
32
+ this.parsePublisher.publish(_node.default.applicationId + 'clearCache', JSON.stringify({
33
+ userId: user.id
34
+ }));
35
+ }
36
+
37
+ // Request is the request object from cloud code functions. request.object is a ParseObject.
38
+ _onCloudCodeMessage(type, request) {
39
+ _logger.default.verbose('Raw request from cloud code current : %j | original : %j', request.object, request.original);
40
+ // We need the full JSON which includes className
41
+ const message = {
42
+ currentParseObject: request.object._toFullJSON()
43
+ };
44
+ if (request.original) {
45
+ message.originalParseObject = request.original._toFullJSON();
46
+ }
47
+ if (request.classLevelPermissions) {
48
+ message.classLevelPermissions = request.classLevelPermissions;
49
+ }
50
+ this.parsePublisher.publish(type, JSON.stringify(message));
51
+ }
52
+ }
53
+ exports.ParseCloudCodePublisher = ParseCloudCodePublisher;
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUGFyc2VQdWJTdWIiLCJyZXF1aXJlIiwiX25vZGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xvZ2dlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlBhcnNlQ2xvdWRDb2RlUHVibGlzaGVyIiwiY29uc3RydWN0b3IiLCJjb25maWciLCJwYXJzZVB1Ymxpc2hlciIsIlBhcnNlUHViU3ViIiwiY3JlYXRlUHVibGlzaGVyIiwiY29ubmVjdCIsImlzT3BlbiIsIlByb21pc2UiLCJyZXNvbHZlIiwib25DbG91ZENvZGVBZnRlclNhdmUiLCJyZXF1ZXN0IiwiX29uQ2xvdWRDb2RlTWVzc2FnZSIsIlBhcnNlIiwiYXBwbGljYXRpb25JZCIsIm9uQ2xvdWRDb2RlQWZ0ZXJEZWxldGUiLCJvbkNsZWFyQ2FjaGVkUm9sZXMiLCJ1c2VyIiwicHVibGlzaCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1c2VySWQiLCJpZCIsInR5cGUiLCJsb2dnZXIiLCJ2ZXJib3NlIiwib2JqZWN0Iiwib3JpZ2luYWwiLCJtZXNzYWdlIiwiY3VycmVudFBhcnNlT2JqZWN0IiwiX3RvRnVsbEpTT04iLCJvcmlnaW5hbFBhcnNlT2JqZWN0IiwiY2xhc3NMZXZlbFBlcm1pc3Npb25zIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MaXZlUXVlcnkvUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyc2VQdWJTdWIgfSBmcm9tICcuL1BhcnNlUHViU3ViJztcbmltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcblxuY2xhc3MgUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIge1xuICBwYXJzZVB1Ymxpc2hlcjogT2JqZWN0O1xuXG4gIC8vIGNvbmZpZyBvYmplY3Qgb2YgdGhlIHB1Ymxpc2hlciwgcmlnaHQgbm93IGl0IG9ubHkgY29udGFpbnMgdGhlIHJlZGlzVVJMLFxuICAvLyBidXQgd2UgbWF5IGV4dGVuZCBpdCBsYXRlci5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBhbnkgPSB7fSkge1xuICAgIHRoaXMucGFyc2VQdWJsaXNoZXIgPSBQYXJzZVB1YlN1Yi5jcmVhdGVQdWJsaXNoZXIoY29uZmlnKTtcbiAgfVxuXG4gIGFzeW5jIGNvbm5lY3QoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnBhcnNlUHVibGlzaGVyLmNvbm5lY3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh0aGlzLnBhcnNlUHVibGlzaGVyLmlzT3Blbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMucGFyc2VQdWJsaXNoZXIuY29ubmVjdCgpKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3VkQ29kZUFmdGVyU2F2ZShyZXF1ZXN0OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNsb3VkQ29kZU1lc3NhZ2UoUGFyc2UuYXBwbGljYXRpb25JZCArICdhZnRlclNhdmUnLCByZXF1ZXN0KTtcbiAgfVxuXG4gIG9uQ2xvdWRDb2RlQWZ0ZXJEZWxldGUocmVxdWVzdDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DbG91ZENvZGVNZXNzYWdlKFBhcnNlLmFwcGxpY2F0aW9uSWQgKyAnYWZ0ZXJEZWxldGUnLCByZXF1ZXN0KTtcbiAgfVxuXG4gIG9uQ2xlYXJDYWNoZWRSb2xlcyh1c2VyOiBQYXJzZS5PYmplY3QpIHtcbiAgICB0aGlzLnBhcnNlUHVibGlzaGVyLnB1Ymxpc2goXG4gICAgICBQYXJzZS5hcHBsaWNhdGlvbklkICsgJ2NsZWFyQ2FjaGUnLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoeyB1c2VySWQ6IHVzZXIuaWQgfSlcbiAgICApO1xuICB9XG5cbiAgLy8gUmVxdWVzdCBpcyB0aGUgcmVxdWVzdCBvYmplY3QgZnJvbSBjbG91ZCBjb2RlIGZ1bmN0aW9ucy4gcmVxdWVzdC5vYmplY3QgaXMgYSBQYXJzZU9iamVjdC5cbiAgX29uQ2xvdWRDb2RlTWVzc2FnZSh0eXBlOiBzdHJpbmcsIHJlcXVlc3Q6IGFueSk6IHZvaWQge1xuICAgIGxvZ2dlci52ZXJib3NlKFxuICAgICAgJ1JhdyByZXF1ZXN0IGZyb20gY2xvdWQgY29kZSBjdXJyZW50IDogJWogfCBvcmlnaW5hbCA6ICVqJyxcbiAgICAgIHJlcXVlc3Qub2JqZWN0LFxuICAgICAgcmVxdWVzdC5vcmlnaW5hbFxuICAgICk7XG4gICAgLy8gV2UgbmVlZCB0aGUgZnVsbCBKU09OIHdoaWNoIGluY2x1ZGVzIGNsYXNzTmFtZVxuICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICBjdXJyZW50UGFyc2VPYmplY3Q6IHJlcXVlc3Qub2JqZWN0Ll90b0Z1bGxKU09OKCksXG4gICAgfTtcbiAgICBpZiAocmVxdWVzdC5vcmlnaW5hbCkge1xuICAgICAgbWVzc2FnZS5vcmlnaW5hbFBhcnNlT2JqZWN0ID0gcmVxdWVzdC5vcmlnaW5hbC5fdG9GdWxsSlNPTigpO1xuICAgIH1cbiAgICBpZiAocmVxdWVzdC5jbGFzc0xldmVsUGVybWlzc2lvbnMpIHtcbiAgICAgIG1lc3NhZ2UuY2xhc3NMZXZlbFBlcm1pc3Npb25zID0gcmVxdWVzdC5jbGFzc0xldmVsUGVybWlzc2lvbnM7XG4gICAgfVxuICAgIHRoaXMucGFyc2VQdWJsaXNoZXIucHVibGlzaCh0eXBlLCBKU09OLnN0cmluZ2lmeShtZXNzYWdlKSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsWUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQStCLFNBQUFFLHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRS9CLE1BQU1HLHVCQUF1QixDQUFDO0VBRzVCO0VBQ0E7RUFDQUMsV0FBV0EsQ0FBQ0MsTUFBVyxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQzVCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQyx3QkFBVyxDQUFDQyxlQUFlLENBQUNILE1BQU0sQ0FBQztFQUMzRDtFQUVBLE1BQU1JLE9BQU9BLENBQUEsRUFBRztJQUNkLElBQUksT0FBTyxJQUFJLENBQUNILGNBQWMsQ0FBQ0csT0FBTyxLQUFLLFVBQVUsRUFBRTtNQUNyRCxJQUFJLElBQUksQ0FBQ0gsY0FBYyxDQUFDSSxNQUFNLEVBQUU7UUFDOUI7TUFDRjtNQUNBLE9BQU9DLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ04sY0FBYyxDQUFDRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZEO0VBQ0Y7RUFFQUksb0JBQW9CQSxDQUFDQyxPQUFZLEVBQVE7SUFDdkMsSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQ0MsYUFBSyxDQUFDQyxhQUFhLEdBQUcsV0FBVyxFQUFFSCxPQUFPLENBQUM7RUFDdEU7RUFFQUksc0JBQXNCQSxDQUFDSixPQUFZLEVBQVE7SUFDekMsSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQ0MsYUFBSyxDQUFDQyxhQUFhLEdBQUcsYUFBYSxFQUFFSCxPQUFPLENBQUM7RUFDeEU7RUFFQUssa0JBQWtCQSxDQUFDQyxJQUFrQixFQUFFO0lBQ3JDLElBQUksQ0FBQ2QsY0FBYyxDQUFDZSxPQUFPLENBQ3pCTCxhQUFLLENBQUNDLGFBQWEsR0FBRyxZQUFZLEVBQ2xDSyxJQUFJLENBQUNDLFNBQVMsQ0FBQztNQUFFQyxNQUFNLEVBQUVKLElBQUksQ0FBQ0s7SUFBRyxDQUFDLENBQ3BDLENBQUM7RUFDSDs7RUFFQTtFQUNBVixtQkFBbUJBLENBQUNXLElBQVksRUFBRVosT0FBWSxFQUFRO0lBQ3BEYSxlQUFNLENBQUNDLE9BQU8sQ0FDWiwwREFBMEQsRUFDMURkLE9BQU8sQ0FBQ2UsTUFBTSxFQUNkZixPQUFPLENBQUNnQixRQUNWLENBQUM7SUFDRDtJQUNBLE1BQU1DLE9BQU8sR0FBRztNQUNkQyxrQkFBa0IsRUFBRWxCLE9BQU8sQ0FBQ2UsTUFBTSxDQUFDSSxXQUFXLENBQUM7SUFDakQsQ0FBQztJQUNELElBQUluQixPQUFPLENBQUNnQixRQUFRLEVBQUU7TUFDcEJDLE9BQU8sQ0FBQ0csbUJBQW1CLEdBQUdwQixPQUFPLENBQUNnQixRQUFRLENBQUNHLFdBQVcsQ0FBQyxDQUFDO0lBQzlEO0lBQ0EsSUFBSW5CLE9BQU8sQ0FBQ3FCLHFCQUFxQixFQUFFO01BQ2pDSixPQUFPLENBQUNJLHFCQUFxQixHQUFHckIsT0FBTyxDQUFDcUIscUJBQXFCO0lBQy9EO0lBQ0EsSUFBSSxDQUFDN0IsY0FBYyxDQUFDZSxPQUFPLENBQUNLLElBQUksRUFBRUosSUFBSSxDQUFDQyxTQUFTLENBQUNRLE9BQU8sQ0FBQyxDQUFDO0VBQzVEO0FBQ0Y7QUFBQ0ssT0FBQSxDQUFBakMsdUJBQUEsR0FBQUEsdUJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=