Showing
8 changed files
with
765 additions
and
2 deletions
server/apis/database.js
0 → 100644
1 | +let database = module.exports = {}; | ||
2 | + | ||
3 | +const db = require("../models") | ||
4 | +const User = db.user | ||
5 | +const Keyword = db.keyword | ||
6 | +const UserKeyword = db.userKeyword | ||
7 | + | ||
8 | + | ||
9 | +database.addKeyword = async function(keyword, userId) { | ||
10 | + | ||
11 | + const u = await User.findOrCreate({ | ||
12 | + where: { | ||
13 | + userId: userId | ||
14 | + } | ||
15 | + }) | ||
16 | + | ||
17 | + const k = await Keyword.findOrCreate({ | ||
18 | + where: { | ||
19 | + keyword: keyword | ||
20 | + } | ||
21 | + }) | ||
22 | + | ||
23 | + await UserKeyword.findOrCreate({ | ||
24 | + where: { | ||
25 | + userId: u[0].id, | ||
26 | + keywordId: k[0].id | ||
27 | + } | ||
28 | + }) | ||
29 | +} | ||
30 | + | ||
31 | +database.deleteKeyword = async function(userId, keyword) { | ||
32 | + | ||
33 | + const u = await User.findOrCreate({ | ||
34 | + where: { | ||
35 | + userId: userId | ||
36 | + } | ||
37 | + }) | ||
38 | + | ||
39 | + const k = await Keyword.findOrCreate({ | ||
40 | + where: { | ||
41 | + keyword: keyword | ||
42 | + } | ||
43 | + }) | ||
44 | + | ||
45 | + await UserKeyword.destroy({ | ||
46 | + where: { | ||
47 | + userId: u[0].id, | ||
48 | + keywordId: k[0].id | ||
49 | + } | ||
50 | + }) | ||
51 | +} | ||
52 | + | ||
53 | +database.getKeywordsByUserId = async function(userId) { | ||
54 | + | ||
55 | + const keywords = await Keyword.findAll({ | ||
56 | + attributes: ['keyword'], | ||
57 | + where: { | ||
58 | + '$user.userId$': userId | ||
59 | + }, | ||
60 | + include: [{ | ||
61 | + attributes: [], | ||
62 | + model: User, | ||
63 | + as: 'user' | ||
64 | + }], | ||
65 | + raw: true | ||
66 | + }) | ||
67 | + | ||
68 | + let result = [] | ||
69 | + for (let i = 0; i < keywords.length; i++) { | ||
70 | + result.push(keywords[i].keyword) | ||
71 | + } | ||
72 | + | ||
73 | + return result | ||
74 | +} | ||
75 | + | ||
76 | +database.getUsersByKeyword = async function(keyword) { | ||
77 | + | ||
78 | + const users = await User.findAll({ | ||
79 | + attributes: ['userId'], | ||
80 | + where: { | ||
81 | + '$keyword.keyword$': keyword | ||
82 | + }, | ||
83 | + include: [{ | ||
84 | + attributes: [], | ||
85 | + model: Keyword, | ||
86 | + as: 'keyword' | ||
87 | + }], | ||
88 | + raw: true | ||
89 | + }) | ||
90 | + | ||
91 | + let result = [] | ||
92 | + for (let i = 0; i < users.length; i++) { | ||
93 | + result.push(users[i].userId) | ||
94 | + } | ||
95 | + | ||
96 | + return result | ||
97 | +} | ||
98 | + | ||
99 | +database.getAllUsers = async function() { | ||
100 | + | ||
101 | + const users = await User.findAll({ | ||
102 | + raw: true | ||
103 | + }) | ||
104 | + | ||
105 | + let result = [] | ||
106 | + for (let i = 0; i < users.length; i++) { | ||
107 | + result.push(users[i].userId) | ||
108 | + } | ||
109 | + | ||
110 | + return result | ||
111 | +} | ||
112 | + | ||
113 | +database.getAllKeywords = async function() { | ||
114 | + | ||
115 | + const keywords = await Keyword.findAll({ | ||
116 | + raw: true | ||
117 | + }) | ||
118 | + | ||
119 | + let result = [] | ||
120 | + for (let i = 0; i< keywords.length; i++) { | ||
121 | + result.push(keywords[i].keyword) | ||
122 | + } | ||
123 | + | ||
124 | + console.log(result) | ||
125 | + return result | ||
126 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -3,8 +3,36 @@ const line = require("@line/bot-sdk"); | ... | @@ -3,8 +3,36 @@ const line = require("@line/bot-sdk"); |
3 | const fs = require("fs"); | 3 | const fs = require("fs"); |
4 | const { handleEvent } = require("./chatbot/index"); | 4 | const { handleEvent } = require("./chatbot/index"); |
5 | const { config } = require("./chatbot/index"); | 5 | const { config } = require("./chatbot/index"); |
6 | +const { sequelize } = require("./models"); | ||
7 | +const database = require("./apis/database"); | ||
6 | 8 | ||
9 | +// Initialize DB connection | ||
10 | +sequelize | ||
11 | + .sync({ force: false }) | ||
12 | + .then(() => { | ||
13 | + console.log("database connection complete"); | ||
14 | + database.addKeyword("rtx3060", "junseok"); | ||
15 | + database.getKeywordsByUserId("junseok"); | ||
16 | + database.deleteKeyword("phobyjun", "rtx3080"); | ||
17 | + database.getAllUsers(); | ||
18 | + database.getUsersByKeyword("rtx3060"); | ||
19 | + database.getAllKeywords(); | ||
20 | + }) | ||
21 | + .catch((err) => { | ||
22 | + console.log("database connection failed"); | ||
23 | + }); | ||
24 | + | ||
25 | +// Load .env configuration | ||
26 | +require("dotenv").config(); | ||
27 | +const config = { | ||
28 | + channelAccessToken: process.env.channelAccessToken, | ||
29 | + channelSecret: process.env.channelSecret, | ||
30 | +}; | ||
31 | + | ||
32 | +// Express app server initialization | ||
7 | const app = express(); | 33 | const app = express(); |
34 | + | ||
35 | +// Create post request handler for chatbot | ||
8 | app.post("/webhook", line.middleware(config), (req, res) => { | 36 | app.post("/webhook", line.middleware(config), (req, res) => { |
9 | Promise.all(req.body.events.map(handleEvent)).then((result) => { | 37 | Promise.all(req.body.events.map(handleEvent)).then((result) => { |
10 | res.json(result); | 38 | res.json(result); | ... | ... |
server/config/config.json
0 → 100644
1 | +{ | ||
2 | + "development": { | ||
3 | + "username": "root", | ||
4 | + "password": "mamuri", | ||
5 | + "database": "mamuri_db", | ||
6 | + "host": "127.0.0.1", | ||
7 | + "dialect": "mysql" | ||
8 | + }, | ||
9 | + "test": { | ||
10 | + "username": "root", | ||
11 | + "password": null, | ||
12 | + "database": "database_test", | ||
13 | + "host": "127.0.0.1", | ||
14 | + "dialect": "mysql" | ||
15 | + }, | ||
16 | + "production": { | ||
17 | + "username": "root", | ||
18 | + "password": null, | ||
19 | + "database": "database_production", | ||
20 | + "host": "127.0.0.1", | ||
21 | + "dialect": "mysql" | ||
22 | + } | ||
23 | +} |
server/models/index.js
0 → 100644
1 | +'use strict'; | ||
2 | + | ||
3 | +const fs = require('fs'); | ||
4 | +const path = require('path'); | ||
5 | +const Sequelize = require('sequelize'); | ||
6 | +const basename = path.basename(__filename); | ||
7 | +const env = process.env.NODE_ENV || 'development'; | ||
8 | +const config = require(__dirname + '/../config/config.json')[env]; | ||
9 | +const db = {}; | ||
10 | + | ||
11 | +let sequelize; | ||
12 | +if (config.use_env_variable) { | ||
13 | + sequelize = new Sequelize(process.env[config.use_env_variable], config); | ||
14 | +} else { | ||
15 | + sequelize = new Sequelize(config.database, config.username, config.password, config); | ||
16 | +} | ||
17 | + | ||
18 | +fs | ||
19 | + .readdirSync(__dirname) | ||
20 | + .filter(file => { | ||
21 | + return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js'); | ||
22 | + }) | ||
23 | + .forEach(file => { | ||
24 | + const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes); | ||
25 | + db[model.name] = model; | ||
26 | + }); | ||
27 | + | ||
28 | +Object.keys(db).forEach(modelName => { | ||
29 | + if (db[modelName].associate) { | ||
30 | + db[modelName].associate(db); | ||
31 | + } | ||
32 | +}); | ||
33 | + | ||
34 | +db.sequelize = sequelize; | ||
35 | +db.Sequelize = Sequelize; | ||
36 | + | ||
37 | +db.user = require("./user")(sequelize, Sequelize); | ||
38 | +db.keyword = require("./keyword")(sequelize, Sequelize); | ||
39 | +db.userKeyword = sequelize.define('user_keywords'); | ||
40 | + | ||
41 | +db.user.belongsToMany(db.keyword, {through: db.userKeyword, as: 'keyword'}); | ||
42 | +db.keyword.belongsToMany(db.user, {through: db.userKeyword, as: 'user'}); | ||
43 | + | ||
44 | +module.exports = db; |
server/models/keyword.js
0 → 100644
1 | +module.exports = (sequelize, DataTypes) => { | ||
2 | + | ||
3 | + return sequelize.define("keyword", { | ||
4 | + id: { | ||
5 | + type: DataTypes.INTEGER, | ||
6 | + autoIncrement: true, | ||
7 | + primaryKey: true | ||
8 | + }, | ||
9 | + keyword: { | ||
10 | + type: DataTypes.STRING, | ||
11 | + allowNull: false | ||
12 | + } | ||
13 | + }) | ||
14 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
server/models/user.js
0 → 100644
1 | +module.exports = (sequelize, DataTypes) => { | ||
2 | + | ||
3 | + return sequelize.define("user", { | ||
4 | + id: { | ||
5 | + type: DataTypes.INTEGER, | ||
6 | + autoIncrement: true, | ||
7 | + primaryKey: true | ||
8 | + }, | ||
9 | + userId: { | ||
10 | + type: DataTypes.STRING, | ||
11 | + allowNull: false | ||
12 | + } | ||
13 | + }) | ||
14 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -13,7 +13,9 @@ | ... | @@ -13,7 +13,9 @@ |
13 | "axios": "^0.27.2", | 13 | "axios": "^0.27.2", |
14 | "dotenv": "^16.0.1", | 14 | "dotenv": "^16.0.1", |
15 | "express": "^4.18.1", | 15 | "express": "^4.18.1", |
16 | - "nodemon": "^2.0.16" | 16 | + "mysql2": "^2.3.3", |
17 | + "nodemon": "^2.0.16", | ||
18 | + "sequelize": "^6.20.0" | ||
17 | } | 19 | } |
18 | }, | 20 | }, |
19 | "node_modules/@line/bot-sdk": { | 21 | "node_modules/@line/bot-sdk": { |
... | @@ -81,11 +83,29 @@ | ... | @@ -81,11 +83,29 @@ |
81 | "@types/node": "*" | 83 | "@types/node": "*" |
82 | } | 84 | } |
83 | }, | 85 | }, |
86 | + "node_modules/@types/debug": { | ||
87 | + "version": "4.1.7", | ||
88 | + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", | ||
89 | + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", | ||
90 | + "dependencies": { | ||
91 | + "@types/ms": "*" | ||
92 | + } | ||
93 | + }, | ||
94 | + "node_modules/@types/ms": { | ||
95 | + "version": "0.7.31", | ||
96 | + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", | ||
97 | + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" | ||
98 | + }, | ||
84 | "node_modules/@types/node": { | 99 | "node_modules/@types/node": { |
85 | "version": "14.18.18", | 100 | "version": "14.18.18", |
86 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", | 101 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", |
87 | "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==" | 102 | "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==" |
88 | }, | 103 | }, |
104 | + "node_modules/@types/validator": { | ||
105 | + "version": "13.7.2", | ||
106 | + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.2.tgz", | ||
107 | + "integrity": "sha512-KFcchQ3h0OPQgFirBRPZr5F/sVjxZsOrQHedj3zi8AH3Zv/hOLx2OLR4hxR5HcfoU+33n69ZuOfzthKVdMoTiw==" | ||
108 | + }, | ||
89 | "node_modules/abbrev": { | 109 | "node_modules/abbrev": { |
90 | "version": "1.1.1", | 110 | "version": "1.1.1", |
91 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", | 111 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", |
... | @@ -536,6 +556,14 @@ | ... | @@ -536,6 +556,14 @@ |
536 | "node": ">=0.4.0" | 556 | "node": ">=0.4.0" |
537 | } | 557 | } |
538 | }, | 558 | }, |
559 | + "node_modules/denque": { | ||
560 | + "version": "2.0.1", | ||
561 | + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", | ||
562 | + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==", | ||
563 | + "engines": { | ||
564 | + "node": ">=0.10" | ||
565 | + } | ||
566 | + }, | ||
539 | "node_modules/depd": { | 567 | "node_modules/depd": { |
540 | "version": "2.0.0", | 568 | "version": "2.0.0", |
541 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | 569 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", |
... | @@ -572,6 +600,11 @@ | ... | @@ -572,6 +600,11 @@ |
572 | "node": ">=12" | 600 | "node": ">=12" |
573 | } | 601 | } |
574 | }, | 602 | }, |
603 | + "node_modules/dottie": { | ||
604 | + "version": "2.0.2", | ||
605 | + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", | ||
606 | + "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" | ||
607 | + }, | ||
575 | "node_modules/duplexer3": { | 608 | "node_modules/duplexer3": { |
576 | "version": "0.1.4", | 609 | "version": "0.1.4", |
577 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", | 610 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", |
... | @@ -776,6 +809,14 @@ | ... | @@ -776,6 +809,14 @@ |
776 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | 809 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", |
777 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" | 810 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" |
778 | }, | 811 | }, |
812 | + "node_modules/generate-function": { | ||
813 | + "version": "2.3.1", | ||
814 | + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", | ||
815 | + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", | ||
816 | + "dependencies": { | ||
817 | + "is-property": "^1.0.2" | ||
818 | + } | ||
819 | + }, | ||
779 | "node_modules/get-intrinsic": { | 820 | "node_modules/get-intrinsic": { |
780 | "version": "1.1.1", | 821 | "version": "1.1.1", |
781 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | 822 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", |
... | @@ -960,6 +1001,14 @@ | ... | @@ -960,6 +1001,14 @@ |
960 | "node": ">=0.8.19" | 1001 | "node": ">=0.8.19" |
961 | } | 1002 | } |
962 | }, | 1003 | }, |
1004 | + "node_modules/inflection": { | ||
1005 | + "version": "1.13.2", | ||
1006 | + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.2.tgz", | ||
1007 | + "integrity": "sha512-cmZlljCRTBFouT8UzMzrGcVEvkv6D/wBdcdKG7J1QH5cXjtU75Dm+P27v9EKu/Y43UYyCJd1WC4zLebRrC8NBw==", | ||
1008 | + "engines": [ | ||
1009 | + "node >= 0.4.0" | ||
1010 | + ] | ||
1011 | + }, | ||
963 | "node_modules/inherits": { | 1012 | "node_modules/inherits": { |
964 | "version": "2.0.4", | 1013 | "version": "2.0.4", |
965 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | 1014 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
... | @@ -1080,6 +1129,11 @@ | ... | @@ -1080,6 +1129,11 @@ |
1080 | "node": ">=8" | 1129 | "node": ">=8" |
1081 | } | 1130 | } |
1082 | }, | 1131 | }, |
1132 | + "node_modules/is-property": { | ||
1133 | + "version": "1.0.2", | ||
1134 | + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", | ||
1135 | + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" | ||
1136 | + }, | ||
1083 | "node_modules/is-typedarray": { | 1137 | "node_modules/is-typedarray": { |
1084 | "version": "1.0.0", | 1138 | "version": "1.0.0", |
1085 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | 1139 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", |
... | @@ -1114,6 +1168,16 @@ | ... | @@ -1114,6 +1168,16 @@ |
1114 | "node": ">=8" | 1168 | "node": ">=8" |
1115 | } | 1169 | } |
1116 | }, | 1170 | }, |
1171 | + "node_modules/lodash": { | ||
1172 | + "version": "4.17.21", | ||
1173 | + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", | ||
1174 | + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" | ||
1175 | + }, | ||
1176 | + "node_modules/long": { | ||
1177 | + "version": "4.0.0", | ||
1178 | + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", | ||
1179 | + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" | ||
1180 | + }, | ||
1117 | "node_modules/lowercase-keys": { | 1181 | "node_modules/lowercase-keys": { |
1118 | "version": "1.0.1", | 1182 | "version": "1.0.1", |
1119 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", | 1183 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", |
... | @@ -1230,11 +1294,84 @@ | ... | @@ -1230,11 +1294,84 @@ |
1230 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", | 1294 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", |
1231 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" | 1295 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" |
1232 | }, | 1296 | }, |
1297 | + "node_modules/moment": { | ||
1298 | + "version": "2.29.3", | ||
1299 | + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", | ||
1300 | + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", | ||
1301 | + "engines": { | ||
1302 | + "node": "*" | ||
1303 | + } | ||
1304 | + }, | ||
1305 | + "node_modules/moment-timezone": { | ||
1306 | + "version": "0.5.34", | ||
1307 | + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", | ||
1308 | + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", | ||
1309 | + "dependencies": { | ||
1310 | + "moment": ">= 2.9.0" | ||
1311 | + }, | ||
1312 | + "engines": { | ||
1313 | + "node": "*" | ||
1314 | + } | ||
1315 | + }, | ||
1233 | "node_modules/ms": { | 1316 | "node_modules/ms": { |
1234 | "version": "2.0.0", | 1317 | "version": "2.0.0", |
1235 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 1318 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
1236 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | 1319 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
1237 | }, | 1320 | }, |
1321 | + "node_modules/mysql2": { | ||
1322 | + "version": "2.3.3", | ||
1323 | + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz", | ||
1324 | + "integrity": "sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==", | ||
1325 | + "dependencies": { | ||
1326 | + "denque": "^2.0.1", | ||
1327 | + "generate-function": "^2.3.1", | ||
1328 | + "iconv-lite": "^0.6.3", | ||
1329 | + "long": "^4.0.0", | ||
1330 | + "lru-cache": "^6.0.0", | ||
1331 | + "named-placeholders": "^1.1.2", | ||
1332 | + "seq-queue": "^0.0.5", | ||
1333 | + "sqlstring": "^2.3.2" | ||
1334 | + }, | ||
1335 | + "engines": { | ||
1336 | + "node": ">= 8.0" | ||
1337 | + } | ||
1338 | + }, | ||
1339 | + "node_modules/mysql2/node_modules/iconv-lite": { | ||
1340 | + "version": "0.6.3", | ||
1341 | + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", | ||
1342 | + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", | ||
1343 | + "dependencies": { | ||
1344 | + "safer-buffer": ">= 2.1.2 < 3.0.0" | ||
1345 | + }, | ||
1346 | + "engines": { | ||
1347 | + "node": ">=0.10.0" | ||
1348 | + } | ||
1349 | + }, | ||
1350 | + "node_modules/named-placeholders": { | ||
1351 | + "version": "1.1.2", | ||
1352 | + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", | ||
1353 | + "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", | ||
1354 | + "dependencies": { | ||
1355 | + "lru-cache": "^4.1.3" | ||
1356 | + }, | ||
1357 | + "engines": { | ||
1358 | + "node": ">=6.0.0" | ||
1359 | + } | ||
1360 | + }, | ||
1361 | + "node_modules/named-placeholders/node_modules/lru-cache": { | ||
1362 | + "version": "4.1.5", | ||
1363 | + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", | ||
1364 | + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", | ||
1365 | + "dependencies": { | ||
1366 | + "pseudomap": "^1.0.2", | ||
1367 | + "yallist": "^2.1.2" | ||
1368 | + } | ||
1369 | + }, | ||
1370 | + "node_modules/named-placeholders/node_modules/yallist": { | ||
1371 | + "version": "2.1.2", | ||
1372 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | ||
1373 | + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" | ||
1374 | + }, | ||
1238 | "node_modules/negotiator": { | 1375 | "node_modules/negotiator": { |
1239 | "version": "0.6.3", | 1376 | "version": "0.6.3", |
1240 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | 1377 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", |
... | @@ -1396,6 +1533,11 @@ | ... | @@ -1396,6 +1533,11 @@ |
1396 | "url": "https://github.com/sponsors/Borewit" | 1533 | "url": "https://github.com/sponsors/Borewit" |
1397 | } | 1534 | } |
1398 | }, | 1535 | }, |
1536 | + "node_modules/pg-connection-string": { | ||
1537 | + "version": "2.5.0", | ||
1538 | + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", | ||
1539 | + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" | ||
1540 | + }, | ||
1399 | "node_modules/picomatch": { | 1541 | "node_modules/picomatch": { |
1400 | "version": "2.3.1", | 1542 | "version": "2.3.1", |
1401 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", | 1543 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", |
... | @@ -1427,6 +1569,11 @@ | ... | @@ -1427,6 +1569,11 @@ |
1427 | "node": ">= 0.10" | 1569 | "node": ">= 0.10" |
1428 | } | 1570 | } |
1429 | }, | 1571 | }, |
1572 | + "node_modules/pseudomap": { | ||
1573 | + "version": "1.0.2", | ||
1574 | + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", | ||
1575 | + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" | ||
1576 | + }, | ||
1430 | "node_modules/pstree.remy": { | 1577 | "node_modules/pstree.remy": { |
1431 | "version": "1.1.8", | 1578 | "version": "1.1.8", |
1432 | "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", | 1579 | "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", |
... | @@ -1553,6 +1700,11 @@ | ... | @@ -1553,6 +1700,11 @@ |
1553 | "lowercase-keys": "^1.0.0" | 1700 | "lowercase-keys": "^1.0.0" |
1554 | } | 1701 | } |
1555 | }, | 1702 | }, |
1703 | + "node_modules/retry-as-promised": { | ||
1704 | + "version": "5.0.0", | ||
1705 | + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-5.0.0.tgz", | ||
1706 | + "integrity": "sha512-6S+5LvtTl2ggBumk04hBo/4Uf6fRJUwIgunGZ7CYEBCeufGFW1Pu6ucUf/UskHeWOIsUcLOGLFXPig5tR5V1nA==" | ||
1707 | + }, | ||
1556 | "node_modules/safe-buffer": { | 1708 | "node_modules/safe-buffer": { |
1557 | "version": "5.2.1", | 1709 | "version": "5.2.1", |
1558 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | 1710 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", |
... | @@ -1632,6 +1784,112 @@ | ... | @@ -1632,6 +1784,112 @@ |
1632 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | 1784 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", |
1633 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | 1785 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" |
1634 | }, | 1786 | }, |
1787 | + "node_modules/seq-queue": { | ||
1788 | + "version": "0.0.5", | ||
1789 | + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", | ||
1790 | + "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=" | ||
1791 | + }, | ||
1792 | + "node_modules/sequelize": { | ||
1793 | + "version": "6.20.0", | ||
1794 | + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.20.0.tgz", | ||
1795 | + "integrity": "sha512-45B+k4eKP0D+x1F08dSYnZjlKGvlxM/FCVTWQ6TLVaGCyRv/TmvTRSZ4bTNB5pMgQOMkJUlztg5zSvMmkzaWCA==", | ||
1796 | + "funding": [ | ||
1797 | + { | ||
1798 | + "type": "opencollective", | ||
1799 | + "url": "https://opencollective.com/sequelize" | ||
1800 | + } | ||
1801 | + ], | ||
1802 | + "dependencies": { | ||
1803 | + "@types/debug": "^4.1.7", | ||
1804 | + "@types/validator": "^13.7.1", | ||
1805 | + "debug": "^4.3.3", | ||
1806 | + "dottie": "^2.0.2", | ||
1807 | + "inflection": "^1.13.2", | ||
1808 | + "lodash": "^4.17.21", | ||
1809 | + "moment": "^2.29.1", | ||
1810 | + "moment-timezone": "^0.5.34", | ||
1811 | + "pg-connection-string": "^2.5.0", | ||
1812 | + "retry-as-promised": "^5.0.0", | ||
1813 | + "semver": "^7.3.5", | ||
1814 | + "sequelize-pool": "^7.1.0", | ||
1815 | + "toposort-class": "^1.0.1", | ||
1816 | + "uuid": "^8.3.2", | ||
1817 | + "validator": "^13.7.0", | ||
1818 | + "wkx": "^0.5.0" | ||
1819 | + }, | ||
1820 | + "engines": { | ||
1821 | + "node": ">=10.0.0" | ||
1822 | + }, | ||
1823 | + "peerDependenciesMeta": { | ||
1824 | + "ibm_db": { | ||
1825 | + "optional": true | ||
1826 | + }, | ||
1827 | + "mariadb": { | ||
1828 | + "optional": true | ||
1829 | + }, | ||
1830 | + "mysql2": { | ||
1831 | + "optional": true | ||
1832 | + }, | ||
1833 | + "pg": { | ||
1834 | + "optional": true | ||
1835 | + }, | ||
1836 | + "pg-hstore": { | ||
1837 | + "optional": true | ||
1838 | + }, | ||
1839 | + "snowflake-sdk": { | ||
1840 | + "optional": true | ||
1841 | + }, | ||
1842 | + "sqlite3": { | ||
1843 | + "optional": true | ||
1844 | + }, | ||
1845 | + "tedious": { | ||
1846 | + "optional": true | ||
1847 | + } | ||
1848 | + } | ||
1849 | + }, | ||
1850 | + "node_modules/sequelize-pool": { | ||
1851 | + "version": "7.1.0", | ||
1852 | + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz", | ||
1853 | + "integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==", | ||
1854 | + "engines": { | ||
1855 | + "node": ">= 10.0.0" | ||
1856 | + } | ||
1857 | + }, | ||
1858 | + "node_modules/sequelize/node_modules/debug": { | ||
1859 | + "version": "4.3.4", | ||
1860 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
1861 | + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
1862 | + "dependencies": { | ||
1863 | + "ms": "2.1.2" | ||
1864 | + }, | ||
1865 | + "engines": { | ||
1866 | + "node": ">=6.0" | ||
1867 | + }, | ||
1868 | + "peerDependenciesMeta": { | ||
1869 | + "supports-color": { | ||
1870 | + "optional": true | ||
1871 | + } | ||
1872 | + } | ||
1873 | + }, | ||
1874 | + "node_modules/sequelize/node_modules/ms": { | ||
1875 | + "version": "2.1.2", | ||
1876 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
1877 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
1878 | + }, | ||
1879 | + "node_modules/sequelize/node_modules/semver": { | ||
1880 | + "version": "7.3.7", | ||
1881 | + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", | ||
1882 | + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", | ||
1883 | + "dependencies": { | ||
1884 | + "lru-cache": "^6.0.0" | ||
1885 | + }, | ||
1886 | + "bin": { | ||
1887 | + "semver": "bin/semver.js" | ||
1888 | + }, | ||
1889 | + "engines": { | ||
1890 | + "node": ">=10" | ||
1891 | + } | ||
1892 | + }, | ||
1635 | "node_modules/serve-static": { | 1893 | "node_modules/serve-static": { |
1636 | "version": "1.15.0", | 1894 | "version": "1.15.0", |
1637 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", | 1895 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", |
... | @@ -1669,6 +1927,14 @@ | ... | @@ -1669,6 +1927,14 @@ |
1669 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", | 1927 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", |
1670 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" | 1928 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" |
1671 | }, | 1929 | }, |
1930 | + "node_modules/sqlstring": { | ||
1931 | + "version": "2.3.3", | ||
1932 | + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", | ||
1933 | + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", | ||
1934 | + "engines": { | ||
1935 | + "node": ">= 0.6" | ||
1936 | + } | ||
1937 | + }, | ||
1672 | "node_modules/statuses": { | 1938 | "node_modules/statuses": { |
1673 | "version": "2.0.1", | 1939 | "version": "2.0.1", |
1674 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | 1940 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", |
... | @@ -1784,6 +2050,11 @@ | ... | @@ -1784,6 +2050,11 @@ |
1784 | "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", | 2050 | "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", |
1785 | "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" | 2051 | "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" |
1786 | }, | 2052 | }, |
2053 | + "node_modules/toposort-class": { | ||
2054 | + "version": "1.0.1", | ||
2055 | + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", | ||
2056 | + "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" | ||
2057 | + }, | ||
1787 | "node_modules/touch": { | 2058 | "node_modules/touch": { |
1788 | "version": "3.1.0", | 2059 | "version": "3.1.0", |
1789 | "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", | 2060 | "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", |
... | @@ -1910,6 +2181,22 @@ | ... | @@ -1910,6 +2181,22 @@ |
1910 | "node": ">= 0.4.0" | 2181 | "node": ">= 0.4.0" |
1911 | } | 2182 | } |
1912 | }, | 2183 | }, |
2184 | + "node_modules/uuid": { | ||
2185 | + "version": "8.3.2", | ||
2186 | + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", | ||
2187 | + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", | ||
2188 | + "bin": { | ||
2189 | + "uuid": "dist/bin/uuid" | ||
2190 | + } | ||
2191 | + }, | ||
2192 | + "node_modules/validator": { | ||
2193 | + "version": "13.7.0", | ||
2194 | + "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", | ||
2195 | + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", | ||
2196 | + "engines": { | ||
2197 | + "node": ">= 0.10" | ||
2198 | + } | ||
2199 | + }, | ||
1913 | "node_modules/vary": { | 2200 | "node_modules/vary": { |
1914 | "version": "1.1.2", | 2201 | "version": "1.1.2", |
1915 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 2202 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
... | @@ -1929,6 +2216,14 @@ | ... | @@ -1929,6 +2216,14 @@ |
1929 | "node": ">=8" | 2216 | "node": ">=8" |
1930 | } | 2217 | } |
1931 | }, | 2218 | }, |
2219 | + "node_modules/wkx": { | ||
2220 | + "version": "0.5.0", | ||
2221 | + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", | ||
2222 | + "integrity": "sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==", | ||
2223 | + "dependencies": { | ||
2224 | + "@types/node": "*" | ||
2225 | + } | ||
2226 | + }, | ||
1932 | "node_modules/wrap-ansi": { | 2227 | "node_modules/wrap-ansi": { |
1933 | "version": "7.0.0", | 2228 | "version": "7.0.0", |
1934 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", | 2229 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", |
... | @@ -2034,11 +2329,29 @@ | ... | @@ -2034,11 +2329,29 @@ |
2034 | "@types/node": "*" | 2329 | "@types/node": "*" |
2035 | } | 2330 | } |
2036 | }, | 2331 | }, |
2332 | + "@types/debug": { | ||
2333 | + "version": "4.1.7", | ||
2334 | + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", | ||
2335 | + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", | ||
2336 | + "requires": { | ||
2337 | + "@types/ms": "*" | ||
2338 | + } | ||
2339 | + }, | ||
2340 | + "@types/ms": { | ||
2341 | + "version": "0.7.31", | ||
2342 | + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", | ||
2343 | + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" | ||
2344 | + }, | ||
2037 | "@types/node": { | 2345 | "@types/node": { |
2038 | "version": "14.18.18", | 2346 | "version": "14.18.18", |
2039 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", | 2347 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", |
2040 | "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==" | 2348 | "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==" |
2041 | }, | 2349 | }, |
2350 | + "@types/validator": { | ||
2351 | + "version": "13.7.2", | ||
2352 | + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.2.tgz", | ||
2353 | + "integrity": "sha512-KFcchQ3h0OPQgFirBRPZr5F/sVjxZsOrQHedj3zi8AH3Zv/hOLx2OLR4hxR5HcfoU+33n69ZuOfzthKVdMoTiw==" | ||
2354 | + }, | ||
2042 | "abbrev": { | 2355 | "abbrev": { |
2043 | "version": "1.1.1", | 2356 | "version": "1.1.1", |
2044 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", | 2357 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", |
... | @@ -2378,6 +2691,11 @@ | ... | @@ -2378,6 +2691,11 @@ |
2378 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | 2691 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", |
2379 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" | 2692 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" |
2380 | }, | 2693 | }, |
2694 | + "denque": { | ||
2695 | + "version": "2.0.1", | ||
2696 | + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", | ||
2697 | + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==" | ||
2698 | + }, | ||
2381 | "depd": { | 2699 | "depd": { |
2382 | "version": "2.0.0", | 2700 | "version": "2.0.0", |
2383 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | 2701 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", |
... | @@ -2401,6 +2719,11 @@ | ... | @@ -2401,6 +2719,11 @@ |
2401 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", | 2719 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", |
2402 | "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" | 2720 | "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" |
2403 | }, | 2721 | }, |
2722 | + "dottie": { | ||
2723 | + "version": "2.0.2", | ||
2724 | + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", | ||
2725 | + "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" | ||
2726 | + }, | ||
2404 | "duplexer3": { | 2727 | "duplexer3": { |
2405 | "version": "0.1.4", | 2728 | "version": "0.1.4", |
2406 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", | 2729 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", |
... | @@ -2551,6 +2874,14 @@ | ... | @@ -2551,6 +2874,14 @@ |
2551 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | 2874 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", |
2552 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" | 2875 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" |
2553 | }, | 2876 | }, |
2877 | + "generate-function": { | ||
2878 | + "version": "2.3.1", | ||
2879 | + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", | ||
2880 | + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", | ||
2881 | + "requires": { | ||
2882 | + "is-property": "^1.0.2" | ||
2883 | + } | ||
2884 | + }, | ||
2554 | "get-intrinsic": { | 2885 | "get-intrinsic": { |
2555 | "version": "1.1.1", | 2886 | "version": "1.1.1", |
2556 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | 2887 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", |
... | @@ -2676,6 +3007,11 @@ | ... | @@ -2676,6 +3007,11 @@ |
2676 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", | 3007 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", |
2677 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" | 3008 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" |
2678 | }, | 3009 | }, |
3010 | + "inflection": { | ||
3011 | + "version": "1.13.2", | ||
3012 | + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.2.tgz", | ||
3013 | + "integrity": "sha512-cmZlljCRTBFouT8UzMzrGcVEvkv6D/wBdcdKG7J1QH5cXjtU75Dm+P27v9EKu/Y43UYyCJd1WC4zLebRrC8NBw==" | ||
3014 | + }, | ||
2679 | "inherits": { | 3015 | "inherits": { |
2680 | "version": "2.0.4", | 3016 | "version": "2.0.4", |
2681 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | 3017 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
... | @@ -2754,6 +3090,11 @@ | ... | @@ -2754,6 +3090,11 @@ |
2754 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", | 3090 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", |
2755 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" | 3091 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" |
2756 | }, | 3092 | }, |
3093 | + "is-property": { | ||
3094 | + "version": "1.0.2", | ||
3095 | + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", | ||
3096 | + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" | ||
3097 | + }, | ||
2757 | "is-typedarray": { | 3098 | "is-typedarray": { |
2758 | "version": "1.0.0", | 3099 | "version": "1.0.0", |
2759 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | 3100 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", |
... | @@ -2785,6 +3126,16 @@ | ... | @@ -2785,6 +3126,16 @@ |
2785 | "package-json": "^6.3.0" | 3126 | "package-json": "^6.3.0" |
2786 | } | 3127 | } |
2787 | }, | 3128 | }, |
3129 | + "lodash": { | ||
3130 | + "version": "4.17.21", | ||
3131 | + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", | ||
3132 | + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" | ||
3133 | + }, | ||
3134 | + "long": { | ||
3135 | + "version": "4.0.0", | ||
3136 | + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", | ||
3137 | + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" | ||
3138 | + }, | ||
2788 | "lowercase-keys": { | 3139 | "lowercase-keys": { |
2789 | "version": "1.0.1", | 3140 | "version": "1.0.1", |
2790 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", | 3141 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", |
... | @@ -2864,11 +3215,73 @@ | ... | @@ -2864,11 +3215,73 @@ |
2864 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", | 3215 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", |
2865 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" | 3216 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" |
2866 | }, | 3217 | }, |
3218 | + "moment": { | ||
3219 | + "version": "2.29.3", | ||
3220 | + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", | ||
3221 | + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" | ||
3222 | + }, | ||
3223 | + "moment-timezone": { | ||
3224 | + "version": "0.5.34", | ||
3225 | + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", | ||
3226 | + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", | ||
3227 | + "requires": { | ||
3228 | + "moment": ">= 2.9.0" | ||
3229 | + } | ||
3230 | + }, | ||
2867 | "ms": { | 3231 | "ms": { |
2868 | "version": "2.0.0", | 3232 | "version": "2.0.0", |
2869 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 3233 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
2870 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | 3234 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
2871 | }, | 3235 | }, |
3236 | + "mysql2": { | ||
3237 | + "version": "2.3.3", | ||
3238 | + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz", | ||
3239 | + "integrity": "sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==", | ||
3240 | + "requires": { | ||
3241 | + "denque": "^2.0.1", | ||
3242 | + "generate-function": "^2.3.1", | ||
3243 | + "iconv-lite": "^0.6.3", | ||
3244 | + "long": "^4.0.0", | ||
3245 | + "lru-cache": "^6.0.0", | ||
3246 | + "named-placeholders": "^1.1.2", | ||
3247 | + "seq-queue": "^0.0.5", | ||
3248 | + "sqlstring": "^2.3.2" | ||
3249 | + }, | ||
3250 | + "dependencies": { | ||
3251 | + "iconv-lite": { | ||
3252 | + "version": "0.6.3", | ||
3253 | + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", | ||
3254 | + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", | ||
3255 | + "requires": { | ||
3256 | + "safer-buffer": ">= 2.1.2 < 3.0.0" | ||
3257 | + } | ||
3258 | + } | ||
3259 | + } | ||
3260 | + }, | ||
3261 | + "named-placeholders": { | ||
3262 | + "version": "1.1.2", | ||
3263 | + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", | ||
3264 | + "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", | ||
3265 | + "requires": { | ||
3266 | + "lru-cache": "^4.1.3" | ||
3267 | + }, | ||
3268 | + "dependencies": { | ||
3269 | + "lru-cache": { | ||
3270 | + "version": "4.1.5", | ||
3271 | + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", | ||
3272 | + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", | ||
3273 | + "requires": { | ||
3274 | + "pseudomap": "^1.0.2", | ||
3275 | + "yallist": "^2.1.2" | ||
3276 | + } | ||
3277 | + }, | ||
3278 | + "yallist": { | ||
3279 | + "version": "2.1.2", | ||
3280 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | ||
3281 | + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" | ||
3282 | + } | ||
3283 | + } | ||
3284 | + }, | ||
2872 | "negotiator": { | 3285 | "negotiator": { |
2873 | "version": "0.6.3", | 3286 | "version": "0.6.3", |
2874 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | 3287 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", |
... | @@ -2983,6 +3396,11 @@ | ... | @@ -2983,6 +3396,11 @@ |
2983 | "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", | 3396 | "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", |
2984 | "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==" | 3397 | "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==" |
2985 | }, | 3398 | }, |
3399 | + "pg-connection-string": { | ||
3400 | + "version": "2.5.0", | ||
3401 | + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", | ||
3402 | + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" | ||
3403 | + }, | ||
2986 | "picomatch": { | 3404 | "picomatch": { |
2987 | "version": "2.3.1", | 3405 | "version": "2.3.1", |
2988 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", | 3406 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", |
... | @@ -3002,6 +3420,11 @@ | ... | @@ -3002,6 +3420,11 @@ |
3002 | "ipaddr.js": "1.9.1" | 3420 | "ipaddr.js": "1.9.1" |
3003 | } | 3421 | } |
3004 | }, | 3422 | }, |
3423 | + "pseudomap": { | ||
3424 | + "version": "1.0.2", | ||
3425 | + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", | ||
3426 | + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" | ||
3427 | + }, | ||
3005 | "pstree.remy": { | 3428 | "pstree.remy": { |
3006 | "version": "1.1.8", | 3429 | "version": "1.1.8", |
3007 | "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", | 3430 | "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", |
... | @@ -3103,6 +3526,11 @@ | ... | @@ -3103,6 +3526,11 @@ |
3103 | "lowercase-keys": "^1.0.0" | 3526 | "lowercase-keys": "^1.0.0" |
3104 | } | 3527 | } |
3105 | }, | 3528 | }, |
3529 | + "retry-as-promised": { | ||
3530 | + "version": "5.0.0", | ||
3531 | + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-5.0.0.tgz", | ||
3532 | + "integrity": "sha512-6S+5LvtTl2ggBumk04hBo/4Uf6fRJUwIgunGZ7CYEBCeufGFW1Pu6ucUf/UskHeWOIsUcLOGLFXPig5tR5V1nA==" | ||
3533 | + }, | ||
3106 | "safe-buffer": { | 3534 | "safe-buffer": { |
3107 | "version": "5.2.1", | 3535 | "version": "5.2.1", |
3108 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | 3536 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", |
... | @@ -3160,6 +3588,62 @@ | ... | @@ -3160,6 +3588,62 @@ |
3160 | } | 3588 | } |
3161 | } | 3589 | } |
3162 | }, | 3590 | }, |
3591 | + "seq-queue": { | ||
3592 | + "version": "0.0.5", | ||
3593 | + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", | ||
3594 | + "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=" | ||
3595 | + }, | ||
3596 | + "sequelize": { | ||
3597 | + "version": "6.20.0", | ||
3598 | + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.20.0.tgz", | ||
3599 | + "integrity": "sha512-45B+k4eKP0D+x1F08dSYnZjlKGvlxM/FCVTWQ6TLVaGCyRv/TmvTRSZ4bTNB5pMgQOMkJUlztg5zSvMmkzaWCA==", | ||
3600 | + "requires": { | ||
3601 | + "@types/debug": "^4.1.7", | ||
3602 | + "@types/validator": "^13.7.1", | ||
3603 | + "debug": "^4.3.3", | ||
3604 | + "dottie": "^2.0.2", | ||
3605 | + "inflection": "^1.13.2", | ||
3606 | + "lodash": "^4.17.21", | ||
3607 | + "moment": "^2.29.1", | ||
3608 | + "moment-timezone": "^0.5.34", | ||
3609 | + "pg-connection-string": "^2.5.0", | ||
3610 | + "retry-as-promised": "^5.0.0", | ||
3611 | + "semver": "^7.3.5", | ||
3612 | + "sequelize-pool": "^7.1.0", | ||
3613 | + "toposort-class": "^1.0.1", | ||
3614 | + "uuid": "^8.3.2", | ||
3615 | + "validator": "^13.7.0", | ||
3616 | + "wkx": "^0.5.0" | ||
3617 | + }, | ||
3618 | + "dependencies": { | ||
3619 | + "debug": { | ||
3620 | + "version": "4.3.4", | ||
3621 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
3622 | + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
3623 | + "requires": { | ||
3624 | + "ms": "2.1.2" | ||
3625 | + } | ||
3626 | + }, | ||
3627 | + "ms": { | ||
3628 | + "version": "2.1.2", | ||
3629 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
3630 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
3631 | + }, | ||
3632 | + "semver": { | ||
3633 | + "version": "7.3.7", | ||
3634 | + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", | ||
3635 | + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", | ||
3636 | + "requires": { | ||
3637 | + "lru-cache": "^6.0.0" | ||
3638 | + } | ||
3639 | + } | ||
3640 | + } | ||
3641 | + }, | ||
3642 | + "sequelize-pool": { | ||
3643 | + "version": "7.1.0", | ||
3644 | + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz", | ||
3645 | + "integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==" | ||
3646 | + }, | ||
3163 | "serve-static": { | 3647 | "serve-static": { |
3164 | "version": "1.15.0", | 3648 | "version": "1.15.0", |
3165 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", | 3649 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", |
... | @@ -3191,6 +3675,11 @@ | ... | @@ -3191,6 +3675,11 @@ |
3191 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", | 3675 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", |
3192 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" | 3676 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" |
3193 | }, | 3677 | }, |
3678 | + "sqlstring": { | ||
3679 | + "version": "2.3.3", | ||
3680 | + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", | ||
3681 | + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" | ||
3682 | + }, | ||
3194 | "statuses": { | 3683 | "statuses": { |
3195 | "version": "2.0.1", | 3684 | "version": "2.0.1", |
3196 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | 3685 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", |
... | @@ -3270,6 +3759,11 @@ | ... | @@ -3270,6 +3759,11 @@ |
3270 | } | 3759 | } |
3271 | } | 3760 | } |
3272 | }, | 3761 | }, |
3762 | + "toposort-class": { | ||
3763 | + "version": "1.0.1", | ||
3764 | + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", | ||
3765 | + "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" | ||
3766 | + }, | ||
3273 | "touch": { | 3767 | "touch": { |
3274 | "version": "3.1.0", | 3768 | "version": "3.1.0", |
3275 | "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", | 3769 | "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", |
... | @@ -3362,6 +3856,16 @@ | ... | @@ -3362,6 +3856,16 @@ |
3362 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | 3856 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", |
3363 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | 3857 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" |
3364 | }, | 3858 | }, |
3859 | + "uuid": { | ||
3860 | + "version": "8.3.2", | ||
3861 | + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", | ||
3862 | + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" | ||
3863 | + }, | ||
3864 | + "validator": { | ||
3865 | + "version": "13.7.0", | ||
3866 | + "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", | ||
3867 | + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" | ||
3868 | + }, | ||
3365 | "vary": { | 3869 | "vary": { |
3366 | "version": "1.1.2", | 3870 | "version": "1.1.2", |
3367 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 3871 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
... | @@ -3375,6 +3879,14 @@ | ... | @@ -3375,6 +3879,14 @@ |
3375 | "string-width": "^4.0.0" | 3879 | "string-width": "^4.0.0" |
3376 | } | 3880 | } |
3377 | }, | 3881 | }, |
3882 | + "wkx": { | ||
3883 | + "version": "0.5.0", | ||
3884 | + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", | ||
3885 | + "integrity": "sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==", | ||
3886 | + "requires": { | ||
3887 | + "@types/node": "*" | ||
3888 | + } | ||
3889 | + }, | ||
3378 | "wrap-ansi": { | 3890 | "wrap-ansi": { |
3379 | "version": "7.0.0", | 3891 | "version": "7.0.0", |
3380 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", | 3892 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", | ... | ... |
... | @@ -19,6 +19,8 @@ | ... | @@ -19,6 +19,8 @@ |
19 | "axios": "^0.27.2", | 19 | "axios": "^0.27.2", |
20 | "dotenv": "^16.0.1", | 20 | "dotenv": "^16.0.1", |
21 | "express": "^4.18.1", | 21 | "express": "^4.18.1", |
22 | - "nodemon": "^2.0.16" | 22 | + "mysql2": "^2.3.3", |
23 | + "nodemon": "^2.0.16", | ||
24 | + "sequelize": "^6.20.0" | ||
23 | } | 25 | } |
24 | } | 26 | } | ... | ... |
-
Please register or login to post a comment