diff --git a/package.json b/package.json index 8bd9851..2e680a9 100644 --- a/package.json +++ b/package.json @@ -24,12 +24,15 @@ "@nestjs/common": "^8.0.0", "@nestjs/config": "^2.0.0", "@nestjs/core": "^8.0.0", + "@nestjs/jwt": "^8.0.0", + "@nestjs/passport": "8.0.1", "@nestjs/platform-express": "^8.0.0", "@nestjs/platform-fastify": "^8.4.4", "@nestjs/platform-socket.io": "^8.4.4", "@nestjs/platform-ws": "^8.4.4", "@nestjs/typeorm": "^8.0.3", "@nestjs/websockets": "^8.4.4", + "cookie-parser": "^1.4.6", "fastify-static": "^4.7.0", "handlebars": "^4.7.7", "hbs": "^4.2.0", diff --git a/src/app.controller.ts b/src/app.controller.ts index 39ecb0a..cd40e91 100644 --- a/src/app.controller.ts +++ b/src/app.controller.ts @@ -1,5 +1,5 @@ -import { Controller, Get, Render, Req, Res } from '@nestjs/common'; -import { Response } from 'express'; +import { Controller, Get, Req} from '@nestjs/common'; +import { Request } from 'express'; import { AppService } from './app.service'; @Controller() @@ -7,7 +7,7 @@ export class AppController { constructor(private readonly appService: AppService) {} @Get() - getHello(): string { + getHello(): string{ return this.appService.getHello(); } } diff --git a/src/app.service.ts b/src/app.service.ts index 927d7cc..6643355 100644 --- a/src/app.service.ts +++ b/src/app.service.ts @@ -1,7 +1,9 @@ import { Injectable } from '@nestjs/common'; + @Injectable() export class AppService { + getHello(): string { return 'Hello World!'; } diff --git a/src/events/events.gateway.ts b/src/events/events.gateway.ts index d0ab51f..d644261 100644 --- a/src/events/events.gateway.ts +++ b/src/events/events.gateway.ts @@ -7,6 +7,7 @@ import { ReservationService } from 'src/service/reservation/reservation.service' import { ReviewService } from 'src/service/review/review.service'; import { EventsService } from './events.service'; import Y from 'yjs'; + const WebSocket = require('ws'); const yWebsocketUtils = require('y-websocket/bin/utils'); @@ -27,6 +28,9 @@ export class EventsGateway { afterInit(server: Server) { server.addListener('connection', async (conn: WebSocket, req: Request) => { try { + if(!req.url.startsWith('/socket/')) { + return + } const { reservationId, reviewDiffId } = this.eventsService.parseUrl(req.url.split('/socket/')[1]); const reservation = await this.reservationService.findById(reservationId); @@ -83,8 +87,7 @@ export class EventsGateway { } //연결 되었을때 - handleConnection(@ConnectedSocket() socket: WebSocket): any { - // socket.send('connected'); + handleConnection(client: any, @ConnectedSocket() socket: WebSocket): any { } //연결 끊겼을때 handleDisconnect(@ConnectedSocket() socket: Socket): any{ diff --git a/src/voice.gateway.ts b/src/voice.gateway.ts index 83f4a03..fdd86e9 100644 --- a/src/voice.gateway.ts +++ b/src/voice.gateway.ts @@ -1,48 +1,53 @@ import { ConnectedSocket, MessageBody, OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit, SubscribeMessage, WebSocketGateway, WebSocketServer } from '@nestjs/websockets'; import { Server , Socket} from 'socket.io'; -const WebSocket = require('ws'); -var socketsStatus= {}; -@WebSocketGateway(8082, {cors: { - origin: 'http://localhost:3000' -}}) // TODO : config service for externalization config +@WebSocketGateway(3002, {cors: { + origin: '*' +}, +trnasport : ['websocket'] }) // TODO : config service for externalization config export class VoiceGateway { @WebSocketServer() public server : Server; +wsClients: Socket[] = []; - afterInit(server: Server) { - - } - - @SubscribeMessage("userInformation") - userInformation(@MessageBody() data: string, @ConnectedSocket() client: Socket){ - socketsStatus[client.id] = data; - console.log(data) - this.server.emit("usersUpdate", socketsStatus); + afterInit(server : Server){ + server.on('connection', (socket: Socket) => { + console.log('Client connected'); + }); } @SubscribeMessage("voice") voice(@MessageBody() data: string, @ConnectedSocket() socket: Socket){ - - var datanew = null; var newData = data.split(";") newData[0] = "data:audio/ogg;"; datanew = newData[0] + newData[1] - - for (const id in socketsStatus) { - - if (id != socket.id && !socketsStatus[id].mute && socketsStatus[id].online) - socket.broadcast.to(id).emit("send", datanew); + this.broadcast('send', datanew); + } + private broadcast(event, message: any) { + const sendMessage:any = { + event: event, + datas: message + } + + const broadCastMessage = JSON.stringify(sendMessage); + for (let c of this.wsClients) { + c.send(broadCastMessage); } - } //연결 되었을때 - handleConnection(@ConnectedSocket() socket: WebSocket): any { - socket.send('connected'); + handleConnection(client:any): any { + this.wsClients.push(client); + console.log(this.wsClients.length); } //연결 끊겼을때 - handleDisconnect(@ConnectedSocket() socket: Socket): any{ - delete socketsStatus[socket.id]; + handleDisconnect(@ConnectedSocket() socket: Socket,client:any): any{ + for (let i = 0; i < this.wsClients.length; i++) { + if (this.wsClients[i] === client) { + this.wsClients.splice(i, 1); + break; + } + } + this.broadcast('disconnect',{}); } } diff --git a/yarn.lock b/yarn.lock index 43d5374..db0e75f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -636,7 +636,7 @@ "webpack" "5.71.0" "webpack-node-externals" "3.0.0" -"@nestjs/common@^8.0.0": +"@nestjs/common@^6.0.0 || ^7.0.0 || ^8.0.0", "@nestjs/common@^8.0.0": "integrity" "sha512-QHi7QcgH/5Jinz+SCfIZJkFHc6Cch1YsAEGFEhi6wSp6MILb0sJMQ1CX06e9tCOAjSlBwaJj4PH0eFCVau5v9Q==" "resolved" "https://registry.npmjs.org/@nestjs/common/-/common-8.4.4.tgz" "version" "8.4.4" @@ -659,6 +659,19 @@ "tslib" "2.3.1" "uuid" "8.3.2" +"@nestjs/jwt@^8.0.0": + "integrity" "sha512-fz2LQgYY2zmuD8S+8UE215anwKyXlnB/1FwJQLVR47clNfMeFMK8WCxmn6xdPhF5JKuV1crO6FVabb1qWzDxqQ==" + "resolved" "https://registry.npmjs.org/@nestjs/jwt/-/jwt-8.0.0.tgz" + "version" "8.0.0" + dependencies: + "@types/jsonwebtoken" "8.5.4" + "jsonwebtoken" "8.5.1" + +"@nestjs/passport@8.0.1": + "integrity" "sha512-vn/ZJLXQKvSf9D0BvEoNFJLfzl9AVqfGtDyQMfWDLbaNpoEB2FyeaHGxdiX6H71oLSrQV78c/yuhfantzwdjdg==" + "resolved" "https://registry.npmjs.org/@nestjs/passport/-/passport-8.0.1.tgz" + "version" "8.0.1" + "@nestjs/platform-express@^8.0.0": "integrity" "sha512-n/H83uzw154v6NVVSg6mniZIvYWtYp0dtNpU9O1qdEmDO030p0tBkeIRoDtpeOVvL2fW5PsHiUYS7HY4tNfykQ==" "resolved" "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.4.tgz" @@ -718,6 +731,13 @@ "optional" "0.1.4" "tslib" "2.3.1" +"@nestjs/typeorm@^8.0.3": + "integrity" "sha512-tf9rTXP6LeFInkwd+tktQhtLRsKp4RRYImprqT8gcHcJDx+xMP1IygnXELOKwF5vo2/mnhrGtBlRQ/iiS6170g==" + "resolved" "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-8.0.3.tgz" + "version" "8.0.3" + dependencies: + "uuid" "8.3.2" + "@nestjs/websockets@^8.0.0", "@nestjs/websockets@^8.4.4": "integrity" "sha512-c7GPbdxDaAR9uTfZHibIIyhFli+YopUVC0nrKGisS8rSsId1wuEIvWo73RLcRekcO85LPGZGf2f+wsP/SxD3yw==" "resolved" "https://registry.npmjs.org/@nestjs/websockets/-/websockets-8.4.4.tgz" @@ -771,6 +791,11 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@sqltools/formatter@^1.2.2": + "integrity" "sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==" + "resolved" "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz" + "version" "1.2.3" + "@tootallnate/once@1": "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" @@ -948,6 +973,13 @@ "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" "version" "0.0.29" +"@types/jsonwebtoken@8.5.4": + "integrity" "sha512-4L8msWK31oXwdtC81RmRBAULd0ShnAHjBuKT9MRQpjP0piNrZdXyTRcKY9/UIfhGeKIT4PvF5amOOUbbT/9Wpg==" + "resolved" "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.4.tgz" + "version" "8.5.4" + dependencies: + "@types/node" "*" + "@types/mime@^1": "integrity" "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" "resolved" "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" @@ -1424,6 +1456,11 @@ "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" "version" "5.2.0" +"any-promise@^1.0.0": + "integrity" "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + "resolved" "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + "version" "1.3.0" + "anymatch@^3.0.3", "anymatch@~3.1.2": "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" @@ -1432,6 +1469,11 @@ "normalize-path" "^3.0.0" "picomatch" "^2.0.4" +"app-root-path@^3.0.0": + "integrity" "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==" + "resolved" "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz" + "version" "3.0.0" + "append-field@^1.0.0": "integrity" "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" "resolved" "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz" @@ -1609,6 +1651,11 @@ dependencies: "callsite" "1.0.0" +"bignumber.js@9.0.0": + "integrity" "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + "resolved" "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz" + "version" "9.0.0" + "binary-extensions@^2.0.0": "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" @@ -1707,11 +1754,21 @@ dependencies: "node-int64" "^0.4.0" +"buffer-equal-constant-time@1.0.1": + "integrity" "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "resolved" "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" + "version" "1.0.1" + "buffer-from@^1.0.0": "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" "version" "1.1.2" +"buffer-writer@2.0.0": + "integrity" "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + "resolved" "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz" + "version" "2.0.0" + "buffer@^5.5.0", "buffer@^5.6.0": "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" @@ -1720,6 +1777,14 @@ "base64-js" "^1.3.1" "ieee754" "^1.1.13" +"buffer@^6.0.3": + "integrity" "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" + "version" "6.0.3" + dependencies: + "base64-js" "^1.3.1" + "ieee754" "^1.2.1" + "busboy@^0.2.11": "integrity" "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=" "resolved" "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz" @@ -1862,6 +1927,18 @@ dependencies: "restore-cursor" "^3.1.0" +"cli-highlight@^2.1.11": + "integrity" "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==" + "resolved" "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz" + "version" "2.1.11" + dependencies: + "chalk" "^4.0.0" + "highlight.js" "^10.7.1" + "mz" "^2.4.0" + "parse5" "^5.1.1" + "parse5-htmlparser2-tree-adapter" "^6.0.0" + "yargs" "^16.0.0" + "cli-spinners@^2.5.0": "integrity" "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" @@ -2015,6 +2092,14 @@ dependencies: "safe-buffer" "~5.1.1" +"cookie-parser@^1.4.6": + "integrity" "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==" + "resolved" "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz" + "version" "1.4.6" + dependencies: + "cookie" "0.4.1" + "cookie-signature" "1.0.6" + "cookie-signature@1.0.6": "integrity" "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" @@ -2030,6 +2115,11 @@ "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz" "version" "0.3.1" +"cookie@0.4.1": + "integrity" "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" + "version" "0.4.1" + "cookiejar@^2.1.3": "integrity" "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" "resolved" "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz" @@ -2099,7 +2189,12 @@ "whatwg-mimetype" "^2.3.0" "whatwg-url" "^8.0.0" -"debug@^4.0.0", "debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4", "debug@~4.3.1", "debug@~4.3.2", "debug@4": +"date-fns@^2.28.0": + "integrity" "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==" + "resolved" "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz" + "version" "2.28.0" + +"debug@^4.0.0", "debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.3", "debug@^4.3.4", "debug@~4.3.1", "debug@~4.3.2", "debug@4": "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" "version" "4.3.4" @@ -2239,6 +2334,18 @@ dependencies: "webidl-conversions" "^5.0.0" +"dotenv@^16.0.0": + "integrity" "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" + "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz" + "version" "16.0.1" + +"ecdsa-sig-formatter@1.0.11": + "integrity" "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==" + "resolved" "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" + "version" "1.0.11" + dependencies: + "safe-buffer" "^5.0.1" + "ee-first@1.1.1": "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" @@ -3024,7 +3131,7 @@ "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" "version" "0.4.1" -"glob@^7.0.0", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4": +"glob@^7.0.0", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.2.0": "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" "version" "7.2.0" @@ -3129,6 +3236,11 @@ "resolved" "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz" "version" "1.0.0" +"highlight.js@^10.7.1": + "integrity" "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" + "resolved" "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz" + "version" "10.7.3" + "html-encoding-sniffer@^2.0.1": "integrity" "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==" "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" @@ -3197,7 +3309,7 @@ dependencies: "safer-buffer" ">= 2.1.2 < 3" -"ieee754@^1.1.13": +"ieee754@^1.1.13", "ieee754@^1.2.1": "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" "version" "1.2.1" @@ -3246,7 +3358,7 @@ "once" "^1.3.0" "wrappy" "1" -"inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": +"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" "version" "2.0.4" @@ -3957,6 +4069,39 @@ optionalDependencies: "graceful-fs" "^4.1.6" +"jsonwebtoken@^8.2.0", "jsonwebtoken@8.5.1": + "integrity" "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==" + "resolved" "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz" + "version" "8.5.1" + dependencies: + "jws" "^3.2.2" + "lodash.includes" "^4.3.0" + "lodash.isboolean" "^3.0.3" + "lodash.isinteger" "^4.0.4" + "lodash.isnumber" "^3.0.3" + "lodash.isplainobject" "^4.0.6" + "lodash.isstring" "^4.0.1" + "lodash.once" "^4.0.0" + "ms" "^2.1.1" + "semver" "^5.6.0" + +"jwa@^1.4.1": + "integrity" "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==" + "resolved" "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "buffer-equal-constant-time" "1.0.1" + "ecdsa-sig-formatter" "1.0.11" + "safe-buffer" "^5.0.1" + +"jws@^3.2.2": + "integrity" "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==" + "resolved" "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "jwa" "^1.4.1" + "safe-buffer" "^5.0.1" + "kleur@^3.0.3": "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" @@ -4104,6 +4249,36 @@ "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" "version" "4.0.8" +"lodash.includes@^4.3.0": + "integrity" "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "resolved" "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" + "version" "4.3.0" + +"lodash.isboolean@^3.0.3": + "integrity" "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "resolved" "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" + "version" "3.0.3" + +"lodash.isinteger@^4.0.4": + "integrity" "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "resolved" "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" + "version" "4.0.4" + +"lodash.isnumber@^3.0.3": + "integrity" "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "resolved" "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" + "version" "3.0.3" + +"lodash.isplainobject@^4.0.6": + "integrity" "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "resolved" "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + "version" "4.0.6" + +"lodash.isstring@^4.0.1": + "integrity" "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "resolved" "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" + "version" "4.0.1" + "lodash.memoize@4.x": "integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" @@ -4114,6 +4289,11 @@ "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" "version" "4.6.2" +"lodash.once@^4.0.0": + "integrity" "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "resolved" "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" + "version" "4.1.1" + "lodash.sortby@^4.7.0": "integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" @@ -4270,6 +4450,16 @@ dependencies: "minimist" "^1.2.6" +"mkdirp@^1.0.4": + "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + "version" "1.0.4" + +"ms@^2.1.1", "ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + "ms@0.7.1": "integrity" "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" "resolved" "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" @@ -4285,11 +4475,6 @@ "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" "version" "2.0.0" -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - "ms@2.1.3": "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" @@ -4314,6 +4499,25 @@ "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" "version" "0.0.8" +"mysql@^2.18.1": + "integrity" "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==" + "resolved" "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz" + "version" "2.18.1" + dependencies: + "bignumber.js" "9.0.0" + "readable-stream" "2.3.7" + "safe-buffer" "5.1.2" + "sqlstring" "2.3.1" + +"mz@^2.4.0": + "integrity" "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==" + "resolved" "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + "version" "2.7.0" + dependencies: + "any-promise" "^1.0.0" + "object-assign" "^4.0.1" + "thenify-all" "^1.0.0" + "napi-macros@~2.0.0": "integrity" "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" "resolved" "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz" @@ -4385,7 +4589,7 @@ "resolved" "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" "version" "2.2.0" -"object-assign@^4", "object-assign@^4.1.1": +"object-assign@^4", "object-assign@^4.0.1", "object-assign@^4.1.1": "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" "version" "4.1.1" @@ -4526,6 +4730,11 @@ "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" "version" "2.2.0" +"packet-reader@1.0.0": + "integrity" "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + "resolved" "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz" + "version" "1.0.0" + "parent-module@^1.0.0": "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" @@ -4543,7 +4752,19 @@ "json-parse-even-better-errors" "^2.3.0" "lines-and-columns" "^1.1.6" -"parse5@6.0.1": +"parse5-htmlparser2-tree-adapter@^6.0.0": + "integrity" "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==" + "resolved" "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "parse5" "^6.0.1" + +"parse5@^5.1.1": + "integrity" "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz" + "version" "5.1.1" + +"parse5@^6.0.1", "parse5@6.0.1": "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" "version" "6.0.1" @@ -4574,6 +4795,34 @@ "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" "version" "1.3.3" +"passport-jwt@^4.0.0": + "integrity" "sha512-BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg==" + "resolved" "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "jsonwebtoken" "^8.2.0" + "passport-strategy" "^1.0.0" + +"passport-local@1.0.0": + "integrity" "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=" + "resolved" "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "passport-strategy" "1.x.x" + +"passport-strategy@^1.0.0", "passport-strategy@1.x.x": + "integrity" "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" + "resolved" "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz" + "version" "1.0.0" + +"passport@^0.4.0", "passport@0.4.1": + "integrity" "sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==" + "resolved" "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "passport-strategy" "1.x.x" + "pause" "0.0.1" + "path-exists@^4.0.0": "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" @@ -4614,6 +4863,62 @@ "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" "version" "4.0.0" +"pause@0.0.1": + "integrity" "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + "resolved" "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" + "version" "0.0.1" + +"pg-connection-string@^2.5.0": + "integrity" "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + "resolved" "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz" + "version" "2.5.0" + +"pg-int8@1.0.1": + "integrity" "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" + "resolved" "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz" + "version" "1.0.1" + +"pg-pool@^3.5.1": + "integrity" "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==" + "resolved" "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz" + "version" "3.5.1" + +"pg-protocol@^1.5.0": + "integrity" "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" + "resolved" "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz" + "version" "1.5.0" + +"pg-types@^2.1.0": + "integrity" "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" + "resolved" "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "pg-int8" "1.0.1" + "postgres-array" "~2.0.0" + "postgres-bytea" "~1.0.0" + "postgres-date" "~1.0.4" + "postgres-interval" "^1.1.0" + +"pg@^8.5.1", "pg@^8.7.3", "pg@>=8.0": + "integrity" "sha512-HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw==" + "resolved" "https://registry.npmjs.org/pg/-/pg-8.7.3.tgz" + "version" "8.7.3" + dependencies: + "buffer-writer" "2.0.0" + "packet-reader" "1.0.0" + "pg-connection-string" "^2.5.0" + "pg-pool" "^3.5.1" + "pg-protocol" "^1.5.0" + "pg-types" "^2.1.0" + "pgpass" "1.x" + +"pgpass@1.x": + "integrity" "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" + "resolved" "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "split2" "^4.1.0" + "picocolors@^1.0.0": "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" @@ -4667,6 +4972,28 @@ "fastify-plugin" "^3.0.0" "hashlru" "^2.3.0" +"postgres-array@~2.0.0": + "integrity" "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + "resolved" "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz" + "version" "2.0.0" + +"postgres-bytea@~1.0.0": + "integrity" "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=" + "resolved" "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz" + "version" "1.0.0" + +"postgres-date@~1.0.4": + "integrity" "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" + "resolved" "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz" + "version" "1.0.7" + +"postgres-interval@^1.1.0": + "integrity" "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" + "resolved" "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "xtend" "^4.0.0" + "prelude-ls@^1.2.1": "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" @@ -4852,6 +5179,19 @@ "isarray" "0.0.1" "string_decoder" "~0.10.x" +"readable-stream@2.3.7": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + "readdirp@~3.6.0": "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" @@ -4980,12 +5320,12 @@ dependencies: "tslib" "^1.9.0" -"safe-buffer@^5.1.0", "safe-buffer@~5.2.0", "safe-buffer@5.2.1": +"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@~5.2.0", "safe-buffer@5.2.1": "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" "version" "5.2.1" -"safe-buffer@~5.1.0", "safe-buffer@~5.1.1": +"safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" "version" "5.1.2" @@ -5002,6 +5342,11 @@ "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" "version" "2.1.2" +"sax@>=0.6.0": + "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + "version" "1.2.4" + "saxes@^5.0.1": "integrity" "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==" "resolved" "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" @@ -5028,6 +5373,11 @@ "resolved" "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz" "version" "0.3.0" +"semver@^5.6.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + "semver@^6.0.0": "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" @@ -5091,6 +5441,14 @@ "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" "version" "1.2.0" +"sha.js@^2.4.11": + "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" + "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + "version" "2.4.11" + dependencies: + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + "shebang-command@^2.0.0": "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -5283,11 +5641,21 @@ "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" "version" "1.4.8" +"split2@^4.1.0": + "integrity" "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==" + "resolved" "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz" + "version" "4.1.0" + "sprintf-js@~1.0.2": "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" "version" "1.0.3" +"sqlstring@2.3.1": + "integrity" "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" + "resolved" "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz" + "version" "2.3.1" + "stack-utils@^2.0.3": "integrity" "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==" "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" @@ -5342,7 +5710,7 @@ "resolved" "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz" "version" "4.0.4" -"string-width@^4.1.0", "string-width@^4.2.0": +"string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" "version" "4.2.3" @@ -5495,6 +5863,20 @@ "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" "version" "0.2.0" +"thenify-all@^1.0.0": + "integrity" "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=" + "resolved" "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + "version" "1.6.0" + dependencies: + "thenify" ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + "integrity" "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==" + "resolved" "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + "version" "3.3.1" + dependencies: + "any-promise" "^1.0.0" + "throat@^6.0.1": "integrity" "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" "resolved" "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz" @@ -5601,7 +5983,7 @@ "micromatch" "^4.0.0" "semver" "^7.3.4" -"ts-node@^10.0.0", "ts-node@>=9.0.0": +"ts-node@^10.0.0", "ts-node@^10.7.0", "ts-node@>=9.0.0": "integrity" "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==" "resolved" "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz" "version" "10.7.0" @@ -5649,7 +6031,7 @@ "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" "version" "1.14.1" -"tslib@^2.1.0", "tslib@2.3.1": +"tslib@^2.1.0", "tslib@^2.3.1", "tslib@2.3.1": "integrity" "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" "version" "2.3.1" @@ -5710,6 +6092,29 @@ "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" "version" "0.0.6" +"typeorm@^0.2.34", "typeorm@^0.3.6": + "integrity" "sha512-DRqgfqcelMiGgWSMbBmVoJNFN2nPNA3EeY2gC324ndr2DZoGRTb9ILtp2oGVGnlA+cu5zgQ6it5oqKFNkte7Aw==" + "resolved" "https://registry.npmjs.org/typeorm/-/typeorm-0.3.6.tgz" + "version" "0.3.6" + dependencies: + "@sqltools/formatter" "^1.2.2" + "app-root-path" "^3.0.0" + "buffer" "^6.0.3" + "chalk" "^4.1.0" + "cli-highlight" "^2.1.11" + "date-fns" "^2.28.0" + "debug" "^4.3.3" + "dotenv" "^16.0.0" + "glob" "^7.2.0" + "js-yaml" "^4.1.0" + "mkdirp" "^1.0.4" + "reflect-metadata" "^0.1.13" + "sha.js" "^2.4.11" + "tslib" "^2.3.1" + "uuid" "^8.3.2" + "xml2js" "^0.4.23" + "yargs" "^17.3.1" + "typescript@*", "typescript@^3.4.5 || ^4.3.5", "typescript@^4.3.5", "typescript@>=2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@>=3.8 <5.0", "typescript@>3.6.0": "integrity" "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz" @@ -5762,7 +6167,7 @@ "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" "version" "1.0.1" -"uuid@8.3.2": +"uuid@^8.3.2", "uuid@8.3.2": "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" "version" "8.3.2" @@ -6050,6 +6455,19 @@ "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" "version" "3.0.0" +"xml2js@^0.4.23": + "integrity" "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==" + "resolved" "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz" + "version" "0.4.23" + dependencies: + "sax" ">=0.6.0" + "xmlbuilder" "~11.0.0" + +"xmlbuilder@~11.0.0": + "integrity" "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + "resolved" "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" + "version" "11.0.1" + "xmlchars@^2.2.0": "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" @@ -6112,7 +6530,12 @@ "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" "version" "20.2.9" -"yargs@^16.2.0": +"yargs-parser@^21.0.0": + "integrity" "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" + "version" "21.0.1" + +"yargs@^16.0.0", "yargs@^16.2.0": "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" "version" "16.2.0" @@ -6125,6 +6548,19 @@ "y18n" "^5.0.5" "yargs-parser" "^20.2.2" +"yargs@^17.3.1": + "integrity" "sha512-3sLxVhbAB5OC8qvVRebCLWuouhwh/rswsiDYx3WGxajUk/l4G20SKfrKKFeNIHboUFt2JFgv2yfn+5cgOr/t5A==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.5.0.tgz" + "version" "17.5.0" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.3" + "y18n" "^5.0.5" + "yargs-parser" "^21.0.0" + "yeast@0.1.2": "integrity" "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" "resolved" "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz"