Showing
8 changed files
with
1635 additions
and
232 deletions
... | @@ -8,6 +8,7 @@ const Mongoose = require('mongoose'); | ... | @@ -8,6 +8,7 @@ const Mongoose = require('mongoose'); |
8 | const api = require('./src/api'); | 8 | const api = require('./src/api'); |
9 | const MqttServer = require('./src/util/MqttServer'); | 9 | const MqttServer = require('./src/util/MqttServer'); |
10 | const BatchSystem = require('./src/util/Batch'); | 10 | const BatchSystem = require('./src/util/Batch'); |
11 | +const FCM = require('./src/util/FCM'); | ||
11 | 12 | ||
12 | require('dotenv').config(); | 13 | require('dotenv').config(); |
13 | // eslint-disable-next-line no-undef | 14 | // eslint-disable-next-line no-undef |
... | @@ -37,5 +38,7 @@ app.use(router.routes()).use(router.allowedMethods()); | ... | @@ -37,5 +38,7 @@ app.use(router.routes()).use(router.allowedMethods()); |
37 | app.listen(SERVER_PORT, () => { | 38 | app.listen(SERVER_PORT, () => { |
38 | console.log('\x1b[1;36mPORT : ', SERVER_PORT, 'is connected\x1b[0m'); | 39 | console.log('\x1b[1;36mPORT : ', SERVER_PORT, 'is connected\x1b[0m'); |
39 | MqttServer.on(); | 40 | MqttServer.on(); |
40 | - BatchSystem.PushNotifyByDosage(); | 41 | + FCM.initializeFCM(); |
42 | + BatchSystem.removeQrCode(); | ||
43 | + BatchSystem.pushNotifyByDosage(); | ||
41 | }); | 44 | }); |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -11,11 +11,13 @@ | ... | @@ -11,11 +11,13 @@ |
11 | "dependencies": { | 11 | "dependencies": { |
12 | "@google-cloud/storage": "^5.14.2", | 12 | "@google-cloud/storage": "^5.14.2", |
13 | "@koa/cors": "^3.1.0", | 13 | "@koa/cors": "^3.1.0", |
14 | + "firebase-admin": "^9.11.1", | ||
14 | "koa-body": "^4.2.0", | 15 | "koa-body": "^4.2.0", |
15 | "moment": "^2.29.1", | 16 | "moment": "^2.29.1", |
16 | "moment-timezone": "^0.5.33", | 17 | "moment-timezone": "^0.5.33", |
17 | "mqtt": "^4.2.6", | 18 | "mqtt": "^4.2.6", |
18 | - "node-cron": "^3.0.0" | 19 | + "node-cron": "^3.0.0", |
20 | + "qrcode": "^1.4.4" | ||
19 | }, | 21 | }, |
20 | "devDependencies": { | 22 | "devDependencies": { |
21 | "eslint": "^7.32.0" | 23 | "eslint": "^7.32.0" |
... | @@ -144,6 +146,70 @@ | ... | @@ -144,6 +146,70 @@ |
144 | "node": "^10.12.0 || >=12.0.0" | 146 | "node": "^10.12.0 || >=12.0.0" |
145 | } | 147 | } |
146 | }, | 148 | }, |
149 | + "node_modules/@firebase/app-types": { | ||
150 | + "version": "0.7.0", | ||
151 | + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", | ||
152 | + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==", | ||
153 | + "peer": true | ||
154 | + }, | ||
155 | + "node_modules/@firebase/auth-interop-types": { | ||
156 | + "version": "0.1.6", | ||
157 | + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", | ||
158 | + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", | ||
159 | + "peerDependencies": { | ||
160 | + "@firebase/app-types": "0.x", | ||
161 | + "@firebase/util": "1.x" | ||
162 | + } | ||
163 | + }, | ||
164 | + "node_modules/@firebase/component": { | ||
165 | + "version": "0.5.5", | ||
166 | + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.5.tgz", | ||
167 | + "integrity": "sha512-L41SdS/4a164jx2iGfakJgaBUPPBI3DI+RrUlmh3oHSUljTeCwfj/Nhcv3S7e2lyXsGFJtAyepfPUx4IQ05crw==", | ||
168 | + "dependencies": { | ||
169 | + "@firebase/util": "1.2.0", | ||
170 | + "tslib": "^2.1.0" | ||
171 | + } | ||
172 | + }, | ||
173 | + "node_modules/@firebase/database": { | ||
174 | + "version": "0.10.9", | ||
175 | + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.10.9.tgz", | ||
176 | + "integrity": "sha512-Jxi9SiE4cNOftO9YKlG71ccyWFw4kSM9AG/xYu6vWXUGBr39Uw1TvYougANOcU21Q0TP4J08VPGnOnpXk/FGbQ==", | ||
177 | + "dependencies": { | ||
178 | + "@firebase/auth-interop-types": "0.1.6", | ||
179 | + "@firebase/component": "0.5.5", | ||
180 | + "@firebase/database-types": "0.7.3", | ||
181 | + "@firebase/logger": "0.2.6", | ||
182 | + "@firebase/util": "1.2.0", | ||
183 | + "faye-websocket": "0.11.3", | ||
184 | + "tslib": "^2.1.0" | ||
185 | + } | ||
186 | + }, | ||
187 | + "node_modules/@firebase/database-types": { | ||
188 | + "version": "0.7.3", | ||
189 | + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.7.3.tgz", | ||
190 | + "integrity": "sha512-dSOJmhKQ0nL8O4EQMRNGpSExWCXeHtH57gGg0BfNAdWcKhC8/4Y+qfKLfWXzyHvrSecpLmO0SmAi/iK2D5fp5A==", | ||
191 | + "dependencies": { | ||
192 | + "@firebase/app-types": "0.6.3" | ||
193 | + } | ||
194 | + }, | ||
195 | + "node_modules/@firebase/database-types/node_modules/@firebase/app-types": { | ||
196 | + "version": "0.6.3", | ||
197 | + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.3.tgz", | ||
198 | + "integrity": "sha512-/M13DPPati7FQHEQ9Minjk1HGLm/4K4gs9bR4rzLCWJg64yGtVC0zNg9gDpkw9yc2cvol/mNFxqTtd4geGrwdw==" | ||
199 | + }, | ||
200 | + "node_modules/@firebase/logger": { | ||
201 | + "version": "0.2.6", | ||
202 | + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.2.6.tgz", | ||
203 | + "integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw==" | ||
204 | + }, | ||
205 | + "node_modules/@firebase/util": { | ||
206 | + "version": "1.2.0", | ||
207 | + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.2.0.tgz", | ||
208 | + "integrity": "sha512-8W9TTGImXr9cu+oyjBJ7yjoEd/IVAv0pBZA4c1uIuKrpGZi2ee38m+8xlZOBRmsAaOU/tR9DXz1WF/oeM6Fb7Q==", | ||
209 | + "dependencies": { | ||
210 | + "tslib": "^2.1.0" | ||
211 | + } | ||
212 | + }, | ||
147 | "node_modules/@google-cloud/common": { | 213 | "node_modules/@google-cloud/common": { |
148 | "version": "3.7.2", | 214 | "version": "3.7.2", |
149 | "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-3.7.2.tgz", | 215 | "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-3.7.2.tgz", |
... | @@ -174,6 +240,21 @@ | ... | @@ -174,6 +240,21 @@ |
174 | "stream-shift": "^1.0.0" | 240 | "stream-shift": "^1.0.0" |
175 | } | 241 | } |
176 | }, | 242 | }, |
243 | + "node_modules/@google-cloud/firestore": { | ||
244 | + "version": "4.15.1", | ||
245 | + "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-4.15.1.tgz", | ||
246 | + "integrity": "sha512-2PWsCkEF1W02QbghSeRsNdYKN1qavrHBP3m72gPDMHQSYrGULOaTi7fSJquQmAtc4iPVB2/x6h80rdLHTATQtA==", | ||
247 | + "optional": true, | ||
248 | + "dependencies": { | ||
249 | + "fast-deep-equal": "^3.1.1", | ||
250 | + "functional-red-black-tree": "^1.0.1", | ||
251 | + "google-gax": "^2.24.1", | ||
252 | + "protobufjs": "^6.8.6" | ||
253 | + }, | ||
254 | + "engines": { | ||
255 | + "node": ">=10.10.0" | ||
256 | + } | ||
257 | + }, | ||
177 | "node_modules/@google-cloud/paginator": { | 258 | "node_modules/@google-cloud/paginator": { |
178 | "version": "3.0.6", | 259 | "version": "3.0.6", |
179 | "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.6.tgz", | 260 | "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.6.tgz", |
... | @@ -252,6 +333,37 @@ | ... | @@ -252,6 +333,37 @@ |
252 | "pump": "^3.0.0" | 333 | "pump": "^3.0.0" |
253 | } | 334 | } |
254 | }, | 335 | }, |
336 | + "node_modules/@grpc/grpc-js": { | ||
337 | + "version": "1.3.7", | ||
338 | + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz", | ||
339 | + "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==", | ||
340 | + "optional": true, | ||
341 | + "dependencies": { | ||
342 | + "@types/node": ">=12.12.47" | ||
343 | + }, | ||
344 | + "engines": { | ||
345 | + "node": "^8.13.0 || >=10.10.0" | ||
346 | + } | ||
347 | + }, | ||
348 | + "node_modules/@grpc/proto-loader": { | ||
349 | + "version": "0.6.5", | ||
350 | + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.5.tgz", | ||
351 | + "integrity": "sha512-GZdzyVQI1Bln/kCzIYgTKu+rQJ5dno0gVrfmLe4jqQu7T2e7svSwJzpCBqVU5hhBSJP3peuPjOMWsj5GR61YmQ==", | ||
352 | + "optional": true, | ||
353 | + "dependencies": { | ||
354 | + "@types/long": "^4.0.1", | ||
355 | + "lodash.camelcase": "^4.3.0", | ||
356 | + "long": "^4.0.0", | ||
357 | + "protobufjs": "^6.10.0", | ||
358 | + "yargs": "^16.1.1" | ||
359 | + }, | ||
360 | + "bin": { | ||
361 | + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" | ||
362 | + }, | ||
363 | + "engines": { | ||
364 | + "node": ">=6" | ||
365 | + } | ||
366 | + }, | ||
255 | "node_modules/@humanwhocodes/config-array": { | 367 | "node_modules/@humanwhocodes/config-array": { |
256 | "version": "0.5.0", | 368 | "version": "0.5.0", |
257 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", | 369 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", |
... | @@ -283,6 +395,78 @@ | ... | @@ -283,6 +395,78 @@ |
283 | "node": ">= 8.0.0" | 395 | "node": ">= 8.0.0" |
284 | } | 396 | } |
285 | }, | 397 | }, |
398 | + "node_modules/@panva/asn1.js": { | ||
399 | + "version": "1.0.0", | ||
400 | + "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", | ||
401 | + "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==", | ||
402 | + "engines": { | ||
403 | + "node": ">=10.13.0" | ||
404 | + } | ||
405 | + }, | ||
406 | + "node_modules/@protobufjs/aspromise": { | ||
407 | + "version": "1.1.2", | ||
408 | + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", | ||
409 | + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", | ||
410 | + "optional": true | ||
411 | + }, | ||
412 | + "node_modules/@protobufjs/base64": { | ||
413 | + "version": "1.1.2", | ||
414 | + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", | ||
415 | + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", | ||
416 | + "optional": true | ||
417 | + }, | ||
418 | + "node_modules/@protobufjs/codegen": { | ||
419 | + "version": "2.0.4", | ||
420 | + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", | ||
421 | + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", | ||
422 | + "optional": true | ||
423 | + }, | ||
424 | + "node_modules/@protobufjs/eventemitter": { | ||
425 | + "version": "1.1.0", | ||
426 | + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", | ||
427 | + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", | ||
428 | + "optional": true | ||
429 | + }, | ||
430 | + "node_modules/@protobufjs/fetch": { | ||
431 | + "version": "1.1.0", | ||
432 | + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", | ||
433 | + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", | ||
434 | + "optional": true, | ||
435 | + "dependencies": { | ||
436 | + "@protobufjs/aspromise": "^1.1.1", | ||
437 | + "@protobufjs/inquire": "^1.1.0" | ||
438 | + } | ||
439 | + }, | ||
440 | + "node_modules/@protobufjs/float": { | ||
441 | + "version": "1.0.2", | ||
442 | + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", | ||
443 | + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", | ||
444 | + "optional": true | ||
445 | + }, | ||
446 | + "node_modules/@protobufjs/inquire": { | ||
447 | + "version": "1.1.0", | ||
448 | + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", | ||
449 | + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", | ||
450 | + "optional": true | ||
451 | + }, | ||
452 | + "node_modules/@protobufjs/path": { | ||
453 | + "version": "1.1.2", | ||
454 | + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", | ||
455 | + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", | ||
456 | + "optional": true | ||
457 | + }, | ||
458 | + "node_modules/@protobufjs/pool": { | ||
459 | + "version": "1.1.0", | ||
460 | + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", | ||
461 | + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", | ||
462 | + "optional": true | ||
463 | + }, | ||
464 | + "node_modules/@protobufjs/utf8": { | ||
465 | + "version": "1.1.0", | ||
466 | + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", | ||
467 | + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", | ||
468 | + "optional": true | ||
469 | + }, | ||
286 | "node_modules/@tootallnate/once": { | 470 | "node_modules/@tootallnate/once": { |
287 | "version": "1.1.2", | 471 | "version": "1.1.2", |
288 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", | 472 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", |
... | @@ -291,6 +475,61 @@ | ... | @@ -291,6 +475,61 @@ |
291 | "node": ">= 6" | 475 | "node": ">= 6" |
292 | } | 476 | } |
293 | }, | 477 | }, |
478 | + "node_modules/@types/body-parser": { | ||
479 | + "version": "1.19.1", | ||
480 | + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", | ||
481 | + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", | ||
482 | + "dependencies": { | ||
483 | + "@types/connect": "*", | ||
484 | + "@types/node": "*" | ||
485 | + } | ||
486 | + }, | ||
487 | + "node_modules/@types/connect": { | ||
488 | + "version": "3.4.35", | ||
489 | + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", | ||
490 | + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", | ||
491 | + "dependencies": { | ||
492 | + "@types/node": "*" | ||
493 | + } | ||
494 | + }, | ||
495 | + "node_modules/@types/express": { | ||
496 | + "version": "4.17.13", | ||
497 | + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", | ||
498 | + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", | ||
499 | + "dependencies": { | ||
500 | + "@types/body-parser": "*", | ||
501 | + "@types/express-serve-static-core": "^4.17.18", | ||
502 | + "@types/qs": "*", | ||
503 | + "@types/serve-static": "*" | ||
504 | + } | ||
505 | + }, | ||
506 | + "node_modules/@types/express-jwt": { | ||
507 | + "version": "0.0.42", | ||
508 | + "resolved": "https://registry.npmjs.org/@types/express-jwt/-/express-jwt-0.0.42.tgz", | ||
509 | + "integrity": "sha512-WszgUddvM1t5dPpJ3LhWNH8kfNN8GPIBrAGxgIYXVCEGx6Bx4A036aAuf/r5WH9DIEdlmp7gHOYvSM6U87B0ag==", | ||
510 | + "dependencies": { | ||
511 | + "@types/express": "*", | ||
512 | + "@types/express-unless": "*" | ||
513 | + } | ||
514 | + }, | ||
515 | + "node_modules/@types/express-serve-static-core": { | ||
516 | + "version": "4.17.24", | ||
517 | + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", | ||
518 | + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", | ||
519 | + "dependencies": { | ||
520 | + "@types/node": "*", | ||
521 | + "@types/qs": "*", | ||
522 | + "@types/range-parser": "*" | ||
523 | + } | ||
524 | + }, | ||
525 | + "node_modules/@types/express-unless": { | ||
526 | + "version": "0.5.2", | ||
527 | + "resolved": "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.2.tgz", | ||
528 | + "integrity": "sha512-Q74UyYRX/zIgl1HSp9tUX2PlG8glkVm+59r7aK4KGKzC5jqKIOX6rrVLRQrzpZUQ84VukHtRoeAuon2nIssHPQ==", | ||
529 | + "dependencies": { | ||
530 | + "@types/express": "*" | ||
531 | + } | ||
532 | + }, | ||
294 | "node_modules/@types/formidable": { | 533 | "node_modules/@types/formidable": { |
295 | "version": "1.2.4", | 534 | "version": "1.2.4", |
296 | "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.2.4.tgz", | 535 | "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.2.4.tgz", |
... | @@ -299,11 +538,41 @@ | ... | @@ -299,11 +538,41 @@ |
299 | "@types/node": "*" | 538 | "@types/node": "*" |
300 | } | 539 | } |
301 | }, | 540 | }, |
541 | + "node_modules/@types/long": { | ||
542 | + "version": "4.0.1", | ||
543 | + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", | ||
544 | + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", | ||
545 | + "optional": true | ||
546 | + }, | ||
547 | + "node_modules/@types/mime": { | ||
548 | + "version": "1.3.2", | ||
549 | + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", | ||
550 | + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" | ||
551 | + }, | ||
302 | "node_modules/@types/node": { | 552 | "node_modules/@types/node": { |
303 | "version": "16.9.2", | 553 | "version": "16.9.2", |
304 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.2.tgz", | 554 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.2.tgz", |
305 | "integrity": "sha512-ZHty/hKoOLZvSz6BtP1g7tc7nUeJhoCf3flLjh8ZEv1vFKBWHXcnMbJMyN/pftSljNyy0kNW/UqI3DccnBnZ8w==" | 555 | "integrity": "sha512-ZHty/hKoOLZvSz6BtP1g7tc7nUeJhoCf3flLjh8ZEv1vFKBWHXcnMbJMyN/pftSljNyy0kNW/UqI3DccnBnZ8w==" |
306 | }, | 556 | }, |
557 | + "node_modules/@types/qs": { | ||
558 | + "version": "6.9.7", | ||
559 | + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", | ||
560 | + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" | ||
561 | + }, | ||
562 | + "node_modules/@types/range-parser": { | ||
563 | + "version": "1.2.4", | ||
564 | + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", | ||
565 | + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" | ||
566 | + }, | ||
567 | + "node_modules/@types/serve-static": { | ||
568 | + "version": "1.13.10", | ||
569 | + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", | ||
570 | + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", | ||
571 | + "dependencies": { | ||
572 | + "@types/mime": "^1", | ||
573 | + "@types/node": "*" | ||
574 | + } | ||
575 | + }, | ||
307 | "node_modules/abort-controller": { | 576 | "node_modules/abort-controller": { |
308 | "version": "3.0.0", | 577 | "version": "3.0.0", |
309 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", | 578 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", |
... | @@ -504,11 +773,30 @@ | ... | @@ -504,11 +773,30 @@ |
504 | "ieee754": "^1.1.13" | 773 | "ieee754": "^1.1.13" |
505 | } | 774 | } |
506 | }, | 775 | }, |
776 | + "node_modules/buffer-alloc": { | ||
777 | + "version": "1.2.0", | ||
778 | + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", | ||
779 | + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", | ||
780 | + "dependencies": { | ||
781 | + "buffer-alloc-unsafe": "^1.1.0", | ||
782 | + "buffer-fill": "^1.0.0" | ||
783 | + } | ||
784 | + }, | ||
785 | + "node_modules/buffer-alloc-unsafe": { | ||
786 | + "version": "1.1.0", | ||
787 | + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", | ||
788 | + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" | ||
789 | + }, | ||
507 | "node_modules/buffer-equal-constant-time": { | 790 | "node_modules/buffer-equal-constant-time": { |
508 | "version": "1.0.1", | 791 | "version": "1.0.1", |
509 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", | 792 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", |
510 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" | 793 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" |
511 | }, | 794 | }, |
795 | + "node_modules/buffer-fill": { | ||
796 | + "version": "1.0.0", | ||
797 | + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", | ||
798 | + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" | ||
799 | + }, | ||
512 | "node_modules/buffer-from": { | 800 | "node_modules/buffer-from": { |
513 | "version": "1.1.1", | 801 | "version": "1.1.1", |
514 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", | 802 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", |
... | @@ -579,6 +867,14 @@ | ... | @@ -579,6 +867,14 @@ |
579 | "node": ">=6" | 867 | "node": ">=6" |
580 | } | 868 | } |
581 | }, | 869 | }, |
870 | + "node_modules/camelcase": { | ||
871 | + "version": "5.3.1", | ||
872 | + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", | ||
873 | + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", | ||
874 | + "engines": { | ||
875 | + "node": ">=6" | ||
876 | + } | ||
877 | + }, | ||
582 | "node_modules/chalk": { | 878 | "node_modules/chalk": { |
583 | "version": "4.1.2", | 879 | "version": "4.1.2", |
584 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", | 880 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", |
... | @@ -595,6 +891,17 @@ | ... | @@ -595,6 +891,17 @@ |
595 | "url": "https://github.com/chalk/chalk?sponsor=1" | 891 | "url": "https://github.com/chalk/chalk?sponsor=1" |
596 | } | 892 | } |
597 | }, | 893 | }, |
894 | + "node_modules/cliui": { | ||
895 | + "version": "7.0.4", | ||
896 | + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", | ||
897 | + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", | ||
898 | + "optional": true, | ||
899 | + "dependencies": { | ||
900 | + "string-width": "^4.2.0", | ||
901 | + "strip-ansi": "^6.0.0", | ||
902 | + "wrap-ansi": "^7.0.0" | ||
903 | + } | ||
904 | + }, | ||
598 | "node_modules/co-body": { | 905 | "node_modules/co-body": { |
599 | "version": "5.2.0", | 906 | "version": "5.2.0", |
600 | "resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", | 907 | "resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", |
... | @@ -727,6 +1034,14 @@ | ... | @@ -727,6 +1034,14 @@ |
727 | } | 1034 | } |
728 | } | 1035 | } |
729 | }, | 1036 | }, |
1037 | + "node_modules/decamelize": { | ||
1038 | + "version": "1.2.0", | ||
1039 | + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", | ||
1040 | + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", | ||
1041 | + "engines": { | ||
1042 | + "node": ">=0.10.0" | ||
1043 | + } | ||
1044 | + }, | ||
730 | "node_modules/deep-is": { | 1045 | "node_modules/deep-is": { |
731 | "version": "0.1.3", | 1046 | "version": "0.1.3", |
732 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | 1047 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", |
... | @@ -741,6 +1056,22 @@ | ... | @@ -741,6 +1056,22 @@ |
741 | "node": ">= 0.6" | 1056 | "node": ">= 0.6" |
742 | } | 1057 | } |
743 | }, | 1058 | }, |
1059 | + "node_modules/dicer": { | ||
1060 | + "version": "0.3.0", | ||
1061 | + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", | ||
1062 | + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", | ||
1063 | + "dependencies": { | ||
1064 | + "streamsearch": "0.1.2" | ||
1065 | + }, | ||
1066 | + "engines": { | ||
1067 | + "node": ">=4.5.0" | ||
1068 | + } | ||
1069 | + }, | ||
1070 | + "node_modules/dijkstrajs": { | ||
1071 | + "version": "1.0.2", | ||
1072 | + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", | ||
1073 | + "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" | ||
1074 | + }, | ||
744 | "node_modules/doctrine": { | 1075 | "node_modules/doctrine": { |
745 | "version": "3.0.0", | 1076 | "version": "3.0.0", |
746 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", | 1077 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", |
... | @@ -841,6 +1172,15 @@ | ... | @@ -841,6 +1172,15 @@ |
841 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", | 1172 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", |
842 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" | 1173 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" |
843 | }, | 1174 | }, |
1175 | + "node_modules/escalade": { | ||
1176 | + "version": "3.1.1", | ||
1177 | + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", | ||
1178 | + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", | ||
1179 | + "optional": true, | ||
1180 | + "engines": { | ||
1181 | + "node": ">=6" | ||
1182 | + } | ||
1183 | + }, | ||
844 | "node_modules/escape-string-regexp": { | 1184 | "node_modules/escape-string-regexp": { |
845 | "version": "4.0.0", | 1185 | "version": "4.0.0", |
846 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", | 1186 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", |
... | @@ -1112,6 +1452,17 @@ | ... | @@ -1112,6 +1452,17 @@ |
1112 | "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", | 1452 | "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", |
1113 | "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" | 1453 | "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" |
1114 | }, | 1454 | }, |
1455 | + "node_modules/faye-websocket": { | ||
1456 | + "version": "0.11.3", | ||
1457 | + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", | ||
1458 | + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", | ||
1459 | + "dependencies": { | ||
1460 | + "websocket-driver": ">=0.5.1" | ||
1461 | + }, | ||
1462 | + "engines": { | ||
1463 | + "node": ">=0.8.0" | ||
1464 | + } | ||
1465 | + }, | ||
1115 | "node_modules/file-entry-cache": { | 1466 | "node_modules/file-entry-cache": { |
1116 | "version": "6.0.1", | 1467 | "version": "6.0.1", |
1117 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", | 1468 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", |
... | @@ -1124,6 +1475,17 @@ | ... | @@ -1124,6 +1475,17 @@ |
1124 | "node": "^10.12.0 || >=12.0.0" | 1475 | "node": "^10.12.0 || >=12.0.0" |
1125 | } | 1476 | } |
1126 | }, | 1477 | }, |
1478 | + "node_modules/find-up": { | ||
1479 | + "version": "3.0.0", | ||
1480 | + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", | ||
1481 | + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", | ||
1482 | + "dependencies": { | ||
1483 | + "locate-path": "^3.0.0" | ||
1484 | + }, | ||
1485 | + "engines": { | ||
1486 | + "node": ">=6" | ||
1487 | + } | ||
1488 | + }, | ||
1127 | "node_modules/firebase-admin": { | 1489 | "node_modules/firebase-admin": { |
1128 | "version": "9.11.1", | 1490 | "version": "9.11.1", |
1129 | "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-9.11.1.tgz", | 1491 | "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-9.11.1.tgz", |
... | @@ -1350,6 +1712,14 @@ | ... | @@ -1350,6 +1712,14 @@ |
1350 | "pump": "^3.0.0" | 1712 | "pump": "^3.0.0" |
1351 | } | 1713 | } |
1352 | }, | 1714 | }, |
1715 | + "node_modules/get-caller-file": { | ||
1716 | + "version": "2.0.5", | ||
1717 | + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", | ||
1718 | + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | ||
1719 | + "engines": { | ||
1720 | + "node": "6.* || 8.* || >= 10.*" | ||
1721 | + } | ||
1722 | + }, | ||
1353 | "node_modules/get-intrinsic": { | 1723 | "node_modules/get-intrinsic": { |
1354 | "version": "1.1.1", | 1724 | "version": "1.1.1", |
1355 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | 1725 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", |
... | @@ -1483,6 +1853,45 @@ | ... | @@ -1483,6 +1853,45 @@ |
1483 | "node": ">=10" | 1853 | "node": ">=10" |
1484 | } | 1854 | } |
1485 | }, | 1855 | }, |
1856 | + "node_modules/google-gax": { | ||
1857 | + "version": "2.25.4", | ||
1858 | + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.25.4.tgz", | ||
1859 | + "integrity": "sha512-+Jd0FFOWyb8ieX53e6Sl5OYvHXoA1sWKfQ24ykR502NKgBTvPAh/RFcITihGePBJZ1E8pfh4MKWU0Sf+f1CK+A==", | ||
1860 | + "optional": true, | ||
1861 | + "dependencies": { | ||
1862 | + "@grpc/grpc-js": "~1.3.0", | ||
1863 | + "@grpc/proto-loader": "^0.6.1", | ||
1864 | + "@types/long": "^4.0.0", | ||
1865 | + "abort-controller": "^3.0.0", | ||
1866 | + "duplexify": "^4.0.0", | ||
1867 | + "fast-text-encoding": "^1.0.3", | ||
1868 | + "google-auth-library": "^7.6.1", | ||
1869 | + "is-stream-ended": "^0.1.4", | ||
1870 | + "node-fetch": "^2.6.1", | ||
1871 | + "object-hash": "^2.1.1", | ||
1872 | + "proto3-json-serializer": "^0.1.1", | ||
1873 | + "protobufjs": "6.11.2", | ||
1874 | + "retry-request": "^4.0.0" | ||
1875 | + }, | ||
1876 | + "bin": { | ||
1877 | + "compileProtos": "build/tools/compileProtos.js" | ||
1878 | + }, | ||
1879 | + "engines": { | ||
1880 | + "node": ">=10" | ||
1881 | + } | ||
1882 | + }, | ||
1883 | + "node_modules/google-gax/node_modules/duplexify": { | ||
1884 | + "version": "4.1.2", | ||
1885 | + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", | ||
1886 | + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", | ||
1887 | + "optional": true, | ||
1888 | + "dependencies": { | ||
1889 | + "end-of-stream": "^1.4.1", | ||
1890 | + "inherits": "^2.0.3", | ||
1891 | + "readable-stream": "^3.1.1", | ||
1892 | + "stream-shift": "^1.0.0" | ||
1893 | + } | ||
1894 | + }, | ||
1486 | "node_modules/google-p12-pem": { | 1895 | "node_modules/google-p12-pem": { |
1487 | "version": "3.1.2", | 1896 | "version": "3.1.2", |
1488 | "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz", | 1897 | "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz", |
... | @@ -1577,6 +1986,11 @@ | ... | @@ -1577,6 +1986,11 @@ |
1577 | "node": ">= 0.6" | 1986 | "node": ">= 0.6" |
1578 | } | 1987 | } |
1579 | }, | 1988 | }, |
1989 | + "node_modules/http-parser-js": { | ||
1990 | + "version": "0.5.3", | ||
1991 | + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", | ||
1992 | + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" | ||
1993 | + }, | ||
1580 | "node_modules/http-proxy-agent": { | 1994 | "node_modules/http-proxy-agent": { |
1581 | "version": "4.0.1", | 1995 | "version": "4.0.1", |
1582 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", | 1996 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", |
... | @@ -1765,6 +2179,12 @@ | ... | @@ -1765,6 +2179,12 @@ |
1765 | "url": "https://github.com/sponsors/sindresorhus" | 2179 | "url": "https://github.com/sponsors/sindresorhus" |
1766 | } | 2180 | } |
1767 | }, | 2181 | }, |
2182 | + "node_modules/is-stream-ended": { | ||
2183 | + "version": "0.1.4", | ||
2184 | + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", | ||
2185 | + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", | ||
2186 | + "optional": true | ||
2187 | + }, | ||
1768 | "node_modules/is-typedarray": { | 2188 | "node_modules/is-typedarray": { |
1769 | "version": "1.0.0", | 2189 | "version": "1.0.0", |
1770 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | 2190 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", |
... | @@ -1852,6 +2272,54 @@ | ... | @@ -1852,6 +2272,54 @@ |
1852 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", | 2272 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", |
1853 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" | 2273 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" |
1854 | }, | 2274 | }, |
2275 | + "node_modules/jsonwebtoken": { | ||
2276 | + "version": "8.5.1", | ||
2277 | + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", | ||
2278 | + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", | ||
2279 | + "dependencies": { | ||
2280 | + "jws": "^3.2.2", | ||
2281 | + "lodash.includes": "^4.3.0", | ||
2282 | + "lodash.isboolean": "^3.0.3", | ||
2283 | + "lodash.isinteger": "^4.0.4", | ||
2284 | + "lodash.isnumber": "^3.0.3", | ||
2285 | + "lodash.isplainobject": "^4.0.6", | ||
2286 | + "lodash.isstring": "^4.0.1", | ||
2287 | + "lodash.once": "^4.0.0", | ||
2288 | + "ms": "^2.1.1", | ||
2289 | + "semver": "^5.6.0" | ||
2290 | + }, | ||
2291 | + "engines": { | ||
2292 | + "node": ">=4", | ||
2293 | + "npm": ">=1.4.28" | ||
2294 | + } | ||
2295 | + }, | ||
2296 | + "node_modules/jsonwebtoken/node_modules/jwa": { | ||
2297 | + "version": "1.4.1", | ||
2298 | + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", | ||
2299 | + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", | ||
2300 | + "dependencies": { | ||
2301 | + "buffer-equal-constant-time": "1.0.1", | ||
2302 | + "ecdsa-sig-formatter": "1.0.11", | ||
2303 | + "safe-buffer": "^5.0.1" | ||
2304 | + } | ||
2305 | + }, | ||
2306 | + "node_modules/jsonwebtoken/node_modules/jws": { | ||
2307 | + "version": "3.2.2", | ||
2308 | + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", | ||
2309 | + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", | ||
2310 | + "dependencies": { | ||
2311 | + "jwa": "^1.4.1", | ||
2312 | + "safe-buffer": "^5.0.1" | ||
2313 | + } | ||
2314 | + }, | ||
2315 | + "node_modules/jsonwebtoken/node_modules/semver": { | ||
2316 | + "version": "5.7.1", | ||
2317 | + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||
2318 | + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | ||
2319 | + "bin": { | ||
2320 | + "semver": "bin/semver" | ||
2321 | + } | ||
2322 | + }, | ||
1855 | "node_modules/jwa": { | 2323 | "node_modules/jwa": { |
1856 | "version": "2.0.0", | 2324 | "version": "2.0.0", |
1857 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", | 2325 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", |
... | @@ -1862,6 +2330,21 @@ | ... | @@ -1862,6 +2330,21 @@ |
1862 | "safe-buffer": "^5.0.1" | 2330 | "safe-buffer": "^5.0.1" |
1863 | } | 2331 | } |
1864 | }, | 2332 | }, |
2333 | + "node_modules/jwks-rsa": { | ||
2334 | + "version": "2.0.4", | ||
2335 | + "resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-2.0.4.tgz", | ||
2336 | + "integrity": "sha512-iJqVCECYZZ+3oPmY1qXv3Fq+3ywDtuNEVBvG41pPlaR0zyGxa12nC0beAOBBUhETJmc05puS50mRQN4NkCGhmg==", | ||
2337 | + "dependencies": { | ||
2338 | + "@types/express-jwt": "0.0.42", | ||
2339 | + "debug": "^4.3.2", | ||
2340 | + "jose": "^2.0.5", | ||
2341 | + "limiter": "^1.1.5", | ||
2342 | + "lru-memoizer": "^2.1.4" | ||
2343 | + }, | ||
2344 | + "engines": { | ||
2345 | + "node": ">=10 < 13 || >=14" | ||
2346 | + } | ||
2347 | + }, | ||
1865 | "node_modules/jws": { | 2348 | "node_modules/jws": { |
1866 | "version": "4.0.0", | 2349 | "version": "4.0.0", |
1867 | "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", | 2350 | "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", |
... | @@ -1907,6 +2390,18 @@ | ... | @@ -1907,6 +2390,18 @@ |
1907 | "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", | 2390 | "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", |
1908 | "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" | 2391 | "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" |
1909 | }, | 2392 | }, |
2393 | + "node_modules/locate-path": { | ||
2394 | + "version": "3.0.0", | ||
2395 | + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", | ||
2396 | + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", | ||
2397 | + "dependencies": { | ||
2398 | + "p-locate": "^3.0.0", | ||
2399 | + "path-exists": "^3.0.0" | ||
2400 | + }, | ||
2401 | + "engines": { | ||
2402 | + "node": ">=6" | ||
2403 | + } | ||
2404 | + }, | ||
1910 | "node_modules/lodash.camelcase": { | 2405 | "node_modules/lodash.camelcase": { |
1911 | "version": "4.3.0", | 2406 | "version": "4.3.0", |
1912 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", | 2407 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", |
... | @@ -2010,7 +2505,6 @@ | ... | @@ -2010,7 +2505,6 @@ |
2010 | "version": "3.1.0", | 2505 | "version": "3.1.0", |
2011 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", | 2506 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", |
2012 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", | 2507 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", |
2013 | - "optional": true, | ||
2014 | "dependencies": { | 2508 | "dependencies": { |
2015 | "semver": "^6.0.0" | 2509 | "semver": "^6.0.0" |
2016 | }, | 2510 | }, |
... | @@ -2025,16 +2519,22 @@ | ... | @@ -2025,16 +2519,22 @@ |
2025 | "version": "6.3.0", | 2519 | "version": "6.3.0", |
2026 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | 2520 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", |
2027 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | 2521 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", |
2028 | - "optional": true, | ||
2029 | "bin": { | 2522 | "bin": { |
2030 | "semver": "bin/semver.js" | 2523 | "semver": "bin/semver.js" |
2031 | } | 2524 | } |
2032 | }, | 2525 | }, |
2526 | + "node_modules/media-typer": { | ||
2527 | + "version": "0.3.0", | ||
2528 | + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | ||
2529 | + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", | ||
2530 | + "engines": { | ||
2531 | + "node": ">= 0.6" | ||
2532 | + } | ||
2533 | + }, | ||
2033 | "node_modules/mime": { | 2534 | "node_modules/mime": { |
2034 | "version": "2.5.2", | 2535 | "version": "2.5.2", |
2035 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", | 2536 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", |
2036 | "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", | 2537 | "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", |
2037 | - "optional": true, | ||
2038 | "bin": { | 2538 | "bin": { |
2039 | "mime": "cli.js" | 2539 | "mime": "cli.js" |
2040 | }, | 2540 | }, |
... | @@ -2046,75 +2546,14 @@ | ... | @@ -2046,75 +2546,14 @@ |
2046 | "version": "1.49.0", | 2546 | "version": "1.49.0", |
2047 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", | 2547 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", |
2048 | "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", | 2548 | "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", |
2049 | - "optional": true, | ||
2050 | "engines": { | 2549 | "engines": { |
2051 | "node": ">= 0.6" | 2550 | "node": ">= 0.6" |
2052 | } | 2551 | } |
2053 | }, | 2552 | }, |
2054 | - "node_modules/lru-cache": { | 2553 | + "node_modules/mime-types": { |
2055 | - "version": "6.0.0", | 2554 | + "version": "2.1.32", |
2056 | - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | 2555 | + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", |
2057 | - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | 2556 | + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", |
2058 | - "dependencies": { | ||
2059 | - "mime-db": "1.49.0" | ||
2060 | - }, | ||
2061 | - "engines": { | ||
2062 | - "node": ">= 0.6" | ||
2063 | - } | ||
2064 | - }, | ||
2065 | - "node_modules/make-dir": { | ||
2066 | - "version": "3.1.0", | ||
2067 | - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", | ||
2068 | - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", | ||
2069 | - "dependencies": { | ||
2070 | - "semver": "^6.0.0" | ||
2071 | - }, | ||
2072 | - "engines": { | ||
2073 | - "node": ">=8" | ||
2074 | - }, | ||
2075 | - "funding": { | ||
2076 | - "url": "https://github.com/sponsors/sindresorhus" | ||
2077 | - } | ||
2078 | - }, | ||
2079 | - "node_modules/make-dir/node_modules/semver": { | ||
2080 | - "version": "6.3.0", | ||
2081 | - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||
2082 | - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | ||
2083 | - "bin": { | ||
2084 | - "semver": "bin/semver.js" | ||
2085 | - } | ||
2086 | - }, | ||
2087 | - "node_modules/media-typer": { | ||
2088 | - "version": "0.3.0", | ||
2089 | - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | ||
2090 | - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", | ||
2091 | - "engines": { | ||
2092 | - "node": ">= 0.6" | ||
2093 | - } | ||
2094 | - }, | ||
2095 | - "node_modules/mime": { | ||
2096 | - "version": "2.5.2", | ||
2097 | - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", | ||
2098 | - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", | ||
2099 | - "bin": { | ||
2100 | - "mime": "cli.js" | ||
2101 | - }, | ||
2102 | - "engines": { | ||
2103 | - "node": ">=4.0.0" | ||
2104 | - } | ||
2105 | - }, | ||
2106 | - "node_modules/mime-db": { | ||
2107 | - "version": "1.49.0", | ||
2108 | - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", | ||
2109 | - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", | ||
2110 | - "engines": { | ||
2111 | - "node": ">= 0.6" | ||
2112 | - } | ||
2113 | - }, | ||
2114 | - "node_modules/mime-types": { | ||
2115 | - "version": "2.1.32", | ||
2116 | - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", | ||
2117 | - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", | ||
2118 | "dependencies": { | 2557 | "dependencies": { |
2119 | "mime-db": "1.49.0" | 2558 | "mime-db": "1.49.0" |
2120 | }, | 2559 | }, |
... | @@ -2233,6 +2672,15 @@ | ... | @@ -2233,6 +2672,15 @@ |
2233 | "node": ">= 6.0.0" | 2672 | "node": ">= 6.0.0" |
2234 | } | 2673 | } |
2235 | }, | 2674 | }, |
2675 | + "node_modules/object-hash": { | ||
2676 | + "version": "2.2.0", | ||
2677 | + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", | ||
2678 | + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", | ||
2679 | + "optional": true, | ||
2680 | + "engines": { | ||
2681 | + "node": ">= 6" | ||
2682 | + } | ||
2683 | + }, | ||
2236 | "node_modules/object-inspect": { | 2684 | "node_modules/object-inspect": { |
2237 | "version": "1.11.0", | 2685 | "version": "1.11.0", |
2238 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", | 2686 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", |
... | @@ -2315,6 +2763,39 @@ | ... | @@ -2315,6 +2763,39 @@ |
2315 | "url": "https://github.com/sponsors/sindresorhus" | 2763 | "url": "https://github.com/sponsors/sindresorhus" |
2316 | } | 2764 | } |
2317 | }, | 2765 | }, |
2766 | + "node_modules/p-locate": { | ||
2767 | + "version": "3.0.0", | ||
2768 | + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", | ||
2769 | + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", | ||
2770 | + "dependencies": { | ||
2771 | + "p-limit": "^2.0.0" | ||
2772 | + }, | ||
2773 | + "engines": { | ||
2774 | + "node": ">=6" | ||
2775 | + } | ||
2776 | + }, | ||
2777 | + "node_modules/p-locate/node_modules/p-limit": { | ||
2778 | + "version": "2.3.0", | ||
2779 | + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", | ||
2780 | + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", | ||
2781 | + "dependencies": { | ||
2782 | + "p-try": "^2.0.0" | ||
2783 | + }, | ||
2784 | + "engines": { | ||
2785 | + "node": ">=6" | ||
2786 | + }, | ||
2787 | + "funding": { | ||
2788 | + "url": "https://github.com/sponsors/sindresorhus" | ||
2789 | + } | ||
2790 | + }, | ||
2791 | + "node_modules/p-try": { | ||
2792 | + "version": "2.2.0", | ||
2793 | + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", | ||
2794 | + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", | ||
2795 | + "engines": { | ||
2796 | + "node": ">=6" | ||
2797 | + } | ||
2798 | + }, | ||
2318 | "node_modules/parent-module": { | 2799 | "node_modules/parent-module": { |
2319 | "version": "1.0.1", | 2800 | "version": "1.0.1", |
2320 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | 2801 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", |
... | @@ -2332,6 +2813,14 @@ | ... | @@ -2332,6 +2813,14 @@ |
2332 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", | 2813 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", |
2333 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" | 2814 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" |
2334 | }, | 2815 | }, |
2816 | + "node_modules/path-exists": { | ||
2817 | + "version": "3.0.0", | ||
2818 | + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | ||
2819 | + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", | ||
2820 | + "engines": { | ||
2821 | + "node": ">=4" | ||
2822 | + } | ||
2823 | + }, | ||
2335 | "node_modules/path-is-absolute": { | 2824 | "node_modules/path-is-absolute": { |
2336 | "version": "1.0.1", | 2825 | "version": "1.0.1", |
2337 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | 2826 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", |
... | @@ -2349,6 +2838,14 @@ | ... | @@ -2349,6 +2838,14 @@ |
2349 | "node": ">=8" | 2838 | "node": ">=8" |
2350 | } | 2839 | } |
2351 | }, | 2840 | }, |
2841 | + "node_modules/pngjs": { | ||
2842 | + "version": "3.4.0", | ||
2843 | + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", | ||
2844 | + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", | ||
2845 | + "engines": { | ||
2846 | + "node": ">=4.0.0" | ||
2847 | + } | ||
2848 | + }, | ||
2352 | "node_modules/prelude-ls": { | 2849 | "node_modules/prelude-ls": { |
2353 | "version": "1.2.1", | 2850 | "version": "1.2.1", |
2354 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", | 2851 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", |
... | @@ -2446,6 +2943,154 @@ | ... | @@ -2446,6 +2943,154 @@ |
2446 | "node": ">=6" | 2943 | "node": ">=6" |
2447 | } | 2944 | } |
2448 | }, | 2945 | }, |
2946 | + "node_modules/qrcode": { | ||
2947 | + "version": "1.4.4", | ||
2948 | + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", | ||
2949 | + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", | ||
2950 | + "dependencies": { | ||
2951 | + "buffer": "^5.4.3", | ||
2952 | + "buffer-alloc": "^1.2.0", | ||
2953 | + "buffer-from": "^1.1.1", | ||
2954 | + "dijkstrajs": "^1.0.1", | ||
2955 | + "isarray": "^2.0.1", | ||
2956 | + "pngjs": "^3.3.0", | ||
2957 | + "yargs": "^13.2.4" | ||
2958 | + }, | ||
2959 | + "bin": { | ||
2960 | + "qrcode": "bin/qrcode" | ||
2961 | + }, | ||
2962 | + "engines": { | ||
2963 | + "node": ">=4" | ||
2964 | + } | ||
2965 | + }, | ||
2966 | + "node_modules/qrcode/node_modules/ansi-regex": { | ||
2967 | + "version": "4.1.0", | ||
2968 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||
2969 | + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | ||
2970 | + "engines": { | ||
2971 | + "node": ">=6" | ||
2972 | + } | ||
2973 | + }, | ||
2974 | + "node_modules/qrcode/node_modules/ansi-styles": { | ||
2975 | + "version": "3.2.1", | ||
2976 | + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||
2977 | + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||
2978 | + "dependencies": { | ||
2979 | + "color-convert": "^1.9.0" | ||
2980 | + }, | ||
2981 | + "engines": { | ||
2982 | + "node": ">=4" | ||
2983 | + } | ||
2984 | + }, | ||
2985 | + "node_modules/qrcode/node_modules/cliui": { | ||
2986 | + "version": "5.0.0", | ||
2987 | + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", | ||
2988 | + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", | ||
2989 | + "dependencies": { | ||
2990 | + "string-width": "^3.1.0", | ||
2991 | + "strip-ansi": "^5.2.0", | ||
2992 | + "wrap-ansi": "^5.1.0" | ||
2993 | + } | ||
2994 | + }, | ||
2995 | + "node_modules/qrcode/node_modules/color-convert": { | ||
2996 | + "version": "1.9.3", | ||
2997 | + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | ||
2998 | + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | ||
2999 | + "dependencies": { | ||
3000 | + "color-name": "1.1.3" | ||
3001 | + } | ||
3002 | + }, | ||
3003 | + "node_modules/qrcode/node_modules/color-name": { | ||
3004 | + "version": "1.1.3", | ||
3005 | + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||
3006 | + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" | ||
3007 | + }, | ||
3008 | + "node_modules/qrcode/node_modules/emoji-regex": { | ||
3009 | + "version": "7.0.3", | ||
3010 | + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | ||
3011 | + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" | ||
3012 | + }, | ||
3013 | + "node_modules/qrcode/node_modules/is-fullwidth-code-point": { | ||
3014 | + "version": "2.0.0", | ||
3015 | + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
3016 | + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
3017 | + "engines": { | ||
3018 | + "node": ">=4" | ||
3019 | + } | ||
3020 | + }, | ||
3021 | + "node_modules/qrcode/node_modules/isarray": { | ||
3022 | + "version": "2.0.5", | ||
3023 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", | ||
3024 | + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" | ||
3025 | + }, | ||
3026 | + "node_modules/qrcode/node_modules/string-width": { | ||
3027 | + "version": "3.1.0", | ||
3028 | + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||
3029 | + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||
3030 | + "dependencies": { | ||
3031 | + "emoji-regex": "^7.0.1", | ||
3032 | + "is-fullwidth-code-point": "^2.0.0", | ||
3033 | + "strip-ansi": "^5.1.0" | ||
3034 | + }, | ||
3035 | + "engines": { | ||
3036 | + "node": ">=6" | ||
3037 | + } | ||
3038 | + }, | ||
3039 | + "node_modules/qrcode/node_modules/strip-ansi": { | ||
3040 | + "version": "5.2.0", | ||
3041 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
3042 | + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
3043 | + "dependencies": { | ||
3044 | + "ansi-regex": "^4.1.0" | ||
3045 | + }, | ||
3046 | + "engines": { | ||
3047 | + "node": ">=6" | ||
3048 | + } | ||
3049 | + }, | ||
3050 | + "node_modules/qrcode/node_modules/wrap-ansi": { | ||
3051 | + "version": "5.1.0", | ||
3052 | + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", | ||
3053 | + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", | ||
3054 | + "dependencies": { | ||
3055 | + "ansi-styles": "^3.2.0", | ||
3056 | + "string-width": "^3.0.0", | ||
3057 | + "strip-ansi": "^5.0.0" | ||
3058 | + }, | ||
3059 | + "engines": { | ||
3060 | + "node": ">=6" | ||
3061 | + } | ||
3062 | + }, | ||
3063 | + "node_modules/qrcode/node_modules/y18n": { | ||
3064 | + "version": "4.0.3", | ||
3065 | + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", | ||
3066 | + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" | ||
3067 | + }, | ||
3068 | + "node_modules/qrcode/node_modules/yargs": { | ||
3069 | + "version": "13.3.2", | ||
3070 | + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", | ||
3071 | + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", | ||
3072 | + "dependencies": { | ||
3073 | + "cliui": "^5.0.0", | ||
3074 | + "find-up": "^3.0.0", | ||
3075 | + "get-caller-file": "^2.0.1", | ||
3076 | + "require-directory": "^2.1.1", | ||
3077 | + "require-main-filename": "^2.0.0", | ||
3078 | + "set-blocking": "^2.0.0", | ||
3079 | + "string-width": "^3.0.0", | ||
3080 | + "which-module": "^2.0.0", | ||
3081 | + "y18n": "^4.0.0", | ||
3082 | + "yargs-parser": "^13.1.2" | ||
3083 | + } | ||
3084 | + }, | ||
3085 | + "node_modules/qrcode/node_modules/yargs-parser": { | ||
3086 | + "version": "13.1.2", | ||
3087 | + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", | ||
3088 | + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", | ||
3089 | + "dependencies": { | ||
3090 | + "camelcase": "^5.0.0", | ||
3091 | + "decamelize": "^1.2.0" | ||
3092 | + } | ||
3093 | + }, | ||
2449 | "node_modules/qs": { | 3094 | "node_modules/qs": { |
2450 | "version": "6.10.1", | 3095 | "version": "6.10.1", |
2451 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", | 3096 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", |
... | @@ -2513,7 +3158,6 @@ | ... | @@ -2513,7 +3158,6 @@ |
2513 | "version": "2.1.1", | 3158 | "version": "2.1.1", |
2514 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | 3159 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", |
2515 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", | 3160 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", |
2516 | - "optional": true, | ||
2517 | "engines": { | 3161 | "engines": { |
2518 | "node": ">=0.10.0" | 3162 | "node": ">=0.10.0" |
2519 | } | 3163 | } |
... | @@ -2527,6 +3171,11 @@ | ... | @@ -2527,6 +3171,11 @@ |
2527 | "node": ">=0.10.0" | 3171 | "node": ">=0.10.0" |
2528 | } | 3172 | } |
2529 | }, | 3173 | }, |
3174 | + "node_modules/require-main-filename": { | ||
3175 | + "version": "2.0.0", | ||
3176 | + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", | ||
3177 | + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" | ||
3178 | + }, | ||
2530 | "node_modules/resolve-from": { | 3179 | "node_modules/resolve-from": { |
2531 | "version": "4.0.0", | 3180 | "version": "4.0.0", |
2532 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", | 3181 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", |
... | @@ -2610,6 +3259,11 @@ | ... | @@ -2610,6 +3259,11 @@ |
2610 | "node": ">=10" | 3259 | "node": ">=10" |
2611 | } | 3260 | } |
2612 | }, | 3261 | }, |
3262 | + "node_modules/set-blocking": { | ||
3263 | + "version": "2.0.0", | ||
3264 | + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", | ||
3265 | + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" | ||
3266 | + }, | ||
2613 | "node_modules/setprototypeof": { | 3267 | "node_modules/setprototypeof": { |
2614 | "version": "1.1.1", | 3268 | "version": "1.1.1", |
2615 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", | 3269 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", |
... | @@ -2907,6 +3561,11 @@ | ... | @@ -2907,6 +3561,11 @@ |
2907 | "node": ">=0.6" | 3561 | "node": ">=0.6" |
2908 | } | 3562 | } |
2909 | }, | 3563 | }, |
3564 | + "node_modules/tslib": { | ||
3565 | + "version": "2.3.1", | ||
3566 | + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", | ||
3567 | + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" | ||
3568 | + }, | ||
2910 | "node_modules/type-check": { | 3569 | "node_modules/type-check": { |
2911 | "version": "0.4.0", | 3570 | "version": "0.4.0", |
2912 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", | 3571 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", |
... | @@ -3028,6 +3687,27 @@ | ... | @@ -3028,6 +3687,27 @@ |
3028 | "node": ">= 0.8" | 3687 | "node": ">= 0.8" |
3029 | } | 3688 | } |
3030 | }, | 3689 | }, |
3690 | + "node_modules/websocket-driver": { | ||
3691 | + "version": "0.7.4", | ||
3692 | + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", | ||
3693 | + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", | ||
3694 | + "dependencies": { | ||
3695 | + "http-parser-js": ">=0.5.1", | ||
3696 | + "safe-buffer": ">=5.1.0", | ||
3697 | + "websocket-extensions": ">=0.1.1" | ||
3698 | + }, | ||
3699 | + "engines": { | ||
3700 | + "node": ">=0.8.0" | ||
3701 | + } | ||
3702 | + }, | ||
3703 | + "node_modules/websocket-extensions": { | ||
3704 | + "version": "0.1.4", | ||
3705 | + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", | ||
3706 | + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", | ||
3707 | + "engines": { | ||
3708 | + "node": ">=0.8.0" | ||
3709 | + } | ||
3710 | + }, | ||
3031 | "node_modules/which": { | 3711 | "node_modules/which": { |
3032 | "version": "2.0.2", | 3712 | "version": "2.0.2", |
3033 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", | 3713 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", |
... | @@ -3043,6 +3723,11 @@ | ... | @@ -3043,6 +3723,11 @@ |
3043 | "node": ">= 8" | 3723 | "node": ">= 8" |
3044 | } | 3724 | } |
3045 | }, | 3725 | }, |
3726 | + "node_modules/which-module": { | ||
3727 | + "version": "2.0.0", | ||
3728 | + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", | ||
3729 | + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" | ||
3730 | + }, | ||
3046 | "node_modules/word-wrap": { | 3731 | "node_modules/word-wrap": { |
3047 | "version": "1.2.3", | 3732 | "version": "1.2.3", |
3048 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", | 3733 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", |
... | @@ -3121,11 +3806,47 @@ | ... | @@ -3121,11 +3806,47 @@ |
3121 | "node": ">=0.4" | 3806 | "node": ">=0.4" |
3122 | } | 3807 | } |
3123 | }, | 3808 | }, |
3809 | + "node_modules/y18n": { | ||
3810 | + "version": "5.0.8", | ||
3811 | + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", | ||
3812 | + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", | ||
3813 | + "optional": true, | ||
3814 | + "engines": { | ||
3815 | + "node": ">=10" | ||
3816 | + } | ||
3817 | + }, | ||
3124 | "node_modules/yallist": { | 3818 | "node_modules/yallist": { |
3125 | "version": "4.0.0", | 3819 | "version": "4.0.0", |
3126 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | 3820 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", |
3127 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | 3821 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" |
3128 | }, | 3822 | }, |
3823 | + "node_modules/yargs": { | ||
3824 | + "version": "16.2.0", | ||
3825 | + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", | ||
3826 | + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", | ||
3827 | + "optional": true, | ||
3828 | + "dependencies": { | ||
3829 | + "cliui": "^7.0.2", | ||
3830 | + "escalade": "^3.1.1", | ||
3831 | + "get-caller-file": "^2.0.5", | ||
3832 | + "require-directory": "^2.1.1", | ||
3833 | + "string-width": "^4.2.0", | ||
3834 | + "y18n": "^5.0.5", | ||
3835 | + "yargs-parser": "^20.2.2" | ||
3836 | + }, | ||
3837 | + "engines": { | ||
3838 | + "node": ">=10" | ||
3839 | + } | ||
3840 | + }, | ||
3841 | + "node_modules/yargs-parser": { | ||
3842 | + "version": "20.2.9", | ||
3843 | + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", | ||
3844 | + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", | ||
3845 | + "optional": true, | ||
3846 | + "engines": { | ||
3847 | + "node": ">=10" | ||
3848 | + } | ||
3849 | + }, | ||
3129 | "node_modules/yocto-queue": { | 3850 | "node_modules/yocto-queue": { |
3130 | "version": "0.1.0", | 3851 | "version": "0.1.0", |
3131 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", | 3852 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", |
... | @@ -3240,6 +3961,69 @@ | ... | @@ -3240,6 +3961,69 @@ |
3240 | "strip-json-comments": "^3.1.1" | 3961 | "strip-json-comments": "^3.1.1" |
3241 | } | 3962 | } |
3242 | }, | 3963 | }, |
3964 | + "@firebase/app-types": { | ||
3965 | + "version": "0.7.0", | ||
3966 | + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", | ||
3967 | + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==", | ||
3968 | + "peer": true | ||
3969 | + }, | ||
3970 | + "@firebase/auth-interop-types": { | ||
3971 | + "version": "0.1.6", | ||
3972 | + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", | ||
3973 | + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", | ||
3974 | + "requires": {} | ||
3975 | + }, | ||
3976 | + "@firebase/component": { | ||
3977 | + "version": "0.5.5", | ||
3978 | + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.5.tgz", | ||
3979 | + "integrity": "sha512-L41SdS/4a164jx2iGfakJgaBUPPBI3DI+RrUlmh3oHSUljTeCwfj/Nhcv3S7e2lyXsGFJtAyepfPUx4IQ05crw==", | ||
3980 | + "requires": { | ||
3981 | + "@firebase/util": "1.2.0", | ||
3982 | + "tslib": "^2.1.0" | ||
3983 | + } | ||
3984 | + }, | ||
3985 | + "@firebase/database": { | ||
3986 | + "version": "0.10.9", | ||
3987 | + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.10.9.tgz", | ||
3988 | + "integrity": "sha512-Jxi9SiE4cNOftO9YKlG71ccyWFw4kSM9AG/xYu6vWXUGBr39Uw1TvYougANOcU21Q0TP4J08VPGnOnpXk/FGbQ==", | ||
3989 | + "requires": { | ||
3990 | + "@firebase/auth-interop-types": "0.1.6", | ||
3991 | + "@firebase/component": "0.5.5", | ||
3992 | + "@firebase/database-types": "0.7.3", | ||
3993 | + "@firebase/logger": "0.2.6", | ||
3994 | + "@firebase/util": "1.2.0", | ||
3995 | + "faye-websocket": "0.11.3", | ||
3996 | + "tslib": "^2.1.0" | ||
3997 | + } | ||
3998 | + }, | ||
3999 | + "@firebase/database-types": { | ||
4000 | + "version": "0.7.3", | ||
4001 | + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.7.3.tgz", | ||
4002 | + "integrity": "sha512-dSOJmhKQ0nL8O4EQMRNGpSExWCXeHtH57gGg0BfNAdWcKhC8/4Y+qfKLfWXzyHvrSecpLmO0SmAi/iK2D5fp5A==", | ||
4003 | + "requires": { | ||
4004 | + "@firebase/app-types": "0.6.3" | ||
4005 | + }, | ||
4006 | + "dependencies": { | ||
4007 | + "@firebase/app-types": { | ||
4008 | + "version": "0.6.3", | ||
4009 | + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.3.tgz", | ||
4010 | + "integrity": "sha512-/M13DPPati7FQHEQ9Minjk1HGLm/4K4gs9bR4rzLCWJg64yGtVC0zNg9gDpkw9yc2cvol/mNFxqTtd4geGrwdw==" | ||
4011 | + } | ||
4012 | + } | ||
4013 | + }, | ||
4014 | + "@firebase/logger": { | ||
4015 | + "version": "0.2.6", | ||
4016 | + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.2.6.tgz", | ||
4017 | + "integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw==" | ||
4018 | + }, | ||
4019 | + "@firebase/util": { | ||
4020 | + "version": "1.2.0", | ||
4021 | + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.2.0.tgz", | ||
4022 | + "integrity": "sha512-8W9TTGImXr9cu+oyjBJ7yjoEd/IVAv0pBZA4c1uIuKrpGZi2ee38m+8xlZOBRmsAaOU/tR9DXz1WF/oeM6Fb7Q==", | ||
4023 | + "requires": { | ||
4024 | + "tslib": "^2.1.0" | ||
4025 | + } | ||
4026 | + }, | ||
3243 | "@google-cloud/common": { | 4027 | "@google-cloud/common": { |
3244 | "version": "3.7.2", | 4028 | "version": "3.7.2", |
3245 | "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-3.7.2.tgz", | 4029 | "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-3.7.2.tgz", |
... | @@ -3269,6 +4053,18 @@ | ... | @@ -3269,6 +4053,18 @@ |
3269 | } | 4053 | } |
3270 | } | 4054 | } |
3271 | }, | 4055 | }, |
4056 | + "@google-cloud/firestore": { | ||
4057 | + "version": "4.15.1", | ||
4058 | + "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-4.15.1.tgz", | ||
4059 | + "integrity": "sha512-2PWsCkEF1W02QbghSeRsNdYKN1qavrHBP3m72gPDMHQSYrGULOaTi7fSJquQmAtc4iPVB2/x6h80rdLHTATQtA==", | ||
4060 | + "optional": true, | ||
4061 | + "requires": { | ||
4062 | + "fast-deep-equal": "^3.1.1", | ||
4063 | + "functional-red-black-tree": "^1.0.1", | ||
4064 | + "google-gax": "^2.24.1", | ||
4065 | + "protobufjs": "^6.8.6" | ||
4066 | + } | ||
4067 | + }, | ||
3272 | "@google-cloud/paginator": { | 4068 | "@google-cloud/paginator": { |
3273 | "version": "3.0.6", | 4069 | "version": "3.0.6", |
3274 | "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.6.tgz", | 4070 | "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.6.tgz", |
... | @@ -3337,6 +4133,28 @@ | ... | @@ -3337,6 +4133,28 @@ |
3337 | } | 4133 | } |
3338 | } | 4134 | } |
3339 | }, | 4135 | }, |
4136 | + "@grpc/grpc-js": { | ||
4137 | + "version": "1.3.7", | ||
4138 | + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz", | ||
4139 | + "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==", | ||
4140 | + "optional": true, | ||
4141 | + "requires": { | ||
4142 | + "@types/node": ">=12.12.47" | ||
4143 | + } | ||
4144 | + }, | ||
4145 | + "@grpc/proto-loader": { | ||
4146 | + "version": "0.6.5", | ||
4147 | + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.5.tgz", | ||
4148 | + "integrity": "sha512-GZdzyVQI1Bln/kCzIYgTKu+rQJ5dno0gVrfmLe4jqQu7T2e7svSwJzpCBqVU5hhBSJP3peuPjOMWsj5GR61YmQ==", | ||
4149 | + "optional": true, | ||
4150 | + "requires": { | ||
4151 | + "@types/long": "^4.0.1", | ||
4152 | + "lodash.camelcase": "^4.3.0", | ||
4153 | + "long": "^4.0.0", | ||
4154 | + "protobufjs": "^6.10.0", | ||
4155 | + "yargs": "^16.1.1" | ||
4156 | + } | ||
4157 | + }, | ||
3340 | "@humanwhocodes/config-array": { | 4158 | "@humanwhocodes/config-array": { |
3341 | "version": "0.5.0", | 4159 | "version": "0.5.0", |
3342 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", | 4160 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", |
... | @@ -3362,11 +4180,135 @@ | ... | @@ -3362,11 +4180,135 @@ |
3362 | "vary": "^1.1.2" | 4180 | "vary": "^1.1.2" |
3363 | } | 4181 | } |
3364 | }, | 4182 | }, |
4183 | + "@panva/asn1.js": { | ||
4184 | + "version": "1.0.0", | ||
4185 | + "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", | ||
4186 | + "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==" | ||
4187 | + }, | ||
4188 | + "@protobufjs/aspromise": { | ||
4189 | + "version": "1.1.2", | ||
4190 | + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", | ||
4191 | + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", | ||
4192 | + "optional": true | ||
4193 | + }, | ||
4194 | + "@protobufjs/base64": { | ||
4195 | + "version": "1.1.2", | ||
4196 | + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", | ||
4197 | + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", | ||
4198 | + "optional": true | ||
4199 | + }, | ||
4200 | + "@protobufjs/codegen": { | ||
4201 | + "version": "2.0.4", | ||
4202 | + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", | ||
4203 | + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", | ||
4204 | + "optional": true | ||
4205 | + }, | ||
4206 | + "@protobufjs/eventemitter": { | ||
4207 | + "version": "1.1.0", | ||
4208 | + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", | ||
4209 | + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", | ||
4210 | + "optional": true | ||
4211 | + }, | ||
4212 | + "@protobufjs/fetch": { | ||
4213 | + "version": "1.1.0", | ||
4214 | + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", | ||
4215 | + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", | ||
4216 | + "optional": true, | ||
4217 | + "requires": { | ||
4218 | + "@protobufjs/aspromise": "^1.1.1", | ||
4219 | + "@protobufjs/inquire": "^1.1.0" | ||
4220 | + } | ||
4221 | + }, | ||
4222 | + "@protobufjs/float": { | ||
4223 | + "version": "1.0.2", | ||
4224 | + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", | ||
4225 | + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", | ||
4226 | + "optional": true | ||
4227 | + }, | ||
4228 | + "@protobufjs/inquire": { | ||
4229 | + "version": "1.1.0", | ||
4230 | + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", | ||
4231 | + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", | ||
4232 | + "optional": true | ||
4233 | + }, | ||
4234 | + "@protobufjs/path": { | ||
4235 | + "version": "1.1.2", | ||
4236 | + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", | ||
4237 | + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", | ||
4238 | + "optional": true | ||
4239 | + }, | ||
4240 | + "@protobufjs/pool": { | ||
4241 | + "version": "1.1.0", | ||
4242 | + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", | ||
4243 | + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", | ||
4244 | + "optional": true | ||
4245 | + }, | ||
4246 | + "@protobufjs/utf8": { | ||
4247 | + "version": "1.1.0", | ||
4248 | + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", | ||
4249 | + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", | ||
4250 | + "optional": true | ||
4251 | + }, | ||
3365 | "@tootallnate/once": { | 4252 | "@tootallnate/once": { |
3366 | "version": "1.1.2", | 4253 | "version": "1.1.2", |
3367 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", | 4254 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", |
3368 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" | 4255 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" |
3369 | }, | 4256 | }, |
4257 | + "@types/body-parser": { | ||
4258 | + "version": "1.19.1", | ||
4259 | + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", | ||
4260 | + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", | ||
4261 | + "requires": { | ||
4262 | + "@types/connect": "*", | ||
4263 | + "@types/node": "*" | ||
4264 | + } | ||
4265 | + }, | ||
4266 | + "@types/connect": { | ||
4267 | + "version": "3.4.35", | ||
4268 | + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", | ||
4269 | + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", | ||
4270 | + "requires": { | ||
4271 | + "@types/node": "*" | ||
4272 | + } | ||
4273 | + }, | ||
4274 | + "@types/express": { | ||
4275 | + "version": "4.17.13", | ||
4276 | + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", | ||
4277 | + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", | ||
4278 | + "requires": { | ||
4279 | + "@types/body-parser": "*", | ||
4280 | + "@types/express-serve-static-core": "^4.17.18", | ||
4281 | + "@types/qs": "*", | ||
4282 | + "@types/serve-static": "*" | ||
4283 | + } | ||
4284 | + }, | ||
4285 | + "@types/express-jwt": { | ||
4286 | + "version": "0.0.42", | ||
4287 | + "resolved": "https://registry.npmjs.org/@types/express-jwt/-/express-jwt-0.0.42.tgz", | ||
4288 | + "integrity": "sha512-WszgUddvM1t5dPpJ3LhWNH8kfNN8GPIBrAGxgIYXVCEGx6Bx4A036aAuf/r5WH9DIEdlmp7gHOYvSM6U87B0ag==", | ||
4289 | + "requires": { | ||
4290 | + "@types/express": "*", | ||
4291 | + "@types/express-unless": "*" | ||
4292 | + } | ||
4293 | + }, | ||
4294 | + "@types/express-serve-static-core": { | ||
4295 | + "version": "4.17.24", | ||
4296 | + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", | ||
4297 | + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", | ||
4298 | + "requires": { | ||
4299 | + "@types/node": "*", | ||
4300 | + "@types/qs": "*", | ||
4301 | + "@types/range-parser": "*" | ||
4302 | + } | ||
4303 | + }, | ||
4304 | + "@types/express-unless": { | ||
4305 | + "version": "0.5.2", | ||
4306 | + "resolved": "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.2.tgz", | ||
4307 | + "integrity": "sha512-Q74UyYRX/zIgl1HSp9tUX2PlG8glkVm+59r7aK4KGKzC5jqKIOX6rrVLRQrzpZUQ84VukHtRoeAuon2nIssHPQ==", | ||
4308 | + "requires": { | ||
4309 | + "@types/express": "*" | ||
4310 | + } | ||
4311 | + }, | ||
3370 | "@types/formidable": { | 4312 | "@types/formidable": { |
3371 | "version": "1.2.4", | 4313 | "version": "1.2.4", |
3372 | "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.2.4.tgz", | 4314 | "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.2.4.tgz", |
... | @@ -3375,11 +4317,41 @@ | ... | @@ -3375,11 +4317,41 @@ |
3375 | "@types/node": "*" | 4317 | "@types/node": "*" |
3376 | } | 4318 | } |
3377 | }, | 4319 | }, |
4320 | + "@types/long": { | ||
4321 | + "version": "4.0.1", | ||
4322 | + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", | ||
4323 | + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", | ||
4324 | + "optional": true | ||
4325 | + }, | ||
4326 | + "@types/mime": { | ||
4327 | + "version": "1.3.2", | ||
4328 | + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", | ||
4329 | + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" | ||
4330 | + }, | ||
3378 | "@types/node": { | 4331 | "@types/node": { |
3379 | "version": "16.9.2", | 4332 | "version": "16.9.2", |
3380 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.2.tgz", | 4333 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.2.tgz", |
3381 | "integrity": "sha512-ZHty/hKoOLZvSz6BtP1g7tc7nUeJhoCf3flLjh8ZEv1vFKBWHXcnMbJMyN/pftSljNyy0kNW/UqI3DccnBnZ8w==" | 4334 | "integrity": "sha512-ZHty/hKoOLZvSz6BtP1g7tc7nUeJhoCf3flLjh8ZEv1vFKBWHXcnMbJMyN/pftSljNyy0kNW/UqI3DccnBnZ8w==" |
3382 | }, | 4335 | }, |
4336 | + "@types/qs": { | ||
4337 | + "version": "6.9.7", | ||
4338 | + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", | ||
4339 | + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" | ||
4340 | + }, | ||
4341 | + "@types/range-parser": { | ||
4342 | + "version": "1.2.4", | ||
4343 | + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", | ||
4344 | + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" | ||
4345 | + }, | ||
4346 | + "@types/serve-static": { | ||
4347 | + "version": "1.13.10", | ||
4348 | + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", | ||
4349 | + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", | ||
4350 | + "requires": { | ||
4351 | + "@types/mime": "^1", | ||
4352 | + "@types/node": "*" | ||
4353 | + } | ||
4354 | + }, | ||
3383 | "abort-controller": { | 4355 | "abort-controller": { |
3384 | "version": "3.0.0", | 4356 | "version": "3.0.0", |
3385 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", | 4357 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", |
... | @@ -3513,11 +4485,30 @@ | ... | @@ -3513,11 +4485,30 @@ |
3513 | "ieee754": "^1.1.13" | 4485 | "ieee754": "^1.1.13" |
3514 | } | 4486 | } |
3515 | }, | 4487 | }, |
4488 | + "buffer-alloc": { | ||
4489 | + "version": "1.2.0", | ||
4490 | + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", | ||
4491 | + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", | ||
4492 | + "requires": { | ||
4493 | + "buffer-alloc-unsafe": "^1.1.0", | ||
4494 | + "buffer-fill": "^1.0.0" | ||
4495 | + } | ||
4496 | + }, | ||
4497 | + "buffer-alloc-unsafe": { | ||
4498 | + "version": "1.1.0", | ||
4499 | + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", | ||
4500 | + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" | ||
4501 | + }, | ||
3516 | "buffer-equal-constant-time": { | 4502 | "buffer-equal-constant-time": { |
3517 | "version": "1.0.1", | 4503 | "version": "1.0.1", |
3518 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", | 4504 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", |
3519 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" | 4505 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" |
3520 | }, | 4506 | }, |
4507 | + "buffer-fill": { | ||
4508 | + "version": "1.0.0", | ||
4509 | + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", | ||
4510 | + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" | ||
4511 | + }, | ||
3521 | "buffer-from": { | 4512 | "buffer-from": { |
3522 | "version": "1.1.1", | 4513 | "version": "1.1.1", |
3523 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", | 4514 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", |
... | @@ -3581,6 +4572,11 @@ | ... | @@ -3581,6 +4572,11 @@ |
3581 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", | 4572 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", |
3582 | "dev": true | 4573 | "dev": true |
3583 | }, | 4574 | }, |
4575 | + "camelcase": { | ||
4576 | + "version": "5.3.1", | ||
4577 | + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", | ||
4578 | + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" | ||
4579 | + }, | ||
3584 | "chalk": { | 4580 | "chalk": { |
3585 | "version": "4.1.2", | 4581 | "version": "4.1.2", |
3586 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", | 4582 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", |
... | @@ -3591,6 +4587,17 @@ | ... | @@ -3591,6 +4587,17 @@ |
3591 | "supports-color": "^7.1.0" | 4587 | "supports-color": "^7.1.0" |
3592 | } | 4588 | } |
3593 | }, | 4589 | }, |
4590 | + "cliui": { | ||
4591 | + "version": "7.0.4", | ||
4592 | + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", | ||
4593 | + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", | ||
4594 | + "optional": true, | ||
4595 | + "requires": { | ||
4596 | + "string-width": "^4.2.0", | ||
4597 | + "strip-ansi": "^6.0.0", | ||
4598 | + "wrap-ansi": "^7.0.0" | ||
4599 | + } | ||
4600 | + }, | ||
3594 | "co-body": { | 4601 | "co-body": { |
3595 | "version": "5.2.0", | 4602 | "version": "5.2.0", |
3596 | "resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", | 4603 | "resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", |
... | @@ -3697,6 +4704,11 @@ | ... | @@ -3697,6 +4704,11 @@ |
3697 | "ms": "2.1.2" | 4704 | "ms": "2.1.2" |
3698 | } | 4705 | } |
3699 | }, | 4706 | }, |
4707 | + "decamelize": { | ||
4708 | + "version": "1.2.0", | ||
4709 | + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", | ||
4710 | + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" | ||
4711 | + }, | ||
3700 | "deep-is": { | 4712 | "deep-is": { |
3701 | "version": "0.1.3", | 4713 | "version": "0.1.3", |
3702 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | 4714 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", |
... | @@ -3708,6 +4720,19 @@ | ... | @@ -3708,6 +4720,19 @@ |
3708 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", | 4720 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", |
3709 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" | 4721 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" |
3710 | }, | 4722 | }, |
4723 | + "dicer": { | ||
4724 | + "version": "0.3.0", | ||
4725 | + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", | ||
4726 | + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", | ||
4727 | + "requires": { | ||
4728 | + "streamsearch": "0.1.2" | ||
4729 | + } | ||
4730 | + }, | ||
4731 | + "dijkstrajs": { | ||
4732 | + "version": "1.0.2", | ||
4733 | + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", | ||
4734 | + "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" | ||
4735 | + }, | ||
3711 | "doctrine": { | 4736 | "doctrine": { |
3712 | "version": "3.0.0", | 4737 | "version": "3.0.0", |
3713 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", | 4738 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", |
... | @@ -3801,6 +4826,12 @@ | ... | @@ -3801,6 +4826,12 @@ |
3801 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", | 4826 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", |
3802 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" | 4827 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" |
3803 | }, | 4828 | }, |
4829 | + "escalade": { | ||
4830 | + "version": "3.1.1", | ||
4831 | + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", | ||
4832 | + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", | ||
4833 | + "optional": true | ||
4834 | + }, | ||
3804 | "escape-string-regexp": { | 4835 | "escape-string-regexp": { |
3805 | "version": "4.0.0", | 4836 | "version": "4.0.0", |
3806 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", | 4837 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", |
... | @@ -4012,6 +5043,14 @@ | ... | @@ -4012,6 +5043,14 @@ |
4012 | "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", | 5043 | "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", |
4013 | "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" | 5044 | "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" |
4014 | }, | 5045 | }, |
5046 | + "faye-websocket": { | ||
5047 | + "version": "0.11.3", | ||
5048 | + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", | ||
5049 | + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", | ||
5050 | + "requires": { | ||
5051 | + "websocket-driver": ">=0.5.1" | ||
5052 | + } | ||
5053 | + }, | ||
4015 | "file-entry-cache": { | 5054 | "file-entry-cache": { |
4016 | "version": "6.0.1", | 5055 | "version": "6.0.1", |
4017 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", | 5056 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", |
... | @@ -4021,6 +5060,14 @@ | ... | @@ -4021,6 +5060,14 @@ |
4021 | "flat-cache": "^3.0.4" | 5060 | "flat-cache": "^3.0.4" |
4022 | } | 5061 | } |
4023 | }, | 5062 | }, |
5063 | + "find-up": { | ||
5064 | + "version": "3.0.0", | ||
5065 | + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", | ||
5066 | + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", | ||
5067 | + "requires": { | ||
5068 | + "locate-path": "^3.0.0" | ||
5069 | + } | ||
5070 | + }, | ||
4024 | "firebase-admin": { | 5071 | "firebase-admin": { |
4025 | "version": "9.11.1", | 5072 | "version": "9.11.1", |
4026 | "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-9.11.1.tgz", | 5073 | "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-9.11.1.tgz", |
... | @@ -4075,10 +5122,9 @@ | ... | @@ -4075,10 +5122,9 @@ |
4075 | "devOptional": true | 5122 | "devOptional": true |
4076 | }, | 5123 | }, |
4077 | "gaxios": { | 5124 | "gaxios": { |
4078 | - "version": "4.3.1", | 5125 | + "version": "4.3.2", |
4079 | - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.1.tgz", | 5126 | + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz", |
4080 | - "integrity": "sha512-9qXV7yrMCGzTrphl9/YGMVH41oSg0rhn1j3wJWed4Oqk45/hXDD2wBT5J1NjQcqTCcv4g3nFnyQ7reSRHNgBgw==", | 5127 | + "integrity": "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==", |
4081 | - "optional": true, | ||
4082 | "requires": { | 5128 | "requires": { |
4083 | "abort-controller": "^3.0.0", | 5129 | "abort-controller": "^3.0.0", |
4084 | "extend": "^3.0.2", | 5130 | "extend": "^3.0.2", |
... | @@ -4091,7 +5137,6 @@ | ... | @@ -4091,7 +5137,6 @@ |
4091 | "version": "4.3.1", | 5137 | "version": "4.3.1", |
4092 | "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz", | 5138 | "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz", |
4093 | "integrity": "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==", | 5139 | "integrity": "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==", |
4094 | - "optional": true, | ||
4095 | "requires": { | 5140 | "requires": { |
4096 | "gaxios": "^4.0.0", | 5141 | "gaxios": "^4.0.0", |
4097 | "json-bigint": "^1.0.0" | 5142 | "json-bigint": "^1.0.0" |
... | @@ -4101,7 +5146,6 @@ | ... | @@ -4101,7 +5146,6 @@ |
4101 | "version": "3.3.1", | 5146 | "version": "3.3.1", |
4102 | "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.3.1.tgz", | 5147 | "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.3.1.tgz", |
4103 | "integrity": "sha512-WyC0i4VkslIdrdmeM5PNuGzANALLXTG5RoHb08OE30gYT+FEvCDPiA8KOjV2s1wOu9ngEW4+IuzBjtP/ni7UdQ==", | 5148 | "integrity": "sha512-WyC0i4VkslIdrdmeM5PNuGzANALLXTG5RoHb08OE30gYT+FEvCDPiA8KOjV2s1wOu9ngEW4+IuzBjtP/ni7UdQ==", |
4104 | - "optional": true, | ||
4105 | "requires": { | 5149 | "requires": { |
4106 | "abort-controller": "^3.0.0", | 5150 | "abort-controller": "^3.0.0", |
4107 | "configstore": "^5.0.0", | 5151 | "configstore": "^5.0.0", |
... | @@ -4116,7 +5160,6 @@ | ... | @@ -4116,7 +5160,6 @@ |
4116 | "version": "4.1.2", | 5160 | "version": "4.1.2", |
4117 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", | 5161 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", |
4118 | "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", | 5162 | "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", |
4119 | - "optional": true, | ||
4120 | "requires": { | 5163 | "requires": { |
4121 | "end-of-stream": "^1.4.1", | 5164 | "end-of-stream": "^1.4.1", |
4122 | "inherits": "^2.0.3", | 5165 | "inherits": "^2.0.3", |
... | @@ -4128,7 +5171,6 @@ | ... | @@ -4128,7 +5171,6 @@ |
4128 | "version": "2.0.1", | 5171 | "version": "2.0.1", |
4129 | "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", | 5172 | "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", |
4130 | "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", | 5173 | "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", |
4131 | - "optional": true, | ||
4132 | "requires": { | 5174 | "requires": { |
4133 | "duplexify": "^4.1.1", | 5175 | "duplexify": "^4.1.1", |
4134 | "inherits": "^2.0.3", | 5176 | "inherits": "^2.0.3", |
... | @@ -4140,72 +5182,7 @@ | ... | @@ -4140,72 +5182,7 @@ |
4140 | "get-caller-file": { | 5182 | "get-caller-file": { |
4141 | "version": "2.0.5", | 5183 | "version": "2.0.5", |
4142 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", | 5184 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", |
4143 | - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | 5185 | + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" |
4144 | - "optional": true | ||
4145 | - }, | ||
4146 | - "get-stream": { | ||
4147 | - "version": "6.0.1", | ||
4148 | - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", | ||
4149 | - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", | ||
4150 | - "optional": true | ||
4151 | - }, | ||
4152 | - "gaxios": { | ||
4153 | - "version": "4.3.2", | ||
4154 | - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz", | ||
4155 | - "integrity": "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==", | ||
4156 | - "requires": { | ||
4157 | - "abort-controller": "^3.0.0", | ||
4158 | - "extend": "^3.0.2", | ||
4159 | - "https-proxy-agent": "^5.0.0", | ||
4160 | - "is-stream": "^2.0.0", | ||
4161 | - "node-fetch": "^2.6.1" | ||
4162 | - } | ||
4163 | - }, | ||
4164 | - "gcp-metadata": { | ||
4165 | - "version": "4.3.1", | ||
4166 | - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz", | ||
4167 | - "integrity": "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==", | ||
4168 | - "requires": { | ||
4169 | - "gaxios": "^4.0.0", | ||
4170 | - "json-bigint": "^1.0.0" | ||
4171 | - } | ||
4172 | - }, | ||
4173 | - "gcs-resumable-upload": { | ||
4174 | - "version": "3.3.1", | ||
4175 | - "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.3.1.tgz", | ||
4176 | - "integrity": "sha512-WyC0i4VkslIdrdmeM5PNuGzANALLXTG5RoHb08OE30gYT+FEvCDPiA8KOjV2s1wOu9ngEW4+IuzBjtP/ni7UdQ==", | ||
4177 | - "requires": { | ||
4178 | - "abort-controller": "^3.0.0", | ||
4179 | - "configstore": "^5.0.0", | ||
4180 | - "extend": "^3.0.2", | ||
4181 | - "gaxios": "^4.0.0", | ||
4182 | - "google-auth-library": "^7.0.0", | ||
4183 | - "pumpify": "^2.0.0", | ||
4184 | - "stream-events": "^1.0.4" | ||
4185 | - }, | ||
4186 | - "dependencies": { | ||
4187 | - "duplexify": { | ||
4188 | - "version": "4.1.2", | ||
4189 | - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", | ||
4190 | - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", | ||
4191 | - "requires": { | ||
4192 | - "end-of-stream": "^1.4.1", | ||
4193 | - "inherits": "^2.0.3", | ||
4194 | - "readable-stream": "^3.1.1", | ||
4195 | - "stream-shift": "^1.0.0" | ||
4196 | - } | ||
4197 | - }, | ||
4198 | - "pumpify": { | ||
4199 | - "version": "2.0.1", | ||
4200 | - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", | ||
4201 | - "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", | ||
4202 | - "requires": { | ||
4203 | - "duplexify": "^4.1.1", | ||
4204 | - "inherits": "^2.0.3", | ||
4205 | - "pump": "^3.0.0" | ||
4206 | - } | ||
4207 | - } | ||
4208 | - } | ||
4209 | }, | 5186 | }, |
4210 | "get-intrinsic": { | 5187 | "get-intrinsic": { |
4211 | "version": "1.1.1", | 5188 | "version": "1.1.1", |
... | @@ -4315,6 +5292,41 @@ | ... | @@ -4315,6 +5292,41 @@ |
4315 | "lru-cache": "^6.0.0" | 5292 | "lru-cache": "^6.0.0" |
4316 | } | 5293 | } |
4317 | }, | 5294 | }, |
5295 | + "google-gax": { | ||
5296 | + "version": "2.25.4", | ||
5297 | + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.25.4.tgz", | ||
5298 | + "integrity": "sha512-+Jd0FFOWyb8ieX53e6Sl5OYvHXoA1sWKfQ24ykR502NKgBTvPAh/RFcITihGePBJZ1E8pfh4MKWU0Sf+f1CK+A==", | ||
5299 | + "optional": true, | ||
5300 | + "requires": { | ||
5301 | + "@grpc/grpc-js": "~1.3.0", | ||
5302 | + "@grpc/proto-loader": "^0.6.1", | ||
5303 | + "@types/long": "^4.0.0", | ||
5304 | + "abort-controller": "^3.0.0", | ||
5305 | + "duplexify": "^4.0.0", | ||
5306 | + "fast-text-encoding": "^1.0.3", | ||
5307 | + "google-auth-library": "^7.6.1", | ||
5308 | + "is-stream-ended": "^0.1.4", | ||
5309 | + "node-fetch": "^2.6.1", | ||
5310 | + "object-hash": "^2.1.1", | ||
5311 | + "proto3-json-serializer": "^0.1.1", | ||
5312 | + "protobufjs": "6.11.2", | ||
5313 | + "retry-request": "^4.0.0" | ||
5314 | + }, | ||
5315 | + "dependencies": { | ||
5316 | + "duplexify": { | ||
5317 | + "version": "4.1.2", | ||
5318 | + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", | ||
5319 | + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", | ||
5320 | + "optional": true, | ||
5321 | + "requires": { | ||
5322 | + "end-of-stream": "^1.4.1", | ||
5323 | + "inherits": "^2.0.3", | ||
5324 | + "readable-stream": "^3.1.1", | ||
5325 | + "stream-shift": "^1.0.0" | ||
5326 | + } | ||
5327 | + } | ||
5328 | + } | ||
5329 | + }, | ||
4318 | "google-p12-pem": { | 5330 | "google-p12-pem": { |
4319 | "version": "3.1.2", | 5331 | "version": "3.1.2", |
4320 | "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz", | 5332 | "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz", |
... | @@ -4385,6 +5397,11 @@ | ... | @@ -4385,6 +5397,11 @@ |
4385 | "toidentifier": "1.0.0" | 5397 | "toidentifier": "1.0.0" |
4386 | } | 5398 | } |
4387 | }, | 5399 | }, |
5400 | + "http-parser-js": { | ||
5401 | + "version": "0.5.3", | ||
5402 | + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", | ||
5403 | + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" | ||
5404 | + }, | ||
4388 | "http-proxy-agent": { | 5405 | "http-proxy-agent": { |
4389 | "version": "4.0.1", | 5406 | "version": "4.0.1", |
4390 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", | 5407 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", |
... | @@ -4508,6 +5525,12 @@ | ... | @@ -4508,6 +5525,12 @@ |
4508 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", | 5525 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", |
4509 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" | 5526 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" |
4510 | }, | 5527 | }, |
5528 | + "is-stream-ended": { | ||
5529 | + "version": "0.1.4", | ||
5530 | + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", | ||
5531 | + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", | ||
5532 | + "optional": true | ||
5533 | + }, | ||
4511 | "is-typedarray": { | 5534 | "is-typedarray": { |
4512 | "version": "1.0.0", | 5535 | "version": "1.0.0", |
4513 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | 5536 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", |
... | @@ -4580,6 +5603,49 @@ | ... | @@ -4580,6 +5603,49 @@ |
4580 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", | 5603 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", |
4581 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" | 5604 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" |
4582 | }, | 5605 | }, |
5606 | + "jsonwebtoken": { | ||
5607 | + "version": "8.5.1", | ||
5608 | + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", | ||
5609 | + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", | ||
5610 | + "requires": { | ||
5611 | + "jws": "^3.2.2", | ||
5612 | + "lodash.includes": "^4.3.0", | ||
5613 | + "lodash.isboolean": "^3.0.3", | ||
5614 | + "lodash.isinteger": "^4.0.4", | ||
5615 | + "lodash.isnumber": "^3.0.3", | ||
5616 | + "lodash.isplainobject": "^4.0.6", | ||
5617 | + "lodash.isstring": "^4.0.1", | ||
5618 | + "lodash.once": "^4.0.0", | ||
5619 | + "ms": "^2.1.1", | ||
5620 | + "semver": "^5.6.0" | ||
5621 | + }, | ||
5622 | + "dependencies": { | ||
5623 | + "jwa": { | ||
5624 | + "version": "1.4.1", | ||
5625 | + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", | ||
5626 | + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", | ||
5627 | + "requires": { | ||
5628 | + "buffer-equal-constant-time": "1.0.1", | ||
5629 | + "ecdsa-sig-formatter": "1.0.11", | ||
5630 | + "safe-buffer": "^5.0.1" | ||
5631 | + } | ||
5632 | + }, | ||
5633 | + "jws": { | ||
5634 | + "version": "3.2.2", | ||
5635 | + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", | ||
5636 | + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", | ||
5637 | + "requires": { | ||
5638 | + "jwa": "^1.4.1", | ||
5639 | + "safe-buffer": "^5.0.1" | ||
5640 | + } | ||
5641 | + }, | ||
5642 | + "semver": { | ||
5643 | + "version": "5.7.1", | ||
5644 | + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||
5645 | + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" | ||
5646 | + } | ||
5647 | + } | ||
5648 | + }, | ||
4583 | "jwa": { | 5649 | "jwa": { |
4584 | "version": "2.0.0", | 5650 | "version": "2.0.0", |
4585 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", | 5651 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", |
... | @@ -4590,6 +5656,18 @@ | ... | @@ -4590,6 +5656,18 @@ |
4590 | "safe-buffer": "^5.0.1" | 5656 | "safe-buffer": "^5.0.1" |
4591 | } | 5657 | } |
4592 | }, | 5658 | }, |
5659 | + "jwks-rsa": { | ||
5660 | + "version": "2.0.4", | ||
5661 | + "resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-2.0.4.tgz", | ||
5662 | + "integrity": "sha512-iJqVCECYZZ+3oPmY1qXv3Fq+3ywDtuNEVBvG41pPlaR0zyGxa12nC0beAOBBUhETJmc05puS50mRQN4NkCGhmg==", | ||
5663 | + "requires": { | ||
5664 | + "@types/express-jwt": "0.0.42", | ||
5665 | + "debug": "^4.3.2", | ||
5666 | + "jose": "^2.0.5", | ||
5667 | + "limiter": "^1.1.5", | ||
5668 | + "lru-memoizer": "^2.1.4" | ||
5669 | + } | ||
5670 | + }, | ||
4593 | "jws": { | 5671 | "jws": { |
4594 | "version": "4.0.0", | 5672 | "version": "4.0.0", |
4595 | "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", | 5673 | "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", |
... | @@ -4629,6 +5707,15 @@ | ... | @@ -4629,6 +5707,15 @@ |
4629 | "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", | 5707 | "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", |
4630 | "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" | 5708 | "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" |
4631 | }, | 5709 | }, |
5710 | + "locate-path": { | ||
5711 | + "version": "3.0.0", | ||
5712 | + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", | ||
5713 | + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", | ||
5714 | + "requires": { | ||
5715 | + "p-locate": "^3.0.0", | ||
5716 | + "path-exists": "^3.0.0" | ||
5717 | + } | ||
5718 | + }, | ||
4632 | "lodash.camelcase": { | 5719 | "lodash.camelcase": { |
4633 | "version": "4.3.0", | 5720 | "version": "4.3.0", |
4634 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", | 5721 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", |
... | @@ -4701,6 +5788,31 @@ | ... | @@ -4701,6 +5788,31 @@ |
4701 | "yallist": "^4.0.0" | 5788 | "yallist": "^4.0.0" |
4702 | } | 5789 | } |
4703 | }, | 5790 | }, |
5791 | + "lru-memoizer": { | ||
5792 | + "version": "2.1.4", | ||
5793 | + "resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.1.4.tgz", | ||
5794 | + "integrity": "sha512-IXAq50s4qwrOBrXJklY+KhgZF+5y98PDaNo0gi/v2KQBFLyWr+JyFvijZXkGKjQj/h9c0OwoE+JZbwUXce76hQ==", | ||
5795 | + "requires": { | ||
5796 | + "lodash.clonedeep": "^4.5.0", | ||
5797 | + "lru-cache": "~4.0.0" | ||
5798 | + }, | ||
5799 | + "dependencies": { | ||
5800 | + "lru-cache": { | ||
5801 | + "version": "4.0.2", | ||
5802 | + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", | ||
5803 | + "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=", | ||
5804 | + "requires": { | ||
5805 | + "pseudomap": "^1.0.1", | ||
5806 | + "yallist": "^2.0.0" | ||
5807 | + } | ||
5808 | + }, | ||
5809 | + "yallist": { | ||
5810 | + "version": "2.1.2", | ||
5811 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | ||
5812 | + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" | ||
5813 | + } | ||
5814 | + } | ||
5815 | + }, | ||
4704 | "make-dir": { | 5816 | "make-dir": { |
4705 | "version": "3.1.0", | 5817 | "version": "3.1.0", |
4706 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", | 5818 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", |
... | @@ -4824,6 +5936,12 @@ | ... | @@ -4824,6 +5936,12 @@ |
4824 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", | 5936 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", |
4825 | "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" | 5937 | "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" |
4826 | }, | 5938 | }, |
5939 | + "object-hash": { | ||
5940 | + "version": "2.2.0", | ||
5941 | + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", | ||
5942 | + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", | ||
5943 | + "optional": true | ||
5944 | + }, | ||
4827 | "object-inspect": { | 5945 | "object-inspect": { |
4828 | "version": "1.11.0", | 5946 | "version": "1.11.0", |
4829 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", | 5947 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", |
... | @@ -4896,6 +6014,29 @@ | ... | @@ -4896,6 +6014,29 @@ |
4896 | "yocto-queue": "^0.1.0" | 6014 | "yocto-queue": "^0.1.0" |
4897 | } | 6015 | } |
4898 | }, | 6016 | }, |
6017 | + "p-locate": { | ||
6018 | + "version": "3.0.0", | ||
6019 | + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", | ||
6020 | + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", | ||
6021 | + "requires": { | ||
6022 | + "p-limit": "^2.0.0" | ||
6023 | + }, | ||
6024 | + "dependencies": { | ||
6025 | + "p-limit": { | ||
6026 | + "version": "2.3.0", | ||
6027 | + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", | ||
6028 | + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", | ||
6029 | + "requires": { | ||
6030 | + "p-try": "^2.0.0" | ||
6031 | + } | ||
6032 | + } | ||
6033 | + } | ||
6034 | + }, | ||
6035 | + "p-try": { | ||
6036 | + "version": "2.2.0", | ||
6037 | + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", | ||
6038 | + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" | ||
6039 | + }, | ||
4899 | "parent-module": { | 6040 | "parent-module": { |
4900 | "version": "1.0.1", | 6041 | "version": "1.0.1", |
4901 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | 6042 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", |
... | @@ -4910,6 +6051,11 @@ | ... | @@ -4910,6 +6051,11 @@ |
4910 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", | 6051 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", |
4911 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" | 6052 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" |
4912 | }, | 6053 | }, |
6054 | + "path-exists": { | ||
6055 | + "version": "3.0.0", | ||
6056 | + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | ||
6057 | + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" | ||
6058 | + }, | ||
4913 | "path-is-absolute": { | 6059 | "path-is-absolute": { |
4914 | "version": "1.0.1", | 6060 | "version": "1.0.1", |
4915 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | 6061 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", |
... | @@ -4921,6 +6067,11 @@ | ... | @@ -4921,6 +6067,11 @@ |
4921 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", | 6067 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", |
4922 | "dev": true | 6068 | "dev": true |
4923 | }, | 6069 | }, |
6070 | + "pngjs": { | ||
6071 | + "version": "3.4.0", | ||
6072 | + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", | ||
6073 | + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" | ||
6074 | + }, | ||
4924 | "prelude-ls": { | 6075 | "prelude-ls": { |
4925 | "version": "1.2.1", | 6076 | "version": "1.2.1", |
4926 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", | 6077 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", |
... | @@ -5006,6 +6157,132 @@ | ... | @@ -5006,6 +6157,132 @@ |
5006 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", | 6157 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", |
5007 | "dev": true | 6158 | "dev": true |
5008 | }, | 6159 | }, |
6160 | + "qrcode": { | ||
6161 | + "version": "1.4.4", | ||
6162 | + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", | ||
6163 | + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", | ||
6164 | + "requires": { | ||
6165 | + "buffer": "^5.4.3", | ||
6166 | + "buffer-alloc": "^1.2.0", | ||
6167 | + "buffer-from": "^1.1.1", | ||
6168 | + "dijkstrajs": "^1.0.1", | ||
6169 | + "isarray": "^2.0.1", | ||
6170 | + "pngjs": "^3.3.0", | ||
6171 | + "yargs": "^13.2.4" | ||
6172 | + }, | ||
6173 | + "dependencies": { | ||
6174 | + "ansi-regex": { | ||
6175 | + "version": "4.1.0", | ||
6176 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||
6177 | + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" | ||
6178 | + }, | ||
6179 | + "ansi-styles": { | ||
6180 | + "version": "3.2.1", | ||
6181 | + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||
6182 | + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||
6183 | + "requires": { | ||
6184 | + "color-convert": "^1.9.0" | ||
6185 | + } | ||
6186 | + }, | ||
6187 | + "cliui": { | ||
6188 | + "version": "5.0.0", | ||
6189 | + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", | ||
6190 | + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", | ||
6191 | + "requires": { | ||
6192 | + "string-width": "^3.1.0", | ||
6193 | + "strip-ansi": "^5.2.0", | ||
6194 | + "wrap-ansi": "^5.1.0" | ||
6195 | + } | ||
6196 | + }, | ||
6197 | + "color-convert": { | ||
6198 | + "version": "1.9.3", | ||
6199 | + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | ||
6200 | + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | ||
6201 | + "requires": { | ||
6202 | + "color-name": "1.1.3" | ||
6203 | + } | ||
6204 | + }, | ||
6205 | + "color-name": { | ||
6206 | + "version": "1.1.3", | ||
6207 | + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||
6208 | + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" | ||
6209 | + }, | ||
6210 | + "emoji-regex": { | ||
6211 | + "version": "7.0.3", | ||
6212 | + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | ||
6213 | + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" | ||
6214 | + }, | ||
6215 | + "is-fullwidth-code-point": { | ||
6216 | + "version": "2.0.0", | ||
6217 | + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
6218 | + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" | ||
6219 | + }, | ||
6220 | + "isarray": { | ||
6221 | + "version": "2.0.5", | ||
6222 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", | ||
6223 | + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" | ||
6224 | + }, | ||
6225 | + "string-width": { | ||
6226 | + "version": "3.1.0", | ||
6227 | + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||
6228 | + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||
6229 | + "requires": { | ||
6230 | + "emoji-regex": "^7.0.1", | ||
6231 | + "is-fullwidth-code-point": "^2.0.0", | ||
6232 | + "strip-ansi": "^5.1.0" | ||
6233 | + } | ||
6234 | + }, | ||
6235 | + "strip-ansi": { | ||
6236 | + "version": "5.2.0", | ||
6237 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
6238 | + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
6239 | + "requires": { | ||
6240 | + "ansi-regex": "^4.1.0" | ||
6241 | + } | ||
6242 | + }, | ||
6243 | + "wrap-ansi": { | ||
6244 | + "version": "5.1.0", | ||
6245 | + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", | ||
6246 | + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", | ||
6247 | + "requires": { | ||
6248 | + "ansi-styles": "^3.2.0", | ||
6249 | + "string-width": "^3.0.0", | ||
6250 | + "strip-ansi": "^5.0.0" | ||
6251 | + } | ||
6252 | + }, | ||
6253 | + "y18n": { | ||
6254 | + "version": "4.0.3", | ||
6255 | + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", | ||
6256 | + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" | ||
6257 | + }, | ||
6258 | + "yargs": { | ||
6259 | + "version": "13.3.2", | ||
6260 | + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", | ||
6261 | + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", | ||
6262 | + "requires": { | ||
6263 | + "cliui": "^5.0.0", | ||
6264 | + "find-up": "^3.0.0", | ||
6265 | + "get-caller-file": "^2.0.1", | ||
6266 | + "require-directory": "^2.1.1", | ||
6267 | + "require-main-filename": "^2.0.0", | ||
6268 | + "set-blocking": "^2.0.0", | ||
6269 | + "string-width": "^3.0.0", | ||
6270 | + "which-module": "^2.0.0", | ||
6271 | + "y18n": "^4.0.0", | ||
6272 | + "yargs-parser": "^13.1.2" | ||
6273 | + } | ||
6274 | + }, | ||
6275 | + "yargs-parser": { | ||
6276 | + "version": "13.1.2", | ||
6277 | + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", | ||
6278 | + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", | ||
6279 | + "requires": { | ||
6280 | + "camelcase": "^5.0.0", | ||
6281 | + "decamelize": "^1.2.0" | ||
6282 | + } | ||
6283 | + } | ||
6284 | + } | ||
6285 | + }, | ||
5009 | "qs": { | 6286 | "qs": { |
5010 | "version": "6.10.1", | 6287 | "version": "6.10.1", |
5011 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", | 6288 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", |
... | @@ -5054,8 +6331,7 @@ | ... | @@ -5054,8 +6331,7 @@ |
5054 | "require-directory": { | 6331 | "require-directory": { |
5055 | "version": "2.1.1", | 6332 | "version": "2.1.1", |
5056 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | 6333 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", |
5057 | - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", | 6334 | + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" |
5058 | - "optional": true | ||
5059 | }, | 6335 | }, |
5060 | "require-from-string": { | 6336 | "require-from-string": { |
5061 | "version": "2.0.2", | 6337 | "version": "2.0.2", |
... | @@ -5063,6 +6339,11 @@ | ... | @@ -5063,6 +6339,11 @@ |
5063 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", | 6339 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", |
5064 | "dev": true | 6340 | "dev": true |
5065 | }, | 6341 | }, |
6342 | + "require-main-filename": { | ||
6343 | + "version": "2.0.0", | ||
6344 | + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", | ||
6345 | + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" | ||
6346 | + }, | ||
5066 | "resolve-from": { | 6347 | "resolve-from": { |
5067 | "version": "4.0.0", | 6348 | "version": "4.0.0", |
5068 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", | 6349 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", |
... | @@ -5111,6 +6392,11 @@ | ... | @@ -5111,6 +6392,11 @@ |
5111 | "lru-cache": "^6.0.0" | 6392 | "lru-cache": "^6.0.0" |
5112 | } | 6393 | } |
5113 | }, | 6394 | }, |
6395 | + "set-blocking": { | ||
6396 | + "version": "2.0.0", | ||
6397 | + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", | ||
6398 | + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" | ||
6399 | + }, | ||
5114 | "setprototypeof": { | 6400 | "setprototypeof": { |
5115 | "version": "1.1.1", | 6401 | "version": "1.1.1", |
5116 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", | 6402 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", |
... | @@ -5360,6 +6646,11 @@ | ... | @@ -5360,6 +6646,11 @@ |
5360 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | 6646 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", |
5361 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" | 6647 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" |
5362 | }, | 6648 | }, |
6649 | + "tslib": { | ||
6650 | + "version": "2.3.1", | ||
6651 | + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", | ||
6652 | + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" | ||
6653 | + }, | ||
5363 | "type-check": { | 6654 | "type-check": { |
5364 | "version": "0.4.0", | 6655 | "version": "0.4.0", |
5365 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", | 6656 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", |
... | @@ -5454,6 +6745,21 @@ | ... | @@ -5454,6 +6745,21 @@ |
5454 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 6745 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
5455 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | 6746 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" |
5456 | }, | 6747 | }, |
6748 | + "websocket-driver": { | ||
6749 | + "version": "0.7.4", | ||
6750 | + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", | ||
6751 | + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", | ||
6752 | + "requires": { | ||
6753 | + "http-parser-js": ">=0.5.1", | ||
6754 | + "safe-buffer": ">=5.1.0", | ||
6755 | + "websocket-extensions": ">=0.1.1" | ||
6756 | + } | ||
6757 | + }, | ||
6758 | + "websocket-extensions": { | ||
6759 | + "version": "0.1.4", | ||
6760 | + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", | ||
6761 | + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" | ||
6762 | + }, | ||
5457 | "which": { | 6763 | "which": { |
5458 | "version": "2.0.2", | 6764 | "version": "2.0.2", |
5459 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", | 6765 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", |
... | @@ -5463,6 +6769,11 @@ | ... | @@ -5463,6 +6769,11 @@ |
5463 | "isexe": "^2.0.0" | 6769 | "isexe": "^2.0.0" |
5464 | } | 6770 | } |
5465 | }, | 6771 | }, |
6772 | + "which-module": { | ||
6773 | + "version": "2.0.0", | ||
6774 | + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", | ||
6775 | + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" | ||
6776 | + }, | ||
5466 | "word-wrap": { | 6777 | "word-wrap": { |
5467 | "version": "1.2.3", | 6778 | "version": "1.2.3", |
5468 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", | 6779 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", |
... | @@ -5523,6 +6834,27 @@ | ... | @@ -5523,6 +6834,27 @@ |
5523 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | 6834 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", |
5524 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | 6835 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" |
5525 | }, | 6836 | }, |
6837 | + "yargs": { | ||
6838 | + "version": "16.2.0", | ||
6839 | + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", | ||
6840 | + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", | ||
6841 | + "optional": true, | ||
6842 | + "requires": { | ||
6843 | + "cliui": "^7.0.2", | ||
6844 | + "escalade": "^3.1.1", | ||
6845 | + "get-caller-file": "^2.0.5", | ||
6846 | + "require-directory": "^2.1.1", | ||
6847 | + "string-width": "^4.2.0", | ||
6848 | + "y18n": "^5.0.5", | ||
6849 | + "yargs-parser": "^20.2.2" | ||
6850 | + } | ||
6851 | + }, | ||
6852 | + "yargs-parser": { | ||
6853 | + "version": "20.2.9", | ||
6854 | + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", | ||
6855 | + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", | ||
6856 | + "optional": true | ||
6857 | + }, | ||
5526 | "yocto-queue": { | 6858 | "yocto-queue": { |
5527 | "version": "0.1.0", | 6859 | "version": "0.1.0", |
5528 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", | 6860 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", | ... | ... |
... | @@ -19,6 +19,7 @@ | ... | @@ -19,6 +19,7 @@ |
19 | "dependencies": { | 19 | "dependencies": { |
20 | "@google-cloud/storage": "^5.14.2", | 20 | "@google-cloud/storage": "^5.14.2", |
21 | "@koa/cors": "^3.1.0", | 21 | "@koa/cors": "^3.1.0", |
22 | + "firebase-admin": "^9.11.1", | ||
22 | "koa-body": "^4.2.0", | 23 | "koa-body": "^4.2.0", |
23 | "moment": "^2.29.1", | 24 | "moment": "^2.29.1", |
24 | "moment-timezone": "^0.5.33", | 25 | "moment-timezone": "^0.5.33", | ... | ... |
... | @@ -17,6 +17,7 @@ exports.register = async(ctx) => { | ... | @@ -17,6 +17,7 @@ exports.register = async(ctx) => { |
17 | userNm, | 17 | userNm, |
18 | birth, | 18 | birth, |
19 | contact, | 19 | contact, |
20 | + deviceToken, | ||
20 | } = ctx.request.body; | 21 | } = ctx.request.body; |
21 | 22 | ||
22 | const schema = Joi.object().keys({ | 23 | const schema = Joi.object().keys({ |
... | @@ -58,7 +59,8 @@ exports.register = async(ctx) => { | ... | @@ -58,7 +59,8 @@ exports.register = async(ctx) => { |
58 | userId, | 59 | userId, |
59 | userNm, | 60 | userNm, |
60 | birth, | 61 | birth, |
61 | - contact, | 62 | + contact, |
63 | + deviceToken, | ||
62 | }); | 64 | }); |
63 | 65 | ||
64 | await user.save(); | 66 | await user.save(); |
... | @@ -192,7 +194,7 @@ exports.doctorRegister = async ctx => { | ... | @@ -192,7 +194,7 @@ exports.doctorRegister = async ctx => { |
192 | } | 194 | } |
193 | 195 | ||
194 | exports.login = async(ctx) => { | 196 | exports.login = async(ctx) => { |
195 | - const { userId, password } = ctx.request.body; | 197 | + const { userId, password, deviceToken } = ctx.request.body; |
196 | 198 | ||
197 | const schema = Joi.object().keys({ | 199 | const schema = Joi.object().keys({ |
198 | userId : Joi.string().email().max(50).required(), | 200 | userId : Joi.string().email().max(50).required(), |
... | @@ -225,7 +227,6 @@ exports.login = async(ctx) => { | ... | @@ -225,7 +227,6 @@ exports.login = async(ctx) => { |
225 | }; | 227 | }; |
226 | return; | 228 | return; |
227 | } | 229 | } |
228 | - | ||
229 | if(user.useYn !== 'Y') { | 230 | if(user.useYn !== 'Y') { |
230 | ctx.status = 403; | 231 | ctx.status = 403; |
231 | ctx.body = { | 232 | ctx.body = { |
... | @@ -234,6 +235,16 @@ exports.login = async(ctx) => { | ... | @@ -234,6 +235,16 @@ exports.login = async(ctx) => { |
234 | return; | 235 | return; |
235 | } | 236 | } |
236 | 237 | ||
238 | + //일반 유저의 deviceToken값이 바뀌면 업데이트한다 = 기기가 바뀌면 | ||
239 | + if(user.userTypeCd === 'NORMAL') { | ||
240 | + const profile = await Profile.findByUserId(user.userId); | ||
241 | + if(deviceToken && profile.deviceToken !== deviceToken) { | ||
242 | + profile.updateDeviceToken(deviceToken); | ||
243 | + await profile.save(); | ||
244 | + } | ||
245 | + } | ||
246 | + | ||
247 | + | ||
237 | const token = await user.generateToken(); | 248 | const token = await user.generateToken(); |
238 | ctx.cookies.set('access_token', token, { | 249 | ctx.cookies.set('access_token', token, { |
239 | httpOnly : true, | 250 | httpOnly : true, |
... | @@ -243,7 +254,7 @@ exports.login = async(ctx) => { | ... | @@ -243,7 +254,7 @@ exports.login = async(ctx) => { |
243 | ctx.status = 200; | 254 | ctx.status = 200; |
244 | ctx.body = { | 255 | ctx.body = { |
245 | userTypeCd : user.userTypeCd, | 256 | userTypeCd : user.userTypeCd, |
246 | - token | 257 | + token, |
247 | }; | 258 | }; |
248 | 259 | ||
249 | }; | 260 | }; | ... | ... |
... | @@ -6,17 +6,20 @@ | ... | @@ -6,17 +6,20 @@ |
6 | * 1) Dosage에 따라, Push Notification 발송 | 6 | * 1) Dosage에 따라, Push Notification 발송 |
7 | */ | 7 | */ |
8 | 8 | ||
9 | - const cron = require('node-cron'); | 9 | +const cron = require('node-cron'); |
10 | +const fs = require('fs'); | ||
10 | 11 | ||
11 | - const Profile = require('../models/profile'); | 12 | +const Profile = require('../models/profile'); |
12 | - const User = require('../models/user'); | 13 | +const User = require('../models/user'); |
13 | - const Hub = require('../models/hub'); | 14 | +const Hub = require('../models/hub'); |
14 | - const Bottle = require('../models/bottle'); | 15 | +const Bottle = require('../models/bottle'); |
15 | - const BottleMedicine = require('../models/bottleMedicine'); | 16 | +const BottleMedicine = require('../models/bottleMedicine'); |
17 | +const Medicine = require('../models/medicine'); | ||
16 | 18 | ||
17 | const updateMedicineInfo = require('../lib/UpdatingMedicineInfo'); | 19 | const updateMedicineInfo = require('../lib/UpdatingMedicineInfo'); |
18 | - | 20 | +const { sendPushMessage } = require('./FCM'); |
19 | - | 21 | + |
22 | + | ||
20 | // //매년 1월 1일 00시 00분에 1살씩 추가 | 23 | // //매년 1월 1일 00시 00분에 1살씩 추가 |
21 | // exports.CheckNewYear = () => { | 24 | // exports.CheckNewYear = () => { |
22 | // cron.schedule('0 0 0 1 1 *', async () => { | 25 | // cron.schedule('0 0 0 1 1 *', async () => { |
... | @@ -25,7 +28,7 @@ const updateMedicineInfo = require('../lib/UpdatingMedicineInfo'); | ... | @@ -25,7 +28,7 @@ const updateMedicineInfo = require('../lib/UpdatingMedicineInfo'); |
25 | // await profile.updateUserAge(); | 28 | // await profile.updateUserAge(); |
26 | // profile.save(); | 29 | // profile.save(); |
27 | // }); | 30 | // }); |
28 | - | 31 | + |
29 | // }, { | 32 | // }, { |
30 | // timezone : 'Asia/Tokyo', | 33 | // timezone : 'Asia/Tokyo', |
31 | // }); | 34 | // }); |
... | @@ -35,78 +38,111 @@ const updateMedicineInfo = require('../lib/UpdatingMedicineInfo'); | ... | @@ -35,78 +38,111 @@ const updateMedicineInfo = require('../lib/UpdatingMedicineInfo'); |
35 | exports.updateMedicineData = async () => { | 38 | exports.updateMedicineData = async () => { |
36 | cron.schedule('0 0 0 1 * *', () => { | 39 | cron.schedule('0 0 0 1 * *', () => { |
37 | updateMedicineInfo.updateMedicineInfo(); | 40 | updateMedicineInfo.updateMedicineInfo(); |
41 | + }, { | ||
42 | + timezone : 'Asia/Tokyo', | ||
38 | }); | 43 | }); |
39 | }; | 44 | }; |
40 | - | 45 | + |
46 | +//매주 일요일마다 불필요한 qrcode 제거 | ||
47 | +exports.removeQrCode = () => { | ||
48 | + cron.schedule('0 0 0 * * 0', () => { | ||
49 | + // eslint-disable-next-line no-undef | ||
50 | + const qrDir = process.env.QR_DIR; | ||
51 | + fs.rm(qrDir, { recursive : true, force : true, }, () => { | ||
52 | + fs.mkdir(qrDir, (err) => { if(err) console.log(err) }); | ||
53 | + }); | ||
54 | + }, { | ||
55 | + timezone : 'Asia/Tokyo', | ||
56 | + }); | ||
57 | +}; | ||
58 | + | ||
41 | //dosage에 따라, Push Notification을 발송한다. | 59 | //dosage에 따라, Push Notification을 발송한다. |
42 | //아침 8시, 점심 12시, 저녁 6시에 한번씩 발송 | 60 | //아침 8시, 점심 12시, 저녁 6시에 한번씩 발송 |
43 | - exports.PushNotifyByDosage = async() => { | 61 | +exports.pushNotifyByDosage = async() => { |
44 | - | 62 | + |
45 | - //매일 아침 8시 : 복용량 상관 없이 보냄 | 63 | + //매일 아침 8시 : 복용량 상관 없이 보냄 |
46 | - cron.schedule('0 0 8 * * *', async () => { | 64 | + cron.schedule('0 0 8 * * *', async () => { |
47 | - const bottleMedicineList = await BottleMedicine.find({ useYn : 'Y', dosage : { $gte : 1 } }); | 65 | + const bottleMedicineList = await BottleMedicine.find({ useYn : 'Y', dosage : { $gte : 1 } }); |
48 | - bottleMedicineList.forEach(async bottleMedicine => { | 66 | + bottleMedicineList.forEach(async bottleMedicine => { |
49 | - const bottle = await Bottle.findOne({ bottleId : bottleMedicine.bottleId }); | 67 | + const bottle = await Bottle.findOne({ bottleId : bottleMedicine.bottleId }); |
50 | - const hub = await Hub.findOne({ hubId : bottle.hubId }); | 68 | + const hub = await Hub.findOne({ hubId : bottle.hubId }); |
51 | - const user = await User.findOne({ userId : hub.userId, useYn : 'Y' }); | 69 | + const user = await User.findOne({ userId : hub.userId, useYn : 'Y' }); |
52 | - | 70 | + |
53 | - if(user) { | 71 | + if(user) { |
54 | - const profile = await Profile.findOne({ userId : user.userId }); | 72 | + const profile = await Profile.findOne({ userId : user.userId }); |
55 | - | 73 | + const { deviceToken } = profile; |
56 | - const { deviceToken } = profile; | 74 | + |
57 | - PushNotify(deviceToken); | 75 | + if(deviceToken) { |
58 | - } | 76 | + const medicine = await Medicine.findOne({ medicineId : bottleMedicine.medicineId }); |
59 | - }); | 77 | + pushNotify({ |
60 | - }, { | 78 | + deviceToken, |
61 | - timezone : 'Asia/Tokyo', | 79 | + message : medicine.name + '을 복용하셔야 합니다.', |
62 | - }); | 80 | + }); |
63 | - | 81 | + } |
64 | - | 82 | + } |
65 | - //매일 점심 12시 : 복용량이 3인 환자들만 | 83 | + }); |
66 | - cron.schedule('0 0 12 * * *', async () => { | 84 | + }, { |
67 | - const bottleMedicineList = await BottleMedicine.find({ useYn : 'Y', dosage : { $gte : 3 } }); | 85 | + timezone : 'Asia/Tokyo', |
68 | - bottleMedicineList.forEach(async bottleMedicine => { | 86 | + }); |
69 | - const bottle = await Bottle.findOne({ bottleId : bottleMedicine.bottleId }); | 87 | + |
70 | - const hub = await Hub.findOne({ hubId : bottle.hubId }); | 88 | + |
71 | - const user = await User.findOne({ userId : hub.userId, useYn : 'Y' }); | 89 | + //매일 점심 12시 : 복용량이 3인 환자들만 |
72 | - | 90 | + cron.schedule('0 0 12 * * *', async () => { |
73 | - if(user) { | 91 | + const bottleMedicineList = await BottleMedicine.find({ useYn : 'Y', dosage : { $gte : 3 } }); |
74 | - const profile = await Profile.findOne({ userId : user.userId }); | 92 | + bottleMedicineList.forEach(async bottleMedicine => { |
75 | - | 93 | + const bottle = await Bottle.findOne({ bottleId : bottleMedicine.bottleId }); |
76 | - const { deviceToken } = profile; | 94 | + const hub = await Hub.findOne({ hubId : bottle.hubId }); |
77 | - PushNotify(deviceToken); | 95 | + const user = await User.findOne({ userId : hub.userId, useYn : 'Y' }); |
78 | - } | 96 | + |
79 | - }); | 97 | + if(user) { |
80 | - }, { | 98 | + const profile = await Profile.findOne({ userId : user.userId }); |
81 | - timezone : 'Asia/Tokyo', | 99 | + const { deviceToken } = profile; |
82 | - }); | 100 | + |
83 | - | 101 | + if(deviceToken) { |
84 | - | 102 | + const medicine = await Medicine.findOne({ medicineId : bottleMedicine.medicineId }); |
85 | - //매일 저녁 6시 | 103 | + pushNotify({ |
86 | - cron.schedule('0 0 18 * * *', async () => { | 104 | + deviceToken, |
87 | - const bottleMedicineList = await BottleMedicine.find({ useYn : 'Y', dosage : { $gte : 2 } }); | 105 | + message : medicine.name + '을 복용하셔야 합니다.', |
88 | - bottleMedicineList.forEach(async bottleMedicine => { | 106 | + }); |
89 | - const bottle = await Bottle.findOne({ bottleId : bottleMedicine.bottleId }); | 107 | + } |
90 | - const hub = await Hub.findOne({ hubId : bottle.hubId }); | 108 | + } |
91 | - const user = await User.findOne({ userId : hub.userId, useYn : 'Y' }); | 109 | + }); |
92 | - | 110 | + }, { |
93 | - if(user) { | 111 | + timezone : 'Asia/Tokyo', |
94 | - const profile = await Profile.findOne({ userId : user.userId }); | 112 | + }); |
95 | - | 113 | + |
96 | - const { deviceToken } = profile; | 114 | + |
97 | - PushNotify(deviceToken); | 115 | + //매일 저녁 6시 |
98 | - } | 116 | + cron.schedule('0 0 18 * * *', async () => { |
99 | - }); | 117 | + const bottleMedicineList = await BottleMedicine.find({ useYn : 'Y', dosage : { $gte : 2 } }); |
100 | - }, { | 118 | + bottleMedicineList.forEach(async bottleMedicine => { |
101 | - timezone : 'Asia/Tokyo', | 119 | + const bottle = await Bottle.findOne({ bottleId : bottleMedicine.bottleId }); |
102 | - }); | 120 | + const hub = await Hub.findOne({ hubId : bottle.hubId }); |
103 | - | 121 | + const user = await User.findOne({ userId : hub.userId, useYn : 'Y' }); |
104 | - }; | 122 | + |
105 | - | 123 | + if(user) { |
106 | - const PushNotify = async(deviceToken) => { | 124 | + const profile = await Profile.findOne({ userId : user.userId }); |
125 | + const { deviceToken } = profile; | ||
126 | + | ||
127 | + if(deviceToken) { | ||
128 | + const medicine = await Medicine.findOne({ medicineId : bottleMedicine.medicineId }); | ||
129 | + pushNotify({ | ||
130 | + deviceToken, | ||
131 | + message : medicine.name + '을 복용하셔야 합니다.', | ||
132 | + }); | ||
133 | + } | ||
134 | + } | ||
135 | + }); | ||
136 | + }, { | ||
137 | + timezone : 'Asia/Tokyo', | ||
138 | + }); | ||
139 | + | ||
140 | +}; | ||
141 | + | ||
142 | +const pushNotify = ({ deviceToken, message }) => { | ||
107 | //toDo : deviceToken을 받아서 push notification을 발송하는 함수 | 143 | //toDo : deviceToken을 받아서 push notification을 발송하는 함수 |
108 | - if(deviceToken) { | 144 | + sendPushMessage({ |
109 | - console.log(deviceToken); | 145 | + deviceToken, |
110 | - } | 146 | + message, |
111 | - }; | 147 | + }); |
112 | - | 148 | +}; | ... | ... |
server/src/util/FCM.js
0 → 100644
1 | +const fcm = require('firebase-admin'); | ||
2 | + | ||
3 | + | ||
4 | +exports.initializeFCM = () => { | ||
5 | + fcm.initializeApp({ | ||
6 | + credential : fcm.credential.applicationDefault(), | ||
7 | + }); | ||
8 | +}; | ||
9 | + | ||
10 | +exports.sendPushMessage = async ({ deviceToken, message }) => { | ||
11 | + const notifyMessage = { | ||
12 | + notification : { | ||
13 | + title : '약 먹을 시간입니다', | ||
14 | + body : message, | ||
15 | + }, | ||
16 | + token : deviceToken, | ||
17 | + }; | ||
18 | + fcm.messaging().send(notifyMessage); | ||
19 | +}; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -3,14 +3,15 @@ const moment = require('moment'); | ... | @@ -3,14 +3,15 @@ const moment = require('moment'); |
3 | 3 | ||
4 | 4 | ||
5 | exports.generateQrCode_prescribe = async ({ medicine, dosage, patientId, doctorId }) => { | 5 | exports.generateQrCode_prescribe = async ({ medicine, dosage, patientId, doctorId }) => { |
6 | - const directory = "/Users/parkkwonsoo/Desktop/Project/Capstone_Design_1/server/data/"; | 6 | + // eslint-disable-next-line no-undef |
7 | + const directory = process.env.QR_DIR; | ||
7 | 8 | ||
8 | const now = moment().format('YYYY-MM-DD_HH:mm'); | 9 | const now = moment().format('YYYY-MM-DD_HH:mm'); |
9 | const qrCodeFileName = `${now}_${doctorId}_${patientId}_${medicine.medicineId}_${dosage}.png`; | 10 | const qrCodeFileName = `${now}_${doctorId}_${patientId}_${medicine.medicineId}_${dosage}.png`; |
10 | 11 | ||
11 | try { | 12 | try { |
12 | await QrCode.toFile( | 13 | await QrCode.toFile( |
13 | - directory + qrCodeFileName, | 14 | + directory + '/' + qrCodeFileName, |
14 | `${medicine.name}/${medicine.medicineId}/${dosage}/${patientId}/${doctorId}`, | 15 | `${medicine.name}/${medicine.medicineId}/${dosage}/${patientId}/${doctorId}`, |
15 | { | 16 | { |
16 | color : { | 17 | color : { | ... | ... |
This diff could not be displayed because it is too large.
-
Please register or login to post a comment