Merge branch 'master' of https://bitbucket.org/vel1024/capstone
Showing
54 changed files
with
521 additions
and
2051 deletions
... | @@ -4,6 +4,8 @@ | ... | @@ -4,6 +4,8 @@ |
4 | 4 | ||
5 | Subject : Making website in order to practice latest web technologies | 5 | Subject : Making website in order to practice latest web technologies |
6 | 6 | ||
7 | +- (Tech : react.js, react hooks, styled-components, GraphQL, Prisma, Apollo, AWS, Docker, sendGrid, Twilio, Maxmind) | ||
8 | + | ||
7 | sub-subject : making chat site using JS | 9 | sub-subject : making chat site using JS |
8 | 10 | ||
9 | version | 11 | version |
... | @@ -16,13 +18,12 @@ Atom : 1.45.0 | ... | @@ -16,13 +18,12 @@ Atom : 1.45.0 |
16 | - 4/6 ~ 4/12 | 18 | - 4/6 ~ 4/12 |
17 | - [x] Set development environment | 19 | - [x] Set development environment |
18 | 20 | ||
19 | - (tech : react.js, react hooks, styled-components, GraphQL, Prisma, Apollo, AWS, Docker) | ||
20 | - | ||
21 | - 4/13 ~ 4/19 | 21 | - 4/13 ~ 4/19 |
22 | -- [x] login, sign up (using JWT, sendGrid), Create Docker-compose | 22 | +- [x] login, sign up, Create Docker-compose |
23 | 23 | ||
24 | - 4/20 ~ 4/26 | 24 | - 4/20 ~ 4/26 |
25 | -- [ ] Find ID, PW | 25 | +- [X] Find ID, PW |
26 | + : find password : sendgrid, find userID : twilio | ||
26 | 27 | ||
27 | - 4/27 ~ 5/3 | 28 | - 4/27 ~ 5/3 |
28 | - [ ] Make chat room (using GraphQL's subscription) | 29 | - [ ] Make chat room (using GraphQL's subscription) | ... | ... |
... | @@ -4,6 +4,8 @@ | ... | @@ -4,6 +4,8 @@ |
4 | 4 | ||
5 | Subject : Making website in order to practice latest web technologies | 5 | Subject : Making website in order to practice latest web technologies |
6 | 6 | ||
7 | +- (Tech : react.js, react hooks, styled-components, GraphQL, Prisma, Apollo, AWS, Docker, sendGrid, Twilio, Maxmind) | ||
8 | + | ||
7 | sub-subject : making chat site using JS | 9 | sub-subject : making chat site using JS |
8 | 10 | ||
9 | # Schedule | 11 | # Schedule |
... | @@ -11,13 +13,12 @@ sub-subject : making chat site using JS | ... | @@ -11,13 +13,12 @@ sub-subject : making chat site using JS |
11 | - 4/6 ~ 4/12 | 13 | - 4/6 ~ 4/12 |
12 | - [x] Set development environment | 14 | - [x] Set development environment |
13 | 15 | ||
14 | - (tech : react.js, react hooks, styled-components, GraphQL, Prisma, Apollo, AWS, Docker) | ||
15 | - | ||
16 | - 4/13 ~ 4/19 | 16 | - 4/13 ~ 4/19 |
17 | -- [x] login, sign up (using JWT, sendGrid), Create Docker-compose | 17 | +- [x] login, sign up, Create Docker-compose |
18 | 18 | ||
19 | - 4/20 ~ 4/26 | 19 | - 4/20 ~ 4/26 |
20 | -- [ ] Find ID, PW | 20 | +- [X] Find ID, PW <br> |
21 | + -> find password : sendgrid || find userID : twilio | ||
21 | 22 | ||
22 | - 4/27 ~ 5/3 | 23 | - 4/27 ~ 5/3 |
23 | - [ ] Make chat room (using GraphQL's subscription) | 24 | - [ ] Make chat room (using GraphQL's subscription) | ... | ... |
... | @@ -1065,9 +1065,9 @@ | ... | @@ -1065,9 +1065,9 @@ |
1065 | } | 1065 | } |
1066 | }, | 1066 | }, |
1067 | "@prisma/cli": { | 1067 | "@prisma/cli": { |
1068 | - "version": "2.0.0-beta.2", | 1068 | + "version": "2.0.0-beta.3", |
1069 | - "resolved": "https://registry.npmjs.org/@prisma/cli/-/cli-2.0.0-beta.2.tgz", | 1069 | + "resolved": "https://registry.npmjs.org/@prisma/cli/-/cli-2.0.0-beta.3.tgz", |
1070 | - "integrity": "sha512-lD0cv/YC4g4SKByxH3hvzX1oS9cjRdCDU1Sh2inATaKcTHWPlxxgXQW4yYU2FF/HSWR9KK6YMAdO3ShkOl1PEQ==", | 1070 | + "integrity": "sha512-VZxeTLLMenhkAyaY4tvTqChcW6QtUkiVvZj7N6A2vi6HsM1Tnf0fIZsiH1h3e/LEnaaDGIUC8F4Gkh2SeyeyCg==", |
1071 | "dev": true | 1071 | "dev": true |
1072 | }, | 1072 | }, |
1073 | "@prisma/client": { | 1073 | "@prisma/client": { |
... | @@ -1075,6 +1075,33 @@ | ... | @@ -1075,6 +1075,33 @@ |
1075 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-2.0.0-beta.2.tgz", | 1075 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-2.0.0-beta.2.tgz", |
1076 | "integrity": "sha512-VhNYeeGTrFfLjB/JL7XPoWpxSTCb+YV+F3ggR1X0CGa4b/u6Kxy65aElLozs+yFdMQPVNkyg2PwUO8xQ7G9fpg==" | 1076 | "integrity": "sha512-VhNYeeGTrFfLjB/JL7XPoWpxSTCb+YV+F3ggR1X0CGa4b/u6Kxy65aElLozs+yFdMQPVNkyg2PwUO8xQ7G9fpg==" |
1077 | }, | 1077 | }, |
1078 | + "@sendgrid/client": { | ||
1079 | + "version": "7.0.1", | ||
1080 | + "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-7.0.1.tgz", | ||
1081 | + "integrity": "sha512-HZhDD1bctv5rM0wqAz9LhJC1IL9YHn5jJvxPqiK/3f3WCQjRvraJ1AkqkFFNFd9lPBVLmcrORX04lojwl+5ZaA==", | ||
1082 | + "requires": { | ||
1083 | + "@sendgrid/helpers": "^7.0.1", | ||
1084 | + "axios": "^0.19.2" | ||
1085 | + } | ||
1086 | + }, | ||
1087 | + "@sendgrid/helpers": { | ||
1088 | + "version": "7.0.1", | ||
1089 | + "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-7.0.1.tgz", | ||
1090 | + "integrity": "sha512-i/zsissq1upgdywtuJKysaplJJZC24GdtEKiJC1IRlXvBHzIjH4eU+rqUFO8h+hGji3UMURGgMFuLUXTUYvZ9w==", | ||
1091 | + "requires": { | ||
1092 | + "chalk": "^2.0.1", | ||
1093 | + "deepmerge": "^4.2.2" | ||
1094 | + } | ||
1095 | + }, | ||
1096 | + "@sendgrid/mail": { | ||
1097 | + "version": "7.0.1", | ||
1098 | + "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-7.0.1.tgz", | ||
1099 | + "integrity": "sha512-yFkhjrYQvwpdy8eUiDxLLgPp9o5jHQzjJ5qUkgMr2fuPuYSKKqbpPir1PXIHx0ek2VKkTsvj/7Z5UQk6hPZcrQ==", | ||
1100 | + "requires": { | ||
1101 | + "@sendgrid/client": "^7.0.1", | ||
1102 | + "@sendgrid/helpers": "^7.0.1" | ||
1103 | + } | ||
1104 | + }, | ||
1078 | "@types/aws-lambda": { | 1105 | "@types/aws-lambda": { |
1079 | "version": "8.10.13", | 1106 | "version": "8.10.13", |
1080 | "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.13.tgz", | 1107 | "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.13.tgz", |
... | @@ -1180,12 +1207,6 @@ | ... | @@ -1180,12 +1207,6 @@ |
1180 | "tslib": "^1.9.3" | 1207 | "tslib": "^1.9.3" |
1181 | } | 1208 | } |
1182 | }, | 1209 | }, |
1183 | - "abab": { | ||
1184 | - "version": "1.0.4", | ||
1185 | - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", | ||
1186 | - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", | ||
1187 | - "optional": true | ||
1188 | - }, | ||
1189 | "abbrev": { | 1210 | "abbrev": { |
1190 | "version": "1.1.1", | 1211 | "version": "1.1.1", |
1191 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", | 1212 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", |
... | @@ -1201,21 +1222,6 @@ | ... | @@ -1201,21 +1222,6 @@ |
1201 | "negotiator": "0.6.2" | 1222 | "negotiator": "0.6.2" |
1202 | } | 1223 | } |
1203 | }, | 1224 | }, |
1204 | - "acorn": { | ||
1205 | - "version": "2.7.0", | ||
1206 | - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", | ||
1207 | - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", | ||
1208 | - "optional": true | ||
1209 | - }, | ||
1210 | - "acorn-globals": { | ||
1211 | - "version": "1.0.9", | ||
1212 | - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", | ||
1213 | - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", | ||
1214 | - "optional": true, | ||
1215 | - "requires": { | ||
1216 | - "acorn": "^2.1.0" | ||
1217 | - } | ||
1218 | - }, | ||
1219 | "aggregate-error": { | 1225 | "aggregate-error": { |
1220 | "version": "3.0.1", | 1226 | "version": "3.0.1", |
1221 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", | 1227 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", |
... | @@ -1225,17 +1231,6 @@ | ... | @@ -1225,17 +1231,6 @@ |
1225 | "indent-string": "^4.0.0" | 1231 | "indent-string": "^4.0.0" |
1226 | } | 1232 | } |
1227 | }, | 1233 | }, |
1228 | - "ajv": { | ||
1229 | - "version": "6.12.2", | ||
1230 | - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", | ||
1231 | - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", | ||
1232 | - "requires": { | ||
1233 | - "fast-deep-equal": "^3.1.1", | ||
1234 | - "fast-json-stable-stringify": "^2.0.0", | ||
1235 | - "json-schema-traverse": "^0.4.1", | ||
1236 | - "uri-js": "^4.2.2" | ||
1237 | - } | ||
1238 | - }, | ||
1239 | "ansi-align": { | 1234 | "ansi-align": { |
1240 | "version": "2.0.0", | 1235 | "version": "2.0.0", |
1241 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", | 1236 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", |
... | @@ -1255,7 +1250,6 @@ | ... | @@ -1255,7 +1250,6 @@ |
1255 | "version": "3.2.1", | 1250 | "version": "3.2.1", |
1256 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | 1251 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", |
1257 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | 1252 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", |
1258 | - "dev": true, | ||
1259 | "requires": { | 1253 | "requires": { |
1260 | "color-convert": "^1.9.0" | 1254 | "color-convert": "^1.9.0" |
1261 | } | 1255 | } |
... | @@ -1377,24 +1371,6 @@ | ... | @@ -1377,24 +1371,6 @@ |
1377 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", | 1371 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", |
1378 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" | 1372 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" |
1379 | }, | 1373 | }, |
1380 | - "asn1": { | ||
1381 | - "version": "0.2.4", | ||
1382 | - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", | ||
1383 | - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", | ||
1384 | - "requires": { | ||
1385 | - "safer-buffer": "~2.1.0" | ||
1386 | - } | ||
1387 | - }, | ||
1388 | - "assert-plus": { | ||
1389 | - "version": "1.0.0", | ||
1390 | - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||
1391 | - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" | ||
1392 | - }, | ||
1393 | - "assertion-error": { | ||
1394 | - "version": "1.0.0", | ||
1395 | - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", | ||
1396 | - "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=" | ||
1397 | - }, | ||
1398 | "async-limiter": { | 1374 | "async-limiter": { |
1399 | "version": "1.0.1", | 1375 | "version": "1.0.1", |
1400 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", | 1376 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", |
... | @@ -1405,16 +1381,6 @@ | ... | @@ -1405,16 +1381,6 @@ |
1405 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | 1381 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", |
1406 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" | 1382 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" |
1407 | }, | 1383 | }, |
1408 | - "aws-sign2": { | ||
1409 | - "version": "0.7.0", | ||
1410 | - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", | ||
1411 | - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" | ||
1412 | - }, | ||
1413 | - "aws4": { | ||
1414 | - "version": "1.9.1", | ||
1415 | - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", | ||
1416 | - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" | ||
1417 | - }, | ||
1418 | "axios": { | 1384 | "axios": { |
1419 | "version": "0.19.2", | 1385 | "version": "0.19.2", |
1420 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", | 1386 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", |
... | @@ -1423,93 +1389,6 @@ | ... | @@ -1423,93 +1389,6 @@ |
1423 | "follow-redirects": "1.5.10" | 1389 | "follow-redirects": "1.5.10" |
1424 | } | 1390 | } |
1425 | }, | 1391 | }, |
1426 | - "babel-code-frame": { | ||
1427 | - "version": "6.26.0", | ||
1428 | - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", | ||
1429 | - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", | ||
1430 | - "requires": { | ||
1431 | - "chalk": "^1.1.3", | ||
1432 | - "esutils": "^2.0.2", | ||
1433 | - "js-tokens": "^3.0.2" | ||
1434 | - }, | ||
1435 | - "dependencies": { | ||
1436 | - "ansi-regex": { | ||
1437 | - "version": "2.1.1", | ||
1438 | - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", | ||
1439 | - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" | ||
1440 | - }, | ||
1441 | - "ansi-styles": { | ||
1442 | - "version": "2.2.1", | ||
1443 | - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", | ||
1444 | - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" | ||
1445 | - }, | ||
1446 | - "chalk": { | ||
1447 | - "version": "1.1.3", | ||
1448 | - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", | ||
1449 | - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", | ||
1450 | - "requires": { | ||
1451 | - "ansi-styles": "^2.2.1", | ||
1452 | - "escape-string-regexp": "^1.0.2", | ||
1453 | - "has-ansi": "^2.0.0", | ||
1454 | - "strip-ansi": "^3.0.0", | ||
1455 | - "supports-color": "^2.0.0" | ||
1456 | - } | ||
1457 | - }, | ||
1458 | - "js-tokens": { | ||
1459 | - "version": "3.0.2", | ||
1460 | - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", | ||
1461 | - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" | ||
1462 | - }, | ||
1463 | - "strip-ansi": { | ||
1464 | - "version": "3.0.1", | ||
1465 | - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", | ||
1466 | - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", | ||
1467 | - "requires": { | ||
1468 | - "ansi-regex": "^2.0.0" | ||
1469 | - } | ||
1470 | - }, | ||
1471 | - "supports-color": { | ||
1472 | - "version": "2.0.0", | ||
1473 | - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", | ||
1474 | - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" | ||
1475 | - } | ||
1476 | - } | ||
1477 | - }, | ||
1478 | - "babel-generator": { | ||
1479 | - "version": "6.26.1", | ||
1480 | - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", | ||
1481 | - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", | ||
1482 | - "requires": { | ||
1483 | - "babel-messages": "^6.23.0", | ||
1484 | - "babel-runtime": "^6.26.0", | ||
1485 | - "babel-types": "^6.26.0", | ||
1486 | - "detect-indent": "^4.0.0", | ||
1487 | - "jsesc": "^1.3.0", | ||
1488 | - "lodash": "^4.17.4", | ||
1489 | - "source-map": "^0.5.7", | ||
1490 | - "trim-right": "^1.0.1" | ||
1491 | - }, | ||
1492 | - "dependencies": { | ||
1493 | - "jsesc": { | ||
1494 | - "version": "1.3.0", | ||
1495 | - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", | ||
1496 | - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" | ||
1497 | - }, | ||
1498 | - "source-map": { | ||
1499 | - "version": "0.5.7", | ||
1500 | - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
1501 | - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" | ||
1502 | - } | ||
1503 | - } | ||
1504 | - }, | ||
1505 | - "babel-messages": { | ||
1506 | - "version": "6.23.0", | ||
1507 | - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", | ||
1508 | - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", | ||
1509 | - "requires": { | ||
1510 | - "babel-runtime": "^6.22.0" | ||
1511 | - } | ||
1512 | - }, | ||
1513 | "babel-plugin-dynamic-import-node": { | 1392 | "babel-plugin-dynamic-import-node": { |
1514 | "version": "2.3.0", | 1393 | "version": "2.3.0", |
1515 | "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", | 1394 | "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", |
... | @@ -1519,68 +1398,6 @@ | ... | @@ -1519,68 +1398,6 @@ |
1519 | "object.assign": "^4.1.0" | 1398 | "object.assign": "^4.1.0" |
1520 | } | 1399 | } |
1521 | }, | 1400 | }, |
1522 | - "babel-runtime": { | ||
1523 | - "version": "6.26.0", | ||
1524 | - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", | ||
1525 | - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", | ||
1526 | - "requires": { | ||
1527 | - "core-js": "^2.4.0", | ||
1528 | - "regenerator-runtime": "^0.11.0" | ||
1529 | - }, | ||
1530 | - "dependencies": { | ||
1531 | - "regenerator-runtime": { | ||
1532 | - "version": "0.11.1", | ||
1533 | - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", | ||
1534 | - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" | ||
1535 | - } | ||
1536 | - } | ||
1537 | - }, | ||
1538 | - "babel-traverse": { | ||
1539 | - "version": "6.26.0", | ||
1540 | - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", | ||
1541 | - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", | ||
1542 | - "requires": { | ||
1543 | - "babel-code-frame": "^6.26.0", | ||
1544 | - "babel-messages": "^6.23.0", | ||
1545 | - "babel-runtime": "^6.26.0", | ||
1546 | - "babel-types": "^6.26.0", | ||
1547 | - "babylon": "^6.18.0", | ||
1548 | - "debug": "^2.6.8", | ||
1549 | - "globals": "^9.18.0", | ||
1550 | - "invariant": "^2.2.2", | ||
1551 | - "lodash": "^4.17.4" | ||
1552 | - }, | ||
1553 | - "dependencies": { | ||
1554 | - "globals": { | ||
1555 | - "version": "9.18.0", | ||
1556 | - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", | ||
1557 | - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" | ||
1558 | - } | ||
1559 | - } | ||
1560 | - }, | ||
1561 | - "babel-types": { | ||
1562 | - "version": "6.26.0", | ||
1563 | - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", | ||
1564 | - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", | ||
1565 | - "requires": { | ||
1566 | - "babel-runtime": "^6.26.0", | ||
1567 | - "esutils": "^2.0.2", | ||
1568 | - "lodash": "^4.17.4", | ||
1569 | - "to-fast-properties": "^1.0.3" | ||
1570 | - }, | ||
1571 | - "dependencies": { | ||
1572 | - "to-fast-properties": { | ||
1573 | - "version": "1.0.3", | ||
1574 | - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", | ||
1575 | - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" | ||
1576 | - } | ||
1577 | - } | ||
1578 | - }, | ||
1579 | - "babylon": { | ||
1580 | - "version": "6.18.0", | ||
1581 | - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", | ||
1582 | - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" | ||
1583 | - }, | ||
1584 | "backo2": { | 1401 | "backo2": { |
1585 | "version": "1.0.2", | 1402 | "version": "1.0.2", |
1586 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", | 1403 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", |
... | @@ -1601,14 +1418,6 @@ | ... | @@ -1601,14 +1418,6 @@ |
1601 | "safe-buffer": "5.1.2" | 1418 | "safe-buffer": "5.1.2" |
1602 | } | 1419 | } |
1603 | }, | 1420 | }, |
1604 | - "bcrypt-pbkdf": { | ||
1605 | - "version": "1.0.2", | ||
1606 | - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", | ||
1607 | - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", | ||
1608 | - "requires": { | ||
1609 | - "tweetnacl": "^0.14.3" | ||
1610 | - } | ||
1611 | - }, | ||
1612 | "bcryptjs": { | 1421 | "bcryptjs": { |
1613 | "version": "2.4.3", | 1422 | "version": "2.4.3", |
1614 | "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", | 1423 | "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", |
... | @@ -1664,11 +1473,6 @@ | ... | @@ -1664,11 +1473,6 @@ |
1664 | "body-parser": "^1.18.2" | 1473 | "body-parser": "^1.18.2" |
1665 | } | 1474 | } |
1666 | }, | 1475 | }, |
1667 | - "boolbase": { | ||
1668 | - "version": "1.0.0", | ||
1669 | - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", | ||
1670 | - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" | ||
1671 | - }, | ||
1672 | "boxen": { | 1476 | "boxen": { |
1673 | "version": "1.3.0", | 1477 | "version": "1.3.0", |
1674 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", | 1478 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", |
... | @@ -1765,44 +1569,16 @@ | ... | @@ -1765,44 +1569,16 @@ |
1765 | "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", | 1569 | "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", |
1766 | "dev": true | 1570 | "dev": true |
1767 | }, | 1571 | }, |
1768 | - "caseless": { | ||
1769 | - "version": "0.12.0", | ||
1770 | - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | ||
1771 | - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" | ||
1772 | - }, | ||
1773 | - "chai": { | ||
1774 | - "version": "2.3.0", | ||
1775 | - "resolved": "https://registry.npmjs.org/chai/-/chai-2.3.0.tgz", | ||
1776 | - "integrity": "sha1-ii9qNHSNqAEJD9cyh7Kqc5pOkJo=", | ||
1777 | - "requires": { | ||
1778 | - "assertion-error": "1.0.0", | ||
1779 | - "deep-eql": "0.1.3" | ||
1780 | - } | ||
1781 | - }, | ||
1782 | "chalk": { | 1572 | "chalk": { |
1783 | "version": "2.4.2", | 1573 | "version": "2.4.2", |
1784 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | 1574 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", |
1785 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | 1575 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", |
1786 | - "dev": true, | ||
1787 | "requires": { | 1576 | "requires": { |
1788 | "ansi-styles": "^3.2.1", | 1577 | "ansi-styles": "^3.2.1", |
1789 | "escape-string-regexp": "^1.0.5", | 1578 | "escape-string-regexp": "^1.0.5", |
1790 | "supports-color": "^5.3.0" | 1579 | "supports-color": "^5.3.0" |
1791 | } | 1580 | } |
1792 | }, | 1581 | }, |
1793 | - "cheerio": { | ||
1794 | - "version": "1.0.0-rc.2", | ||
1795 | - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", | ||
1796 | - "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", | ||
1797 | - "requires": { | ||
1798 | - "css-select": "~1.2.0", | ||
1799 | - "dom-serializer": "~0.1.0", | ||
1800 | - "entities": "~1.1.1", | ||
1801 | - "htmlparser2": "^3.9.1", | ||
1802 | - "lodash": "^4.15.0", | ||
1803 | - "parse5": "^3.0.1" | ||
1804 | - } | ||
1805 | - }, | ||
1806 | "chokidar": { | 1582 | "chokidar": { |
1807 | "version": "3.3.1", | 1583 | "version": "3.3.1", |
1808 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", | 1584 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", |
... | @@ -1840,21 +1616,14 @@ | ... | @@ -1840,21 +1616,14 @@ |
1840 | "version": "1.9.3", | 1616 | "version": "1.9.3", |
1841 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | 1617 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", |
1842 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | 1618 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", |
1843 | - "dev": true, | ||
1844 | "requires": { | 1619 | "requires": { |
1845 | "color-name": "1.1.3" | 1620 | "color-name": "1.1.3" |
1846 | } | 1621 | } |
1847 | }, | 1622 | }, |
1848 | - "color-logger": { | ||
1849 | - "version": "0.0.6", | ||
1850 | - "resolved": "https://registry.npmjs.org/color-logger/-/color-logger-0.0.6.tgz", | ||
1851 | - "integrity": "sha1-5WJF7ymCJlcRDHy3WpzXhstp7Rs=" | ||
1852 | - }, | ||
1853 | "color-name": { | 1623 | "color-name": { |
1854 | "version": "1.1.3", | 1624 | "version": "1.1.3", |
1855 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | 1625 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", |
1856 | - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | 1626 | + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" |
1857 | - "dev": true | ||
1858 | }, | 1627 | }, |
1859 | "combined-stream": { | 1628 | "combined-stream": { |
1860 | "version": "1.0.8", | 1629 | "version": "1.0.8", |
... | @@ -1965,6 +1734,15 @@ | ... | @@ -1965,6 +1734,15 @@ |
1965 | "vary": "^1" | 1734 | "vary": "^1" |
1966 | } | 1735 | } |
1967 | }, | 1736 | }, |
1737 | + "country-data": { | ||
1738 | + "version": "0.0.31", | ||
1739 | + "resolved": "https://registry.npmjs.org/country-data/-/country-data-0.0.31.tgz", | ||
1740 | + "integrity": "sha1-gJZrjh0Uf6bWpYnTKTP4eTd0lW0=", | ||
1741 | + "requires": { | ||
1742 | + "currency-symbol-map": "~2", | ||
1743 | + "underscore": ">1.4.4" | ||
1744 | + } | ||
1745 | + }, | ||
1968 | "create-error-class": { | 1746 | "create-error-class": { |
1969 | "version": "3.0.2", | 1747 | "version": "3.0.2", |
1970 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", | 1748 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", |
... | @@ -1991,44 +1769,10 @@ | ... | @@ -1991,44 +1769,10 @@ |
1991 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", | 1769 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", |
1992 | "dev": true | 1770 | "dev": true |
1993 | }, | 1771 | }, |
1994 | - "css-select": { | 1772 | + "currency-symbol-map": { |
1995 | - "version": "1.2.0", | 1773 | + "version": "2.2.0", |
1996 | - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", | 1774 | + "resolved": "https://registry.npmjs.org/currency-symbol-map/-/currency-symbol-map-2.2.0.tgz", |
1997 | - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", | 1775 | + "integrity": "sha1-KzwYcv8aws5ZXYJz5Y4f/wJyrqI=" |
1998 | - "requires": { | ||
1999 | - "boolbase": "~1.0.0", | ||
2000 | - "css-what": "2.1", | ||
2001 | - "domutils": "1.5.1", | ||
2002 | - "nth-check": "~1.0.1" | ||
2003 | - } | ||
2004 | - }, | ||
2005 | - "css-what": { | ||
2006 | - "version": "2.1.3", | ||
2007 | - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", | ||
2008 | - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" | ||
2009 | - }, | ||
2010 | - "cssom": { | ||
2011 | - "version": "0.3.8", | ||
2012 | - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", | ||
2013 | - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", | ||
2014 | - "optional": true | ||
2015 | - }, | ||
2016 | - "cssstyle": { | ||
2017 | - "version": "0.2.37", | ||
2018 | - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", | ||
2019 | - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", | ||
2020 | - "optional": true, | ||
2021 | - "requires": { | ||
2022 | - "cssom": "0.3.x" | ||
2023 | - } | ||
2024 | - }, | ||
2025 | - "dashdash": { | ||
2026 | - "version": "1.14.1", | ||
2027 | - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", | ||
2028 | - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", | ||
2029 | - "requires": { | ||
2030 | - "assert-plus": "^1.0.0" | ||
2031 | - } | ||
2032 | }, | 1776 | }, |
2033 | "dayjs": { | 1777 | "dayjs": { |
2034 | "version": "1.8.25", | 1778 | "version": "1.8.25", |
... | @@ -2043,26 +1787,12 @@ | ... | @@ -2043,26 +1787,12 @@ |
2043 | "ms": "2.0.0" | 1787 | "ms": "2.0.0" |
2044 | } | 1788 | } |
2045 | }, | 1789 | }, |
2046 | - "deep-eql": { | ||
2047 | - "version": "0.1.3", | ||
2048 | - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", | ||
2049 | - "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", | ||
2050 | - "requires": { | ||
2051 | - "type-detect": "0.1.1" | ||
2052 | - } | ||
2053 | - }, | ||
2054 | "deep-extend": { | 1790 | "deep-extend": { |
2055 | "version": "0.6.0", | 1791 | "version": "0.6.0", |
2056 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", | 1792 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", |
2057 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", | 1793 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", |
2058 | "dev": true | 1794 | "dev": true |
2059 | }, | 1795 | }, |
2060 | - "deep-is": { | ||
2061 | - "version": "0.1.3", | ||
2062 | - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | ||
2063 | - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", | ||
2064 | - "optional": true | ||
2065 | - }, | ||
2066 | "deepmerge": { | 1796 | "deepmerge": { |
2067 | "version": "4.2.2", | 1797 | "version": "4.2.2", |
2068 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", | 1798 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", |
... | @@ -2097,14 +1827,6 @@ | ... | @@ -2097,14 +1827,6 @@ |
2097 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", | 1827 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", |
2098 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" | 1828 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" |
2099 | }, | 1829 | }, |
2100 | - "detect-indent": { | ||
2101 | - "version": "4.0.0", | ||
2102 | - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", | ||
2103 | - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", | ||
2104 | - "requires": { | ||
2105 | - "repeating": "^2.0.0" | ||
2106 | - } | ||
2107 | - }, | ||
2108 | "dicer": { | 1830 | "dicer": { |
2109 | "version": "0.2.5", | 1831 | "version": "0.2.5", |
2110 | "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", | 1832 | "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", |
... | @@ -2122,37 +1844,6 @@ | ... | @@ -2122,37 +1844,6 @@ |
2122 | "path-type": "^4.0.0" | 1844 | "path-type": "^4.0.0" |
2123 | } | 1845 | } |
2124 | }, | 1846 | }, |
2125 | - "dom-serializer": { | ||
2126 | - "version": "0.1.1", | ||
2127 | - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", | ||
2128 | - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", | ||
2129 | - "requires": { | ||
2130 | - "domelementtype": "^1.3.0", | ||
2131 | - "entities": "^1.1.1" | ||
2132 | - } | ||
2133 | - }, | ||
2134 | - "domelementtype": { | ||
2135 | - "version": "1.3.1", | ||
2136 | - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", | ||
2137 | - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" | ||
2138 | - }, | ||
2139 | - "domhandler": { | ||
2140 | - "version": "2.4.2", | ||
2141 | - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", | ||
2142 | - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", | ||
2143 | - "requires": { | ||
2144 | - "domelementtype": "1" | ||
2145 | - } | ||
2146 | - }, | ||
2147 | - "domutils": { | ||
2148 | - "version": "1.5.1", | ||
2149 | - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", | ||
2150 | - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", | ||
2151 | - "requires": { | ||
2152 | - "dom-serializer": "0", | ||
2153 | - "domelementtype": "1" | ||
2154 | - } | ||
2155 | - }, | ||
2156 | "dot-prop": { | 1847 | "dot-prop": { |
2157 | "version": "4.2.0", | 1848 | "version": "4.2.0", |
2158 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", | 1849 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", |
... | @@ -2173,15 +1864,6 @@ | ... | @@ -2173,15 +1864,6 @@ |
2173 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", | 1864 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", |
2174 | "dev": true | 1865 | "dev": true |
2175 | }, | 1866 | }, |
2176 | - "ecc-jsbn": { | ||
2177 | - "version": "0.1.2", | ||
2178 | - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", | ||
2179 | - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", | ||
2180 | - "requires": { | ||
2181 | - "jsbn": "~0.1.0", | ||
2182 | - "safer-buffer": "^2.1.0" | ||
2183 | - } | ||
2184 | - }, | ||
2185 | "ecdsa-sig-formatter": { | 1867 | "ecdsa-sig-formatter": { |
2186 | "version": "1.0.11", | 1868 | "version": "1.0.11", |
2187 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", | 1869 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", |
... | @@ -2206,11 +1888,6 @@ | ... | @@ -2206,11 +1888,6 @@ |
2206 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | 1888 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", |
2207 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" | 1889 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" |
2208 | }, | 1890 | }, |
2209 | - "entities": { | ||
2210 | - "version": "1.1.2", | ||
2211 | - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", | ||
2212 | - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" | ||
2213 | - }, | ||
2214 | "es-abstract": { | 1891 | "es-abstract": { |
2215 | "version": "1.17.5", | 1892 | "version": "1.17.5", |
2216 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", | 1893 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", |
... | @@ -2251,70 +1928,11 @@ | ... | @@ -2251,70 +1928,11 @@ |
2251 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | 1928 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", |
2252 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" | 1929 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" |
2253 | }, | 1930 | }, |
2254 | - "escodegen": { | ||
2255 | - "version": "1.14.1", | ||
2256 | - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", | ||
2257 | - "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", | ||
2258 | - "optional": true, | ||
2259 | - "requires": { | ||
2260 | - "esprima": "^4.0.1", | ||
2261 | - "estraverse": "^4.2.0", | ||
2262 | - "esutils": "^2.0.2", | ||
2263 | - "optionator": "^0.8.1", | ||
2264 | - "source-map": "~0.6.1" | ||
2265 | - } | ||
2266 | - }, | ||
2267 | - "esdoc": { | ||
2268 | - "version": "1.1.0", | ||
2269 | - "resolved": "https://registry.npmjs.org/esdoc/-/esdoc-1.1.0.tgz", | ||
2270 | - "integrity": "sha512-vsUcp52XJkOWg9m1vDYplGZN2iDzvmjDL5M/Mp8qkoDG3p2s0yIQCIjKR5wfPBaM3eV14a6zhQNYiNTCVzPnxA==", | ||
2271 | - "requires": { | ||
2272 | - "babel-generator": "6.26.1", | ||
2273 | - "babel-traverse": "6.26.0", | ||
2274 | - "babylon": "6.18.0", | ||
2275 | - "cheerio": "1.0.0-rc.2", | ||
2276 | - "color-logger": "0.0.6", | ||
2277 | - "escape-html": "1.0.3", | ||
2278 | - "fs-extra": "5.0.0", | ||
2279 | - "ice-cap": "0.0.4", | ||
2280 | - "marked": "0.3.19", | ||
2281 | - "minimist": "1.2.0", | ||
2282 | - "taffydb": "2.7.3" | ||
2283 | - }, | ||
2284 | - "dependencies": { | ||
2285 | - "minimist": { | ||
2286 | - "version": "1.2.0", | ||
2287 | - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", | ||
2288 | - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" | ||
2289 | - } | ||
2290 | - } | ||
2291 | - }, | ||
2292 | - "esdoc-coverage-plugin": { | ||
2293 | - "version": "1.1.0", | ||
2294 | - "resolved": "https://registry.npmjs.org/esdoc-coverage-plugin/-/esdoc-coverage-plugin-1.1.0.tgz", | ||
2295 | - "integrity": "sha1-OGmGnNf4eJH5cmJXh2laKZrs5Fw=" | ||
2296 | - }, | ||
2297 | - "esdoc-type-inference-plugin": { | ||
2298 | - "version": "1.0.2", | ||
2299 | - "resolved": "https://registry.npmjs.org/esdoc-type-inference-plugin/-/esdoc-type-inference-plugin-1.0.2.tgz", | ||
2300 | - "integrity": "sha512-tMIcEHNe1uhUGA7lT1UTWc9hs2dzthnTgmqXpmeUhurk7fL2tinvoH+IVvG/sLROzwOGZQS9zW/F9KWnpMzLIQ==" | ||
2301 | - }, | ||
2302 | - "esprima": { | ||
2303 | - "version": "4.0.1", | ||
2304 | - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||
2305 | - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||
2306 | - "optional": true | ||
2307 | - }, | ||
2308 | - "estraverse": { | ||
2309 | - "version": "4.3.0", | ||
2310 | - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", | ||
2311 | - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", | ||
2312 | - "optional": true | ||
2313 | - }, | ||
2314 | "esutils": { | 1931 | "esutils": { |
2315 | "version": "2.0.3", | 1932 | "version": "2.0.3", |
2316 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", | 1933 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", |
2317 | - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" | 1934 | + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", |
1935 | + "dev": true | ||
2318 | }, | 1936 | }, |
2319 | "etag": { | 1937 | "etag": { |
2320 | "version": "1.8.1", | 1938 | "version": "1.8.1", |
... | @@ -2378,26 +1996,11 @@ | ... | @@ -2378,26 +1996,11 @@ |
2378 | "vary": "~1.1.2" | 1996 | "vary": "~1.1.2" |
2379 | } | 1997 | } |
2380 | }, | 1998 | }, |
2381 | - "extend": { | ||
2382 | - "version": "3.0.2", | ||
2383 | - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", | ||
2384 | - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" | ||
2385 | - }, | ||
2386 | "extract-files": { | 1999 | "extract-files": { |
2387 | "version": "7.0.0", | 2000 | "version": "7.0.0", |
2388 | "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-7.0.0.tgz", | 2001 | "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-7.0.0.tgz", |
2389 | "integrity": "sha512-3AUlT7TD+DbQXNe3t70QrgJU6Wgcp7rk1Zm0vqWz8OYnw4vxihgG0TgZ2SIGrVqScc4WfOu7B4a0BezGJ0YqvQ==" | 2002 | "integrity": "sha512-3AUlT7TD+DbQXNe3t70QrgJU6Wgcp7rk1Zm0vqWz8OYnw4vxihgG0TgZ2SIGrVqScc4WfOu7B4a0BezGJ0YqvQ==" |
2390 | }, | 2003 | }, |
2391 | - "extsprintf": { | ||
2392 | - "version": "1.3.0", | ||
2393 | - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", | ||
2394 | - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" | ||
2395 | - }, | ||
2396 | - "fast-deep-equal": { | ||
2397 | - "version": "3.1.1", | ||
2398 | - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", | ||
2399 | - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" | ||
2400 | - }, | ||
2401 | "fast-glob": { | 2004 | "fast-glob": { |
2402 | "version": "3.2.2", | 2005 | "version": "3.2.2", |
2403 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", | 2006 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", |
... | @@ -2416,12 +2019,6 @@ | ... | @@ -2416,12 +2019,6 @@ |
2416 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | 2019 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", |
2417 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" | 2020 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" |
2418 | }, | 2021 | }, |
2419 | - "fast-levenshtein": { | ||
2420 | - "version": "2.0.6", | ||
2421 | - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", | ||
2422 | - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", | ||
2423 | - "optional": true | ||
2424 | - }, | ||
2425 | "fastq": { | 2022 | "fastq": { |
2426 | "version": "1.7.0", | 2023 | "version": "1.7.0", |
2427 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", | 2024 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", |
... | @@ -2508,11 +2105,6 @@ | ... | @@ -2508,11 +2105,6 @@ |
2508 | } | 2105 | } |
2509 | } | 2106 | } |
2510 | }, | 2107 | }, |
2511 | - "forever-agent": { | ||
2512 | - "version": "0.6.1", | ||
2513 | - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", | ||
2514 | - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" | ||
2515 | - }, | ||
2516 | "form-data": { | 2108 | "form-data": { |
2517 | "version": "3.0.0", | 2109 | "version": "3.0.0", |
2518 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", | 2110 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", |
... | @@ -2538,16 +2130,6 @@ | ... | @@ -2538,16 +2130,6 @@ |
2538 | "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-1.0.1.tgz", | 2130 | "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-1.0.1.tgz", |
2539 | "integrity": "sha512-XdZK0Q78WP29Vm3FGgJRhRhrBm51PagovzWtW2kJ3Q6cYJbGtZqWSGTSPwvtEkyjIirFd7b8Yes/dpOYjt4RRQ==" | 2131 | "integrity": "sha512-XdZK0Q78WP29Vm3FGgJRhRhrBm51PagovzWtW2kJ3Q6cYJbGtZqWSGTSPwvtEkyjIirFd7b8Yes/dpOYjt4RRQ==" |
2540 | }, | 2132 | }, |
2541 | - "fs-extra": { | ||
2542 | - "version": "5.0.0", | ||
2543 | - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", | ||
2544 | - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", | ||
2545 | - "requires": { | ||
2546 | - "graceful-fs": "^4.1.2", | ||
2547 | - "jsonfile": "^4.0.0", | ||
2548 | - "universalify": "^0.1.0" | ||
2549 | - } | ||
2550 | - }, | ||
2551 | "fsevents": { | 2133 | "fsevents": { |
2552 | "version": "2.1.2", | 2134 | "version": "2.1.2", |
2553 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", | 2135 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", |
... | @@ -2573,14 +2155,6 @@ | ... | @@ -2573,14 +2155,6 @@ |
2573 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", | 2155 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", |
2574 | "dev": true | 2156 | "dev": true |
2575 | }, | 2157 | }, |
2576 | - "getpass": { | ||
2577 | - "version": "0.1.7", | ||
2578 | - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", | ||
2579 | - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", | ||
2580 | - "requires": { | ||
2581 | - "assert-plus": "^1.0.0" | ||
2582 | - } | ||
2583 | - }, | ||
2584 | "glob-parent": { | 2158 | "glob-parent": { |
2585 | "version": "5.1.1", | 2159 | "version": "5.1.1", |
2586 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", | 2160 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", |
... | @@ -2639,7 +2213,8 @@ | ... | @@ -2639,7 +2213,8 @@ |
2639 | "graceful-fs": { | 2213 | "graceful-fs": { |
2640 | "version": "4.2.3", | 2214 | "version": "4.2.3", |
2641 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", | 2215 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", |
2642 | - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" | 2216 | + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", |
2217 | + "dev": true | ||
2643 | }, | 2218 | }, |
2644 | "graphql": { | 2219 | "graphql": { |
2645 | "version": "14.6.0", | 2220 | "version": "14.6.0", |
... | @@ -2806,20 +2381,6 @@ | ... | @@ -2806,20 +2381,6 @@ |
2806 | "subscriptions-transport-ws": "^0.9.8" | 2381 | "subscriptions-transport-ws": "^0.9.8" |
2807 | } | 2382 | } |
2808 | }, | 2383 | }, |
2809 | - "har-schema": { | ||
2810 | - "version": "2.0.0", | ||
2811 | - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | ||
2812 | - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" | ||
2813 | - }, | ||
2814 | - "har-validator": { | ||
2815 | - "version": "5.1.3", | ||
2816 | - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", | ||
2817 | - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", | ||
2818 | - "requires": { | ||
2819 | - "ajv": "^6.5.5", | ||
2820 | - "har-schema": "^2.0.0" | ||
2821 | - } | ||
2822 | - }, | ||
2823 | "has": { | 2384 | "has": { |
2824 | "version": "1.0.3", | 2385 | "version": "1.0.3", |
2825 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | 2386 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", |
... | @@ -2829,26 +2390,10 @@ | ... | @@ -2829,26 +2390,10 @@ |
2829 | "function-bind": "^1.1.1" | 2390 | "function-bind": "^1.1.1" |
2830 | } | 2391 | } |
2831 | }, | 2392 | }, |
2832 | - "has-ansi": { | ||
2833 | - "version": "2.0.0", | ||
2834 | - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", | ||
2835 | - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", | ||
2836 | - "requires": { | ||
2837 | - "ansi-regex": "^2.0.0" | ||
2838 | - }, | ||
2839 | - "dependencies": { | ||
2840 | - "ansi-regex": { | ||
2841 | - "version": "2.1.1", | ||
2842 | - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", | ||
2843 | - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" | ||
2844 | - } | ||
2845 | - } | ||
2846 | - }, | ||
2847 | "has-flag": { | 2393 | "has-flag": { |
2848 | "version": "3.0.0", | 2394 | "version": "3.0.0", |
2849 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | 2395 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", |
2850 | - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | 2396 | + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" |
2851 | - "dev": true | ||
2852 | }, | 2397 | }, |
2853 | "has-symbols": { | 2398 | "has-symbols": { |
2854 | "version": "1.0.1", | 2399 | "version": "1.0.1", |
... | @@ -2865,44 +2410,6 @@ | ... | @@ -2865,44 +2410,6 @@ |
2865 | "parse-passwd": "^1.0.0" | 2410 | "parse-passwd": "^1.0.0" |
2866 | } | 2411 | } |
2867 | }, | 2412 | }, |
2868 | - "htmlparser2": { | ||
2869 | - "version": "3.10.1", | ||
2870 | - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", | ||
2871 | - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", | ||
2872 | - "requires": { | ||
2873 | - "domelementtype": "^1.3.1", | ||
2874 | - "domhandler": "^2.3.0", | ||
2875 | - "domutils": "^1.5.1", | ||
2876 | - "entities": "^1.1.1", | ||
2877 | - "inherits": "^2.0.1", | ||
2878 | - "readable-stream": "^3.1.1" | ||
2879 | - }, | ||
2880 | - "dependencies": { | ||
2881 | - "readable-stream": { | ||
2882 | - "version": "3.6.0", | ||
2883 | - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", | ||
2884 | - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", | ||
2885 | - "requires": { | ||
2886 | - "inherits": "^2.0.3", | ||
2887 | - "string_decoder": "^1.1.1", | ||
2888 | - "util-deprecate": "^1.0.1" | ||
2889 | - } | ||
2890 | - }, | ||
2891 | - "safe-buffer": { | ||
2892 | - "version": "5.2.0", | ||
2893 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", | ||
2894 | - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" | ||
2895 | - }, | ||
2896 | - "string_decoder": { | ||
2897 | - "version": "1.3.0", | ||
2898 | - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", | ||
2899 | - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", | ||
2900 | - "requires": { | ||
2901 | - "safe-buffer": "~5.2.0" | ||
2902 | - } | ||
2903 | - } | ||
2904 | - } | ||
2905 | - }, | ||
2906 | "http-errors": { | 2413 | "http-errors": { |
2907 | "version": "1.7.3", | 2414 | "version": "1.7.3", |
2908 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", | 2415 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", |
... | @@ -2915,72 +2422,6 @@ | ... | @@ -2915,72 +2422,6 @@ |
2915 | "toidentifier": "1.0.0" | 2422 | "toidentifier": "1.0.0" |
2916 | } | 2423 | } |
2917 | }, | 2424 | }, |
2918 | - "http-signature": { | ||
2919 | - "version": "1.2.0", | ||
2920 | - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", | ||
2921 | - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", | ||
2922 | - "requires": { | ||
2923 | - "assert-plus": "^1.0.0", | ||
2924 | - "jsprim": "^1.2.2", | ||
2925 | - "sshpk": "^1.7.0" | ||
2926 | - } | ||
2927 | - }, | ||
2928 | - "ice-cap": { | ||
2929 | - "version": "0.0.4", | ||
2930 | - "resolved": "https://registry.npmjs.org/ice-cap/-/ice-cap-0.0.4.tgz", | ||
2931 | - "integrity": "sha1-im0xq0ysjUtW3k+pRt8zUlYbbhg=", | ||
2932 | - "requires": { | ||
2933 | - "cheerio": "0.20.0", | ||
2934 | - "color-logger": "0.0.3" | ||
2935 | - }, | ||
2936 | - "dependencies": { | ||
2937 | - "cheerio": { | ||
2938 | - "version": "0.20.0", | ||
2939 | - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", | ||
2940 | - "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", | ||
2941 | - "requires": { | ||
2942 | - "css-select": "~1.2.0", | ||
2943 | - "dom-serializer": "~0.1.0", | ||
2944 | - "entities": "~1.1.1", | ||
2945 | - "htmlparser2": "~3.8.1", | ||
2946 | - "jsdom": "^7.0.2", | ||
2947 | - "lodash": "^4.1.0" | ||
2948 | - } | ||
2949 | - }, | ||
2950 | - "color-logger": { | ||
2951 | - "version": "0.0.3", | ||
2952 | - "resolved": "https://registry.npmjs.org/color-logger/-/color-logger-0.0.3.tgz", | ||
2953 | - "integrity": "sha1-2bIt0dlz4Waxi/MT+fSBu6TfIBg=" | ||
2954 | - }, | ||
2955 | - "domhandler": { | ||
2956 | - "version": "2.3.0", | ||
2957 | - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", | ||
2958 | - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", | ||
2959 | - "requires": { | ||
2960 | - "domelementtype": "1" | ||
2961 | - } | ||
2962 | - }, | ||
2963 | - "htmlparser2": { | ||
2964 | - "version": "3.8.3", | ||
2965 | - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", | ||
2966 | - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", | ||
2967 | - "requires": { | ||
2968 | - "domelementtype": "1", | ||
2969 | - "domhandler": "2.3", | ||
2970 | - "domutils": "1.5", | ||
2971 | - "entities": "1.0", | ||
2972 | - "readable-stream": "1.1" | ||
2973 | - }, | ||
2974 | - "dependencies": { | ||
2975 | - "entities": { | ||
2976 | - "version": "1.0.0", | ||
2977 | - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", | ||
2978 | - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" | ||
2979 | - } | ||
2980 | - } | ||
2981 | - } | ||
2982 | - } | ||
2983 | - }, | ||
2984 | "iconv-lite": { | 2425 | "iconv-lite": { |
2985 | "version": "0.4.24", | 2426 | "version": "0.4.24", |
2986 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | 2427 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", |
... | @@ -3032,6 +2473,7 @@ | ... | @@ -3032,6 +2473,7 @@ |
3032 | "version": "2.2.4", | 2473 | "version": "2.2.4", |
3033 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", | 2474 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", |
3034 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", | 2475 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", |
2476 | + "dev": true, | ||
3035 | "requires": { | 2477 | "requires": { |
3036 | "loose-envify": "^1.0.0" | 2478 | "loose-envify": "^1.0.0" |
3037 | } | 2479 | } |
... | @@ -3076,11 +2518,6 @@ | ... | @@ -3076,11 +2518,6 @@ |
3076 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", | 2518 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", |
3077 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" | 2519 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" |
3078 | }, | 2520 | }, |
3079 | - "is-finite": { | ||
3080 | - "version": "1.1.0", | ||
3081 | - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", | ||
3082 | - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" | ||
3083 | - }, | ||
3084 | "is-fullwidth-code-point": { | 2521 | "is-fullwidth-code-point": { |
3085 | "version": "2.0.0", | 2522 | "version": "2.0.0", |
3086 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | 2523 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", |
... | @@ -3167,11 +2604,6 @@ | ... | @@ -3167,11 +2604,6 @@ |
3167 | "has-symbols": "^1.0.1" | 2604 | "has-symbols": "^1.0.1" |
3168 | } | 2605 | } |
3169 | }, | 2606 | }, |
3170 | - "is-typedarray": { | ||
3171 | - "version": "1.0.0", | ||
3172 | - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | ||
3173 | - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" | ||
3174 | - }, | ||
3175 | "isarray": { | 2607 | "isarray": { |
3176 | "version": "0.0.1", | 2608 | "version": "0.0.1", |
3177 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", | 2609 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", |
... | @@ -3183,11 +2615,6 @@ | ... | @@ -3183,11 +2615,6 @@ |
3183 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", | 2615 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", |
3184 | "dev": true | 2616 | "dev": true |
3185 | }, | 2617 | }, |
3186 | - "isstream": { | ||
3187 | - "version": "0.1.2", | ||
3188 | - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||
3189 | - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" | ||
3190 | - }, | ||
3191 | "iterall": { | 2618 | "iterall": { |
3192 | "version": "1.3.0", | 2619 | "version": "1.3.0", |
3193 | "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", | 2620 | "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", |
... | @@ -3196,43 +2623,8 @@ | ... | @@ -3196,43 +2623,8 @@ |
3196 | "js-tokens": { | 2623 | "js-tokens": { |
3197 | "version": "4.0.0", | 2624 | "version": "4.0.0", |
3198 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | 2625 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", |
3199 | - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" | 2626 | + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", |
3200 | - }, | 2627 | + "dev": true |
3201 | - "jsbn": { | ||
3202 | - "version": "0.1.1", | ||
3203 | - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", | ||
3204 | - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" | ||
3205 | - }, | ||
3206 | - "jsdom": { | ||
3207 | - "version": "7.2.2", | ||
3208 | - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", | ||
3209 | - "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", | ||
3210 | - "optional": true, | ||
3211 | - "requires": { | ||
3212 | - "abab": "^1.0.0", | ||
3213 | - "acorn": "^2.4.0", | ||
3214 | - "acorn-globals": "^1.0.4", | ||
3215 | - "cssom": ">= 0.3.0 < 0.4.0", | ||
3216 | - "cssstyle": ">= 0.2.29 < 0.3.0", | ||
3217 | - "escodegen": "^1.6.1", | ||
3218 | - "nwmatcher": ">= 1.3.7 < 2.0.0", | ||
3219 | - "parse5": "^1.5.1", | ||
3220 | - "request": "^2.55.0", | ||
3221 | - "sax": "^1.1.4", | ||
3222 | - "symbol-tree": ">= 3.1.0 < 4.0.0", | ||
3223 | - "tough-cookie": "^2.2.0", | ||
3224 | - "webidl-conversions": "^2.0.0", | ||
3225 | - "whatwg-url-compat": "~0.6.5", | ||
3226 | - "xml-name-validator": ">= 2.0.1 < 3.0.0" | ||
3227 | - }, | ||
3228 | - "dependencies": { | ||
3229 | - "parse5": { | ||
3230 | - "version": "1.5.1", | ||
3231 | - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", | ||
3232 | - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", | ||
3233 | - "optional": true | ||
3234 | - } | ||
3235 | - } | ||
3236 | }, | 2628 | }, |
3237 | "jsesc": { | 2629 | "jsesc": { |
3238 | "version": "2.5.2", | 2630 | "version": "2.5.2", |
... | @@ -3240,21 +2632,6 @@ | ... | @@ -3240,21 +2632,6 @@ |
3240 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", | 2632 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", |
3241 | "dev": true | 2633 | "dev": true |
3242 | }, | 2634 | }, |
3243 | - "json-schema": { | ||
3244 | - "version": "0.2.3", | ||
3245 | - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", | ||
3246 | - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" | ||
3247 | - }, | ||
3248 | - "json-schema-traverse": { | ||
3249 | - "version": "0.4.1", | ||
3250 | - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||
3251 | - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" | ||
3252 | - }, | ||
3253 | - "json-stringify-safe": { | ||
3254 | - "version": "5.0.1", | ||
3255 | - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||
3256 | - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" | ||
3257 | - }, | ||
3258 | "json5": { | 2635 | "json5": { |
3259 | "version": "2.1.3", | 2636 | "version": "2.1.3", |
3260 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", | 2637 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", |
... | @@ -3264,14 +2641,6 @@ | ... | @@ -3264,14 +2641,6 @@ |
3264 | "minimist": "^1.2.5" | 2641 | "minimist": "^1.2.5" |
3265 | } | 2642 | } |
3266 | }, | 2643 | }, |
3267 | - "jsonfile": { | ||
3268 | - "version": "4.0.0", | ||
3269 | - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", | ||
3270 | - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", | ||
3271 | - "requires": { | ||
3272 | - "graceful-fs": "^4.1.6" | ||
3273 | - } | ||
3274 | - }, | ||
3275 | "jsonwebtoken": { | 2644 | "jsonwebtoken": { |
3276 | "version": "8.5.1", | 2645 | "version": "8.5.1", |
3277 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", | 2646 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", |
... | @@ -3296,17 +2665,6 @@ | ... | @@ -3296,17 +2665,6 @@ |
3296 | } | 2665 | } |
3297 | } | 2666 | } |
3298 | }, | 2667 | }, |
3299 | - "jsprim": { | ||
3300 | - "version": "1.4.1", | ||
3301 | - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", | ||
3302 | - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", | ||
3303 | - "requires": { | ||
3304 | - "assert-plus": "1.0.0", | ||
3305 | - "extsprintf": "1.3.0", | ||
3306 | - "json-schema": "0.2.3", | ||
3307 | - "verror": "1.10.0" | ||
3308 | - } | ||
3309 | - }, | ||
3310 | "jwa": { | 2668 | "jwa": { |
3311 | "version": "1.4.1", | 2669 | "version": "1.4.1", |
3312 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", | 2670 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", |
... | @@ -3350,16 +2708,6 @@ | ... | @@ -3350,16 +2708,6 @@ |
3350 | "leven": "^3.1.0" | 2708 | "leven": "^3.1.0" |
3351 | } | 2709 | } |
3352 | }, | 2710 | }, |
3353 | - "levn": { | ||
3354 | - "version": "0.3.0", | ||
3355 | - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", | ||
3356 | - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", | ||
3357 | - "optional": true, | ||
3358 | - "requires": { | ||
3359 | - "prelude-ls": "~1.1.2", | ||
3360 | - "type-check": "~0.3.2" | ||
3361 | - } | ||
3362 | - }, | ||
3363 | "locate-path": { | 2711 | "locate-path": { |
3364 | "version": "3.0.0", | 2712 | "version": "3.0.0", |
3365 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", | 2713 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", |
... | @@ -3414,6 +2762,7 @@ | ... | @@ -3414,6 +2762,7 @@ |
3414 | "version": "1.4.0", | 2762 | "version": "1.4.0", |
3415 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", | 2763 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", |
3416 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", | 2764 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", |
2765 | + "dev": true, | ||
3417 | "requires": { | 2766 | "requires": { |
3418 | "js-tokens": "^3.0.0 || ^4.0.0" | 2767 | "js-tokens": "^3.0.0 || ^4.0.0" |
3419 | } | 2768 | } |
... | @@ -3451,11 +2800,6 @@ | ... | @@ -3451,11 +2800,6 @@ |
3451 | "pify": "^3.0.0" | 2800 | "pify": "^3.0.0" |
3452 | } | 2801 | } |
3453 | }, | 2802 | }, |
3454 | - "marked": { | ||
3455 | - "version": "0.3.19", | ||
3456 | - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", | ||
3457 | - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==" | ||
3458 | - }, | ||
3459 | "media-typer": { | 2803 | "media-typer": { |
3460 | "version": "0.3.0", | 2804 | "version": "0.3.0", |
3461 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | 2805 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
... | @@ -3595,19 +2939,6 @@ | ... | @@ -3595,19 +2939,6 @@ |
3595 | "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==", | 2939 | "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==", |
3596 | "dev": true | 2940 | "dev": true |
3597 | }, | 2941 | }, |
3598 | - "nodemailer": { | ||
3599 | - "version": "6.4.6", | ||
3600 | - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.6.tgz", | ||
3601 | - "integrity": "sha512-/kJ+FYVEm2HuUlw87hjSqTss+GU35D4giOpdSfGp7DO+5h6RlJj7R94YaYHOkoxu1CSaM0d3WRBtCzwXrY6MKA==" | ||
3602 | - }, | ||
3603 | - "nodemailer-sendgrid-transport": { | ||
3604 | - "version": "0.2.0", | ||
3605 | - "resolved": "https://registry.npmjs.org/nodemailer-sendgrid-transport/-/nodemailer-sendgrid-transport-0.2.0.tgz", | ||
3606 | - "integrity": "sha1-pRZZO/49HyeM/hcGDh2yNlio9Pw=", | ||
3607 | - "requires": { | ||
3608 | - "sendgrid": "^1.8.0" | ||
3609 | - } | ||
3610 | - }, | ||
3611 | "nodemon": { | 2942 | "nodemon": { |
3612 | "version": "2.0.2", | 2943 | "version": "2.0.2", |
3613 | "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.2.tgz", | 2944 | "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.2.tgz", |
... | @@ -3667,25 +2998,6 @@ | ... | @@ -3667,25 +2998,6 @@ |
3667 | "path-key": "^2.0.0" | 2998 | "path-key": "^2.0.0" |
3668 | } | 2999 | } |
3669 | }, | 3000 | }, |
3670 | - "nth-check": { | ||
3671 | - "version": "1.0.2", | ||
3672 | - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", | ||
3673 | - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", | ||
3674 | - "requires": { | ||
3675 | - "boolbase": "~1.0.0" | ||
3676 | - } | ||
3677 | - }, | ||
3678 | - "nwmatcher": { | ||
3679 | - "version": "1.4.4", | ||
3680 | - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", | ||
3681 | - "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", | ||
3682 | - "optional": true | ||
3683 | - }, | ||
3684 | - "oauth-sign": { | ||
3685 | - "version": "0.9.0", | ||
3686 | - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", | ||
3687 | - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" | ||
3688 | - }, | ||
3689 | "object-assign": { | 3001 | "object-assign": { |
3690 | "version": "4.1.1", | 3002 | "version": "4.1.1", |
3691 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | 3003 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", |
... | @@ -3744,20 +3056,6 @@ | ... | @@ -3744,20 +3056,6 @@ |
3744 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", | 3056 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", |
3745 | "dev": true | 3057 | "dev": true |
3746 | }, | 3058 | }, |
3747 | - "optionator": { | ||
3748 | - "version": "0.8.3", | ||
3749 | - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", | ||
3750 | - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", | ||
3751 | - "optional": true, | ||
3752 | - "requires": { | ||
3753 | - "deep-is": "~0.1.3", | ||
3754 | - "fast-levenshtein": "~2.0.6", | ||
3755 | - "levn": "~0.3.0", | ||
3756 | - "prelude-ls": "~1.1.2", | ||
3757 | - "type-check": "~0.3.2", | ||
3758 | - "word-wrap": "~1.2.3" | ||
3759 | - } | ||
3760 | - }, | ||
3761 | "p-finally": { | 3059 | "p-finally": { |
3762 | "version": "1.0.0", | 3060 | "version": "1.0.0", |
3763 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", | 3061 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", |
... | @@ -3806,14 +3104,6 @@ | ... | @@ -3806,14 +3104,6 @@ |
3806 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", | 3104 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", |
3807 | "dev": true | 3105 | "dev": true |
3808 | }, | 3106 | }, |
3809 | - "parse5": { | ||
3810 | - "version": "3.0.3", | ||
3811 | - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", | ||
3812 | - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", | ||
3813 | - "requires": { | ||
3814 | - "@types/node": "*" | ||
3815 | - } | ||
3816 | - }, | ||
3817 | "parseurl": { | 3107 | "parseurl": { |
3818 | "version": "1.3.3", | 3108 | "version": "1.3.3", |
3819 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | 3109 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", |
... | @@ -3828,6 +3118,29 @@ | ... | @@ -3828,6 +3118,29 @@ |
3828 | "tslib": "^1.10.0" | 3118 | "tslib": "^1.10.0" |
3829 | } | 3119 | } |
3830 | }, | 3120 | }, |
3121 | + "passport": { | ||
3122 | + "version": "0.4.1", | ||
3123 | + "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz", | ||
3124 | + "integrity": "sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==", | ||
3125 | + "requires": { | ||
3126 | + "passport-strategy": "1.x.x", | ||
3127 | + "pause": "0.0.1" | ||
3128 | + } | ||
3129 | + }, | ||
3130 | + "passport-jwt": { | ||
3131 | + "version": "4.0.0", | ||
3132 | + "resolved": "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.0.tgz", | ||
3133 | + "integrity": "sha512-BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg==", | ||
3134 | + "requires": { | ||
3135 | + "jsonwebtoken": "^8.2.0", | ||
3136 | + "passport-strategy": "^1.0.0" | ||
3137 | + } | ||
3138 | + }, | ||
3139 | + "passport-strategy": { | ||
3140 | + "version": "1.0.0", | ||
3141 | + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", | ||
3142 | + "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" | ||
3143 | + }, | ||
3831 | "path-exists": { | 3144 | "path-exists": { |
3832 | "version": "3.0.0", | 3145 | "version": "3.0.0", |
3833 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | 3146 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", |
... | @@ -3862,10 +3175,10 @@ | ... | @@ -3862,10 +3175,10 @@ |
3862 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", | 3175 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", |
3863 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" | 3176 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" |
3864 | }, | 3177 | }, |
3865 | - "performance-now": { | 3178 | + "pause": { |
3866 | - "version": "2.1.0", | 3179 | + "version": "0.0.1", |
3867 | - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | 3180 | + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", |
3868 | - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" | 3181 | + "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" |
3869 | }, | 3182 | }, |
3870 | "picomatch": { | 3183 | "picomatch": { |
3871 | "version": "2.2.2", | 3184 | "version": "2.2.2", |
... | @@ -3955,12 +3268,6 @@ | ... | @@ -3955,12 +3268,6 @@ |
3955 | "resolved": "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz", | 3268 | "resolved": "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz", |
3956 | "integrity": "sha1-zqz9q0q/NT16DyqqLB/Hs/lBO6M=" | 3269 | "integrity": "sha1-zqz9q0q/NT16DyqqLB/Hs/lBO6M=" |
3957 | }, | 3270 | }, |
3958 | - "prelude-ls": { | ||
3959 | - "version": "1.1.2", | ||
3960 | - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", | ||
3961 | - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", | ||
3962 | - "optional": true | ||
3963 | - }, | ||
3964 | "prepend-http": { | 3271 | "prepend-http": { |
3965 | "version": "1.0.4", | 3272 | "version": "1.0.4", |
3966 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", | 3273 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", |
... | @@ -3988,22 +3295,12 @@ | ... | @@ -3988,22 +3295,12 @@ |
3988 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", | 3295 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", |
3989 | "dev": true | 3296 | "dev": true |
3990 | }, | 3297 | }, |
3991 | - "psl": { | ||
3992 | - "version": "1.8.0", | ||
3993 | - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", | ||
3994 | - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" | ||
3995 | - }, | ||
3996 | "pstree.remy": { | 3298 | "pstree.remy": { |
3997 | "version": "1.1.7", | 3299 | "version": "1.1.7", |
3998 | "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz", | 3300 | "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz", |
3999 | "integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==", | 3301 | "integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==", |
4000 | "dev": true | 3302 | "dev": true |
4001 | }, | 3303 | }, |
4002 | - "punycode": { | ||
4003 | - "version": "2.1.1", | ||
4004 | - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
4005 | - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" | ||
4006 | - }, | ||
4007 | "q": { | 3304 | "q": { |
4008 | "version": "2.0.3", | 3305 | "version": "2.0.3", |
4009 | "resolved": "https://registry.npmjs.org/q/-/q-2.0.3.tgz", | 3306 | "resolved": "https://registry.npmjs.org/q/-/q-2.0.3.tgz", |
... | @@ -4183,58 +3480,6 @@ | ... | @@ -4183,58 +3480,6 @@ |
4183 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", | 3480 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", |
4184 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" | 3481 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" |
4185 | }, | 3482 | }, |
4186 | - "repeating": { | ||
4187 | - "version": "2.0.1", | ||
4188 | - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", | ||
4189 | - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", | ||
4190 | - "requires": { | ||
4191 | - "is-finite": "^1.0.0" | ||
4192 | - } | ||
4193 | - }, | ||
4194 | - "request": { | ||
4195 | - "version": "2.88.2", | ||
4196 | - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", | ||
4197 | - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", | ||
4198 | - "requires": { | ||
4199 | - "aws-sign2": "~0.7.0", | ||
4200 | - "aws4": "^1.8.0", | ||
4201 | - "caseless": "~0.12.0", | ||
4202 | - "combined-stream": "~1.0.6", | ||
4203 | - "extend": "~3.0.2", | ||
4204 | - "forever-agent": "~0.6.1", | ||
4205 | - "form-data": "~2.3.2", | ||
4206 | - "har-validator": "~5.1.3", | ||
4207 | - "http-signature": "~1.2.0", | ||
4208 | - "is-typedarray": "~1.0.0", | ||
4209 | - "isstream": "~0.1.2", | ||
4210 | - "json-stringify-safe": "~5.0.1", | ||
4211 | - "mime-types": "~2.1.19", | ||
4212 | - "oauth-sign": "~0.9.0", | ||
4213 | - "performance-now": "^2.1.0", | ||
4214 | - "qs": "~6.5.2", | ||
4215 | - "safe-buffer": "^5.1.2", | ||
4216 | - "tough-cookie": "~2.5.0", | ||
4217 | - "tunnel-agent": "^0.6.0", | ||
4218 | - "uuid": "^3.3.2" | ||
4219 | - }, | ||
4220 | - "dependencies": { | ||
4221 | - "form-data": { | ||
4222 | - "version": "2.3.3", | ||
4223 | - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", | ||
4224 | - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", | ||
4225 | - "requires": { | ||
4226 | - "asynckit": "^0.4.0", | ||
4227 | - "combined-stream": "^1.0.6", | ||
4228 | - "mime-types": "^2.1.12" | ||
4229 | - } | ||
4230 | - }, | ||
4231 | - "qs": { | ||
4232 | - "version": "6.5.2", | ||
4233 | - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", | ||
4234 | - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" | ||
4235 | - } | ||
4236 | - } | ||
4237 | - }, | ||
4238 | "requires-port": { | 3483 | "requires-port": { |
4239 | "version": "1.0.0", | 3484 | "version": "1.0.0", |
4240 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", | 3485 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", |
... | @@ -4279,12 +3524,6 @@ | ... | @@ -4279,12 +3524,6 @@ |
4279 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | 3524 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
4280 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | 3525 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
4281 | }, | 3526 | }, |
4282 | - "sax": { | ||
4283 | - "version": "1.2.4", | ||
4284 | - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", | ||
4285 | - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", | ||
4286 | - "optional": true | ||
4287 | - }, | ||
4288 | "scmp": { | 3527 | "scmp": { |
4289 | "version": "2.1.0", | 3528 | "version": "2.1.0", |
4290 | "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", | 3529 | "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", |
... | @@ -4331,24 +3570,6 @@ | ... | @@ -4331,24 +3570,6 @@ |
4331 | } | 3570 | } |
4332 | } | 3571 | } |
4333 | }, | 3572 | }, |
4334 | - "sendgrid": { | ||
4335 | - "version": "1.9.2", | ||
4336 | - "resolved": "https://registry.npmjs.org/sendgrid/-/sendgrid-1.9.2.tgz", | ||
4337 | - "integrity": "sha1-1AfmogawoqaWQkbdnAZBwQvwLxk=", | ||
4338 | - "requires": { | ||
4339 | - "lodash": "^3.0.1 || ^2.0.0", | ||
4340 | - "mime": "^1.2.9", | ||
4341 | - "request": "^2.60.0", | ||
4342 | - "smtpapi": "^1.2.0" | ||
4343 | - }, | ||
4344 | - "dependencies": { | ||
4345 | - "lodash": { | ||
4346 | - "version": "3.10.1", | ||
4347 | - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", | ||
4348 | - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" | ||
4349 | - } | ||
4350 | - } | ||
4351 | - }, | ||
4352 | "serve-static": { | 3573 | "serve-static": { |
4353 | "version": "1.14.1", | 3574 | "version": "1.14.1", |
4354 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", | 3575 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", |
... | @@ -4391,17 +3612,6 @@ | ... | @@ -4391,17 +3612,6 @@ |
4391 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", | 3612 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", |
4392 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" | 3613 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" |
4393 | }, | 3614 | }, |
4394 | - "smtpapi": { | ||
4395 | - "version": "1.4.2", | ||
4396 | - "resolved": "https://registry.npmjs.org/smtpapi/-/smtpapi-1.4.2.tgz", | ||
4397 | - "integrity": "sha512-rkb2Qkl8JnsLr/1unpZs1sUZODVMyl9kcYyBNvsilP+RyWMQw2yXUpgHsW41oEAu2yM5z9e2tmyZu52RAbB8Xw==", | ||
4398 | - "requires": { | ||
4399 | - "chai": "^2.3.0", | ||
4400 | - "esdoc": "^1.0.3", | ||
4401 | - "esdoc-coverage-plugin": "^1.1.0", | ||
4402 | - "esdoc-type-inference-plugin": "^1.0.1" | ||
4403 | - } | ||
4404 | - }, | ||
4405 | "source-map": { | 3615 | "source-map": { |
4406 | "version": "0.6.1", | 3616 | "version": "0.6.1", |
4407 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | 3617 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", |
... | @@ -4416,22 +3626,6 @@ | ... | @@ -4416,22 +3626,6 @@ |
4416 | "source-map": "^0.6.0" | 3626 | "source-map": "^0.6.0" |
4417 | } | 3627 | } |
4418 | }, | 3628 | }, |
4419 | - "sshpk": { | ||
4420 | - "version": "1.16.1", | ||
4421 | - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", | ||
4422 | - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", | ||
4423 | - "requires": { | ||
4424 | - "asn1": "~0.2.3", | ||
4425 | - "assert-plus": "^1.0.0", | ||
4426 | - "bcrypt-pbkdf": "^1.0.0", | ||
4427 | - "dashdash": "^1.12.0", | ||
4428 | - "ecc-jsbn": "~0.1.1", | ||
4429 | - "getpass": "^0.1.1", | ||
4430 | - "jsbn": "~0.1.0", | ||
4431 | - "safer-buffer": "^2.0.2", | ||
4432 | - "tweetnacl": "~0.14.0" | ||
4433 | - } | ||
4434 | - }, | ||
4435 | "statuses": { | 3629 | "statuses": { |
4436 | "version": "1.5.0", | 3630 | "version": "1.5.0", |
4437 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", | 3631 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", |
... | @@ -4536,7 +3730,6 @@ | ... | @@ -4536,7 +3730,6 @@ |
4536 | "version": "5.5.0", | 3730 | "version": "5.5.0", |
4537 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | 3731 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", |
4538 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | 3732 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", |
4539 | - "dev": true, | ||
4540 | "requires": { | 3733 | "requires": { |
4541 | "has-flag": "^3.0.0" | 3734 | "has-flag": "^3.0.0" |
4542 | } | 3735 | } |
... | @@ -4546,17 +3739,6 @@ | ... | @@ -4546,17 +3739,6 @@ |
4546 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", | 3739 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", |
4547 | "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" | 3740 | "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" |
4548 | }, | 3741 | }, |
4549 | - "symbol-tree": { | ||
4550 | - "version": "3.2.4", | ||
4551 | - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", | ||
4552 | - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", | ||
4553 | - "optional": true | ||
4554 | - }, | ||
4555 | - "taffydb": { | ||
4556 | - "version": "2.7.3", | ||
4557 | - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz", | ||
4558 | - "integrity": "sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=" | ||
4559 | - }, | ||
4560 | "term-size": { | 3742 | "term-size": { |
4561 | "version": "1.2.0", | 3743 | "version": "1.2.0", |
4562 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", | 3744 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", |
... | @@ -4600,26 +3782,6 @@ | ... | @@ -4600,26 +3782,6 @@ |
4600 | "nopt": "~1.0.10" | 3782 | "nopt": "~1.0.10" |
4601 | } | 3783 | } |
4602 | }, | 3784 | }, |
4603 | - "tough-cookie": { | ||
4604 | - "version": "2.5.0", | ||
4605 | - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", | ||
4606 | - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", | ||
4607 | - "requires": { | ||
4608 | - "psl": "^1.1.28", | ||
4609 | - "punycode": "^2.1.1" | ||
4610 | - } | ||
4611 | - }, | ||
4612 | - "tr46": { | ||
4613 | - "version": "0.0.3", | ||
4614 | - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", | ||
4615 | - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", | ||
4616 | - "optional": true | ||
4617 | - }, | ||
4618 | - "trim-right": { | ||
4619 | - "version": "1.0.1", | ||
4620 | - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", | ||
4621 | - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" | ||
4622 | - }, | ||
4623 | "ts-invariant": { | 3785 | "ts-invariant": { |
4624 | "version": "0.4.4", | 3786 | "version": "0.4.4", |
4625 | "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", | 3787 | "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", |
... | @@ -4633,19 +3795,6 @@ | ... | @@ -4633,19 +3795,6 @@ |
4633 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", | 3795 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", |
4634 | "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" | 3796 | "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" |
4635 | }, | 3797 | }, |
4636 | - "tunnel-agent": { | ||
4637 | - "version": "0.6.0", | ||
4638 | - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||
4639 | - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||
4640 | - "requires": { | ||
4641 | - "safe-buffer": "^5.0.1" | ||
4642 | - } | ||
4643 | - }, | ||
4644 | - "tweetnacl": { | ||
4645 | - "version": "0.14.5", | ||
4646 | - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | ||
4647 | - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" | ||
4648 | - }, | ||
4649 | "twilio": { | 3798 | "twilio": { |
4650 | "version": "3.42.2", | 3799 | "version": "3.42.2", |
4651 | "resolved": "https://registry.npmjs.org/twilio/-/twilio-3.42.2.tgz", | 3800 | "resolved": "https://registry.npmjs.org/twilio/-/twilio-3.42.2.tgz", |
... | @@ -4671,20 +3820,6 @@ | ... | @@ -4671,20 +3820,6 @@ |
4671 | } | 3820 | } |
4672 | } | 3821 | } |
4673 | }, | 3822 | }, |
4674 | - "type-check": { | ||
4675 | - "version": "0.3.2", | ||
4676 | - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", | ||
4677 | - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", | ||
4678 | - "optional": true, | ||
4679 | - "requires": { | ||
4680 | - "prelude-ls": "~1.1.2" | ||
4681 | - } | ||
4682 | - }, | ||
4683 | - "type-detect": { | ||
4684 | - "version": "0.1.1", | ||
4685 | - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", | ||
4686 | - "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=" | ||
4687 | - }, | ||
4688 | "type-is": { | 3823 | "type-is": { |
4689 | "version": "1.6.18", | 3824 | "version": "1.6.18", |
4690 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | 3825 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", |
... | @@ -4703,6 +3838,11 @@ | ... | @@ -4703,6 +3838,11 @@ |
4703 | "debug": "^2.2.0" | 3838 | "debug": "^2.2.0" |
4704 | } | 3839 | } |
4705 | }, | 3840 | }, |
3841 | + "underscore": { | ||
3842 | + "version": "1.10.2", | ||
3843 | + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", | ||
3844 | + "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==" | ||
3845 | + }, | ||
4706 | "unicode-canonical-property-names-ecmascript": { | 3846 | "unicode-canonical-property-names-ecmascript": { |
4707 | "version": "1.0.4", | 3847 | "version": "1.0.4", |
4708 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", | 3848 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", |
... | @@ -4740,11 +3880,6 @@ | ... | @@ -4740,11 +3880,6 @@ |
4740 | "crypto-random-string": "^1.0.0" | 3880 | "crypto-random-string": "^1.0.0" |
4741 | } | 3881 | } |
4742 | }, | 3882 | }, |
4743 | - "universalify": { | ||
4744 | - "version": "0.1.2", | ||
4745 | - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", | ||
4746 | - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" | ||
4747 | - }, | ||
4748 | "unixify": { | 3883 | "unixify": { |
4749 | "version": "1.0.0", | 3884 | "version": "1.0.0", |
4750 | "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", | 3885 | "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", |
... | @@ -4792,14 +3927,6 @@ | ... | @@ -4792,14 +3927,6 @@ |
4792 | "xdg-basedir": "^3.0.0" | 3927 | "xdg-basedir": "^3.0.0" |
4793 | } | 3928 | } |
4794 | }, | 3929 | }, |
4795 | - "uri-js": { | ||
4796 | - "version": "4.2.2", | ||
4797 | - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", | ||
4798 | - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", | ||
4799 | - "requires": { | ||
4800 | - "punycode": "^2.1.0" | ||
4801 | - } | ||
4802 | - }, | ||
4803 | "url-parse": { | 3930 | "url-parse": { |
4804 | "version": "1.4.7", | 3931 | "version": "1.4.7", |
4805 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", | 3932 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", |
... | @@ -4818,11 +3945,6 @@ | ... | @@ -4818,11 +3945,6 @@ |
4818 | "prepend-http": "^1.0.1" | 3945 | "prepend-http": "^1.0.1" |
4819 | } | 3946 | } |
4820 | }, | 3947 | }, |
4821 | - "util-deprecate": { | ||
4822 | - "version": "1.0.2", | ||
4823 | - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
4824 | - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
4825 | - }, | ||
4826 | "utils-merge": { | 3948 | "utils-merge": { |
4827 | "version": "1.0.1", | 3949 | "version": "1.0.1", |
4828 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | 3950 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", |
... | @@ -4847,36 +3969,11 @@ | ... | @@ -4847,36 +3969,11 @@ |
4847 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 3969 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
4848 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | 3970 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" |
4849 | }, | 3971 | }, |
4850 | - "verror": { | ||
4851 | - "version": "1.10.0", | ||
4852 | - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||
4853 | - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||
4854 | - "requires": { | ||
4855 | - "assert-plus": "^1.0.0", | ||
4856 | - "core-util-is": "1.0.2", | ||
4857 | - "extsprintf": "^1.2.0" | ||
4858 | - } | ||
4859 | - }, | ||
4860 | "weak-map": { | 3972 | "weak-map": { |
4861 | "version": "1.0.5", | 3973 | "version": "1.0.5", |
4862 | "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz", | 3974 | "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz", |
4863 | "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" | 3975 | "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" |
4864 | }, | 3976 | }, |
4865 | - "webidl-conversions": { | ||
4866 | - "version": "2.0.1", | ||
4867 | - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", | ||
4868 | - "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", | ||
4869 | - "optional": true | ||
4870 | - }, | ||
4871 | - "whatwg-url-compat": { | ||
4872 | - "version": "0.6.5", | ||
4873 | - "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", | ||
4874 | - "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", | ||
4875 | - "optional": true, | ||
4876 | - "requires": { | ||
4877 | - "tr46": "~0.0.1" | ||
4878 | - } | ||
4879 | - }, | ||
4880 | "which": { | 3977 | "which": { |
4881 | "version": "1.3.1", | 3978 | "version": "1.3.1", |
4882 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", | 3979 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", |
... | @@ -4895,12 +3992,6 @@ | ... | @@ -4895,12 +3992,6 @@ |
4895 | "string-width": "^2.1.1" | 3992 | "string-width": "^2.1.1" |
4896 | } | 3993 | } |
4897 | }, | 3994 | }, |
4898 | - "word-wrap": { | ||
4899 | - "version": "1.2.3", | ||
4900 | - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", | ||
4901 | - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", | ||
4902 | - "optional": true | ||
4903 | - }, | ||
4904 | "write-file-atomic": { | 3995 | "write-file-atomic": { |
4905 | "version": "2.4.3", | 3996 | "version": "2.4.3", |
4906 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", | 3997 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", |
... | @@ -4926,12 +4017,6 @@ | ... | @@ -4926,12 +4017,6 @@ |
4926 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", | 4017 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", |
4927 | "dev": true | 4018 | "dev": true |
4928 | }, | 4019 | }, |
4929 | - "xml-name-validator": { | ||
4930 | - "version": "2.0.1", | ||
4931 | - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", | ||
4932 | - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", | ||
4933 | - "optional": true | ||
4934 | - }, | ||
4935 | "xmlbuilder": { | 4020 | "xmlbuilder": { |
4936 | "version": "13.0.2", | 4021 | "version": "13.0.2", |
4937 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", | 4022 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", | ... | ... |
... | @@ -15,21 +15,23 @@ | ... | @@ -15,21 +15,23 @@ |
15 | "homepage": "https://bitbucket.org/vel1024/capstone2#readme", | 15 | "homepage": "https://bitbucket.org/vel1024/capstone2#readme", |
16 | "dependencies": { | 16 | "dependencies": { |
17 | "@prisma/client": "^2.0.0-beta.2", | 17 | "@prisma/client": "^2.0.0-beta.2", |
18 | + "@sendgrid/mail": "^7.0.1", | ||
18 | "bcryptjs": "^2.4.3", | 19 | "bcryptjs": "^2.4.3", |
20 | + "country-data": "0.0.31", | ||
19 | "dotenv": "^8.2.0", | 21 | "dotenv": "^8.2.0", |
20 | "graphql-tools": "^4.0.7", | 22 | "graphql-tools": "^4.0.7", |
21 | "graphql-yoga": "^1.18.3", | 23 | "graphql-yoga": "^1.18.3", |
22 | "jsonwebtoken": "^8.5.1", | 24 | "jsonwebtoken": "^8.5.1", |
23 | "merge-graphql-schemas": "^1.7.7", | 25 | "merge-graphql-schemas": "^1.7.7", |
24 | - "nodemailer": "^6.4.6", | 26 | + "passport": "^0.4.1", |
25 | - "nodemailer-sendgrid-transport": "^0.2.0", | 27 | + "passport-jwt": "^4.0.0", |
26 | "twilio": "^3.42.2" | 28 | "twilio": "^3.42.2" |
27 | }, | 29 | }, |
28 | "devDependencies": { | 30 | "devDependencies": { |
29 | "@babel/core": "^7.9.0", | 31 | "@babel/core": "^7.9.0", |
30 | "@babel/node": "^7.8.7", | 32 | "@babel/node": "^7.8.7", |
31 | "@babel/preset-env": "^7.9.0", | 33 | "@babel/preset-env": "^7.9.0", |
32 | - "@prisma/cli": "^2.0.0-beta.2", | 34 | + "@prisma/cli": "^2.0.0-beta.3", |
33 | "morgan": "^1.10.0", | 35 | "morgan": "^1.10.0", |
34 | "nodemon": "^2.0.2" | 36 | "nodemon": "^2.0.2" |
35 | } | 37 | } | ... | ... |
1 | -# Migration `20200419160117-init` | ||
2 | - | ||
3 | -This migration has been generated by sdy at 4/19/2020, 4:01:17 PM. | ||
4 | -You can check out the [state of the schema](./schema.prisma) after the migration. | ||
5 | - | ||
6 | -## Database Steps | ||
7 | - | ||
8 | -```sql | ||
9 | -CREATE TABLE `chat_schema`.`User` ( | ||
10 | - `avatarUrl` varchar(191) , | ||
11 | - `bio` varchar(191) , | ||
12 | - `createdAt` datetime DEFAULT CURRENT_TIMESTAMP , | ||
13 | - `email` varchar(191) NOT NULL , | ||
14 | - `id` int NOT NULL AUTO_INCREMENT, | ||
15 | - `loginSecret` varchar(191) , | ||
16 | - `name` varchar(191) NOT NULL , | ||
17 | - `password` varchar(191) NOT NULL , | ||
18 | - PRIMARY KEY (`id`) | ||
19 | -) | ||
20 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
21 | - | ||
22 | -CREATE TABLE `chat_schema`.`Room` ( | ||
23 | - `id` int NOT NULL AUTO_INCREMENT, | ||
24 | - PRIMARY KEY (`id`) | ||
25 | -) | ||
26 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
27 | - | ||
28 | -CREATE TABLE `chat_schema`.`Category` ( | ||
29 | - `id` int NOT NULL AUTO_INCREMENT, | ||
30 | - `name` varchar(191) DEFAULT '' , | ||
31 | - PRIMARY KEY (`id`) | ||
32 | -) | ||
33 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
34 | - | ||
35 | -CREATE TABLE `chat_schema`.`Message` ( | ||
36 | - `id` int NOT NULL AUTO_INCREMENT, | ||
37 | - `senderId` int NOT NULL , | ||
38 | - `text` varchar(191) DEFAULT '' , | ||
39 | - PRIMARY KEY (`id`) | ||
40 | -) | ||
41 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
42 | - | ||
43 | -CREATE TABLE `chat_schema`.`_RoomToUser` ( | ||
44 | - `A` int NOT NULL , | ||
45 | - `B` int NOT NULL | ||
46 | -) | ||
47 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
48 | - | ||
49 | -CREATE TABLE `chat_schema`.`_CategoryToRoom` ( | ||
50 | - `A` int NOT NULL , | ||
51 | - `B` int NOT NULL | ||
52 | -) | ||
53 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
54 | - | ||
55 | -CREATE UNIQUE INDEX `User.email` ON `chat_schema`.`User`(`email`) | ||
56 | - | ||
57 | -CREATE UNIQUE INDEX `_RoomToUser_AB_unique` ON `chat_schema`.`_RoomToUser`(`A`,`B`) | ||
58 | - | ||
59 | -CREATE INDEX `_RoomToUser_B_index` ON `chat_schema`.`_RoomToUser`(`B`) | ||
60 | - | ||
61 | -CREATE UNIQUE INDEX `_CategoryToRoom_AB_unique` ON `chat_schema`.`_CategoryToRoom`(`A`,`B`) | ||
62 | - | ||
63 | -CREATE INDEX `_CategoryToRoom_B_index` ON `chat_schema`.`_CategoryToRoom`(`B`) | ||
64 | - | ||
65 | -ALTER TABLE `chat_schema`.`Message` ADD FOREIGN KEY (`senderId`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
66 | - | ||
67 | -ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
68 | - | ||
69 | -ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
70 | - | ||
71 | -ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Category`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
72 | - | ||
73 | -ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
74 | - | ||
75 | -DROP TABLE `chat_schema`.`_migration`; | ||
76 | - | ||
77 | -DROP TABLE `chat_schema`.`test`; | ||
78 | -``` | ||
79 | - | ||
80 | -## Changes | ||
81 | - | ||
82 | -```diff | ||
83 | -diff --git schema.prisma schema.prisma | ||
84 | -migration ..20200419160117-init | ||
85 | ---- datamodel.dml | ||
86 | -+++ datamodel.dml | ||
87 | -@@ -1,0 +1,41 @@ | ||
88 | -+generator client { | ||
89 | -+ provider = "prisma-client-js" | ||
90 | -+ binaryTargets = ["native", "debian-openssl-1.1.x"] | ||
91 | -+} | ||
92 | -+ | ||
93 | -+datasource db { | ||
94 | -+ provider = "mysql" | ||
95 | -+ url = env("DATABASE_URL") | ||
96 | -+} | ||
97 | -+ | ||
98 | -+model User { | ||
99 | -+ id Int @default(autoincrement()) @id | ||
100 | -+ avatarUrl String? | ||
101 | -+ email String @unique | ||
102 | -+ password String | ||
103 | -+ name String | ||
104 | -+ loginSecret String? | ||
105 | -+ bio String? | ||
106 | -+ rooms Room[] @relation(references: [id]) | ||
107 | -+ messages Message[] | ||
108 | -+ createdAt DateTime? @default(now()) | ||
109 | -+} | ||
110 | -+ | ||
111 | -+model Room { | ||
112 | -+ id Int @default(autoincrement()) @id | ||
113 | -+ participants User[] @relation(references: [id]) | ||
114 | -+ categories Category[] @relation(references: [id]) | ||
115 | -+} | ||
116 | -+ | ||
117 | -+model Category { | ||
118 | -+ id Int @default(autoincrement()) @id | ||
119 | -+ name String? @default("") | ||
120 | -+ rooms Room[] @relation(references: [id]) | ||
121 | -+} | ||
122 | -+ | ||
123 | -+model Message { | ||
124 | -+ id Int @default(autoincrement()) @id | ||
125 | -+ text String? @default("") | ||
126 | -+ sender User @relation(fields: [senderId], references: [id]) | ||
127 | -+ senderId Int | ||
128 | -+} | ||
129 | -``` | ||
130 | - | ||
131 | - |
1 | -generator client { | ||
2 | - provider = "prisma-client-js" | ||
3 | - binaryTargets = ["native", "debian-openssl-1.1.x"] | ||
4 | -} | ||
5 | - | ||
6 | -datasource db { | ||
7 | - provider = "mysql" | ||
8 | - url = "***" | ||
9 | -} | ||
10 | - | ||
11 | -model User { | ||
12 | - id Int @default(autoincrement()) @id | ||
13 | - avatarUrl String? | ||
14 | - email String @unique | ||
15 | - password String | ||
16 | - name String | ||
17 | - loginSecret String? | ||
18 | - bio String? | ||
19 | - rooms Room[] @relation(references: [id]) | ||
20 | - messages Message[] | ||
21 | - createdAt DateTime? @default(now()) | ||
22 | -} | ||
23 | - | ||
24 | -model Room { | ||
25 | - id Int @default(autoincrement()) @id | ||
26 | - participants User[] @relation(references: [id]) | ||
27 | - categories Category[] @relation(references: [id]) | ||
28 | -} | ||
29 | - | ||
30 | -model Category { | ||
31 | - id Int @default(autoincrement()) @id | ||
32 | - name String? @default("") | ||
33 | - rooms Room[] @relation(references: [id]) | ||
34 | -} | ||
35 | - | ||
36 | -model Message { | ||
37 | - id Int @default(autoincrement()) @id | ||
38 | - text String? @default("") | ||
39 | - sender User @relation(fields: [senderId], references: [id]) | ||
40 | - senderId Int | ||
41 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -{ | ||
2 | - "version": "0.3.14-fixed", | ||
3 | - "steps": [ | ||
4 | - { | ||
5 | - "tag": "CreateSource", | ||
6 | - "source": "db" | ||
7 | - }, | ||
8 | - { | ||
9 | - "tag": "CreateArgument", | ||
10 | - "location": { | ||
11 | - "tag": "Source", | ||
12 | - "source": "db" | ||
13 | - }, | ||
14 | - "argument": "provider", | ||
15 | - "value": "\"mysql\"" | ||
16 | - }, | ||
17 | - { | ||
18 | - "tag": "CreateArgument", | ||
19 | - "location": { | ||
20 | - "tag": "Source", | ||
21 | - "source": "db" | ||
22 | - }, | ||
23 | - "argument": "url", | ||
24 | - "value": "env(\"DATABASE_URL\")" | ||
25 | - }, | ||
26 | - { | ||
27 | - "tag": "CreateModel", | ||
28 | - "model": "User" | ||
29 | - }, | ||
30 | - { | ||
31 | - "tag": "CreateField", | ||
32 | - "model": "User", | ||
33 | - "field": "id", | ||
34 | - "type": "Int", | ||
35 | - "arity": "Required" | ||
36 | - }, | ||
37 | - { | ||
38 | - "tag": "CreateDirective", | ||
39 | - "location": { | ||
40 | - "path": { | ||
41 | - "tag": "Field", | ||
42 | - "model": "User", | ||
43 | - "field": "id" | ||
44 | - }, | ||
45 | - "directive": "default" | ||
46 | - } | ||
47 | - }, | ||
48 | - { | ||
49 | - "tag": "CreateArgument", | ||
50 | - "location": { | ||
51 | - "tag": "Directive", | ||
52 | - "path": { | ||
53 | - "tag": "Field", | ||
54 | - "model": "User", | ||
55 | - "field": "id" | ||
56 | - }, | ||
57 | - "directive": "default" | ||
58 | - }, | ||
59 | - "argument": "", | ||
60 | - "value": "autoincrement()" | ||
61 | - }, | ||
62 | - { | ||
63 | - "tag": "CreateDirective", | ||
64 | - "location": { | ||
65 | - "path": { | ||
66 | - "tag": "Field", | ||
67 | - "model": "User", | ||
68 | - "field": "id" | ||
69 | - }, | ||
70 | - "directive": "id" | ||
71 | - } | ||
72 | - }, | ||
73 | - { | ||
74 | - "tag": "CreateField", | ||
75 | - "model": "User", | ||
76 | - "field": "avatarUrl", | ||
77 | - "type": "String", | ||
78 | - "arity": "Optional" | ||
79 | - }, | ||
80 | - { | ||
81 | - "tag": "CreateField", | ||
82 | - "model": "User", | ||
83 | - "field": "email", | ||
84 | - "type": "String", | ||
85 | - "arity": "Required" | ||
86 | - }, | ||
87 | - { | ||
88 | - "tag": "CreateDirective", | ||
89 | - "location": { | ||
90 | - "path": { | ||
91 | - "tag": "Field", | ||
92 | - "model": "User", | ||
93 | - "field": "email" | ||
94 | - }, | ||
95 | - "directive": "unique" | ||
96 | - } | ||
97 | - }, | ||
98 | - { | ||
99 | - "tag": "CreateField", | ||
100 | - "model": "User", | ||
101 | - "field": "password", | ||
102 | - "type": "String", | ||
103 | - "arity": "Required" | ||
104 | - }, | ||
105 | - { | ||
106 | - "tag": "CreateField", | ||
107 | - "model": "User", | ||
108 | - "field": "name", | ||
109 | - "type": "String", | ||
110 | - "arity": "Required" | ||
111 | - }, | ||
112 | - { | ||
113 | - "tag": "CreateField", | ||
114 | - "model": "User", | ||
115 | - "field": "loginSecret", | ||
116 | - "type": "String", | ||
117 | - "arity": "Optional" | ||
118 | - }, | ||
119 | - { | ||
120 | - "tag": "CreateField", | ||
121 | - "model": "User", | ||
122 | - "field": "bio", | ||
123 | - "type": "String", | ||
124 | - "arity": "Optional" | ||
125 | - }, | ||
126 | - { | ||
127 | - "tag": "CreateField", | ||
128 | - "model": "User", | ||
129 | - "field": "rooms", | ||
130 | - "type": "Room", | ||
131 | - "arity": "List" | ||
132 | - }, | ||
133 | - { | ||
134 | - "tag": "CreateDirective", | ||
135 | - "location": { | ||
136 | - "path": { | ||
137 | - "tag": "Field", | ||
138 | - "model": "User", | ||
139 | - "field": "rooms" | ||
140 | - }, | ||
141 | - "directive": "relation" | ||
142 | - } | ||
143 | - }, | ||
144 | - { | ||
145 | - "tag": "CreateArgument", | ||
146 | - "location": { | ||
147 | - "tag": "Directive", | ||
148 | - "path": { | ||
149 | - "tag": "Field", | ||
150 | - "model": "User", | ||
151 | - "field": "rooms" | ||
152 | - }, | ||
153 | - "directive": "relation" | ||
154 | - }, | ||
155 | - "argument": "references", | ||
156 | - "value": "[id]" | ||
157 | - }, | ||
158 | - { | ||
159 | - "tag": "CreateField", | ||
160 | - "model": "User", | ||
161 | - "field": "messages", | ||
162 | - "type": "Message", | ||
163 | - "arity": "List" | ||
164 | - }, | ||
165 | - { | ||
166 | - "tag": "CreateField", | ||
167 | - "model": "User", | ||
168 | - "field": "createdAt", | ||
169 | - "type": "DateTime", | ||
170 | - "arity": "Optional" | ||
171 | - }, | ||
172 | - { | ||
173 | - "tag": "CreateDirective", | ||
174 | - "location": { | ||
175 | - "path": { | ||
176 | - "tag": "Field", | ||
177 | - "model": "User", | ||
178 | - "field": "createdAt" | ||
179 | - }, | ||
180 | - "directive": "default" | ||
181 | - } | ||
182 | - }, | ||
183 | - { | ||
184 | - "tag": "CreateArgument", | ||
185 | - "location": { | ||
186 | - "tag": "Directive", | ||
187 | - "path": { | ||
188 | - "tag": "Field", | ||
189 | - "model": "User", | ||
190 | - "field": "createdAt" | ||
191 | - }, | ||
192 | - "directive": "default" | ||
193 | - }, | ||
194 | - "argument": "", | ||
195 | - "value": "now()" | ||
196 | - }, | ||
197 | - { | ||
198 | - "tag": "CreateModel", | ||
199 | - "model": "Room" | ||
200 | - }, | ||
201 | - { | ||
202 | - "tag": "CreateField", | ||
203 | - "model": "Room", | ||
204 | - "field": "id", | ||
205 | - "type": "Int", | ||
206 | - "arity": "Required" | ||
207 | - }, | ||
208 | - { | ||
209 | - "tag": "CreateDirective", | ||
210 | - "location": { | ||
211 | - "path": { | ||
212 | - "tag": "Field", | ||
213 | - "model": "Room", | ||
214 | - "field": "id" | ||
215 | - }, | ||
216 | - "directive": "default" | ||
217 | - } | ||
218 | - }, | ||
219 | - { | ||
220 | - "tag": "CreateArgument", | ||
221 | - "location": { | ||
222 | - "tag": "Directive", | ||
223 | - "path": { | ||
224 | - "tag": "Field", | ||
225 | - "model": "Room", | ||
226 | - "field": "id" | ||
227 | - }, | ||
228 | - "directive": "default" | ||
229 | - }, | ||
230 | - "argument": "", | ||
231 | - "value": "autoincrement()" | ||
232 | - }, | ||
233 | - { | ||
234 | - "tag": "CreateDirective", | ||
235 | - "location": { | ||
236 | - "path": { | ||
237 | - "tag": "Field", | ||
238 | - "model": "Room", | ||
239 | - "field": "id" | ||
240 | - }, | ||
241 | - "directive": "id" | ||
242 | - } | ||
243 | - }, | ||
244 | - { | ||
245 | - "tag": "CreateField", | ||
246 | - "model": "Room", | ||
247 | - "field": "participants", | ||
248 | - "type": "User", | ||
249 | - "arity": "List" | ||
250 | - }, | ||
251 | - { | ||
252 | - "tag": "CreateDirective", | ||
253 | - "location": { | ||
254 | - "path": { | ||
255 | - "tag": "Field", | ||
256 | - "model": "Room", | ||
257 | - "field": "participants" | ||
258 | - }, | ||
259 | - "directive": "relation" | ||
260 | - } | ||
261 | - }, | ||
262 | - { | ||
263 | - "tag": "CreateArgument", | ||
264 | - "location": { | ||
265 | - "tag": "Directive", | ||
266 | - "path": { | ||
267 | - "tag": "Field", | ||
268 | - "model": "Room", | ||
269 | - "field": "participants" | ||
270 | - }, | ||
271 | - "directive": "relation" | ||
272 | - }, | ||
273 | - "argument": "references", | ||
274 | - "value": "[id]" | ||
275 | - }, | ||
276 | - { | ||
277 | - "tag": "CreateField", | ||
278 | - "model": "Room", | ||
279 | - "field": "categories", | ||
280 | - "type": "Category", | ||
281 | - "arity": "List" | ||
282 | - }, | ||
283 | - { | ||
284 | - "tag": "CreateDirective", | ||
285 | - "location": { | ||
286 | - "path": { | ||
287 | - "tag": "Field", | ||
288 | - "model": "Room", | ||
289 | - "field": "categories" | ||
290 | - }, | ||
291 | - "directive": "relation" | ||
292 | - } | ||
293 | - }, | ||
294 | - { | ||
295 | - "tag": "CreateArgument", | ||
296 | - "location": { | ||
297 | - "tag": "Directive", | ||
298 | - "path": { | ||
299 | - "tag": "Field", | ||
300 | - "model": "Room", | ||
301 | - "field": "categories" | ||
302 | - }, | ||
303 | - "directive": "relation" | ||
304 | - }, | ||
305 | - "argument": "references", | ||
306 | - "value": "[id]" | ||
307 | - }, | ||
308 | - { | ||
309 | - "tag": "CreateModel", | ||
310 | - "model": "Category" | ||
311 | - }, | ||
312 | - { | ||
313 | - "tag": "CreateField", | ||
314 | - "model": "Category", | ||
315 | - "field": "id", | ||
316 | - "type": "Int", | ||
317 | - "arity": "Required" | ||
318 | - }, | ||
319 | - { | ||
320 | - "tag": "CreateDirective", | ||
321 | - "location": { | ||
322 | - "path": { | ||
323 | - "tag": "Field", | ||
324 | - "model": "Category", | ||
325 | - "field": "id" | ||
326 | - }, | ||
327 | - "directive": "default" | ||
328 | - } | ||
329 | - }, | ||
330 | - { | ||
331 | - "tag": "CreateArgument", | ||
332 | - "location": { | ||
333 | - "tag": "Directive", | ||
334 | - "path": { | ||
335 | - "tag": "Field", | ||
336 | - "model": "Category", | ||
337 | - "field": "id" | ||
338 | - }, | ||
339 | - "directive": "default" | ||
340 | - }, | ||
341 | - "argument": "", | ||
342 | - "value": "autoincrement()" | ||
343 | - }, | ||
344 | - { | ||
345 | - "tag": "CreateDirective", | ||
346 | - "location": { | ||
347 | - "path": { | ||
348 | - "tag": "Field", | ||
349 | - "model": "Category", | ||
350 | - "field": "id" | ||
351 | - }, | ||
352 | - "directive": "id" | ||
353 | - } | ||
354 | - }, | ||
355 | - { | ||
356 | - "tag": "CreateField", | ||
357 | - "model": "Category", | ||
358 | - "field": "name", | ||
359 | - "type": "String", | ||
360 | - "arity": "Optional" | ||
361 | - }, | ||
362 | - { | ||
363 | - "tag": "CreateDirective", | ||
364 | - "location": { | ||
365 | - "path": { | ||
366 | - "tag": "Field", | ||
367 | - "model": "Category", | ||
368 | - "field": "name" | ||
369 | - }, | ||
370 | - "directive": "default" | ||
371 | - } | ||
372 | - }, | ||
373 | - { | ||
374 | - "tag": "CreateArgument", | ||
375 | - "location": { | ||
376 | - "tag": "Directive", | ||
377 | - "path": { | ||
378 | - "tag": "Field", | ||
379 | - "model": "Category", | ||
380 | - "field": "name" | ||
381 | - }, | ||
382 | - "directive": "default" | ||
383 | - }, | ||
384 | - "argument": "", | ||
385 | - "value": "\"\"" | ||
386 | - }, | ||
387 | - { | ||
388 | - "tag": "CreateField", | ||
389 | - "model": "Category", | ||
390 | - "field": "rooms", | ||
391 | - "type": "Room", | ||
392 | - "arity": "List" | ||
393 | - }, | ||
394 | - { | ||
395 | - "tag": "CreateDirective", | ||
396 | - "location": { | ||
397 | - "path": { | ||
398 | - "tag": "Field", | ||
399 | - "model": "Category", | ||
400 | - "field": "rooms" | ||
401 | - }, | ||
402 | - "directive": "relation" | ||
403 | - } | ||
404 | - }, | ||
405 | - { | ||
406 | - "tag": "CreateArgument", | ||
407 | - "location": { | ||
408 | - "tag": "Directive", | ||
409 | - "path": { | ||
410 | - "tag": "Field", | ||
411 | - "model": "Category", | ||
412 | - "field": "rooms" | ||
413 | - }, | ||
414 | - "directive": "relation" | ||
415 | - }, | ||
416 | - "argument": "references", | ||
417 | - "value": "[id]" | ||
418 | - }, | ||
419 | - { | ||
420 | - "tag": "CreateModel", | ||
421 | - "model": "Message" | ||
422 | - }, | ||
423 | - { | ||
424 | - "tag": "CreateField", | ||
425 | - "model": "Message", | ||
426 | - "field": "id", | ||
427 | - "type": "Int", | ||
428 | - "arity": "Required" | ||
429 | - }, | ||
430 | - { | ||
431 | - "tag": "CreateDirective", | ||
432 | - "location": { | ||
433 | - "path": { | ||
434 | - "tag": "Field", | ||
435 | - "model": "Message", | ||
436 | - "field": "id" | ||
437 | - }, | ||
438 | - "directive": "default" | ||
439 | - } | ||
440 | - }, | ||
441 | - { | ||
442 | - "tag": "CreateArgument", | ||
443 | - "location": { | ||
444 | - "tag": "Directive", | ||
445 | - "path": { | ||
446 | - "tag": "Field", | ||
447 | - "model": "Message", | ||
448 | - "field": "id" | ||
449 | - }, | ||
450 | - "directive": "default" | ||
451 | - }, | ||
452 | - "argument": "", | ||
453 | - "value": "autoincrement()" | ||
454 | - }, | ||
455 | - { | ||
456 | - "tag": "CreateDirective", | ||
457 | - "location": { | ||
458 | - "path": { | ||
459 | - "tag": "Field", | ||
460 | - "model": "Message", | ||
461 | - "field": "id" | ||
462 | - }, | ||
463 | - "directive": "id" | ||
464 | - } | ||
465 | - }, | ||
466 | - { | ||
467 | - "tag": "CreateField", | ||
468 | - "model": "Message", | ||
469 | - "field": "text", | ||
470 | - "type": "String", | ||
471 | - "arity": "Optional" | ||
472 | - }, | ||
473 | - { | ||
474 | - "tag": "CreateDirective", | ||
475 | - "location": { | ||
476 | - "path": { | ||
477 | - "tag": "Field", | ||
478 | - "model": "Message", | ||
479 | - "field": "text" | ||
480 | - }, | ||
481 | - "directive": "default" | ||
482 | - } | ||
483 | - }, | ||
484 | - { | ||
485 | - "tag": "CreateArgument", | ||
486 | - "location": { | ||
487 | - "tag": "Directive", | ||
488 | - "path": { | ||
489 | - "tag": "Field", | ||
490 | - "model": "Message", | ||
491 | - "field": "text" | ||
492 | - }, | ||
493 | - "directive": "default" | ||
494 | - }, | ||
495 | - "argument": "", | ||
496 | - "value": "\"\"" | ||
497 | - }, | ||
498 | - { | ||
499 | - "tag": "CreateField", | ||
500 | - "model": "Message", | ||
501 | - "field": "sender", | ||
502 | - "type": "User", | ||
503 | - "arity": "Required" | ||
504 | - }, | ||
505 | - { | ||
506 | - "tag": "CreateDirective", | ||
507 | - "location": { | ||
508 | - "path": { | ||
509 | - "tag": "Field", | ||
510 | - "model": "Message", | ||
511 | - "field": "sender" | ||
512 | - }, | ||
513 | - "directive": "relation" | ||
514 | - } | ||
515 | - }, | ||
516 | - { | ||
517 | - "tag": "CreateArgument", | ||
518 | - "location": { | ||
519 | - "tag": "Directive", | ||
520 | - "path": { | ||
521 | - "tag": "Field", | ||
522 | - "model": "Message", | ||
523 | - "field": "sender" | ||
524 | - }, | ||
525 | - "directive": "relation" | ||
526 | - }, | ||
527 | - "argument": "fields", | ||
528 | - "value": "[senderId]" | ||
529 | - }, | ||
530 | - { | ||
531 | - "tag": "CreateArgument", | ||
532 | - "location": { | ||
533 | - "tag": "Directive", | ||
534 | - "path": { | ||
535 | - "tag": "Field", | ||
536 | - "model": "Message", | ||
537 | - "field": "sender" | ||
538 | - }, | ||
539 | - "directive": "relation" | ||
540 | - }, | ||
541 | - "argument": "references", | ||
542 | - "value": "[id]" | ||
543 | - }, | ||
544 | - { | ||
545 | - "tag": "CreateField", | ||
546 | - "model": "Message", | ||
547 | - "field": "senderId", | ||
548 | - "type": "Int", | ||
549 | - "arity": "Required" | ||
550 | - } | ||
551 | - ] | ||
552 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -# Migration `20200424124259-init` | ||
2 | - | ||
3 | -This migration has been generated by sdy at 4/24/2020, 12:42:59 PM. | ||
4 | -You can check out the [state of the schema](./schema.prisma) after the migration. | ||
5 | - | ||
6 | -## Database Steps | ||
7 | - | ||
8 | -```sql | ||
9 | -CREATE TABLE `chat_schema`.`User` ( | ||
10 | - `avatarUrl` varchar(191) , | ||
11 | - `bio` varchar(191) , | ||
12 | - `createdAt` datetime DEFAULT CURRENT_TIMESTAMP , | ||
13 | - `email` varchar(191) NOT NULL , | ||
14 | - `emailSecret` varchar(191) , | ||
15 | - `id` int NOT NULL AUTO_INCREMENT, | ||
16 | - `name` varchar(191) NOT NULL , | ||
17 | - `password` varchar(191) NOT NULL , | ||
18 | - `phoneNumber` int , | ||
19 | - `phoneSecret` varchar(191) , | ||
20 | - PRIMARY KEY (`id`) | ||
21 | -) | ||
22 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
23 | - | ||
24 | -CREATE TABLE `chat_schema`.`Room` ( | ||
25 | - `id` int NOT NULL AUTO_INCREMENT, | ||
26 | - PRIMARY KEY (`id`) | ||
27 | -) | ||
28 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
29 | - | ||
30 | -CREATE TABLE `chat_schema`.`Category` ( | ||
31 | - `id` int NOT NULL AUTO_INCREMENT, | ||
32 | - `name` varchar(191) DEFAULT '' , | ||
33 | - PRIMARY KEY (`id`) | ||
34 | -) | ||
35 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
36 | - | ||
37 | -CREATE TABLE `chat_schema`.`Message` ( | ||
38 | - `id` int NOT NULL AUTO_INCREMENT, | ||
39 | - `senderId` int NOT NULL , | ||
40 | - `text` varchar(191) DEFAULT '' , | ||
41 | - PRIMARY KEY (`id`) | ||
42 | -) | ||
43 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
44 | - | ||
45 | -CREATE TABLE `chat_schema`.`_RoomToUser` ( | ||
46 | - `A` int NOT NULL , | ||
47 | - `B` int NOT NULL | ||
48 | -) | ||
49 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
50 | - | ||
51 | -CREATE TABLE `chat_schema`.`_CategoryToRoom` ( | ||
52 | - `A` int NOT NULL , | ||
53 | - `B` int NOT NULL | ||
54 | -) | ||
55 | -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | ||
56 | - | ||
57 | -CREATE UNIQUE INDEX `User.email` ON `chat_schema`.`User`(`email`) | ||
58 | - | ||
59 | -CREATE UNIQUE INDEX `_RoomToUser_AB_unique` ON `chat_schema`.`_RoomToUser`(`A`,`B`) | ||
60 | - | ||
61 | -CREATE INDEX `_RoomToUser_B_index` ON `chat_schema`.`_RoomToUser`(`B`) | ||
62 | - | ||
63 | -CREATE UNIQUE INDEX `_CategoryToRoom_AB_unique` ON `chat_schema`.`_CategoryToRoom`(`A`,`B`) | ||
64 | - | ||
65 | -CREATE INDEX `_CategoryToRoom_B_index` ON `chat_schema`.`_CategoryToRoom`(`B`) | ||
66 | - | ||
67 | -ALTER TABLE `chat_schema`.`Message` ADD FOREIGN KEY (`senderId`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
68 | - | ||
69 | -ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
70 | - | ||
71 | -ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
72 | - | ||
73 | -ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Category`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
74 | - | ||
75 | -ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE | ||
76 | - | ||
77 | -DROP TABLE `chat_schema`.`_categorytoroom`; | ||
78 | - | ||
79 | -DROP TABLE `chat_schema`.`_migration`; | ||
80 | - | ||
81 | -DROP TABLE `chat_schema`.`_roomtouser`; | ||
82 | - | ||
83 | -DROP TABLE `chat_schema`.`category`; | ||
84 | - | ||
85 | -DROP TABLE `chat_schema`.`message`; | ||
86 | - | ||
87 | -DROP TABLE `chat_schema`.`room`; | ||
88 | - | ||
89 | -DROP TABLE `chat_schema`.`test`; | ||
90 | - | ||
91 | -DROP TABLE `chat_schema`.`user`; | ||
92 | -``` | ||
93 | - | ||
94 | -## Changes | ||
95 | - | ||
96 | -```diff | ||
97 | -diff --git schema.prisma schema.prisma | ||
98 | -migration 20200419160117-init..20200424124259-init | ||
99 | ---- datamodel.dml | ||
100 | -+++ datamodel.dml | ||
101 | -@@ -4,18 +4,20 @@ | ||
102 | - } | ||
103 | - datasource db { | ||
104 | - provider = "mysql" | ||
105 | -- url = "***" | ||
106 | -+ url = env("DATABASE_URL") | ||
107 | - } | ||
108 | - model User { | ||
109 | - id Int @default(autoincrement()) @id | ||
110 | - avatarUrl String? | ||
111 | - email String @unique | ||
112 | - password String | ||
113 | - name String | ||
114 | -- loginSecret String? | ||
115 | -+ phoneNumber Int? | ||
116 | -+ emailSecret String? | ||
117 | -+ phoneSecret String? | ||
118 | - bio String? | ||
119 | - rooms Room[] @relation(references: [id]) | ||
120 | - messages Message[] | ||
121 | - createdAt DateTime? @default(now()) | ||
122 | -``` | ||
123 | - | ||
124 | - |
1 | -generator client { | ||
2 | - provider = "prisma-client-js" | ||
3 | - binaryTargets = ["native", "debian-openssl-1.1.x"] | ||
4 | -} | ||
5 | - | ||
6 | -datasource db { | ||
7 | - provider = "mysql" | ||
8 | - url = "***" | ||
9 | -} | ||
10 | - | ||
11 | -model User { | ||
12 | - id Int @default(autoincrement()) @id | ||
13 | - avatarUrl String? | ||
14 | - email String @unique | ||
15 | - password String | ||
16 | - name String | ||
17 | - phoneNumber Int? | ||
18 | - emailSecret String? | ||
19 | - phoneSecret String? | ||
20 | - bio String? | ||
21 | - rooms Room[] @relation(references: [id]) | ||
22 | - messages Message[] | ||
23 | - createdAt DateTime? @default(now()) | ||
24 | -} | ||
25 | - | ||
26 | -model Room { | ||
27 | - id Int @default(autoincrement()) @id | ||
28 | - participants User[] @relation(references: [id]) | ||
29 | - categories Category[] @relation(references: [id]) | ||
30 | -} | ||
31 | - | ||
32 | -model Category { | ||
33 | - id Int @default(autoincrement()) @id | ||
34 | - name String? @default("") | ||
35 | - rooms Room[] @relation(references: [id]) | ||
36 | -} | ||
37 | - | ||
38 | -model Message { | ||
39 | - id Int @default(autoincrement()) @id | ||
40 | - text String? @default("") | ||
41 | - sender User @relation(fields: [senderId], references: [id]) | ||
42 | - senderId Int | ||
43 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -{ | ||
2 | - "version": "0.3.14-fixed", | ||
3 | - "steps": [ | ||
4 | - { | ||
5 | - "tag": "CreateField", | ||
6 | - "model": "User", | ||
7 | - "field": "phoneNumber", | ||
8 | - "type": "Int", | ||
9 | - "arity": "Optional" | ||
10 | - }, | ||
11 | - { | ||
12 | - "tag": "CreateField", | ||
13 | - "model": "User", | ||
14 | - "field": "emailSecret", | ||
15 | - "type": "String", | ||
16 | - "arity": "Optional" | ||
17 | - }, | ||
18 | - { | ||
19 | - "tag": "CreateField", | ||
20 | - "model": "User", | ||
21 | - "field": "phoneSecret", | ||
22 | - "type": "String", | ||
23 | - "arity": "Optional" | ||
24 | - }, | ||
25 | - { | ||
26 | - "tag": "DeleteField", | ||
27 | - "model": "User", | ||
28 | - "field": "loginSecret" | ||
29 | - } | ||
30 | - ] | ||
31 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
back/prisma/migrations/migrate.lock
deleted
100644 → 0
1 | -# IF THERE'S A GIT CONFLICT IN THIS FILE, DON'T SOLVE IT MANUALLY! | ||
2 | -# INSTEAD EXECUTE `prisma migrate fix` | ||
3 | -# Prisma Migrate lockfile v1 | ||
4 | -# Read more about conflict resolution here: TODO | ||
5 | - | ||
6 | -20200419160117-init | ||
7 | -20200424124259-init | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | generator client { | 1 | generator client { |
2 | provider = "prisma-client-js" | 2 | provider = "prisma-client-js" |
3 | - binaryTargets = ["native", "debian-openssl-1.1.x"] | 3 | + binaryTargets = ["native", "debian-openssl-1.1.x", "darwin"] |
4 | } | 4 | } |
5 | 5 | ||
6 | datasource db { | 6 | datasource db { |
... | @@ -10,16 +10,17 @@ datasource db { | ... | @@ -10,16 +10,17 @@ datasource db { |
10 | 10 | ||
11 | model User { | 11 | model User { |
12 | id Int @default(autoincrement()) @id | 12 | id Int @default(autoincrement()) @id |
13 | - avatarUrl String? | 13 | + avatarUrl String? @default("") |
14 | email String @unique | 14 | email String @unique |
15 | password String | 15 | password String |
16 | name String | 16 | name String |
17 | - phoneNumber String? @unique | 17 | + phoneNum String @default("") @unique |
18 | - emailSecret String? | 18 | + emailSecret String? @default("") |
19 | - phoneSecret String? | 19 | + phoneSecret String? @default("") |
20 | - bio String? | 20 | + bio String? @default("") |
21 | rooms Room[] @relation(references: [id]) | 21 | rooms Room[] @relation(references: [id]) |
22 | - messages Message[] | 22 | + sendMessage Message[] @relation("Sender") |
23 | + receiveMessage Message[] @relation("Receiver") | ||
23 | createdAt DateTime? @default(now()) | 24 | createdAt DateTime? @default(now()) |
24 | } | 25 | } |
25 | 26 | ||
... | @@ -38,6 +39,9 @@ model Category { | ... | @@ -38,6 +39,9 @@ model Category { |
38 | model Message { | 39 | model Message { |
39 | id Int @default(autoincrement()) @id | 40 | id Int @default(autoincrement()) @id |
40 | text String? @default("") | 41 | text String? @default("") |
41 | - sender User @relation(fields: [senderId], references: [id]) | 42 | + from User[] @relation("Sender", references: [id]) |
42 | - senderId Int | 43 | + to User[] @relation("Receiver", references: [id]) |
44 | + room Room @relation(fields: [roomId], references: [id]) | ||
45 | + roomId Int | ||
46 | + createdAt DateTime? @default(now()) | ||
43 | } | 47 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
back/src/api/Chat/newMessage/newMessage.js
0 → 100644
1 | +import { isAuthenticated, prisma } from "../../../utils"; | ||
2 | +import { ONE_TO_ONE_MESSAGE } from "../../../topics"; | ||
3 | + | ||
4 | +export default { | ||
5 | + Mutation: { | ||
6 | + newMessage: async (_, args, { request, pubsub }) => { | ||
7 | + isAuthenticated(request); | ||
8 | + const { user } = request; | ||
9 | + const { receiverId, message, roomId } = args; | ||
10 | + let room = await prisma.room.findOne({ | ||
11 | + where: { | ||
12 | + id: roomId, | ||
13 | + }, | ||
14 | + }); | ||
15 | + room = await prisma.room.update({ | ||
16 | + where: { | ||
17 | + id: roomId, | ||
18 | + }, | ||
19 | + data: { | ||
20 | + participants: { | ||
21 | + connect: [{ id: user.id }, { id: receiverId }], | ||
22 | + }, | ||
23 | + }, | ||
24 | + }); | ||
25 | + // 방이 없는 경우 | ||
26 | + if (room === undefined || room === null) { | ||
27 | + // 보내는 사람과 받는 사람이 다른 경우 | ||
28 | + if (user.id !== receiverId) { | ||
29 | + room = await prisma.room.create({ | ||
30 | + data: { | ||
31 | + participants: { | ||
32 | + connect: [{ id: receiverId }, { id: user.id }], | ||
33 | + }, | ||
34 | + }, | ||
35 | + }); | ||
36 | + } else { | ||
37 | + // 자기 자신에게 보내는 경우 | ||
38 | + room = await prisma.room.create({ | ||
39 | + data: { | ||
40 | + participants: { | ||
41 | + connect: [{ id: user.id }], | ||
42 | + }, | ||
43 | + }, | ||
44 | + }); | ||
45 | + } | ||
46 | + } | ||
47 | + if (!room) { | ||
48 | + throw new Error("There is no room"); | ||
49 | + } | ||
50 | + const subMessage = await prisma.message.create({ | ||
51 | + data: { | ||
52 | + text: message, | ||
53 | + to: { | ||
54 | + connect: { | ||
55 | + id: receiverId, | ||
56 | + }, | ||
57 | + }, | ||
58 | + from: { | ||
59 | + connect: { | ||
60 | + id: user.id, | ||
61 | + }, | ||
62 | + }, | ||
63 | + room: { | ||
64 | + connect: { | ||
65 | + id: room.id, | ||
66 | + }, | ||
67 | + }, | ||
68 | + }, | ||
69 | + }); | ||
70 | + console.log(subMessage); | ||
71 | + pubsub.publish(ONE_TO_ONE_MESSAGE, subMessage); | ||
72 | + return subMessage; | ||
73 | + }, | ||
74 | + }, | ||
75 | +}; |
1 | -import { prisma } from "../../../utils"; | 1 | +import { ONE_TO_ONE_MESSAGE } from "../../../topics"; |
2 | 2 | ||
3 | export default { | 3 | export default { |
4 | Subscription: { | 4 | Subscription: { |
5 | - sendMessage: async (_, args) => { | 5 | + subMessage: { |
6 | - const { message } = args; | 6 | + subscribe: async (_, __, { pubsub }) => { |
7 | + return pubsub.asyncIterator(ONE_TO_ONE_MESSAGE); | ||
8 | + }, | ||
7 | }, | 9 | }, |
8 | }, | 10 | }, |
9 | }; | 11 | }; | ... | ... |
back/src/api/Room/createRoom/createRoom.js
0 → 100644
1 | +import { prisma } from "../../../utils"; | ||
2 | + | ||
3 | +export default { | ||
4 | + Mutation: { | ||
5 | + createRoom: async (_, args) => { | ||
6 | + const { participantsId, categories } = args; | ||
7 | + let newRoom, participantId; | ||
8 | + if (participantsId !== undefined) { | ||
9 | + newRoom = await prisma.room.create({ | ||
10 | + data: { | ||
11 | + participants: { | ||
12 | + connect: { | ||
13 | + id: (participantId = participantsId.forEach( | ||
14 | + (cur, _, __) => cur | ||
15 | + )), | ||
16 | + }, | ||
17 | + }, | ||
18 | + }, | ||
19 | + }); | ||
20 | + } | ||
21 | + if (categories !== undefined) { | ||
22 | + newRoom = await prisma.room.create({ | ||
23 | + data: { | ||
24 | + categories: { | ||
25 | + connect: { | ||
26 | + id: (category = categories.forEach((cur, _, __) => cur)), | ||
27 | + }, | ||
28 | + }, | ||
29 | + }, | ||
30 | + }); | ||
31 | + } | ||
32 | + return newRoom; | ||
33 | + }, | ||
34 | + }, | ||
35 | +}; |
1 | -import { prisma, generateToken } from "../../../utils"; | 1 | +import { prisma, generateToken, changePhoneNumber } from "../../../utils"; |
2 | import bcrypt from "bcryptjs"; | 2 | import bcrypt from "bcryptjs"; |
3 | 3 | ||
4 | export default { | 4 | export default { |
5 | Mutation: { | 5 | Mutation: { |
6 | createAccount: async (_, args) => { | 6 | createAccount: async (_, args) => { |
7 | - const { name, password, email, bio = "", avatarUrl = "" } = args; | 7 | + const { name, password, email, bio, avatarUrl, phoneNum } = args; |
8 | const encryptPw = await bcrypt.hash(password, 10); | 8 | const encryptPw = await bcrypt.hash(password, 10); |
9 | + // TODO: Find user's country code and change new phone number value | ||
10 | + const newPhoneNumber = await changePhoneNumber(phoneNum, "+82"); | ||
9 | const user = await prisma.user.create({ | 11 | const user = await prisma.user.create({ |
10 | data: { | 12 | data: { |
11 | name, | 13 | name, |
... | @@ -13,6 +15,7 @@ export default { | ... | @@ -13,6 +15,7 @@ export default { |
13 | bio, | 15 | bio, |
14 | avatarUrl, | 16 | avatarUrl, |
15 | password: encryptPw, | 17 | password: encryptPw, |
18 | + phoneNum: newPhoneNumber, | ||
16 | }, | 19 | }, |
17 | }); | 20 | }); |
18 | const token = generateToken(user.id); | 21 | const token = generateToken(user.id); | ... | ... |
back/src/api/User/deleteUser/deleteUser.js
0 → 100644
1 | +import { isAuthenticated, prisma } from "../../../utils"; | ||
2 | + | ||
3 | +export default { | ||
4 | + Mutation: { | ||
5 | + deleteUser: async (_, args, { request }) => { | ||
6 | + isAuthenticated(request); | ||
7 | + const { email } = args; | ||
8 | + return prisma.user.delete({ | ||
9 | + where: { | ||
10 | + email, | ||
11 | + }, | ||
12 | + }); | ||
13 | + }, | ||
14 | + }, | ||
15 | +}; |
1 | -import { prisma } from "../../../utils"; | 1 | +import { isAuthenticated, prisma } from "../../../utils"; |
2 | 2 | ||
3 | export default { | 3 | export default { |
4 | Mutation: { | 4 | Mutation: { |
5 | - editProfile: async (_, args, { request }) => {}, | 5 | + editProfile: async (_, args, { request }) => { |
6 | + isAuthenticated(request); | ||
7 | + const { name, email, avatarUrl, bio, phoneNum } = args; | ||
8 | + const user = await prisma.user.findOne({ | ||
9 | + where: { | ||
10 | + email, | ||
11 | + }, | ||
12 | + }); | ||
13 | + if (user) { | ||
14 | + const updateUser = await prisma.user.update({ | ||
15 | + where: { | ||
16 | + email, | ||
17 | + }, | ||
18 | + data: { | ||
19 | + name, | ||
20 | + bio, | ||
21 | + avatarUrl, | ||
22 | + phoneNum, | ||
23 | + }, | ||
24 | + }); | ||
25 | + return updateUser; | ||
26 | + } else { | ||
27 | + throw new Error("There is no such a user"); | ||
28 | + } | ||
29 | + }, | ||
6 | }, | 30 | }, |
7 | }; | 31 | }; | ... | ... |
1 | -import { prisma, generateSecret } from "../../../utils"; | 1 | +import { prisma, isAuthenticated, changePhoneNumber } from "../../../utils"; |
2 | import twilio from "twilio"; | 2 | import twilio from "twilio"; |
3 | 3 | ||
4 | export default { | 4 | export default { |
5 | Query: { | 5 | Query: { |
6 | findEmail: async (_, args) => { | 6 | findEmail: async (_, args) => { |
7 | - const { phoneNumber } = args; | 7 | + const { phoneNum } = args; |
8 | + const changeNum = await changePhoneNumber(phoneNum, "+82"); | ||
9 | + const user = await prisma.user.findOne({ | ||
10 | + where: { | ||
11 | + phoneNum: changeNum, | ||
12 | + }, | ||
13 | + }); | ||
14 | + if (user && isAuthenticated) { | ||
8 | const accountSid = process.env.TWILIO_SID; | 15 | const accountSid = process.env.TWILIO_SID; |
9 | const authToken = process.env.TWILIO_AUTH_TOKEN; | 16 | const authToken = process.env.TWILIO_AUTH_TOKEN; |
17 | + const twilioPhone = process.env.TWILIO_PHONE_NUMBER; | ||
10 | const client = new twilio(accountSid, authToken); | 18 | const client = new twilio(accountSid, authToken); |
11 | - const randomWords = generateSecret(); | ||
12 | client.messages | 19 | client.messages |
13 | .create({ | 20 | .create({ |
14 | - body: `Please enter this word : ${randomWords}`, | 21 | + body: `Your Email is : ${user.email}`, |
15 | - to: `${phoneNumber}`, | 22 | + to: `${changeNum}`, |
16 | - from: "KhuChat", | 23 | + from: `${twilioPhone}`, |
17 | }) | 24 | }) |
18 | - .then((message) => console.log(message.sid)); | 25 | + .then((message) => { |
19 | - | 26 | + console.log(message.sid); |
20 | - const user = await prisma.user.update({ | ||
21 | - where: { | ||
22 | - phoneNumber, | ||
23 | - }, | ||
24 | - data: { | ||
25 | - phoneSecret: randomWords, | ||
26 | - }, | ||
27 | }); | 27 | }); |
28 | - return user; | 28 | + return true; |
29 | + } else { | ||
30 | + throw new Error("You need to login first"); | ||
31 | + } | ||
29 | }, | 32 | }, |
30 | }, | 33 | }, |
31 | }; | 34 | }; | ... | ... |
1 | -import { prisma, generateSecret, sendSecretMail } from "../../../utils"; | 1 | +import { prisma, generateSecret, sendEmail } from "../../../utils"; |
2 | import bcrypt from "bcryptjs"; | 2 | import bcrypt from "bcryptjs"; |
3 | 3 | ||
4 | export default { | 4 | export default { |
... | @@ -6,15 +6,14 @@ export default { | ... | @@ -6,15 +6,14 @@ export default { |
6 | requestEmailSecret: async (_, args) => { | 6 | requestEmailSecret: async (_, args) => { |
7 | const { email } = args; | 7 | const { email } = args; |
8 | const emailSecret = generateSecret(); | 8 | const emailSecret = generateSecret(); |
9 | - const encryptSecret = await bcrypt.hash(emailSecret, 10); | ||
10 | try { | 9 | try { |
11 | - await sendSecretMail(email, emailSecret); | 10 | + await sendEmail(email, emailSecret); |
12 | await prisma.user.update({ | 11 | await prisma.user.update({ |
13 | where: { | 12 | where: { |
14 | email, | 13 | email, |
15 | }, | 14 | }, |
16 | data: { | 15 | data: { |
17 | - emailSecret: encryptSecret, | 16 | + emailSecret, |
18 | }, | 17 | }, |
19 | }); | 18 | }); |
20 | return true; | 19 | return true; | ... | ... |
1 | -import { prisma } from "../../../utils"; | 1 | +import { prisma, isAuthenticated } from "../../../utils"; |
2 | import bcrypt from "bcryptjs"; | 2 | import bcrypt from "bcryptjs"; |
3 | 3 | ||
4 | export default { | 4 | export default { |
5 | Mutation: { | 5 | Mutation: { |
6 | - resetPassword: async (_, args) => { | 6 | + resetPassword: async (_, args, { request }) => { |
7 | - const { secret, email, passwordOne, passwordTwo } = args; | 7 | + isAuthenticated(request); |
8 | + const { emailSecret, email, passwordOne, passwordTwo } = args; | ||
8 | const user = await prisma.user.findOne({ | 9 | const user = await prisma.user.findOne({ |
9 | where: { | 10 | where: { |
10 | email, | 11 | email, |
11 | }, | 12 | }, |
12 | }); | 13 | }); |
13 | - const encryptSecret = await bcrypt.hash(user.emailSecret, 10); | 14 | + if (user.emailSecret !== emailSecret) { |
14 | - if (encryptSecret !== secret) { | ||
15 | throw new Error( | 15 | throw new Error( |
16 | "not vaild secret value!, input another value or resend email" | 16 | "not vaild secret value!, input another value or resend email" |
17 | ); | 17 | ); |
... | @@ -20,13 +20,14 @@ export default { | ... | @@ -20,13 +20,14 @@ export default { |
20 | // For check new password is right, the two things must be same. | 20 | // For check new password is right, the two things must be same. |
21 | throw new Error("the two password don't match each other, try again"); | 21 | throw new Error("the two password don't match each other, try again"); |
22 | } else { | 22 | } else { |
23 | + const encyptPW = await bcrypt.hash(passwordOne, 10); | ||
23 | await prisma.user.update({ | 24 | await prisma.user.update({ |
24 | where: { | 25 | where: { |
25 | email, | 26 | email, |
26 | }, | 27 | }, |
27 | data: { | 28 | data: { |
28 | emailSecret: "", | 29 | emailSecret: "", |
29 | - password: passwordOne, | 30 | + password: encyptPW, |
30 | }, | 31 | }, |
31 | }); | 32 | }); |
32 | } | 33 | } | ... | ... |
... | @@ -3,8 +3,24 @@ import { prisma } from "../../../utils"; | ... | @@ -3,8 +3,24 @@ import { prisma } from "../../../utils"; |
3 | export default { | 3 | export default { |
4 | Query: { | 4 | Query: { |
5 | searchUser: async (_, args) => { | 5 | searchUser: async (_, args) => { |
6 | - const { name } = args; | 6 | + const { term } = args; |
7 | - const user = await prisma.user.findOne({}); | 7 | + try { |
8 | + return prisma.user.findMany({ | ||
9 | + where: { | ||
10 | + OR: [ | ||
11 | + { | ||
12 | + name: { contains: term }, | ||
13 | + }, | ||
14 | + { | ||
15 | + email: { contains: term }, | ||
16 | + }, | ||
17 | + ], | ||
18 | + }, | ||
19 | + }); | ||
20 | + } catch (error) { | ||
21 | + console.log(error); | ||
22 | + return null; | ||
23 | + } | ||
8 | }, | 24 | }, |
9 | }, | 25 | }, |
10 | }; | 26 | }; | ... | ... |
1 | -import { prisma } from "../../../utils"; | 1 | +import { prisma, isAuthenticated } from "../../../utils"; |
2 | 2 | ||
3 | export default { | 3 | export default { |
4 | Query: { | 4 | Query: { |
5 | - seeProfile: async (_, args) => { | 5 | + seeProfile: async (_, args, { request }) => { |
6 | - const { id } = args; | 6 | + isAuthenticated(request); |
7 | + const { email } = args; | ||
8 | + return prisma.user.findOne({ | ||
9 | + where: { | ||
10 | + email, | ||
11 | + }, | ||
12 | + }); | ||
7 | }, | 13 | }, |
8 | }, | 14 | }, |
9 | }; | 15 | }; | ... | ... |
1 | type User { | 1 | type User { |
2 | id: ID! | 2 | id: ID! |
3 | avatarUrl: String | 3 | avatarUrl: String |
4 | - name: String | 4 | + name: String! |
5 | email: String! | 5 | email: String! |
6 | - password: String | 6 | + password: String! |
7 | - phoneNumber: String | ||
8 | emailSecret: String | 7 | emailSecret: String |
8 | + phoneNum: String! | ||
9 | phoneSecret: String | 9 | phoneSecret: String |
10 | bio: String | 10 | bio: String |
11 | rooms: [Room] | 11 | rooms: [Room] |
12 | createdAt: String | 12 | createdAt: String |
13 | messages: [Message] | 13 | messages: [Message] |
14 | + from: Message | ||
15 | + to: [Message] | ||
14 | } | 16 | } |
15 | 17 | ||
16 | type Room { | 18 | type Room { |
... | @@ -27,8 +29,12 @@ type Category { | ... | @@ -27,8 +29,12 @@ type Category { |
27 | 29 | ||
28 | type Message { | 30 | type Message { |
29 | id: ID! | 31 | id: ID! |
30 | - text: String | 32 | + text: String! |
31 | - sender: User | 33 | + from: User |
34 | + to: [User] | ||
35 | + room: Room! | ||
36 | + createdAt: String | ||
37 | + updatedAt: String | ||
32 | } | 38 | } |
33 | 39 | ||
34 | type AuthPayload { | 40 | type AuthPayload { | ... | ... |
back/src/passport.js
0 → 100644
1 | +import passport from "passport"; | ||
2 | +import { Strategy, ExtractJwt } from "passport-jwt"; | ||
3 | +import { prisma } from "./utils"; | ||
4 | + | ||
5 | +const JWTOptions = { | ||
6 | + jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), | ||
7 | + secretOrKey: process.env.JWT_SECRET, | ||
8 | +}; | ||
9 | + | ||
10 | +const verifyUser = async (payload, done) => { | ||
11 | + try { | ||
12 | + const user = await prisma.user.findOne({ | ||
13 | + where: { | ||
14 | + id: payload.id, | ||
15 | + }, | ||
16 | + }); | ||
17 | + if (user !== null) { | ||
18 | + return done(null, user); | ||
19 | + } else { | ||
20 | + return done(null, false); | ||
21 | + } | ||
22 | + } catch (error) { | ||
23 | + return done(null, false); | ||
24 | + } | ||
25 | +}; | ||
26 | + | ||
27 | +export const authenticateJWT = (req, res, next) => { | ||
28 | + passport.authenticate("jwt", { session: false }, (error, user) => { | ||
29 | + if (user) { | ||
30 | + req.user = user; | ||
31 | + } | ||
32 | + next(); | ||
33 | + })(req, res, next); | ||
34 | +}; | ||
35 | + | ||
36 | +passport.use(new Strategy(JWTOptions, verifyUser)); | ||
37 | +passport.initialize(); |
1 | import dotenv from "dotenv"; | 1 | import dotenv from "dotenv"; |
2 | dotenv.config(); | 2 | dotenv.config(); |
3 | -import { GraphQLServer } from "graphql-yoga"; | 3 | +import { GraphQLServer, PubSub } from "graphql-yoga"; |
4 | import morgan from "morgan"; | 4 | import morgan from "morgan"; |
5 | import schema from "./schema"; | 5 | import schema from "./schema"; |
6 | -import { prisma } from "./utils"; | 6 | +import "./passport"; |
7 | +import { authenticateJWT } from "./passport"; | ||
7 | 8 | ||
8 | const PORT = process.env.PORT; | 9 | const PORT = process.env.PORT; |
9 | 10 | ||
11 | +const pubsub = new PubSub(); | ||
12 | + | ||
10 | const server = new GraphQLServer({ | 13 | const server = new GraphQLServer({ |
11 | schema, | 14 | schema, |
12 | - context: (request) => { | 15 | + context: ({ request }) => ({ request, pubsub }), |
13 | - return { | ||
14 | - ...request, | ||
15 | - prisma, | ||
16 | - }; | ||
17 | - }, | ||
18 | }); | 16 | }); |
19 | 17 | ||
20 | server.express.use(morgan("dev")); | 18 | server.express.use(morgan("dev")); |
19 | +server.express.use(authenticateJWT); | ||
21 | 20 | ||
22 | server.start(() => console.log(`server is running : http://localhost:${PORT}`)); | 21 | server.start(() => console.log(`server is running : http://localhost:${PORT}`)); | ... | ... |
back/src/topics.js
0 → 100644
1 | +export const ONE_TO_ONE_MESSAGE = "one-to-one message"; |
1 | +import dotenv from "dotenv"; | ||
2 | +dotenv.config(); | ||
1 | import { PrismaClient } from "@prisma/client"; | 3 | import { PrismaClient } from "@prisma/client"; |
2 | import { nouns, adjectives } from "./words"; | 4 | import { nouns, adjectives } from "./words"; |
3 | import jwt from "jsonwebtoken"; | 5 | import jwt from "jsonwebtoken"; |
4 | -import nodemailer from "nodemailer"; | 6 | +import sgMail from "@sendgrid/mail"; |
5 | -import sgTransport from "nodemailer-sendgrid-transport"; | 7 | +sgMail.setApiKey(process.env.SENDGRID_API_KEY); |
6 | 8 | ||
7 | export const prisma = new PrismaClient(); | 9 | export const prisma = new PrismaClient(); |
8 | 10 | ||
... | @@ -16,30 +18,45 @@ export const getUserId = (context) => { | ... | @@ -16,30 +18,45 @@ export const getUserId = (context) => { |
16 | throw new Error("There is no vaild user"); | 18 | throw new Error("There is no vaild user"); |
17 | }; | 19 | }; |
18 | 20 | ||
21 | +export const isAuthenticated = (request) => { | ||
22 | + if (!request.user) { | ||
23 | + throw new Error("You need to login First"); | ||
24 | + } | ||
25 | + return; | ||
26 | +}; | ||
27 | + | ||
28 | +export const changePhoneNumber = (phoneNum, locationNum) => { | ||
29 | + var leftStr = locationNum; | ||
30 | + var rightStr = phoneNum.slice(1, phoneNum.length); | ||
31 | + var newStr = leftStr + rightStr; | ||
32 | + return newStr; | ||
33 | +}; | ||
34 | + | ||
19 | export const generateSecret = () => { | 35 | export const generateSecret = () => { |
20 | const randomNumber = Math.floor(Math.random() * adjectives.length); | 36 | const randomNumber = Math.floor(Math.random() * adjectives.length); |
21 | return `${adjectives[randomNumber]} ${nouns[randomNumber]}`; | 37 | return `${adjectives[randomNumber]} ${nouns[randomNumber]}`; |
22 | }; | 38 | }; |
23 | 39 | ||
24 | -const sendEmail = (email) => { | 40 | +export const generateToken = (id) => jwt.sign({ id }, process.env.JWT_SECRET); |
25 | - const options = { | ||
26 | - auth: { | ||
27 | - api_user: process.env.SENDGRID_USERNAME, | ||
28 | - api_password: process.env.SENDGRID_PASSWORD, | ||
29 | - }, | ||
30 | - }; | ||
31 | - const client = nodemailer.createTransport(sgTransport(options)); | ||
32 | - return client.sendMail(email); | ||
33 | -}; | ||
34 | 41 | ||
35 | -export const sendSecretMail = (address, emailSecret, value) => { | 42 | +export const createEMessage = (userEmail, emailSecret) => { |
36 | - const email = { | 43 | + const emailMessage = { |
37 | - from: "vel1024@khu.ac.kr", | 44 | + to: `${userEmail}`, |
38 | - to: address, | 45 | + from: "KhuChat@KhuChat.com", |
39 | - subject: `Authentication key for forgotten ${value}`, | 46 | + subject: "Email from KhuChat", |
40 | - html: `Hello, This is khuchat, authentication key is <b>${emailSecret}</b>, copy and paste it, Thanks.`, | 47 | + html: `We send email for reset your password, enter this key : <b>${emailSecret}</b>`, |
41 | }; | 48 | }; |
42 | - return sendEmail(email); | 49 | + return emailMessage; |
43 | }; | 50 | }; |
44 | 51 | ||
45 | -export const generateToken = (id) => jwt.sign({ id }, process.env.JWT_SECRET); | 52 | +export const sendEmail = (userEmail, emailSecret) => { |
53 | + sgMail.send(createEMessage(userEmail, emailSecret)).then( | ||
54 | + () => {}, | ||
55 | + (error) => { | ||
56 | + console.error(error); | ||
57 | + if (error.response) { | ||
58 | + console.error(error.response.body); | ||
59 | + } | ||
60 | + } | ||
61 | + ); | ||
62 | +}; | ... | ... |
... | @@ -1174,6 +1174,35 @@ | ... | @@ -1174,6 +1174,35 @@ |
1174 | "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", | 1174 | "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", |
1175 | "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" | 1175 | "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" |
1176 | }, | 1176 | }, |
1177 | + "@fortawesome/fontawesome-common-types": { | ||
1178 | + "version": "0.2.28", | ||
1179 | + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.28.tgz", | ||
1180 | + "integrity": "sha512-gtis2/5yLdfI6n0ia0jH7NJs5i/Z/8M/ZbQL6jXQhCthEOe5Cr5NcQPhgTvFxNOtURE03/ZqUcEskdn2M+QaBg==" | ||
1181 | + }, | ||
1182 | + "@fortawesome/fontawesome-svg-core": { | ||
1183 | + "version": "1.2.28", | ||
1184 | + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.28.tgz", | ||
1185 | + "integrity": "sha512-4LeaNHWvrneoU0i8b5RTOJHKx7E+y7jYejplR7uSVB34+mp3Veg7cbKk7NBCLiI4TyoWS1wh9ZdoyLJR8wSAdg==", | ||
1186 | + "requires": { | ||
1187 | + "@fortawesome/fontawesome-common-types": "^0.2.28" | ||
1188 | + } | ||
1189 | + }, | ||
1190 | + "@fortawesome/free-solid-svg-icons": { | ||
1191 | + "version": "5.13.0", | ||
1192 | + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.13.0.tgz", | ||
1193 | + "integrity": "sha512-IHUgDJdomv6YtG4p3zl1B5wWf9ffinHIvebqQOmV3U+3SLw4fC+LUCCgwfETkbTtjy5/Qws2VoVf6z/ETQpFpg==", | ||
1194 | + "requires": { | ||
1195 | + "@fortawesome/fontawesome-common-types": "^0.2.28" | ||
1196 | + } | ||
1197 | + }, | ||
1198 | + "@fortawesome/react-fontawesome": { | ||
1199 | + "version": "0.1.9", | ||
1200 | + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.9.tgz", | ||
1201 | + "integrity": "sha512-49V3WNysLZU5fZ3sqSuys4nGRytsrxJktbv3vuaXkEoxv22C6T7TEG0TW6+nqVjMnkfCQd5xOnmJoZHMF78tOw==", | ||
1202 | + "requires": { | ||
1203 | + "prop-types": "^15.7.2" | ||
1204 | + } | ||
1205 | + }, | ||
1177 | "@hapi/address": { | 1206 | "@hapi/address": { |
1178 | "version": "2.1.4", | 1207 | "version": "2.1.4", |
1179 | "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", | 1208 | "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", | ... | ... |
... | @@ -3,6 +3,9 @@ | ... | @@ -3,6 +3,9 @@ |
3 | "version": "0.1.0", | 3 | "version": "0.1.0", |
4 | "private": true, | 4 | "private": true, |
5 | "dependencies": { | 5 | "dependencies": { |
6 | + "@fortawesome/fontawesome-svg-core": "^1.2.28", | ||
7 | + "@fortawesome/free-solid-svg-icons": "^5.13.0", | ||
8 | + "@fortawesome/react-fontawesome": "^0.1.9", | ||
6 | "@testing-library/jest-dom": "^4.2.4", | 9 | "@testing-library/jest-dom": "^4.2.4", |
7 | "@testing-library/react": "^9.3.2", | 10 | "@testing-library/react": "^9.3.2", |
8 | "@testing-library/user-event": "^7.1.2", | 11 | "@testing-library/user-event": "^7.1.2", | ... | ... |
front/public/image/coding.jpg
0 → 100644
672 KB
front/public/image/login.jpg
0 → 100644
1.6 MB
front/public/image/main2.jpg
0 → 100644
9.03 MB
front/public/image/question.jpg
0 → 100644
807 KB
front/public/image/signin.jpg
0 → 100644
861 KB
3.14 MB
front/public/image/welcome.jpg
0 → 100644
2.55 MB
... | @@ -7,6 +7,9 @@ const Header = Styled.div` | ... | @@ -7,6 +7,9 @@ const Header = Styled.div` |
7 | justify-content: center; | 7 | justify-content: center; |
8 | margin: 10px 0px; | 8 | margin: 10px 0px; |
9 | font-size: 25px; | 9 | font-size: 25px; |
10 | + font-family: 'Source Code Pro'; | ||
11 | + font-weight: 200; | ||
12 | + font-size: 40px; | ||
10 | `; | 13 | `; |
11 | 14 | ||
12 | export default () => { | 15 | export default () => { | ... | ... |
1 | import React from "react"; | 1 | import React from "react"; |
2 | import Styled from "styled-components"; | 2 | import Styled from "styled-components"; |
3 | +//import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; | ||
4 | +//import { faList, faAddressBook } from "@fortawesome/free-solid-svg-icons"; | ||
5 | +import PropTypes from "prop-types"; | ||
3 | 6 | ||
4 | -const MenuBox = Styled.div` | 7 | +const Container = Styled.div` |
5 | - width: 30%; | 8 | + width: 400px; |
6 | - display: flex; | 9 | + height: 100%; |
7 | - justify-content: center; | ||
8 | - align-items: center; | ||
9 | - margin-top: 10px; | ||
10 | - border-top: 1px solid black; | ||
11 | - border-right: 1px solid black; | ||
12 | `; | 10 | `; |
13 | 11 | ||
14 | -const MenuList = Styled.ol` | 12 | +const Switch = ({ checked = false, isChecked, onClick }) => ( |
15 | -`; | 13 | + <Container checked={checked} onClick={onClick} isChecked={isChecked} /> |
16 | - | 14 | +); |
17 | -const MenuItem = Styled.li` | ||
18 | -`; | ||
19 | 15 | ||
20 | -const Link = Styled.a` | 16 | +Switch.propTypes = { |
21 | -`; | 17 | + checked: PropTypes.bool, |
18 | + isChecked: PropTypes.func, | ||
19 | + onClick: PropTypes.func, | ||
20 | +}; | ||
22 | 21 | ||
23 | export default () => { | 22 | export default () => { |
24 | - return ( | 23 | + return <Switch />; |
25 | - <MenuBox> | ||
26 | - <MenuList> | ||
27 | - <MenuItem> | ||
28 | - <Link href="">1. What is KHU Chat?</Link> | ||
29 | - </MenuItem> | ||
30 | - </MenuList> | ||
31 | - </MenuBox> | ||
32 | - ); | ||
33 | }; | 24 | }; | ... | ... |
front/src/Hooks/useSwitch.js
0 → 100644
... | @@ -2,6 +2,10 @@ import { createGlobalStyle } from "styled-components"; | ... | @@ -2,6 +2,10 @@ import { createGlobalStyle } from "styled-components"; |
2 | import reset from "styled-reset"; | 2 | import reset from "styled-reset"; |
3 | 3 | ||
4 | export default createGlobalStyle` | 4 | export default createGlobalStyle` |
5 | + @import url('https://fonts.googleapis.com/css2?family=Nanum+Brush+Script&display=swap'); | ||
6 | + @import url('https://fonts.googleapis.com/css2?family=Do+Hyeon&family=Nanum+Gothic+Coding:wght@400;700&family=Nanum+Pen+Script&family=Sunflower:wght@300;500;700&display=swap'); | ||
7 | + @import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,900&display=swap'); | ||
8 | + | ||
5 | ${reset} | 9 | ${reset} |
6 | * { | 10 | * { |
7 | box-sizing: border-box; | 11 | box-sizing: border-box; | ... | ... |
package-lock.json
0 → 100644
1 | +{ | ||
2 | + "name": "capstone", | ||
3 | + "version": "1.0.0", | ||
4 | + "lockfileVersion": 1, | ||
5 | + "requires": true, | ||
6 | + "dependencies": { | ||
7 | + "@prisma/cli": { | ||
8 | + "version": "2.0.0-beta.3", | ||
9 | + "resolved": "https://registry.npmjs.org/@prisma/cli/-/cli-2.0.0-beta.3.tgz", | ||
10 | + "integrity": "sha512-VZxeTLLMenhkAyaY4tvTqChcW6QtUkiVvZj7N6A2vi6HsM1Tnf0fIZsiH1h3e/LEnaaDGIUC8F4Gkh2SeyeyCg==", | ||
11 | + "dev": true | ||
12 | + } | ||
13 | + } | ||
14 | +} |
-
Please register or login to post a comment