Merge 'database'
# Conflicts: # app/routes/signup.js
Showing
13 changed files
with
1603 additions
and
13 deletions
.gitignore
0 → 100644
1 | +node_modules | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -15,6 +15,12 @@ var csvRouter = require('./routes/csv') | ... | @@ -15,6 +15,12 @@ var csvRouter = require('./routes/csv') |
15 | var app = express(); | 15 | var app = express(); |
16 | var router = express.Router(); | 16 | var router = express.Router(); |
17 | 17 | ||
18 | +var cookieParser = require('cookie-parser') | ||
19 | +var ExpressSession = require('express-session') | ||
20 | + | ||
21 | +var database = require('./database/database'); | ||
22 | +var config = require('./config'); | ||
23 | + | ||
18 | 24 | ||
19 | // get port | 25 | // get port |
20 | var port = process.env.PORT || 3000; | 26 | var port = process.env.PORT || 3000; |
... | @@ -46,6 +52,13 @@ app.use('/signup',signupRouter); // sign up page route | ... | @@ -46,6 +52,13 @@ app.use('/signup',signupRouter); // sign up page route |
46 | app.use('/', indexRouter); // main page route | 52 | app.use('/', indexRouter); // main page route |
47 | 53 | ||
48 | 54 | ||
55 | +//Session 처리 | ||
56 | +app.use(cookieParser()); | ||
57 | +app.use(ExpressSession({ | ||
58 | + secret:'key', | ||
59 | + resave: true, | ||
60 | + saveUninitialized:true | ||
61 | +})); | ||
49 | 62 | ||
50 | //모든 router 처리가 끝난 후 404 오류 페이지 처리 | 63 | //모든 router 처리가 끝난 후 404 오류 페이지 처리 |
51 | var errorHandler = expressErrorHandler({ | 64 | var errorHandler = expressErrorHandler({ |
... | @@ -57,9 +70,25 @@ app.use(expressErrorHandler.httpError(404)); | ... | @@ -57,9 +70,25 @@ app.use(expressErrorHandler.httpError(404)); |
57 | app.use(errorHandler); | 70 | app.use(errorHandler); |
58 | 71 | ||
59 | 72 | ||
73 | +// 프로세스 종료 시에 데이터베이스 연결 해제 | ||
74 | +process.on('SIGTERM', function () { | ||
75 | + console.log("프로세스가 종료됩니다."); | ||
76 | + app.close(); | ||
77 | +}); | ||
78 | + | ||
79 | +app.on('close', function () { | ||
80 | + console.log("Express 서버 객체가 종료됩니다."); | ||
81 | + if (database.db) { | ||
82 | + database.db.close(); | ||
83 | + } | ||
84 | +}); | ||
85 | + | ||
60 | 86 | ||
61 | // for server listening | 87 | // for server listening |
62 | var server = http.createServer(app) | 88 | var server = http.createServer(app) |
63 | server.listen(port,function(){ | 89 | server.listen(port,function(){ |
64 | console.log('익스프레스 서버를 시작했습니다.'); | 90 | console.log('익스프레스 서버를 시작했습니다.'); |
91 | + | ||
92 | + database.init(app, config); | ||
65 | }) | 93 | }) |
94 | + | ... | ... |
app/config.js
0 → 100644
1 | +module.exports = { | ||
2 | + server_port: 3000, | ||
3 | + db_url: 'mongodb://oss:12341234@cluster0.us5lm.mongodb.net/?retryWrites=true&w=majority', | ||
4 | + db_schemas: [ | ||
5 | + {file:'./user_schema', collection:'users3', schemaName:'UserSchema', modelName:'UserModel'} | ||
6 | + ] | ||
7 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/database/database.js
0 → 100644
1 | +var mongoose = require('mongoose'); | ||
2 | +var db_url = 'mongodb+srv://oss:12341234@cluster0.us5lm.mongodb.net/?retryWrites=true&w=majority'; | ||
3 | +// database 객체에 db, schema, model 모두 추가 | ||
4 | +var database = {}; | ||
5 | + | ||
6 | +// 초기화를 위해 호출하는 함수 | ||
7 | +database.init = function(app, config) { | ||
8 | + console.log('init() 호출됨.'); | ||
9 | + | ||
10 | + connect(app, config); | ||
11 | +} | ||
12 | + | ||
13 | +//데이터베이스에 연결하고 응답 객체의 속성으로 db 객체 추가 | ||
14 | +function connect(app, config) { | ||
15 | + console.log('connect() 호출됨.'); | ||
16 | + | ||
17 | + // 데이터베이스 연결 : config의 설정 사용 | ||
18 | + mongoose.Promise = global.Promise; // mongoose의 Promise 객체는 global의 Promise 객체 사용하도록 함 | ||
19 | + mongoose.connect(db_url); | ||
20 | + | ||
21 | + database.db = mongoose.connection; | ||
22 | + | ||
23 | + database.db.on('error', console.error.bind(console, 'mongoose connection error.')); | ||
24 | + database.db.on('open', function () { | ||
25 | + console.log('데이터베이스에 연결되었습니다. : ' + db_url); | ||
26 | + | ||
27 | + // config에 등록된 스키마 및 모델 객체 생성 | ||
28 | + createSchema(app, config); | ||
29 | + | ||
30 | + }); | ||
31 | + database.db.on('disconnected', connect); | ||
32 | + | ||
33 | +} | ||
34 | + | ||
35 | +// config에 정의된 스키마 및 모델 객체 생성 | ||
36 | +function createSchema(app, config) { | ||
37 | + var schemaLen = config.db_schemas.length; | ||
38 | + console.log('설정에 정의된 스키마의 수 : %d', schemaLen); | ||
39 | + | ||
40 | + for (var i = 0; i < schemaLen; i++) { | ||
41 | + var curItem = config.db_schemas[i]; | ||
42 | + | ||
43 | + // 모듈 파일에서 모듈 불러온 후 createSchema() 함수 호출하기 | ||
44 | + var curSchema = require(curItem.file).createSchema(mongoose); | ||
45 | + console.log('%s 모듈을 불러들인 후 스키마 정의함.', curItem.file); | ||
46 | + | ||
47 | + // User 모델 정의 | ||
48 | + var curModel = mongoose.model(curItem.collection, curSchema); | ||
49 | + console.log('%s 컬렉션을 위해 모델 정의함.', curItem.collection); | ||
50 | + | ||
51 | + // database 객체에 속성으로 추가 | ||
52 | + database[curItem.schemaName] = curSchema; | ||
53 | + database[curItem.modelName] = curModel; | ||
54 | + console.log('스키마 이름 [%s], 모델 이름 [%s] 이 database 객체의 속성으로 추가됨.', curItem.schemaName, curItem.modelName); | ||
55 | + } | ||
56 | + | ||
57 | + app.set('database', database); | ||
58 | + console.log('database 객체가 app 객체의 속성으로 추가됨.'); | ||
59 | +} | ||
60 | + | ||
61 | + | ||
62 | +// database 객체를 module.exports에 할당 | ||
63 | +module.exports = database; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/database/user_schema.js
0 → 100644
1 | +var crypto = require('crypto'); | ||
2 | + | ||
3 | +var Schema = {}; | ||
4 | + | ||
5 | +Schema.createSchema = function(mongoose) { | ||
6 | + | ||
7 | + // 스키마 정의 | ||
8 | + var UserSchema = mongoose.Schema({ | ||
9 | + id: {type: String, required: true, unique: true, 'default':''}, | ||
10 | + hashed_password: {type: String, required: true, 'default':''}, | ||
11 | + salt: {type:String, required:true}, | ||
12 | + name: {type: String, index: 'hashed', 'default':''}, | ||
13 | + age: {type: Number, 'default': -1}, | ||
14 | + created_at: {type: Date, index: {unique: false}, 'default': Date.now}, | ||
15 | + updated_at: {type: Date, index: {unique: false}, 'default': Date.now} | ||
16 | + }); | ||
17 | + | ||
18 | + // password를 virtual 메소드로 정의 : MongoDB에 저장되지 않는 편리한 속성임. 특정 속성을 지정하고 set, get 메소드를 정의함 | ||
19 | + UserSchema | ||
20 | + .virtual('password') | ||
21 | + .set(function(password) { | ||
22 | + this._password = password; | ||
23 | + this.salt = this.makeSalt(); | ||
24 | + this.hashed_password = this.encryptPassword(password); | ||
25 | + console.log('virtual password 호출됨 : ' + this.hashed_password); | ||
26 | + }) | ||
27 | + .get(function() { return this._password }); | ||
28 | + | ||
29 | + // 스키마에 모델 인스턴스에서 사용할 수 있는 메소드 추가 | ||
30 | + // 비밀번호 암호화 메소드 | ||
31 | + UserSchema.method('encryptPassword', function(plainText, inSalt) { | ||
32 | + if (inSalt) { | ||
33 | + return crypto.createHmac('sha1', inSalt).update(plainText).digest('hex'); | ||
34 | + } else { | ||
35 | + return crypto.createHmac('sha1', this.salt).update(plainText).digest('hex'); | ||
36 | + } | ||
37 | + }); | ||
38 | + | ||
39 | + // salt 값 만들기 메소드 | ||
40 | + UserSchema.method('makeSalt', function() { | ||
41 | + return Math.round((new Date().valueOf() * Math.random())) + ''; | ||
42 | + }); | ||
43 | + | ||
44 | + // 인증 메소드 - 입력된 비밀번호와 비교 (true/false 리턴) | ||
45 | + UserSchema.method('authenticate', function(plainText, inSalt, hashed_password) { | ||
46 | + if (inSalt) { | ||
47 | + console.log('authenticate 호출됨 : %s -> %s : %s', plainText, this.encryptPassword(plainText, inSalt), hashed_password); | ||
48 | + return this.encryptPassword(plainText, inSalt) === hashed_password; | ||
49 | + } else { | ||
50 | + console.log('authenticate 호출됨 : %s -> %s : %s', plainText, this.encryptPassword(plainText), this.hashed_password); | ||
51 | + return this.encryptPassword(plainText) === this.hashed_password; | ||
52 | + } | ||
53 | + }); | ||
54 | + | ||
55 | + // 값이 유효한지 확인하는 함수 정의 | ||
56 | + var validatePresenceOf = function(value) { | ||
57 | + return value && value.length; | ||
58 | + }; | ||
59 | + | ||
60 | + // 저장 시의 트리거 함수 정의 (password 필드가 유효하지 않으면 에러 발생) | ||
61 | + UserSchema.pre('save', function(next) { | ||
62 | + if (!this.isNew) return next(); | ||
63 | + | ||
64 | + if (!validatePresenceOf(this.password)) { | ||
65 | + next(new Error('유효하지 않은 password 필드입니다.')); | ||
66 | + } else { | ||
67 | + next(); | ||
68 | + } | ||
69 | + }) | ||
70 | + | ||
71 | + // 필수 속성에 대한 유효성 확인 (길이값 체크) | ||
72 | + UserSchema.path('id').validate(function (id) { | ||
73 | + return id.length; | ||
74 | + }, 'id 칼럼의 값이 없습니다.'); | ||
75 | + | ||
76 | + UserSchema.path('name').validate(function (name) { | ||
77 | + return name.length; | ||
78 | + }, 'name 칼럼의 값이 없습니다.'); | ||
79 | + | ||
80 | + UserSchema.path('hashed_password').validate(function (hashed_password) { | ||
81 | + return hashed_password.length; | ||
82 | + }, 'hashed_password 칼럼의 값이 없습니다.'); | ||
83 | + | ||
84 | + | ||
85 | + // 스키마에 static 메소드 추가 | ||
86 | + UserSchema.static('findById', function(id, callback) { | ||
87 | + return this.find({id:id}, callback); | ||
88 | + }); | ||
89 | + | ||
90 | + UserSchema.static('findAll', function(callback) { | ||
91 | + return this.find({}, callback); | ||
92 | + }); | ||
93 | + | ||
94 | + console.log('UserSchema 정의함.'); | ||
95 | + | ||
96 | + return UserSchema; | ||
97 | +}; | ||
98 | + | ||
99 | +// module.exports에 UserSchema 객체 직접 할당 | ||
100 | +module.exports = Schema; | ||
101 | + |
1 | +var Conn = require('../database/database') | ||
1 | var express = require('express') | 2 | var express = require('express') |
2 | -var router = express.Router() | 3 | +var router = express.Router(); |
3 | 4 | ||
4 | //라우팅 함수 등록 | 5 | //라우팅 함수 등록 |
5 | 6 | ||
6 | router.get('/',function(req,res){ | 7 | router.get('/',function(req,res){ |
8 | + | ||
7 | res.render('login.html') | 9 | res.render('login.html') |
8 | }); | 10 | }); |
9 | 11 | ||
10 | router.post('/process', function(req, res) { | 12 | router.post('/process', function(req, res) { |
11 | - console.log('/process/login 처리함'); | 13 | + console.log('/login/process 처리함'); |
12 | 14 | ||
13 | var paramId = req.body.id || req.query.id; | 15 | var paramId = req.body.id || req.query.id; |
14 | var paramPassword = req.body.password || req.query.password; | 16 | var paramPassword = req.body.password || req.query.password; |
15 | //GET, POST 모두 고려해서 둘 다 검사 | 17 | //GET, POST 모두 고려해서 둘 다 검사 |
16 | 18 | ||
17 | - res.writeHead('200', { 'Content-Type': 'text/html;charset=utf8' }); | 19 | + // 데이터베이스 객체 참조 |
18 | - res.write('<h1>Result form Express Server</h1>'); | 20 | + var database = req.app.get('database'); |
19 | - res.write('<div><p>Param id : ' + paramId + '</p></div>'); | 21 | + |
20 | - res.write('<div><p>Param password : ' + paramPassword + '</p></div>'); | 22 | + // 데이터베이스 객체가 초기화된 경우, authUser 함수 호출하여 사용자 인증 |
21 | - res.write("<br><br><a href ='/login.html'>로그인 페이지로 돌아가기</a>"); | 23 | + if (database.db) { |
22 | - res.end(); | 24 | + authUser(database, paramId, paramPassword, function(err, docs) { |
25 | + // 에러 발생 시, 클라이언트로 에러 전송 | ||
26 | + if (err) { | ||
27 | + console.error('사용자 로그인 중 에러 발생 : ' + err.stack); | ||
28 | + | ||
29 | + res.writeHead('200', {'Content-Type':'text/html;charset=utf8'}); | ||
30 | + res.write('<h2>사용자 로그인 중 에러 발생</h2>'); | ||
31 | + res.write('<p>' + err.stack + '</p>'); | ||
32 | + res.end(); | ||
33 | + | ||
34 | + return; | ||
35 | + } | ||
36 | + | ||
37 | + // 조회된 레코드가 있으면 성공 응답 전송 | ||
38 | + if (docs) { | ||
39 | + console.dir(docs); | ||
40 | + | ||
41 | + // 조회 결과에서 사용자 이름 확인 | ||
42 | + var username = docs[0].name; | ||
43 | + | ||
44 | + res.writeHead('200', {'Content-Type':'text/html;charset=utf8'}); | ||
45 | + res.write('<h1>로그인 성공</h1>'); | ||
46 | + res.write('<div><p>사용자 아이디 : ' + paramId + '</p></div>'); | ||
47 | + res.write('<div><p>사용자 이름 : ' + username + '</p></div>'); | ||
48 | + res.write("<br><br><a href='/login'>다시 로그인하기</a>"); | ||
49 | + res.end(); | ||
50 | + | ||
51 | + } else { // 조회된 레코드가 없는 경우 실패 응답 전송 | ||
52 | + res.writeHead('200', {'Content-Type':'text/html;charset=utf8'}); | ||
53 | + res.write('<h1>로그인 실패</h1>'); | ||
54 | + res.write('<div><p>아이디와 패스워드를 다시 확인하십시오.</p></div>'); | ||
55 | + res.write("<br><br><a href='/login'>다시 로그인하기</a>"); | ||
56 | + res.end(); | ||
57 | + } | ||
58 | + }); | ||
59 | + } else { // 데이터베이스 객체가 초기화되지 않은 경우 실패 응답 전송 | ||
60 | + res.writeHead('200', {'Content-Type':'text/html;charset=utf8'}); | ||
61 | + res.write('<h2>데이터베이스 연결 실패</h2>'); | ||
62 | + res.write('<div><p>데이터베이스에 연결하지 못했습니다.</p></div>'); | ||
63 | + res.end(); | ||
64 | + } | ||
65 | + | ||
23 | }); | 66 | }); |
24 | 67 | ||
68 | +//사용자를 인증하는 함수 : 아이디로 먼저 찾고 비밀번호를 그 다음에 비교하도록 함 | ||
69 | +var authUser = function(database, id, password, callback) { | ||
70 | + console.log('authUser 호출됨.'); | ||
71 | + | ||
72 | + // 1. 아이디를 이용해 검색 | ||
73 | + database.UserModel.findById(id, function(err, results) { | ||
74 | + if (err) { | ||
75 | + callback(err, null); | ||
76 | + return; | ||
77 | + } | ||
78 | + | ||
79 | + console.log('아이디 [%s]로 사용자 검색결과', id); | ||
80 | + console.dir(results); | ||
81 | + | ||
82 | + if (results.length > 0) { | ||
83 | + console.log('아이디와 일치하는 사용자 찾음.'); | ||
84 | + | ||
85 | + // 2. 패스워드 확인 : 모델 인스턴스를 객체를 만들고 authenticate() 메소드 호출 | ||
86 | + var user = new database.UserModel({id:id}); | ||
87 | + var authenticated = user.authenticate(password, results[0]._doc.salt, results[0]._doc.hashed_password); | ||
88 | + if (authenticated) { | ||
89 | + console.log('비밀번호 일치함'); | ||
90 | + callback(null, results); | ||
91 | + } else { | ||
92 | + console.log('비밀번호 일치하지 않음'); | ||
93 | + callback(null, null); | ||
94 | + } | ||
95 | + | ||
96 | + } else { | ||
97 | + console.log("아이디와 일치하는 사용자를 찾지 못함."); | ||
98 | + callback(null, null); | ||
99 | + } | ||
100 | + | ||
101 | + }); | ||
102 | + | ||
103 | +} | ||
104 | + | ||
25 | module.exports = router | 105 | module.exports = router |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -53,9 +53,9 @@ | ... | @@ -53,9 +53,9 @@ |
53 | <div class="row justify-content-center"> | 53 | <div class="row justify-content-center"> |
54 | <div class="col-lg-8 col-xxl-6"> | 54 | <div class="col-lg-8 col-xxl-6"> |
55 | <div class="text-center my-5"> | 55 | <div class="text-center my-5"> |
56 | - <h1>로그인</h1> | 56 | + <h1>회원가입</h1> |
57 | <br> | 57 | <br> |
58 | - <form method="post" action="/login/process"> | 58 | + <form method="post" action="/signup/process"> |
59 | <table> | 59 | <table> |
60 | <tr> | 60 | <tr> |
61 | <td><label>이름</label></td> | 61 | <td><label>이름</label></td> | ... | ... |
1 | -../ejs/bin/cli.js | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +#!/bin/sh | ||
2 | +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") | ||
3 | + | ||
4 | +case `uname` in | ||
5 | + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; | ||
6 | +esac | ||
7 | + | ||
8 | +if [ -x "$basedir/node" ]; then | ||
9 | + exec "$basedir/node" "$basedir/../ejs/bin/cli.js" "$@" | ||
10 | +else | ||
11 | + exec node "$basedir/../ejs/bin/cli.js" "$@" | ||
12 | +fi | ... | ... |
1 | -../jake/bin/cli.js | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +#!/bin/sh | ||
2 | +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") | ||
3 | + | ||
4 | +case `uname` in | ||
5 | + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; | ||
6 | +esac | ||
7 | + | ||
8 | +if [ -x "$basedir/node" ]; then | ||
9 | + exec "$basedir/node" "$basedir/../jake/bin/cli.js" "$@" | ||
10 | +else | ||
11 | + exec node "$basedir/../jake/bin/cli.js" "$@" | ||
12 | +fi | ... | ... |
1 | -../mime/cli.js | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +#!/bin/sh | ||
2 | +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") | ||
3 | + | ||
4 | +case `uname` in | ||
5 | + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; | ||
6 | +esac | ||
7 | + | ||
8 | +if [ -x "$basedir/node" ]; then | ||
9 | + exec "$basedir/node" "$basedir/../mime/cli.js" "$@" | ||
10 | +else | ||
11 | + exec node "$basedir/../mime/cli.js" "$@" | ||
12 | +fi | ... | ... |
... | @@ -14,6 +14,25 @@ | ... | @@ -14,6 +14,25 @@ |
14 | "url": "https://opencollective.com/popperjs" | 14 | "url": "https://opencollective.com/popperjs" |
15 | } | 15 | } |
16 | }, | 16 | }, |
17 | + "node_modules/@types/node": { | ||
18 | + "version": "17.0.35", | ||
19 | + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz", | ||
20 | + "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==" | ||
21 | + }, | ||
22 | + "node_modules/@types/webidl-conversions": { | ||
23 | + "version": "6.1.1", | ||
24 | + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz", | ||
25 | + "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==" | ||
26 | + }, | ||
27 | + "node_modules/@types/whatwg-url": { | ||
28 | + "version": "8.2.1", | ||
29 | + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz", | ||
30 | + "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==", | ||
31 | + "dependencies": { | ||
32 | + "@types/node": "*", | ||
33 | + "@types/webidl-conversions": "*" | ||
34 | + } | ||
35 | + }, | ||
17 | "node_modules/accepts": { | 36 | "node_modules/accepts": { |
18 | "version": "1.3.8", | 37 | "version": "1.3.8", |
19 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | 38 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", |
... | @@ -55,6 +74,33 @@ | ... | @@ -55,6 +74,33 @@ |
55 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | 74 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", |
56 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | 75 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" |
57 | }, | 76 | }, |
77 | + "node_modules/base64-js": { | ||
78 | + "version": "1.5.1", | ||
79 | + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", | ||
80 | + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", | ||
81 | + "funding": [ | ||
82 | + { | ||
83 | + "type": "github", | ||
84 | + "url": "https://github.com/sponsors/feross" | ||
85 | + }, | ||
86 | + { | ||
87 | + "type": "patreon", | ||
88 | + "url": "https://www.patreon.com/feross" | ||
89 | + }, | ||
90 | + { | ||
91 | + "type": "consulting", | ||
92 | + "url": "https://feross.org/support" | ||
93 | + } | ||
94 | + ] | ||
95 | + }, | ||
96 | + "node_modules/bignumber.js": { | ||
97 | + "version": "9.0.0", | ||
98 | + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", | ||
99 | + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", | ||
100 | + "engines": { | ||
101 | + "node": "*" | ||
102 | + } | ||
103 | + }, | ||
58 | "node_modules/body-parser": { | 104 | "node_modules/body-parser": { |
59 | "version": "1.20.0", | 105 | "version": "1.20.0", |
60 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", | 106 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", |
... | @@ -99,6 +145,40 @@ | ... | @@ -99,6 +145,40 @@ |
99 | "concat-map": "0.0.1" | 145 | "concat-map": "0.0.1" |
100 | } | 146 | } |
101 | }, | 147 | }, |
148 | + "node_modules/bson": { | ||
149 | + "version": "4.6.4", | ||
150 | + "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.4.tgz", | ||
151 | + "integrity": "sha512-TdQ3FzguAu5HKPPlr0kYQCyrYUYh8tFM+CMTpxjNzVzxeiJY00Rtuj3LXLHSgiGvmaWlZ8PE+4KyM2thqE38pQ==", | ||
152 | + "dependencies": { | ||
153 | + "buffer": "^5.6.0" | ||
154 | + }, | ||
155 | + "engines": { | ||
156 | + "node": ">=6.9.0" | ||
157 | + } | ||
158 | + }, | ||
159 | + "node_modules/buffer": { | ||
160 | + "version": "5.7.1", | ||
161 | + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", | ||
162 | + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", | ||
163 | + "funding": [ | ||
164 | + { | ||
165 | + "type": "github", | ||
166 | + "url": "https://github.com/sponsors/feross" | ||
167 | + }, | ||
168 | + { | ||
169 | + "type": "patreon", | ||
170 | + "url": "https://www.patreon.com/feross" | ||
171 | + }, | ||
172 | + { | ||
173 | + "type": "consulting", | ||
174 | + "url": "https://feross.org/support" | ||
175 | + } | ||
176 | + ], | ||
177 | + "dependencies": { | ||
178 | + "base64-js": "^1.3.1", | ||
179 | + "ieee754": "^1.1.13" | ||
180 | + } | ||
181 | + }, | ||
102 | "node_modules/bytes": { | 182 | "node_modules/bytes": { |
103 | "version": "3.1.2", | 183 | "version": "3.1.2", |
104 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", | 184 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", |
... | @@ -182,11 +262,42 @@ | ... | @@ -182,11 +262,42 @@ |
182 | "node": ">= 0.6" | 262 | "node": ">= 0.6" |
183 | } | 263 | } |
184 | }, | 264 | }, |
265 | + "node_modules/cookie-parser": { | ||
266 | + "version": "1.4.6", | ||
267 | + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", | ||
268 | + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", | ||
269 | + "dependencies": { | ||
270 | + "cookie": "0.4.1", | ||
271 | + "cookie-signature": "1.0.6" | ||
272 | + }, | ||
273 | + "engines": { | ||
274 | + "node": ">= 0.8.0" | ||
275 | + } | ||
276 | + }, | ||
277 | + "node_modules/cookie-parser/node_modules/cookie": { | ||
278 | + "version": "0.4.1", | ||
279 | + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", | ||
280 | + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", | ||
281 | + "engines": { | ||
282 | + "node": ">= 0.6" | ||
283 | + } | ||
284 | + }, | ||
185 | "node_modules/cookie-signature": { | 285 | "node_modules/cookie-signature": { |
186 | "version": "1.0.6", | 286 | "version": "1.0.6", |
187 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | 287 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", |
188 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" | 288 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" |
189 | }, | 289 | }, |
290 | + "node_modules/core-util-is": { | ||
291 | + "version": "1.0.3", | ||
292 | + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", | ||
293 | + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" | ||
294 | + }, | ||
295 | + "node_modules/crypto": { | ||
296 | + "version": "1.0.1", | ||
297 | + "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", | ||
298 | + "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==", | ||
299 | + "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in." | ||
300 | + }, | ||
190 | "node_modules/debug": { | 301 | "node_modules/debug": { |
191 | "version": "2.6.9", | 302 | "version": "2.6.9", |
192 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 303 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
... | @@ -195,6 +306,14 @@ | ... | @@ -195,6 +306,14 @@ |
195 | "ms": "2.0.0" | 306 | "ms": "2.0.0" |
196 | } | 307 | } |
197 | }, | 308 | }, |
309 | + "node_modules/denque": { | ||
310 | + "version": "2.0.1", | ||
311 | + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", | ||
312 | + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==", | ||
313 | + "engines": { | ||
314 | + "node": ">=0.10" | ||
315 | + } | ||
316 | + }, | ||
198 | "node_modules/depd": { | 317 | "node_modules/depd": { |
199 | "version": "2.0.0", | 318 | "version": "2.0.0", |
200 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | 319 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", |
... | @@ -301,6 +420,32 @@ | ... | @@ -301,6 +420,32 @@ |
301 | "mout": "0.12.0" | 420 | "mout": "0.12.0" |
302 | } | 421 | } |
303 | }, | 422 | }, |
423 | + "node_modules/express-session": { | ||
424 | + "version": "1.17.3", | ||
425 | + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", | ||
426 | + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", | ||
427 | + "dependencies": { | ||
428 | + "cookie": "0.4.2", | ||
429 | + "cookie-signature": "1.0.6", | ||
430 | + "debug": "2.6.9", | ||
431 | + "depd": "~2.0.0", | ||
432 | + "on-headers": "~1.0.2", | ||
433 | + "parseurl": "~1.3.3", | ||
434 | + "safe-buffer": "5.2.1", | ||
435 | + "uid-safe": "~2.1.5" | ||
436 | + }, | ||
437 | + "engines": { | ||
438 | + "node": ">= 0.8.0" | ||
439 | + } | ||
440 | + }, | ||
441 | + "node_modules/express-session/node_modules/cookie": { | ||
442 | + "version": "0.4.2", | ||
443 | + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", | ||
444 | + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", | ||
445 | + "engines": { | ||
446 | + "node": ">= 0.6" | ||
447 | + } | ||
448 | + }, | ||
304 | "node_modules/filelist": { | 449 | "node_modules/filelist": { |
305 | "version": "1.0.3", | 450 | "version": "1.0.3", |
306 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", | 451 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", |
... | @@ -440,11 +585,35 @@ | ... | @@ -440,11 +585,35 @@ |
440 | "node": ">=0.10.0" | 585 | "node": ">=0.10.0" |
441 | } | 586 | } |
442 | }, | 587 | }, |
588 | + "node_modules/ieee754": { | ||
589 | + "version": "1.2.1", | ||
590 | + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", | ||
591 | + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", | ||
592 | + "funding": [ | ||
593 | + { | ||
594 | + "type": "github", | ||
595 | + "url": "https://github.com/sponsors/feross" | ||
596 | + }, | ||
597 | + { | ||
598 | + "type": "patreon", | ||
599 | + "url": "https://www.patreon.com/feross" | ||
600 | + }, | ||
601 | + { | ||
602 | + "type": "consulting", | ||
603 | + "url": "https://feross.org/support" | ||
604 | + } | ||
605 | + ] | ||
606 | + }, | ||
443 | "node_modules/inherits": { | 607 | "node_modules/inherits": { |
444 | "version": "2.0.4", | 608 | "version": "2.0.4", |
445 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | 609 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
446 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | 610 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" |
447 | }, | 611 | }, |
612 | + "node_modules/ip": { | ||
613 | + "version": "1.1.8", | ||
614 | + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", | ||
615 | + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" | ||
616 | + }, | ||
448 | "node_modules/ipaddr.js": { | 617 | "node_modules/ipaddr.js": { |
449 | "version": "1.9.1", | 618 | "version": "1.9.1", |
450 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | 619 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", |
... | @@ -453,6 +622,11 @@ | ... | @@ -453,6 +622,11 @@ |
453 | "node": ">= 0.10" | 622 | "node": ">= 0.10" |
454 | } | 623 | } |
455 | }, | 624 | }, |
625 | + "node_modules/isarray": { | ||
626 | + "version": "1.0.0", | ||
627 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
628 | + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | ||
629 | + }, | ||
456 | "node_modules/jake": { | 630 | "node_modules/jake": { |
457 | "version": "10.8.5", | 631 | "version": "10.8.5", |
458 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", | 632 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", |
... | @@ -470,6 +644,11 @@ | ... | @@ -470,6 +644,11 @@ |
470 | "node": ">=10" | 644 | "node": ">=10" |
471 | } | 645 | } |
472 | }, | 646 | }, |
647 | + "node_modules/kareem": { | ||
648 | + "version": "2.3.5", | ||
649 | + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.5.tgz", | ||
650 | + "integrity": "sha512-qxCyQtp3ioawkiRNQr/v8xw9KIviMSSNmy+63Wubj7KmMn3g7noRXIZB4vPCAP+ETi2SR8eH6CvmlKZuGpoHOg==" | ||
651 | + }, | ||
473 | "node_modules/media-typer": { | 652 | "node_modules/media-typer": { |
474 | "version": "0.3.0", | 653 | "version": "0.3.0", |
475 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | 654 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
... | @@ -478,6 +657,12 @@ | ... | @@ -478,6 +657,12 @@ |
478 | "node": ">= 0.6" | 657 | "node": ">= 0.6" |
479 | } | 658 | } |
480 | }, | 659 | }, |
660 | + "node_modules/memory-pager": { | ||
661 | + "version": "1.5.0", | ||
662 | + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", | ||
663 | + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", | ||
664 | + "optional": true | ||
665 | + }, | ||
481 | "node_modules/merge-descriptors": { | 666 | "node_modules/merge-descriptors": { |
482 | "version": "1.0.1", | 667 | "version": "1.0.1", |
483 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | 668 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", |
... | @@ -532,16 +717,127 @@ | ... | @@ -532,16 +717,127 @@ |
532 | "node": "*" | 717 | "node": "*" |
533 | } | 718 | } |
534 | }, | 719 | }, |
720 | + "node_modules/mongodb": { | ||
721 | + "version": "4.5.0", | ||
722 | + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.5.0.tgz", | ||
723 | + "integrity": "sha512-A2l8MjEpKojnhbCM0MK3+UOGUSGvTNNSv7AkP1fsT7tkambrkkqN/5F2y+PhzsV0Nbv58u04TETpkaSEdI2zKA==", | ||
724 | + "dependencies": { | ||
725 | + "bson": "^4.6.2", | ||
726 | + "denque": "^2.0.1", | ||
727 | + "mongodb-connection-string-url": "^2.5.2", | ||
728 | + "socks": "^2.6.2" | ||
729 | + }, | ||
730 | + "engines": { | ||
731 | + "node": ">=12.9.0" | ||
732 | + }, | ||
733 | + "optionalDependencies": { | ||
734 | + "saslprep": "^1.0.3" | ||
735 | + } | ||
736 | + }, | ||
737 | + "node_modules/mongodb-connection-string-url": { | ||
738 | + "version": "2.5.2", | ||
739 | + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz", | ||
740 | + "integrity": "sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==", | ||
741 | + "dependencies": { | ||
742 | + "@types/whatwg-url": "^8.2.1", | ||
743 | + "whatwg-url": "^11.0.0" | ||
744 | + } | ||
745 | + }, | ||
746 | + "node_modules/mongoose": { | ||
747 | + "version": "6.3.4", | ||
748 | + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.3.4.tgz", | ||
749 | + "integrity": "sha512-UP0azyGMdY+2YNbJUHeHhnVw5vPzCqs4GQDUwHkilif/rwmSZktUQhQWMp1pUgRNeF2JC30vWGLrInZxD7K/Qw==", | ||
750 | + "dependencies": { | ||
751 | + "bson": "^4.6.2", | ||
752 | + "kareem": "2.3.5", | ||
753 | + "mongodb": "4.5.0", | ||
754 | + "mpath": "0.9.0", | ||
755 | + "mquery": "4.0.3", | ||
756 | + "ms": "2.1.3", | ||
757 | + "sift": "16.0.0" | ||
758 | + }, | ||
759 | + "engines": { | ||
760 | + "node": ">=12.0.0" | ||
761 | + }, | ||
762 | + "funding": { | ||
763 | + "type": "opencollective", | ||
764 | + "url": "https://opencollective.com/mongoose" | ||
765 | + } | ||
766 | + }, | ||
767 | + "node_modules/mongoose/node_modules/ms": { | ||
768 | + "version": "2.1.3", | ||
769 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
770 | + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
771 | + }, | ||
535 | "node_modules/mout": { | 772 | "node_modules/mout": { |
536 | "version": "0.12.0", | 773 | "version": "0.12.0", |
537 | "resolved": "https://registry.npmjs.org/mout/-/mout-0.12.0.tgz", | 774 | "resolved": "https://registry.npmjs.org/mout/-/mout-0.12.0.tgz", |
538 | "integrity": "sha1-bVskLuMx+dBMaOWPd6kaMGDoyss=" | 775 | "integrity": "sha1-bVskLuMx+dBMaOWPd6kaMGDoyss=" |
539 | }, | 776 | }, |
777 | + "node_modules/mpath": { | ||
778 | + "version": "0.9.0", | ||
779 | + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", | ||
780 | + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", | ||
781 | + "engines": { | ||
782 | + "node": ">=4.0.0" | ||
783 | + } | ||
784 | + }, | ||
785 | + "node_modules/mquery": { | ||
786 | + "version": "4.0.3", | ||
787 | + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz", | ||
788 | + "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==", | ||
789 | + "dependencies": { | ||
790 | + "debug": "4.x" | ||
791 | + }, | ||
792 | + "engines": { | ||
793 | + "node": ">=12.0.0" | ||
794 | + } | ||
795 | + }, | ||
796 | + "node_modules/mquery/node_modules/debug": { | ||
797 | + "version": "4.3.4", | ||
798 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
799 | + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
800 | + "dependencies": { | ||
801 | + "ms": "2.1.2" | ||
802 | + }, | ||
803 | + "engines": { | ||
804 | + "node": ">=6.0" | ||
805 | + }, | ||
806 | + "peerDependenciesMeta": { | ||
807 | + "supports-color": { | ||
808 | + "optional": true | ||
809 | + } | ||
810 | + } | ||
811 | + }, | ||
812 | + "node_modules/mquery/node_modules/ms": { | ||
813 | + "version": "2.1.2", | ||
814 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
815 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
816 | + }, | ||
540 | "node_modules/ms": { | 817 | "node_modules/ms": { |
541 | "version": "2.0.0", | 818 | "version": "2.0.0", |
542 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 819 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
543 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | 820 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
544 | }, | 821 | }, |
822 | + "node_modules/mysql": { | ||
823 | + "version": "2.18.1", | ||
824 | + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", | ||
825 | + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", | ||
826 | + "dependencies": { | ||
827 | + "bignumber.js": "9.0.0", | ||
828 | + "readable-stream": "2.3.7", | ||
829 | + "safe-buffer": "5.1.2", | ||
830 | + "sqlstring": "2.3.1" | ||
831 | + }, | ||
832 | + "engines": { | ||
833 | + "node": ">= 0.6" | ||
834 | + } | ||
835 | + }, | ||
836 | + "node_modules/mysql/node_modules/safe-buffer": { | ||
837 | + "version": "5.1.2", | ||
838 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
839 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
840 | + }, | ||
545 | "node_modules/negotiator": { | 841 | "node_modules/negotiator": { |
546 | "version": "0.6.3", | 842 | "version": "0.6.3", |
547 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | 843 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", |
... | @@ -569,6 +865,14 @@ | ... | @@ -569,6 +865,14 @@ |
569 | "node": ">= 0.8" | 865 | "node": ">= 0.8" |
570 | } | 866 | } |
571 | }, | 867 | }, |
868 | + "node_modules/on-headers": { | ||
869 | + "version": "1.0.2", | ||
870 | + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", | ||
871 | + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", | ||
872 | + "engines": { | ||
873 | + "node": ">= 0.8" | ||
874 | + } | ||
875 | + }, | ||
572 | "node_modules/parseurl": { | 876 | "node_modules/parseurl": { |
573 | "version": "1.3.3", | 877 | "version": "1.3.3", |
574 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | 878 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", |
... | @@ -599,6 +903,11 @@ | ... | @@ -599,6 +903,11 @@ |
599 | "node": ">= 0.6.0" | 903 | "node": ">= 0.6.0" |
600 | } | 904 | } |
601 | }, | 905 | }, |
906 | + "node_modules/process-nextick-args": { | ||
907 | + "version": "2.0.1", | ||
908 | + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||
909 | + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||
910 | + }, | ||
602 | "node_modules/proxy-addr": { | 911 | "node_modules/proxy-addr": { |
603 | "version": "2.0.7", | 912 | "version": "2.0.7", |
604 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | 913 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", |
... | @@ -611,6 +920,14 @@ | ... | @@ -611,6 +920,14 @@ |
611 | "node": ">= 0.10" | 920 | "node": ">= 0.10" |
612 | } | 921 | } |
613 | }, | 922 | }, |
923 | + "node_modules/punycode": { | ||
924 | + "version": "2.1.1", | ||
925 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
926 | + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", | ||
927 | + "engines": { | ||
928 | + "node": ">=6" | ||
929 | + } | ||
930 | + }, | ||
614 | "node_modules/qs": { | 931 | "node_modules/qs": { |
615 | "version": "6.10.3", | 932 | "version": "6.10.3", |
616 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", | 933 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", |
... | @@ -625,6 +942,14 @@ | ... | @@ -625,6 +942,14 @@ |
625 | "url": "https://github.com/sponsors/ljharb" | 942 | "url": "https://github.com/sponsors/ljharb" |
626 | } | 943 | } |
627 | }, | 944 | }, |
945 | + "node_modules/random-bytes": { | ||
946 | + "version": "1.0.0", | ||
947 | + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", | ||
948 | + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", | ||
949 | + "engines": { | ||
950 | + "node": ">= 0.8" | ||
951 | + } | ||
952 | + }, | ||
628 | "node_modules/range-parser": { | 953 | "node_modules/range-parser": { |
629 | "version": "1.2.1", | 954 | "version": "1.2.1", |
630 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | 955 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", |
... | @@ -647,6 +972,25 @@ | ... | @@ -647,6 +972,25 @@ |
647 | "node": ">= 0.8" | 972 | "node": ">= 0.8" |
648 | } | 973 | } |
649 | }, | 974 | }, |
975 | + "node_modules/readable-stream": { | ||
976 | + "version": "2.3.7", | ||
977 | + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
978 | + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
979 | + "dependencies": { | ||
980 | + "core-util-is": "~1.0.0", | ||
981 | + "inherits": "~2.0.3", | ||
982 | + "isarray": "~1.0.0", | ||
983 | + "process-nextick-args": "~2.0.0", | ||
984 | + "safe-buffer": "~5.1.1", | ||
985 | + "string_decoder": "~1.1.1", | ||
986 | + "util-deprecate": "~1.0.1" | ||
987 | + } | ||
988 | + }, | ||
989 | + "node_modules/readable-stream/node_modules/safe-buffer": { | ||
990 | + "version": "5.1.2", | ||
991 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
992 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
993 | + }, | ||
650 | "node_modules/safe-buffer": { | 994 | "node_modules/safe-buffer": { |
651 | "version": "5.2.1", | 995 | "version": "5.2.1", |
652 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | 996 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", |
... | @@ -671,6 +1015,18 @@ | ... | @@ -671,6 +1015,18 @@ |
671 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | 1015 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
672 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | 1016 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
673 | }, | 1017 | }, |
1018 | + "node_modules/saslprep": { | ||
1019 | + "version": "1.0.3", | ||
1020 | + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", | ||
1021 | + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", | ||
1022 | + "optional": true, | ||
1023 | + "dependencies": { | ||
1024 | + "sparse-bitfield": "^3.0.3" | ||
1025 | + }, | ||
1026 | + "engines": { | ||
1027 | + "node": ">=6" | ||
1028 | + } | ||
1029 | + }, | ||
674 | "node_modules/send": { | 1030 | "node_modules/send": { |
675 | "version": "0.18.0", | 1031 | "version": "0.18.0", |
676 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | 1032 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", |
... | @@ -731,6 +1087,50 @@ | ... | @@ -731,6 +1087,50 @@ |
731 | "url": "https://github.com/sponsors/ljharb" | 1087 | "url": "https://github.com/sponsors/ljharb" |
732 | } | 1088 | } |
733 | }, | 1089 | }, |
1090 | + "node_modules/sift": { | ||
1091 | + "version": "16.0.0", | ||
1092 | + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz", | ||
1093 | + "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ==" | ||
1094 | + }, | ||
1095 | + "node_modules/smart-buffer": { | ||
1096 | + "version": "4.2.0", | ||
1097 | + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", | ||
1098 | + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", | ||
1099 | + "engines": { | ||
1100 | + "node": ">= 6.0.0", | ||
1101 | + "npm": ">= 3.0.0" | ||
1102 | + } | ||
1103 | + }, | ||
1104 | + "node_modules/socks": { | ||
1105 | + "version": "2.6.2", | ||
1106 | + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", | ||
1107 | + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", | ||
1108 | + "dependencies": { | ||
1109 | + "ip": "^1.1.5", | ||
1110 | + "smart-buffer": "^4.2.0" | ||
1111 | + }, | ||
1112 | + "engines": { | ||
1113 | + "node": ">= 10.13.0", | ||
1114 | + "npm": ">= 3.0.0" | ||
1115 | + } | ||
1116 | + }, | ||
1117 | + "node_modules/sparse-bitfield": { | ||
1118 | + "version": "3.0.3", | ||
1119 | + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", | ||
1120 | + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", | ||
1121 | + "optional": true, | ||
1122 | + "dependencies": { | ||
1123 | + "memory-pager": "^1.0.2" | ||
1124 | + } | ||
1125 | + }, | ||
1126 | + "node_modules/sqlstring": { | ||
1127 | + "version": "2.3.1", | ||
1128 | + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | ||
1129 | + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=", | ||
1130 | + "engines": { | ||
1131 | + "node": ">= 0.6" | ||
1132 | + } | ||
1133 | + }, | ||
734 | "node_modules/statuses": { | 1134 | "node_modules/statuses": { |
735 | "version": "2.0.1", | 1135 | "version": "2.0.1", |
736 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | 1136 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", |
... | @@ -739,6 +1139,19 @@ | ... | @@ -739,6 +1139,19 @@ |
739 | "node": ">= 0.8" | 1139 | "node": ">= 0.8" |
740 | } | 1140 | } |
741 | }, | 1141 | }, |
1142 | + "node_modules/string_decoder": { | ||
1143 | + "version": "1.1.1", | ||
1144 | + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
1145 | + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
1146 | + "dependencies": { | ||
1147 | + "safe-buffer": "~5.1.0" | ||
1148 | + } | ||
1149 | + }, | ||
1150 | + "node_modules/string_decoder/node_modules/safe-buffer": { | ||
1151 | + "version": "5.1.2", | ||
1152 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
1153 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
1154 | + }, | ||
742 | "node_modules/supports-color": { | 1155 | "node_modules/supports-color": { |
743 | "version": "7.2.0", | 1156 | "version": "7.2.0", |
744 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | 1157 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
... | @@ -758,6 +1171,17 @@ | ... | @@ -758,6 +1171,17 @@ |
758 | "node": ">=0.6" | 1171 | "node": ">=0.6" |
759 | } | 1172 | } |
760 | }, | 1173 | }, |
1174 | + "node_modules/tr46": { | ||
1175 | + "version": "3.0.0", | ||
1176 | + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", | ||
1177 | + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", | ||
1178 | + "dependencies": { | ||
1179 | + "punycode": "^2.1.1" | ||
1180 | + }, | ||
1181 | + "engines": { | ||
1182 | + "node": ">=12" | ||
1183 | + } | ||
1184 | + }, | ||
761 | "node_modules/type-is": { | 1185 | "node_modules/type-is": { |
762 | "version": "1.6.18", | 1186 | "version": "1.6.18", |
763 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | 1187 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", |
... | @@ -770,6 +1194,17 @@ | ... | @@ -770,6 +1194,17 @@ |
770 | "node": ">= 0.6" | 1194 | "node": ">= 0.6" |
771 | } | 1195 | } |
772 | }, | 1196 | }, |
1197 | + "node_modules/uid-safe": { | ||
1198 | + "version": "2.1.5", | ||
1199 | + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", | ||
1200 | + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", | ||
1201 | + "dependencies": { | ||
1202 | + "random-bytes": "~1.0.0" | ||
1203 | + }, | ||
1204 | + "engines": { | ||
1205 | + "node": ">= 0.8" | ||
1206 | + } | ||
1207 | + }, | ||
773 | "node_modules/unpipe": { | 1208 | "node_modules/unpipe": { |
774 | "version": "1.0.0", | 1209 | "version": "1.0.0", |
775 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 1210 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
... | @@ -786,6 +1221,11 @@ | ... | @@ -786,6 +1221,11 @@ |
786 | "inherits": "2.0.3" | 1221 | "inherits": "2.0.3" |
787 | } | 1222 | } |
788 | }, | 1223 | }, |
1224 | + "node_modules/util-deprecate": { | ||
1225 | + "version": "1.0.2", | ||
1226 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
1227 | + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
1228 | + }, | ||
789 | "node_modules/util/node_modules/inherits": { | 1229 | "node_modules/util/node_modules/inherits": { |
790 | "version": "2.0.3", | 1230 | "version": "2.0.3", |
791 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | 1231 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", |
... | @@ -806,6 +1246,26 @@ | ... | @@ -806,6 +1246,26 @@ |
806 | "engines": { | 1246 | "engines": { |
807 | "node": ">= 0.8" | 1247 | "node": ">= 0.8" |
808 | } | 1248 | } |
1249 | + }, | ||
1250 | + "node_modules/webidl-conversions": { | ||
1251 | + "version": "7.0.0", | ||
1252 | + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", | ||
1253 | + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", | ||
1254 | + "engines": { | ||
1255 | + "node": ">=12" | ||
1256 | + } | ||
1257 | + }, | ||
1258 | + "node_modules/whatwg-url": { | ||
1259 | + "version": "11.0.0", | ||
1260 | + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", | ||
1261 | + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", | ||
1262 | + "dependencies": { | ||
1263 | + "tr46": "^3.0.0", | ||
1264 | + "webidl-conversions": "^7.0.0" | ||
1265 | + }, | ||
1266 | + "engines": { | ||
1267 | + "node": ">=12" | ||
1268 | + } | ||
809 | } | 1269 | } |
810 | } | 1270 | } |
811 | } | 1271 | } | ... | ... |
... | @@ -11,10 +11,15 @@ | ... | @@ -11,10 +11,15 @@ |
11 | "dependencies": { | 11 | "dependencies": { |
12 | "body-parser": "^1.20.0", | 12 | "body-parser": "^1.20.0", |
13 | "bootstrap": "^5.1.3", | 13 | "bootstrap": "^5.1.3", |
14 | + "cookie-parser": "^1.4.6", | ||
15 | + "crypto": "^1.0.1", | ||
14 | "ejs": "^3.1.7", | 16 | "ejs": "^3.1.7", |
15 | "express": "^4.18.1", | 17 | "express": "^4.18.1", |
16 | "express-error-handler": "^1.1.0", | 18 | "express-error-handler": "^1.1.0", |
19 | + "express-session": "^1.17.3", | ||
17 | "http": "^0.0.1-security", | 20 | "http": "^0.0.1-security", |
21 | + "mongoose": "^6.3.4", | ||
22 | + "mysql": "^2.18.1", | ||
18 | "path": "^0.12.7", | 23 | "path": "^0.12.7", |
19 | "serve-static": "^1.15.0" | 24 | "serve-static": "^1.15.0" |
20 | } | 25 | } |
... | @@ -29,6 +34,25 @@ | ... | @@ -29,6 +34,25 @@ |
29 | "url": "https://opencollective.com/popperjs" | 34 | "url": "https://opencollective.com/popperjs" |
30 | } | 35 | } |
31 | }, | 36 | }, |
37 | + "node_modules/@types/node": { | ||
38 | + "version": "17.0.35", | ||
39 | + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz", | ||
40 | + "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==" | ||
41 | + }, | ||
42 | + "node_modules/@types/webidl-conversions": { | ||
43 | + "version": "6.1.1", | ||
44 | + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz", | ||
45 | + "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==" | ||
46 | + }, | ||
47 | + "node_modules/@types/whatwg-url": { | ||
48 | + "version": "8.2.1", | ||
49 | + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz", | ||
50 | + "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==", | ||
51 | + "dependencies": { | ||
52 | + "@types/node": "*", | ||
53 | + "@types/webidl-conversions": "*" | ||
54 | + } | ||
55 | + }, | ||
32 | "node_modules/accepts": { | 56 | "node_modules/accepts": { |
33 | "version": "1.3.8", | 57 | "version": "1.3.8", |
34 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | 58 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", |
... | @@ -70,6 +94,33 @@ | ... | @@ -70,6 +94,33 @@ |
70 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | 94 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", |
71 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | 95 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" |
72 | }, | 96 | }, |
97 | + "node_modules/base64-js": { | ||
98 | + "version": "1.5.1", | ||
99 | + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", | ||
100 | + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", | ||
101 | + "funding": [ | ||
102 | + { | ||
103 | + "type": "github", | ||
104 | + "url": "https://github.com/sponsors/feross" | ||
105 | + }, | ||
106 | + { | ||
107 | + "type": "patreon", | ||
108 | + "url": "https://www.patreon.com/feross" | ||
109 | + }, | ||
110 | + { | ||
111 | + "type": "consulting", | ||
112 | + "url": "https://feross.org/support" | ||
113 | + } | ||
114 | + ] | ||
115 | + }, | ||
116 | + "node_modules/bignumber.js": { | ||
117 | + "version": "9.0.0", | ||
118 | + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", | ||
119 | + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", | ||
120 | + "engines": { | ||
121 | + "node": "*" | ||
122 | + } | ||
123 | + }, | ||
73 | "node_modules/body-parser": { | 124 | "node_modules/body-parser": { |
74 | "version": "1.20.0", | 125 | "version": "1.20.0", |
75 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", | 126 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", |
... | @@ -114,6 +165,40 @@ | ... | @@ -114,6 +165,40 @@ |
114 | "concat-map": "0.0.1" | 165 | "concat-map": "0.0.1" |
115 | } | 166 | } |
116 | }, | 167 | }, |
168 | + "node_modules/bson": { | ||
169 | + "version": "4.6.4", | ||
170 | + "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.4.tgz", | ||
171 | + "integrity": "sha512-TdQ3FzguAu5HKPPlr0kYQCyrYUYh8tFM+CMTpxjNzVzxeiJY00Rtuj3LXLHSgiGvmaWlZ8PE+4KyM2thqE38pQ==", | ||
172 | + "dependencies": { | ||
173 | + "buffer": "^5.6.0" | ||
174 | + }, | ||
175 | + "engines": { | ||
176 | + "node": ">=6.9.0" | ||
177 | + } | ||
178 | + }, | ||
179 | + "node_modules/buffer": { | ||
180 | + "version": "5.7.1", | ||
181 | + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", | ||
182 | + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", | ||
183 | + "funding": [ | ||
184 | + { | ||
185 | + "type": "github", | ||
186 | + "url": "https://github.com/sponsors/feross" | ||
187 | + }, | ||
188 | + { | ||
189 | + "type": "patreon", | ||
190 | + "url": "https://www.patreon.com/feross" | ||
191 | + }, | ||
192 | + { | ||
193 | + "type": "consulting", | ||
194 | + "url": "https://feross.org/support" | ||
195 | + } | ||
196 | + ], | ||
197 | + "dependencies": { | ||
198 | + "base64-js": "^1.3.1", | ||
199 | + "ieee754": "^1.1.13" | ||
200 | + } | ||
201 | + }, | ||
117 | "node_modules/bytes": { | 202 | "node_modules/bytes": { |
118 | "version": "3.1.2", | 203 | "version": "3.1.2", |
119 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", | 204 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", |
... | @@ -197,11 +282,42 @@ | ... | @@ -197,11 +282,42 @@ |
197 | "node": ">= 0.6" | 282 | "node": ">= 0.6" |
198 | } | 283 | } |
199 | }, | 284 | }, |
285 | + "node_modules/cookie-parser": { | ||
286 | + "version": "1.4.6", | ||
287 | + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", | ||
288 | + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", | ||
289 | + "dependencies": { | ||
290 | + "cookie": "0.4.1", | ||
291 | + "cookie-signature": "1.0.6" | ||
292 | + }, | ||
293 | + "engines": { | ||
294 | + "node": ">= 0.8.0" | ||
295 | + } | ||
296 | + }, | ||
297 | + "node_modules/cookie-parser/node_modules/cookie": { | ||
298 | + "version": "0.4.1", | ||
299 | + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", | ||
300 | + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", | ||
301 | + "engines": { | ||
302 | + "node": ">= 0.6" | ||
303 | + } | ||
304 | + }, | ||
200 | "node_modules/cookie-signature": { | 305 | "node_modules/cookie-signature": { |
201 | "version": "1.0.6", | 306 | "version": "1.0.6", |
202 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | 307 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", |
203 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" | 308 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" |
204 | }, | 309 | }, |
310 | + "node_modules/core-util-is": { | ||
311 | + "version": "1.0.3", | ||
312 | + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", | ||
313 | + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" | ||
314 | + }, | ||
315 | + "node_modules/crypto": { | ||
316 | + "version": "1.0.1", | ||
317 | + "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", | ||
318 | + "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==", | ||
319 | + "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in." | ||
320 | + }, | ||
205 | "node_modules/debug": { | 321 | "node_modules/debug": { |
206 | "version": "2.6.9", | 322 | "version": "2.6.9", |
207 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 323 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
... | @@ -210,6 +326,14 @@ | ... | @@ -210,6 +326,14 @@ |
210 | "ms": "2.0.0" | 326 | "ms": "2.0.0" |
211 | } | 327 | } |
212 | }, | 328 | }, |
329 | + "node_modules/denque": { | ||
330 | + "version": "2.0.1", | ||
331 | + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", | ||
332 | + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==", | ||
333 | + "engines": { | ||
334 | + "node": ">=0.10" | ||
335 | + } | ||
336 | + }, | ||
213 | "node_modules/depd": { | 337 | "node_modules/depd": { |
214 | "version": "2.0.0", | 338 | "version": "2.0.0", |
215 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | 339 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", |
... | @@ -316,6 +440,32 @@ | ... | @@ -316,6 +440,32 @@ |
316 | "mout": "0.12.0" | 440 | "mout": "0.12.0" |
317 | } | 441 | } |
318 | }, | 442 | }, |
443 | + "node_modules/express-session": { | ||
444 | + "version": "1.17.3", | ||
445 | + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", | ||
446 | + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", | ||
447 | + "dependencies": { | ||
448 | + "cookie": "0.4.2", | ||
449 | + "cookie-signature": "1.0.6", | ||
450 | + "debug": "2.6.9", | ||
451 | + "depd": "~2.0.0", | ||
452 | + "on-headers": "~1.0.2", | ||
453 | + "parseurl": "~1.3.3", | ||
454 | + "safe-buffer": "5.2.1", | ||
455 | + "uid-safe": "~2.1.5" | ||
456 | + }, | ||
457 | + "engines": { | ||
458 | + "node": ">= 0.8.0" | ||
459 | + } | ||
460 | + }, | ||
461 | + "node_modules/express-session/node_modules/cookie": { | ||
462 | + "version": "0.4.2", | ||
463 | + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", | ||
464 | + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", | ||
465 | + "engines": { | ||
466 | + "node": ">= 0.6" | ||
467 | + } | ||
468 | + }, | ||
319 | "node_modules/filelist": { | 469 | "node_modules/filelist": { |
320 | "version": "1.0.3", | 470 | "version": "1.0.3", |
321 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", | 471 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", |
... | @@ -455,11 +605,35 @@ | ... | @@ -455,11 +605,35 @@ |
455 | "node": ">=0.10.0" | 605 | "node": ">=0.10.0" |
456 | } | 606 | } |
457 | }, | 607 | }, |
608 | + "node_modules/ieee754": { | ||
609 | + "version": "1.2.1", | ||
610 | + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", | ||
611 | + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", | ||
612 | + "funding": [ | ||
613 | + { | ||
614 | + "type": "github", | ||
615 | + "url": "https://github.com/sponsors/feross" | ||
616 | + }, | ||
617 | + { | ||
618 | + "type": "patreon", | ||
619 | + "url": "https://www.patreon.com/feross" | ||
620 | + }, | ||
621 | + { | ||
622 | + "type": "consulting", | ||
623 | + "url": "https://feross.org/support" | ||
624 | + } | ||
625 | + ] | ||
626 | + }, | ||
458 | "node_modules/inherits": { | 627 | "node_modules/inherits": { |
459 | "version": "2.0.4", | 628 | "version": "2.0.4", |
460 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | 629 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
461 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | 630 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" |
462 | }, | 631 | }, |
632 | + "node_modules/ip": { | ||
633 | + "version": "1.1.8", | ||
634 | + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", | ||
635 | + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" | ||
636 | + }, | ||
463 | "node_modules/ipaddr.js": { | 637 | "node_modules/ipaddr.js": { |
464 | "version": "1.9.1", | 638 | "version": "1.9.1", |
465 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | 639 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", |
... | @@ -468,6 +642,11 @@ | ... | @@ -468,6 +642,11 @@ |
468 | "node": ">= 0.10" | 642 | "node": ">= 0.10" |
469 | } | 643 | } |
470 | }, | 644 | }, |
645 | + "node_modules/isarray": { | ||
646 | + "version": "1.0.0", | ||
647 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
648 | + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | ||
649 | + }, | ||
471 | "node_modules/jake": { | 650 | "node_modules/jake": { |
472 | "version": "10.8.5", | 651 | "version": "10.8.5", |
473 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", | 652 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", |
... | @@ -485,6 +664,11 @@ | ... | @@ -485,6 +664,11 @@ |
485 | "node": ">=10" | 664 | "node": ">=10" |
486 | } | 665 | } |
487 | }, | 666 | }, |
667 | + "node_modules/kareem": { | ||
668 | + "version": "2.3.5", | ||
669 | + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.5.tgz", | ||
670 | + "integrity": "sha512-qxCyQtp3ioawkiRNQr/v8xw9KIviMSSNmy+63Wubj7KmMn3g7noRXIZB4vPCAP+ETi2SR8eH6CvmlKZuGpoHOg==" | ||
671 | + }, | ||
488 | "node_modules/media-typer": { | 672 | "node_modules/media-typer": { |
489 | "version": "0.3.0", | 673 | "version": "0.3.0", |
490 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | 674 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
... | @@ -493,6 +677,12 @@ | ... | @@ -493,6 +677,12 @@ |
493 | "node": ">= 0.6" | 677 | "node": ">= 0.6" |
494 | } | 678 | } |
495 | }, | 679 | }, |
680 | + "node_modules/memory-pager": { | ||
681 | + "version": "1.5.0", | ||
682 | + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", | ||
683 | + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", | ||
684 | + "optional": true | ||
685 | + }, | ||
496 | "node_modules/merge-descriptors": { | 686 | "node_modules/merge-descriptors": { |
497 | "version": "1.0.1", | 687 | "version": "1.0.1", |
498 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | 688 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", |
... | @@ -547,16 +737,127 @@ | ... | @@ -547,16 +737,127 @@ |
547 | "node": "*" | 737 | "node": "*" |
548 | } | 738 | } |
549 | }, | 739 | }, |
740 | + "node_modules/mongodb": { | ||
741 | + "version": "4.5.0", | ||
742 | + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.5.0.tgz", | ||
743 | + "integrity": "sha512-A2l8MjEpKojnhbCM0MK3+UOGUSGvTNNSv7AkP1fsT7tkambrkkqN/5F2y+PhzsV0Nbv58u04TETpkaSEdI2zKA==", | ||
744 | + "dependencies": { | ||
745 | + "bson": "^4.6.2", | ||
746 | + "denque": "^2.0.1", | ||
747 | + "mongodb-connection-string-url": "^2.5.2", | ||
748 | + "socks": "^2.6.2" | ||
749 | + }, | ||
750 | + "engines": { | ||
751 | + "node": ">=12.9.0" | ||
752 | + }, | ||
753 | + "optionalDependencies": { | ||
754 | + "saslprep": "^1.0.3" | ||
755 | + } | ||
756 | + }, | ||
757 | + "node_modules/mongodb-connection-string-url": { | ||
758 | + "version": "2.5.2", | ||
759 | + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz", | ||
760 | + "integrity": "sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==", | ||
761 | + "dependencies": { | ||
762 | + "@types/whatwg-url": "^8.2.1", | ||
763 | + "whatwg-url": "^11.0.0" | ||
764 | + } | ||
765 | + }, | ||
766 | + "node_modules/mongoose": { | ||
767 | + "version": "6.3.4", | ||
768 | + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.3.4.tgz", | ||
769 | + "integrity": "sha512-UP0azyGMdY+2YNbJUHeHhnVw5vPzCqs4GQDUwHkilif/rwmSZktUQhQWMp1pUgRNeF2JC30vWGLrInZxD7K/Qw==", | ||
770 | + "dependencies": { | ||
771 | + "bson": "^4.6.2", | ||
772 | + "kareem": "2.3.5", | ||
773 | + "mongodb": "4.5.0", | ||
774 | + "mpath": "0.9.0", | ||
775 | + "mquery": "4.0.3", | ||
776 | + "ms": "2.1.3", | ||
777 | + "sift": "16.0.0" | ||
778 | + }, | ||
779 | + "engines": { | ||
780 | + "node": ">=12.0.0" | ||
781 | + }, | ||
782 | + "funding": { | ||
783 | + "type": "opencollective", | ||
784 | + "url": "https://opencollective.com/mongoose" | ||
785 | + } | ||
786 | + }, | ||
787 | + "node_modules/mongoose/node_modules/ms": { | ||
788 | + "version": "2.1.3", | ||
789 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
790 | + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
791 | + }, | ||
550 | "node_modules/mout": { | 792 | "node_modules/mout": { |
551 | "version": "0.12.0", | 793 | "version": "0.12.0", |
552 | "resolved": "https://registry.npmjs.org/mout/-/mout-0.12.0.tgz", | 794 | "resolved": "https://registry.npmjs.org/mout/-/mout-0.12.0.tgz", |
553 | "integrity": "sha1-bVskLuMx+dBMaOWPd6kaMGDoyss=" | 795 | "integrity": "sha1-bVskLuMx+dBMaOWPd6kaMGDoyss=" |
554 | }, | 796 | }, |
797 | + "node_modules/mpath": { | ||
798 | + "version": "0.9.0", | ||
799 | + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", | ||
800 | + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", | ||
801 | + "engines": { | ||
802 | + "node": ">=4.0.0" | ||
803 | + } | ||
804 | + }, | ||
805 | + "node_modules/mquery": { | ||
806 | + "version": "4.0.3", | ||
807 | + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz", | ||
808 | + "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==", | ||
809 | + "dependencies": { | ||
810 | + "debug": "4.x" | ||
811 | + }, | ||
812 | + "engines": { | ||
813 | + "node": ">=12.0.0" | ||
814 | + } | ||
815 | + }, | ||
816 | + "node_modules/mquery/node_modules/debug": { | ||
817 | + "version": "4.3.4", | ||
818 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
819 | + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
820 | + "dependencies": { | ||
821 | + "ms": "2.1.2" | ||
822 | + }, | ||
823 | + "engines": { | ||
824 | + "node": ">=6.0" | ||
825 | + }, | ||
826 | + "peerDependenciesMeta": { | ||
827 | + "supports-color": { | ||
828 | + "optional": true | ||
829 | + } | ||
830 | + } | ||
831 | + }, | ||
832 | + "node_modules/mquery/node_modules/ms": { | ||
833 | + "version": "2.1.2", | ||
834 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
835 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
836 | + }, | ||
555 | "node_modules/ms": { | 837 | "node_modules/ms": { |
556 | "version": "2.0.0", | 838 | "version": "2.0.0", |
557 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 839 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
558 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | 840 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
559 | }, | 841 | }, |
842 | + "node_modules/mysql": { | ||
843 | + "version": "2.18.1", | ||
844 | + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", | ||
845 | + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", | ||
846 | + "dependencies": { | ||
847 | + "bignumber.js": "9.0.0", | ||
848 | + "readable-stream": "2.3.7", | ||
849 | + "safe-buffer": "5.1.2", | ||
850 | + "sqlstring": "2.3.1" | ||
851 | + }, | ||
852 | + "engines": { | ||
853 | + "node": ">= 0.6" | ||
854 | + } | ||
855 | + }, | ||
856 | + "node_modules/mysql/node_modules/safe-buffer": { | ||
857 | + "version": "5.1.2", | ||
858 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
859 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
860 | + }, | ||
560 | "node_modules/negotiator": { | 861 | "node_modules/negotiator": { |
561 | "version": "0.6.3", | 862 | "version": "0.6.3", |
562 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | 863 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", |
... | @@ -584,6 +885,14 @@ | ... | @@ -584,6 +885,14 @@ |
584 | "node": ">= 0.8" | 885 | "node": ">= 0.8" |
585 | } | 886 | } |
586 | }, | 887 | }, |
888 | + "node_modules/on-headers": { | ||
889 | + "version": "1.0.2", | ||
890 | + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", | ||
891 | + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", | ||
892 | + "engines": { | ||
893 | + "node": ">= 0.8" | ||
894 | + } | ||
895 | + }, | ||
587 | "node_modules/parseurl": { | 896 | "node_modules/parseurl": { |
588 | "version": "1.3.3", | 897 | "version": "1.3.3", |
589 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | 898 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", |
... | @@ -614,6 +923,11 @@ | ... | @@ -614,6 +923,11 @@ |
614 | "node": ">= 0.6.0" | 923 | "node": ">= 0.6.0" |
615 | } | 924 | } |
616 | }, | 925 | }, |
926 | + "node_modules/process-nextick-args": { | ||
927 | + "version": "2.0.1", | ||
928 | + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||
929 | + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||
930 | + }, | ||
617 | "node_modules/proxy-addr": { | 931 | "node_modules/proxy-addr": { |
618 | "version": "2.0.7", | 932 | "version": "2.0.7", |
619 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | 933 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", |
... | @@ -626,6 +940,14 @@ | ... | @@ -626,6 +940,14 @@ |
626 | "node": ">= 0.10" | 940 | "node": ">= 0.10" |
627 | } | 941 | } |
628 | }, | 942 | }, |
943 | + "node_modules/punycode": { | ||
944 | + "version": "2.1.1", | ||
945 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
946 | + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", | ||
947 | + "engines": { | ||
948 | + "node": ">=6" | ||
949 | + } | ||
950 | + }, | ||
629 | "node_modules/qs": { | 951 | "node_modules/qs": { |
630 | "version": "6.10.3", | 952 | "version": "6.10.3", |
631 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", | 953 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", |
... | @@ -640,6 +962,14 @@ | ... | @@ -640,6 +962,14 @@ |
640 | "url": "https://github.com/sponsors/ljharb" | 962 | "url": "https://github.com/sponsors/ljharb" |
641 | } | 963 | } |
642 | }, | 964 | }, |
965 | + "node_modules/random-bytes": { | ||
966 | + "version": "1.0.0", | ||
967 | + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", | ||
968 | + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", | ||
969 | + "engines": { | ||
970 | + "node": ">= 0.8" | ||
971 | + } | ||
972 | + }, | ||
643 | "node_modules/range-parser": { | 973 | "node_modules/range-parser": { |
644 | "version": "1.2.1", | 974 | "version": "1.2.1", |
645 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | 975 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", |
... | @@ -662,6 +992,25 @@ | ... | @@ -662,6 +992,25 @@ |
662 | "node": ">= 0.8" | 992 | "node": ">= 0.8" |
663 | } | 993 | } |
664 | }, | 994 | }, |
995 | + "node_modules/readable-stream": { | ||
996 | + "version": "2.3.7", | ||
997 | + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
998 | + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
999 | + "dependencies": { | ||
1000 | + "core-util-is": "~1.0.0", | ||
1001 | + "inherits": "~2.0.3", | ||
1002 | + "isarray": "~1.0.0", | ||
1003 | + "process-nextick-args": "~2.0.0", | ||
1004 | + "safe-buffer": "~5.1.1", | ||
1005 | + "string_decoder": "~1.1.1", | ||
1006 | + "util-deprecate": "~1.0.1" | ||
1007 | + } | ||
1008 | + }, | ||
1009 | + "node_modules/readable-stream/node_modules/safe-buffer": { | ||
1010 | + "version": "5.1.2", | ||
1011 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
1012 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
1013 | + }, | ||
665 | "node_modules/safe-buffer": { | 1014 | "node_modules/safe-buffer": { |
666 | "version": "5.2.1", | 1015 | "version": "5.2.1", |
667 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | 1016 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", |
... | @@ -686,6 +1035,18 @@ | ... | @@ -686,6 +1035,18 @@ |
686 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | 1035 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
687 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | 1036 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
688 | }, | 1037 | }, |
1038 | + "node_modules/saslprep": { | ||
1039 | + "version": "1.0.3", | ||
1040 | + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", | ||
1041 | + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", | ||
1042 | + "optional": true, | ||
1043 | + "dependencies": { | ||
1044 | + "sparse-bitfield": "^3.0.3" | ||
1045 | + }, | ||
1046 | + "engines": { | ||
1047 | + "node": ">=6" | ||
1048 | + } | ||
1049 | + }, | ||
689 | "node_modules/send": { | 1050 | "node_modules/send": { |
690 | "version": "0.18.0", | 1051 | "version": "0.18.0", |
691 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | 1052 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", |
... | @@ -746,6 +1107,50 @@ | ... | @@ -746,6 +1107,50 @@ |
746 | "url": "https://github.com/sponsors/ljharb" | 1107 | "url": "https://github.com/sponsors/ljharb" |
747 | } | 1108 | } |
748 | }, | 1109 | }, |
1110 | + "node_modules/sift": { | ||
1111 | + "version": "16.0.0", | ||
1112 | + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz", | ||
1113 | + "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ==" | ||
1114 | + }, | ||
1115 | + "node_modules/smart-buffer": { | ||
1116 | + "version": "4.2.0", | ||
1117 | + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", | ||
1118 | + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", | ||
1119 | + "engines": { | ||
1120 | + "node": ">= 6.0.0", | ||
1121 | + "npm": ">= 3.0.0" | ||
1122 | + } | ||
1123 | + }, | ||
1124 | + "node_modules/socks": { | ||
1125 | + "version": "2.6.2", | ||
1126 | + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", | ||
1127 | + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", | ||
1128 | + "dependencies": { | ||
1129 | + "ip": "^1.1.5", | ||
1130 | + "smart-buffer": "^4.2.0" | ||
1131 | + }, | ||
1132 | + "engines": { | ||
1133 | + "node": ">= 10.13.0", | ||
1134 | + "npm": ">= 3.0.0" | ||
1135 | + } | ||
1136 | + }, | ||
1137 | + "node_modules/sparse-bitfield": { | ||
1138 | + "version": "3.0.3", | ||
1139 | + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", | ||
1140 | + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", | ||
1141 | + "optional": true, | ||
1142 | + "dependencies": { | ||
1143 | + "memory-pager": "^1.0.2" | ||
1144 | + } | ||
1145 | + }, | ||
1146 | + "node_modules/sqlstring": { | ||
1147 | + "version": "2.3.1", | ||
1148 | + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | ||
1149 | + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=", | ||
1150 | + "engines": { | ||
1151 | + "node": ">= 0.6" | ||
1152 | + } | ||
1153 | + }, | ||
749 | "node_modules/statuses": { | 1154 | "node_modules/statuses": { |
750 | "version": "2.0.1", | 1155 | "version": "2.0.1", |
751 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | 1156 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", |
... | @@ -754,6 +1159,19 @@ | ... | @@ -754,6 +1159,19 @@ |
754 | "node": ">= 0.8" | 1159 | "node": ">= 0.8" |
755 | } | 1160 | } |
756 | }, | 1161 | }, |
1162 | + "node_modules/string_decoder": { | ||
1163 | + "version": "1.1.1", | ||
1164 | + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
1165 | + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
1166 | + "dependencies": { | ||
1167 | + "safe-buffer": "~5.1.0" | ||
1168 | + } | ||
1169 | + }, | ||
1170 | + "node_modules/string_decoder/node_modules/safe-buffer": { | ||
1171 | + "version": "5.1.2", | ||
1172 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
1173 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
1174 | + }, | ||
757 | "node_modules/supports-color": { | 1175 | "node_modules/supports-color": { |
758 | "version": "7.2.0", | 1176 | "version": "7.2.0", |
759 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | 1177 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
... | @@ -773,6 +1191,17 @@ | ... | @@ -773,6 +1191,17 @@ |
773 | "node": ">=0.6" | 1191 | "node": ">=0.6" |
774 | } | 1192 | } |
775 | }, | 1193 | }, |
1194 | + "node_modules/tr46": { | ||
1195 | + "version": "3.0.0", | ||
1196 | + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", | ||
1197 | + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", | ||
1198 | + "dependencies": { | ||
1199 | + "punycode": "^2.1.1" | ||
1200 | + }, | ||
1201 | + "engines": { | ||
1202 | + "node": ">=12" | ||
1203 | + } | ||
1204 | + }, | ||
776 | "node_modules/type-is": { | 1205 | "node_modules/type-is": { |
777 | "version": "1.6.18", | 1206 | "version": "1.6.18", |
778 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | 1207 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", |
... | @@ -785,6 +1214,17 @@ | ... | @@ -785,6 +1214,17 @@ |
785 | "node": ">= 0.6" | 1214 | "node": ">= 0.6" |
786 | } | 1215 | } |
787 | }, | 1216 | }, |
1217 | + "node_modules/uid-safe": { | ||
1218 | + "version": "2.1.5", | ||
1219 | + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", | ||
1220 | + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", | ||
1221 | + "dependencies": { | ||
1222 | + "random-bytes": "~1.0.0" | ||
1223 | + }, | ||
1224 | + "engines": { | ||
1225 | + "node": ">= 0.8" | ||
1226 | + } | ||
1227 | + }, | ||
788 | "node_modules/unpipe": { | 1228 | "node_modules/unpipe": { |
789 | "version": "1.0.0", | 1229 | "version": "1.0.0", |
790 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 1230 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
... | @@ -801,6 +1241,11 @@ | ... | @@ -801,6 +1241,11 @@ |
801 | "inherits": "2.0.3" | 1241 | "inherits": "2.0.3" |
802 | } | 1242 | } |
803 | }, | 1243 | }, |
1244 | + "node_modules/util-deprecate": { | ||
1245 | + "version": "1.0.2", | ||
1246 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
1247 | + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
1248 | + }, | ||
804 | "node_modules/util/node_modules/inherits": { | 1249 | "node_modules/util/node_modules/inherits": { |
805 | "version": "2.0.3", | 1250 | "version": "2.0.3", |
806 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | 1251 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", |
... | @@ -821,6 +1266,26 @@ | ... | @@ -821,6 +1266,26 @@ |
821 | "engines": { | 1266 | "engines": { |
822 | "node": ">= 0.8" | 1267 | "node": ">= 0.8" |
823 | } | 1268 | } |
1269 | + }, | ||
1270 | + "node_modules/webidl-conversions": { | ||
1271 | + "version": "7.0.0", | ||
1272 | + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", | ||
1273 | + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", | ||
1274 | + "engines": { | ||
1275 | + "node": ">=12" | ||
1276 | + } | ||
1277 | + }, | ||
1278 | + "node_modules/whatwg-url": { | ||
1279 | + "version": "11.0.0", | ||
1280 | + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", | ||
1281 | + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", | ||
1282 | + "dependencies": { | ||
1283 | + "tr46": "^3.0.0", | ||
1284 | + "webidl-conversions": "^7.0.0" | ||
1285 | + }, | ||
1286 | + "engines": { | ||
1287 | + "node": ">=12" | ||
1288 | + } | ||
824 | } | 1289 | } |
825 | }, | 1290 | }, |
826 | "dependencies": { | 1291 | "dependencies": { |
... | @@ -830,6 +1295,25 @@ | ... | @@ -830,6 +1295,25 @@ |
830 | "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", | 1295 | "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", |
831 | "peer": true | 1296 | "peer": true |
832 | }, | 1297 | }, |
1298 | + "@types/node": { | ||
1299 | + "version": "17.0.35", | ||
1300 | + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz", | ||
1301 | + "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==" | ||
1302 | + }, | ||
1303 | + "@types/webidl-conversions": { | ||
1304 | + "version": "6.1.1", | ||
1305 | + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz", | ||
1306 | + "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==" | ||
1307 | + }, | ||
1308 | + "@types/whatwg-url": { | ||
1309 | + "version": "8.2.1", | ||
1310 | + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz", | ||
1311 | + "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==", | ||
1312 | + "requires": { | ||
1313 | + "@types/node": "*", | ||
1314 | + "@types/webidl-conversions": "*" | ||
1315 | + } | ||
1316 | + }, | ||
833 | "accepts": { | 1317 | "accepts": { |
834 | "version": "1.3.8", | 1318 | "version": "1.3.8", |
835 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | 1319 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", |
... | @@ -862,6 +1346,16 @@ | ... | @@ -862,6 +1346,16 @@ |
862 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | 1346 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", |
863 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | 1347 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" |
864 | }, | 1348 | }, |
1349 | + "base64-js": { | ||
1350 | + "version": "1.5.1", | ||
1351 | + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", | ||
1352 | + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" | ||
1353 | + }, | ||
1354 | + "bignumber.js": { | ||
1355 | + "version": "9.0.0", | ||
1356 | + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", | ||
1357 | + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" | ||
1358 | + }, | ||
865 | "body-parser": { | 1359 | "body-parser": { |
866 | "version": "1.20.0", | 1360 | "version": "1.20.0", |
867 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", | 1361 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", |
... | @@ -896,6 +1390,23 @@ | ... | @@ -896,6 +1390,23 @@ |
896 | "concat-map": "0.0.1" | 1390 | "concat-map": "0.0.1" |
897 | } | 1391 | } |
898 | }, | 1392 | }, |
1393 | + "bson": { | ||
1394 | + "version": "4.6.4", | ||
1395 | + "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.4.tgz", | ||
1396 | + "integrity": "sha512-TdQ3FzguAu5HKPPlr0kYQCyrYUYh8tFM+CMTpxjNzVzxeiJY00Rtuj3LXLHSgiGvmaWlZ8PE+4KyM2thqE38pQ==", | ||
1397 | + "requires": { | ||
1398 | + "buffer": "^5.6.0" | ||
1399 | + } | ||
1400 | + }, | ||
1401 | + "buffer": { | ||
1402 | + "version": "5.7.1", | ||
1403 | + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", | ||
1404 | + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", | ||
1405 | + "requires": { | ||
1406 | + "base64-js": "^1.3.1", | ||
1407 | + "ieee754": "^1.1.13" | ||
1408 | + } | ||
1409 | + }, | ||
899 | "bytes": { | 1410 | "bytes": { |
900 | "version": "3.1.2", | 1411 | "version": "3.1.2", |
901 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", | 1412 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", |
... | @@ -955,11 +1466,37 @@ | ... | @@ -955,11 +1466,37 @@ |
955 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", | 1466 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", |
956 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" | 1467 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" |
957 | }, | 1468 | }, |
1469 | + "cookie-parser": { | ||
1470 | + "version": "1.4.6", | ||
1471 | + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", | ||
1472 | + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", | ||
1473 | + "requires": { | ||
1474 | + "cookie": "0.4.1", | ||
1475 | + "cookie-signature": "1.0.6" | ||
1476 | + }, | ||
1477 | + "dependencies": { | ||
1478 | + "cookie": { | ||
1479 | + "version": "0.4.1", | ||
1480 | + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", | ||
1481 | + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" | ||
1482 | + } | ||
1483 | + } | ||
1484 | + }, | ||
958 | "cookie-signature": { | 1485 | "cookie-signature": { |
959 | "version": "1.0.6", | 1486 | "version": "1.0.6", |
960 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | 1487 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", |
961 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" | 1488 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" |
962 | }, | 1489 | }, |
1490 | + "core-util-is": { | ||
1491 | + "version": "1.0.3", | ||
1492 | + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", | ||
1493 | + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" | ||
1494 | + }, | ||
1495 | + "crypto": { | ||
1496 | + "version": "1.0.1", | ||
1497 | + "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", | ||
1498 | + "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==" | ||
1499 | + }, | ||
963 | "debug": { | 1500 | "debug": { |
964 | "version": "2.6.9", | 1501 | "version": "2.6.9", |
965 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 1502 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
... | @@ -968,6 +1505,11 @@ | ... | @@ -968,6 +1505,11 @@ |
968 | "ms": "2.0.0" | 1505 | "ms": "2.0.0" |
969 | } | 1506 | } |
970 | }, | 1507 | }, |
1508 | + "denque": { | ||
1509 | + "version": "2.0.1", | ||
1510 | + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", | ||
1511 | + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==" | ||
1512 | + }, | ||
971 | "depd": { | 1513 | "depd": { |
972 | "version": "2.0.0", | 1514 | "version": "2.0.0", |
973 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | 1515 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", |
... | @@ -1052,6 +1594,28 @@ | ... | @@ -1052,6 +1594,28 @@ |
1052 | "mout": "0.12.0" | 1594 | "mout": "0.12.0" |
1053 | } | 1595 | } |
1054 | }, | 1596 | }, |
1597 | + "express-session": { | ||
1598 | + "version": "1.17.3", | ||
1599 | + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", | ||
1600 | + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", | ||
1601 | + "requires": { | ||
1602 | + "cookie": "0.4.2", | ||
1603 | + "cookie-signature": "1.0.6", | ||
1604 | + "debug": "2.6.9", | ||
1605 | + "depd": "~2.0.0", | ||
1606 | + "on-headers": "~1.0.2", | ||
1607 | + "parseurl": "~1.3.3", | ||
1608 | + "safe-buffer": "5.2.1", | ||
1609 | + "uid-safe": "~2.1.5" | ||
1610 | + }, | ||
1611 | + "dependencies": { | ||
1612 | + "cookie": { | ||
1613 | + "version": "0.4.2", | ||
1614 | + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", | ||
1615 | + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" | ||
1616 | + } | ||
1617 | + } | ||
1618 | + }, | ||
1055 | "filelist": { | 1619 | "filelist": { |
1056 | "version": "1.0.3", | 1620 | "version": "1.0.3", |
1057 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", | 1621 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", |
... | @@ -1160,16 +1724,31 @@ | ... | @@ -1160,16 +1724,31 @@ |
1160 | "safer-buffer": ">= 2.1.2 < 3" | 1724 | "safer-buffer": ">= 2.1.2 < 3" |
1161 | } | 1725 | } |
1162 | }, | 1726 | }, |
1727 | + "ieee754": { | ||
1728 | + "version": "1.2.1", | ||
1729 | + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", | ||
1730 | + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" | ||
1731 | + }, | ||
1163 | "inherits": { | 1732 | "inherits": { |
1164 | "version": "2.0.4", | 1733 | "version": "2.0.4", |
1165 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | 1734 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
1166 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | 1735 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" |
1167 | }, | 1736 | }, |
1737 | + "ip": { | ||
1738 | + "version": "1.1.8", | ||
1739 | + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", | ||
1740 | + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" | ||
1741 | + }, | ||
1168 | "ipaddr.js": { | 1742 | "ipaddr.js": { |
1169 | "version": "1.9.1", | 1743 | "version": "1.9.1", |
1170 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | 1744 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", |
1171 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | 1745 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" |
1172 | }, | 1746 | }, |
1747 | + "isarray": { | ||
1748 | + "version": "1.0.0", | ||
1749 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
1750 | + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | ||
1751 | + }, | ||
1173 | "jake": { | 1752 | "jake": { |
1174 | "version": "10.8.5", | 1753 | "version": "10.8.5", |
1175 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", | 1754 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", |
... | @@ -1181,11 +1760,22 @@ | ... | @@ -1181,11 +1760,22 @@ |
1181 | "minimatch": "^3.0.4" | 1760 | "minimatch": "^3.0.4" |
1182 | } | 1761 | } |
1183 | }, | 1762 | }, |
1763 | + "kareem": { | ||
1764 | + "version": "2.3.5", | ||
1765 | + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.5.tgz", | ||
1766 | + "integrity": "sha512-qxCyQtp3ioawkiRNQr/v8xw9KIviMSSNmy+63Wubj7KmMn3g7noRXIZB4vPCAP+ETi2SR8eH6CvmlKZuGpoHOg==" | ||
1767 | + }, | ||
1184 | "media-typer": { | 1768 | "media-typer": { |
1185 | "version": "0.3.0", | 1769 | "version": "0.3.0", |
1186 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | 1770 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
1187 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" | 1771 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" |
1188 | }, | 1772 | }, |
1773 | + "memory-pager": { | ||
1774 | + "version": "1.5.0", | ||
1775 | + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", | ||
1776 | + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", | ||
1777 | + "optional": true | ||
1778 | + }, | ||
1189 | "merge-descriptors": { | 1779 | "merge-descriptors": { |
1190 | "version": "1.0.1", | 1780 | "version": "1.0.1", |
1191 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | 1781 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", |
... | @@ -1222,16 +1812,104 @@ | ... | @@ -1222,16 +1812,104 @@ |
1222 | "brace-expansion": "^1.1.7" | 1812 | "brace-expansion": "^1.1.7" |
1223 | } | 1813 | } |
1224 | }, | 1814 | }, |
1815 | + "mongodb": { | ||
1816 | + "version": "4.5.0", | ||
1817 | + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.5.0.tgz", | ||
1818 | + "integrity": "sha512-A2l8MjEpKojnhbCM0MK3+UOGUSGvTNNSv7AkP1fsT7tkambrkkqN/5F2y+PhzsV0Nbv58u04TETpkaSEdI2zKA==", | ||
1819 | + "requires": { | ||
1820 | + "bson": "^4.6.2", | ||
1821 | + "denque": "^2.0.1", | ||
1822 | + "mongodb-connection-string-url": "^2.5.2", | ||
1823 | + "saslprep": "^1.0.3", | ||
1824 | + "socks": "^2.6.2" | ||
1825 | + } | ||
1826 | + }, | ||
1827 | + "mongodb-connection-string-url": { | ||
1828 | + "version": "2.5.2", | ||
1829 | + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz", | ||
1830 | + "integrity": "sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==", | ||
1831 | + "requires": { | ||
1832 | + "@types/whatwg-url": "^8.2.1", | ||
1833 | + "whatwg-url": "^11.0.0" | ||
1834 | + } | ||
1835 | + }, | ||
1836 | + "mongoose": { | ||
1837 | + "version": "6.3.4", | ||
1838 | + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.3.4.tgz", | ||
1839 | + "integrity": "sha512-UP0azyGMdY+2YNbJUHeHhnVw5vPzCqs4GQDUwHkilif/rwmSZktUQhQWMp1pUgRNeF2JC30vWGLrInZxD7K/Qw==", | ||
1840 | + "requires": { | ||
1841 | + "bson": "^4.6.2", | ||
1842 | + "kareem": "2.3.5", | ||
1843 | + "mongodb": "4.5.0", | ||
1844 | + "mpath": "0.9.0", | ||
1845 | + "mquery": "4.0.3", | ||
1846 | + "ms": "2.1.3", | ||
1847 | + "sift": "16.0.0" | ||
1848 | + }, | ||
1849 | + "dependencies": { | ||
1850 | + "ms": { | ||
1851 | + "version": "2.1.3", | ||
1852 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
1853 | + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
1854 | + } | ||
1855 | + } | ||
1856 | + }, | ||
1225 | "mout": { | 1857 | "mout": { |
1226 | "version": "0.12.0", | 1858 | "version": "0.12.0", |
1227 | "resolved": "https://registry.npmjs.org/mout/-/mout-0.12.0.tgz", | 1859 | "resolved": "https://registry.npmjs.org/mout/-/mout-0.12.0.tgz", |
1228 | "integrity": "sha1-bVskLuMx+dBMaOWPd6kaMGDoyss=" | 1860 | "integrity": "sha1-bVskLuMx+dBMaOWPd6kaMGDoyss=" |
1229 | }, | 1861 | }, |
1862 | + "mpath": { | ||
1863 | + "version": "0.9.0", | ||
1864 | + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", | ||
1865 | + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==" | ||
1866 | + }, | ||
1867 | + "mquery": { | ||
1868 | + "version": "4.0.3", | ||
1869 | + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz", | ||
1870 | + "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==", | ||
1871 | + "requires": { | ||
1872 | + "debug": "4.x" | ||
1873 | + }, | ||
1874 | + "dependencies": { | ||
1875 | + "debug": { | ||
1876 | + "version": "4.3.4", | ||
1877 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
1878 | + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
1879 | + "requires": { | ||
1880 | + "ms": "2.1.2" | ||
1881 | + } | ||
1882 | + }, | ||
1883 | + "ms": { | ||
1884 | + "version": "2.1.2", | ||
1885 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
1886 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
1887 | + } | ||
1888 | + } | ||
1889 | + }, | ||
1230 | "ms": { | 1890 | "ms": { |
1231 | "version": "2.0.0", | 1891 | "version": "2.0.0", |
1232 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 1892 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
1233 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | 1893 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
1234 | }, | 1894 | }, |
1895 | + "mysql": { | ||
1896 | + "version": "2.18.1", | ||
1897 | + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", | ||
1898 | + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", | ||
1899 | + "requires": { | ||
1900 | + "bignumber.js": "9.0.0", | ||
1901 | + "readable-stream": "2.3.7", | ||
1902 | + "safe-buffer": "5.1.2", | ||
1903 | + "sqlstring": "2.3.1" | ||
1904 | + }, | ||
1905 | + "dependencies": { | ||
1906 | + "safe-buffer": { | ||
1907 | + "version": "5.1.2", | ||
1908 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
1909 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
1910 | + } | ||
1911 | + } | ||
1912 | + }, | ||
1235 | "negotiator": { | 1913 | "negotiator": { |
1236 | "version": "0.6.3", | 1914 | "version": "0.6.3", |
1237 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | 1915 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", |
... | @@ -1250,6 +1928,11 @@ | ... | @@ -1250,6 +1928,11 @@ |
1250 | "ee-first": "1.1.1" | 1928 | "ee-first": "1.1.1" |
1251 | } | 1929 | } |
1252 | }, | 1930 | }, |
1931 | + "on-headers": { | ||
1932 | + "version": "1.0.2", | ||
1933 | + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", | ||
1934 | + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" | ||
1935 | + }, | ||
1253 | "parseurl": { | 1936 | "parseurl": { |
1254 | "version": "1.3.3", | 1937 | "version": "1.3.3", |
1255 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | 1938 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", |
... | @@ -1274,6 +1957,11 @@ | ... | @@ -1274,6 +1957,11 @@ |
1274 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", | 1957 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", |
1275 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" | 1958 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" |
1276 | }, | 1959 | }, |
1960 | + "process-nextick-args": { | ||
1961 | + "version": "2.0.1", | ||
1962 | + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||
1963 | + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||
1964 | + }, | ||
1277 | "proxy-addr": { | 1965 | "proxy-addr": { |
1278 | "version": "2.0.7", | 1966 | "version": "2.0.7", |
1279 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | 1967 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", |
... | @@ -1283,6 +1971,11 @@ | ... | @@ -1283,6 +1971,11 @@ |
1283 | "ipaddr.js": "1.9.1" | 1971 | "ipaddr.js": "1.9.1" |
1284 | } | 1972 | } |
1285 | }, | 1973 | }, |
1974 | + "punycode": { | ||
1975 | + "version": "2.1.1", | ||
1976 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
1977 | + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" | ||
1978 | + }, | ||
1286 | "qs": { | 1979 | "qs": { |
1287 | "version": "6.10.3", | 1980 | "version": "6.10.3", |
1288 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", | 1981 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", |
... | @@ -1291,6 +1984,11 @@ | ... | @@ -1291,6 +1984,11 @@ |
1291 | "side-channel": "^1.0.4" | 1984 | "side-channel": "^1.0.4" |
1292 | } | 1985 | } |
1293 | }, | 1986 | }, |
1987 | + "random-bytes": { | ||
1988 | + "version": "1.0.0", | ||
1989 | + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", | ||
1990 | + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" | ||
1991 | + }, | ||
1294 | "range-parser": { | 1992 | "range-parser": { |
1295 | "version": "1.2.1", | 1993 | "version": "1.2.1", |
1296 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | 1994 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", |
... | @@ -1307,6 +2005,27 @@ | ... | @@ -1307,6 +2005,27 @@ |
1307 | "unpipe": "1.0.0" | 2005 | "unpipe": "1.0.0" |
1308 | } | 2006 | } |
1309 | }, | 2007 | }, |
2008 | + "readable-stream": { | ||
2009 | + "version": "2.3.7", | ||
2010 | + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
2011 | + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
2012 | + "requires": { | ||
2013 | + "core-util-is": "~1.0.0", | ||
2014 | + "inherits": "~2.0.3", | ||
2015 | + "isarray": "~1.0.0", | ||
2016 | + "process-nextick-args": "~2.0.0", | ||
2017 | + "safe-buffer": "~5.1.1", | ||
2018 | + "string_decoder": "~1.1.1", | ||
2019 | + "util-deprecate": "~1.0.1" | ||
2020 | + }, | ||
2021 | + "dependencies": { | ||
2022 | + "safe-buffer": { | ||
2023 | + "version": "5.1.2", | ||
2024 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
2025 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
2026 | + } | ||
2027 | + } | ||
2028 | + }, | ||
1310 | "safe-buffer": { | 2029 | "safe-buffer": { |
1311 | "version": "5.2.1", | 2030 | "version": "5.2.1", |
1312 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | 2031 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", |
... | @@ -1317,6 +2036,15 @@ | ... | @@ -1317,6 +2036,15 @@ |
1317 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | 2036 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
1318 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | 2037 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
1319 | }, | 2038 | }, |
2039 | + "saslprep": { | ||
2040 | + "version": "1.0.3", | ||
2041 | + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", | ||
2042 | + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", | ||
2043 | + "optional": true, | ||
2044 | + "requires": { | ||
2045 | + "sparse-bitfield": "^3.0.3" | ||
2046 | + } | ||
2047 | + }, | ||
1320 | "send": { | 2048 | "send": { |
1321 | "version": "0.18.0", | 2049 | "version": "0.18.0", |
1322 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | 2050 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", |
... | @@ -1370,11 +2098,59 @@ | ... | @@ -1370,11 +2098,59 @@ |
1370 | "object-inspect": "^1.9.0" | 2098 | "object-inspect": "^1.9.0" |
1371 | } | 2099 | } |
1372 | }, | 2100 | }, |
2101 | + "sift": { | ||
2102 | + "version": "16.0.0", | ||
2103 | + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz", | ||
2104 | + "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ==" | ||
2105 | + }, | ||
2106 | + "smart-buffer": { | ||
2107 | + "version": "4.2.0", | ||
2108 | + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", | ||
2109 | + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" | ||
2110 | + }, | ||
2111 | + "socks": { | ||
2112 | + "version": "2.6.2", | ||
2113 | + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", | ||
2114 | + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", | ||
2115 | + "requires": { | ||
2116 | + "ip": "^1.1.5", | ||
2117 | + "smart-buffer": "^4.2.0" | ||
2118 | + } | ||
2119 | + }, | ||
2120 | + "sparse-bitfield": { | ||
2121 | + "version": "3.0.3", | ||
2122 | + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", | ||
2123 | + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", | ||
2124 | + "optional": true, | ||
2125 | + "requires": { | ||
2126 | + "memory-pager": "^1.0.2" | ||
2127 | + } | ||
2128 | + }, | ||
2129 | + "sqlstring": { | ||
2130 | + "version": "2.3.1", | ||
2131 | + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | ||
2132 | + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" | ||
2133 | + }, | ||
1373 | "statuses": { | 2134 | "statuses": { |
1374 | "version": "2.0.1", | 2135 | "version": "2.0.1", |
1375 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | 2136 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", |
1376 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" | 2137 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" |
1377 | }, | 2138 | }, |
2139 | + "string_decoder": { | ||
2140 | + "version": "1.1.1", | ||
2141 | + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
2142 | + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
2143 | + "requires": { | ||
2144 | + "safe-buffer": "~5.1.0" | ||
2145 | + }, | ||
2146 | + "dependencies": { | ||
2147 | + "safe-buffer": { | ||
2148 | + "version": "5.1.2", | ||
2149 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
2150 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
2151 | + } | ||
2152 | + } | ||
2153 | + }, | ||
1378 | "supports-color": { | 2154 | "supports-color": { |
1379 | "version": "7.2.0", | 2155 | "version": "7.2.0", |
1380 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | 2156 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
... | @@ -1388,6 +2164,14 @@ | ... | @@ -1388,6 +2164,14 @@ |
1388 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", | 2164 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", |
1389 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" | 2165 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" |
1390 | }, | 2166 | }, |
2167 | + "tr46": { | ||
2168 | + "version": "3.0.0", | ||
2169 | + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", | ||
2170 | + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", | ||
2171 | + "requires": { | ||
2172 | + "punycode": "^2.1.1" | ||
2173 | + } | ||
2174 | + }, | ||
1391 | "type-is": { | 2175 | "type-is": { |
1392 | "version": "1.6.18", | 2176 | "version": "1.6.18", |
1393 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | 2177 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", |
... | @@ -1397,6 +2181,14 @@ | ... | @@ -1397,6 +2181,14 @@ |
1397 | "mime-types": "~2.1.24" | 2181 | "mime-types": "~2.1.24" |
1398 | } | 2182 | } |
1399 | }, | 2183 | }, |
2184 | + "uid-safe": { | ||
2185 | + "version": "2.1.5", | ||
2186 | + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", | ||
2187 | + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", | ||
2188 | + "requires": { | ||
2189 | + "random-bytes": "~1.0.0" | ||
2190 | + } | ||
2191 | + }, | ||
1400 | "unpipe": { | 2192 | "unpipe": { |
1401 | "version": "1.0.0", | 2193 | "version": "1.0.0", |
1402 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 2194 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
... | @@ -1417,6 +2209,11 @@ | ... | @@ -1417,6 +2209,11 @@ |
1417 | } | 2209 | } |
1418 | } | 2210 | } |
1419 | }, | 2211 | }, |
2212 | + "util-deprecate": { | ||
2213 | + "version": "1.0.2", | ||
2214 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
2215 | + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
2216 | + }, | ||
1420 | "utils-merge": { | 2217 | "utils-merge": { |
1421 | "version": "1.0.1", | 2218 | "version": "1.0.1", |
1422 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | 2219 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", |
... | @@ -1426,6 +2223,20 @@ | ... | @@ -1426,6 +2223,20 @@ |
1426 | "version": "1.1.2", | 2223 | "version": "1.1.2", |
1427 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 2224 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
1428 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | 2225 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" |
2226 | + }, | ||
2227 | + "webidl-conversions": { | ||
2228 | + "version": "7.0.0", | ||
2229 | + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", | ||
2230 | + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" | ||
2231 | + }, | ||
2232 | + "whatwg-url": { | ||
2233 | + "version": "11.0.0", | ||
2234 | + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", | ||
2235 | + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", | ||
2236 | + "requires": { | ||
2237 | + "tr46": "^3.0.0", | ||
2238 | + "webidl-conversions": "^7.0.0" | ||
2239 | + } | ||
1429 | } | 2240 | } |
1430 | } | 2241 | } |
1431 | } | 2242 | } | ... | ... |
... | @@ -11,10 +11,15 @@ | ... | @@ -11,10 +11,15 @@ |
11 | "dependencies": { | 11 | "dependencies": { |
12 | "body-parser": "^1.20.0", | 12 | "body-parser": "^1.20.0", |
13 | "bootstrap": "^5.1.3", | 13 | "bootstrap": "^5.1.3", |
14 | + "cookie-parser": "^1.4.6", | ||
15 | + "crypto": "^1.0.1", | ||
14 | "ejs": "^3.1.7", | 16 | "ejs": "^3.1.7", |
15 | "express": "^4.18.1", | 17 | "express": "^4.18.1", |
16 | "express-error-handler": "^1.1.0", | 18 | "express-error-handler": "^1.1.0", |
19 | + "express-session": "^1.17.3", | ||
17 | "http": "^0.0.1-security", | 20 | "http": "^0.0.1-security", |
21 | + "mongoose": "^6.3.4", | ||
22 | + "mysql": "^2.18.1", | ||
18 | "path": "^0.12.7", | 23 | "path": "^0.12.7", |
19 | "serve-static": "^1.15.0" | 24 | "serve-static": "^1.15.0" |
20 | } | 25 | } | ... | ... |
-
Please register or login to post a comment