Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
cbdiscord
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Geovanny E. Vera Pazmino
cbdiscord
Commits
aaea74a2
Commit
aaea74a2
authored
May 13, 2020
by
Geovanny
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Login/register api added.
parent
64e546a6
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
533 additions
and
32 deletions
+533
-32
package-lock.json
server/package-lock.json
+402
-0
package.json
server/package.json
+1
-0
model.js
server/user/model.js
+17
-0
route.js
server/user/route.js
+38
-0
crypto.js
server/util/crypto.js
+10
-8
controller.js
web/login/controller.js
+7
-8
index.html
web/login/index.html
+1
-1
register_view.js
web/login/register_view.js
+8
-6
sync.js
web/login/sync.js
+0
-3
navbar.html
web/navbar/navbar.html
+7
-0
navbar.js
web/navbar/navbar.js
+16
-4
navbar.scss
web/sass/navbar.scss
+10
-0
main.css
web/stylesheets/main.css
+7
-0
main.css.map
web/stylesheets/main.css.map
+1
-1
navbar.css
web/stylesheets/navbar.css
+7
-0
navbar.css.map
web/stylesheets/navbar.css.map
+1
-1
No files found.
server/package-lock.json
View file @
aaea74a2
...
@@ -48,6 +48,11 @@
...
@@ -48,6 +48,11 @@
"resolved"
:
"https://registry.npmjs.org/@types/node/-/node-13.9.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/node/-/node-13.9.1.tgz"
,
"integrity"
:
"sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ=="
"integrity"
:
"sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ=="
},
},
"abbrev"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
,
"integrity"
:
"sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"accepts"
:
{
"accepts"
:
{
"version"
:
"1.3.7"
,
"version"
:
"1.3.7"
,
"resolved"
:
"https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz"
,
"resolved"
:
"https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz"
,
...
@@ -57,6 +62,11 @@
...
@@ -57,6 +62,11 @@
"negotiator"
:
"0.6.2"
"negotiator"
:
"0.6.2"
}
}
},
},
"ansi-regex"
:
{
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
,
"integrity"
:
"sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles"
:
{
"ansi-styles"
:
{
"version"
:
"3.2.1"
,
"version"
:
"3.2.1"
,
"resolved"
:
"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
,
...
@@ -70,11 +80,39 @@
...
@@ -70,11 +80,39 @@
"resolved"
:
"https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz"
,
"integrity"
:
"sha1-q8av7tzqUugJzcA3au0845Y10X8="
"integrity"
:
"sha1-q8av7tzqUugJzcA3au0845Y10X8="
},
},
"aproba"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz"
,
"integrity"
:
"sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
},
"are-we-there-yet"
:
{
"version"
:
"1.1.5"
,
"resolved"
:
"https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"
,
"integrity"
:
"sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w=="
,
"requires"
:
{
"delegates"
:
"^1.0.0"
,
"readable-stream"
:
"^2.0.6"
}
},
"balanced-match"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
,
"integrity"
:
"sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"base64-js"
:
{
"base64-js"
:
{
"version"
:
"1.3.1"
,
"version"
:
"1.3.1"
,
"resolved"
:
"https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz"
,
"integrity"
:
"sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
"integrity"
:
"sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
},
},
"bcrypt"
:
{
"version"
:
"4.0.1"
,
"resolved"
:
"https://registry.npmjs.org/bcrypt/-/bcrypt-4.0.1.tgz"
,
"integrity"
:
"sha512-hSIZHkUxIDS5zA2o00Kf2O5RfVbQ888n54xQoF/eIaquU4uaLxK8vhhBdktd0B3n2MjkcAWzv4mnhogykBKOUQ=="
,
"requires"
:
{
"node-addon-api"
:
"^2.0.0"
,
"node-pre-gyp"
:
"0.14.0"
}
},
"bignumber.js"
:
{
"bignumber.js"
:
{
"version"
:
"9.0.0"
,
"version"
:
"9.0.0"
,
"resolved"
:
"https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz"
,
...
@@ -85,6 +123,15 @@
...
@@ -85,6 +123,15 @@
"resolved"
:
"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
,
"integrity"
:
"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
"integrity"
:
"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
},
"brace-expansion"
:
{
"version"
:
"1.1.11"
,
"resolved"
:
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
,
"integrity"
:
"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
,
"requires"
:
{
"balanced-match"
:
"^1.0.0"
,
"concat-map"
:
"0.0.1"
}
},
"buffer"
:
{
"buffer"
:
{
"version"
:
"5.6.0"
,
"version"
:
"5.6.0"
,
"resolved"
:
"https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz"
,
...
@@ -118,6 +165,11 @@
...
@@ -118,6 +165,11 @@
"supports-color"
:
"^5.3.0"
"supports-color"
:
"^5.3.0"
}
}
},
},
"chownr"
:
{
"version"
:
"1.1.4"
,
"resolved"
:
"https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"
,
"integrity"
:
"sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
},
"co"
:
{
"co"
:
{
"version"
:
"4.6.0"
,
"version"
:
"4.6.0"
,
"resolved"
:
"https://registry.npmjs.org/co/-/co-4.6.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/co/-/co-4.6.0.tgz"
,
...
@@ -134,6 +186,11 @@
...
@@ -134,6 +186,11 @@
"type-is"
:
"^1.6.14"
"type-is"
:
"^1.6.14"
}
}
},
},
"code-point-at"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"
,
"integrity"
:
"sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"color-convert"
:
{
"color-convert"
:
{
"version"
:
"1.9.3"
,
"version"
:
"1.9.3"
,
"resolved"
:
"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
,
...
@@ -147,6 +204,16 @@
...
@@ -147,6 +204,16 @@
"resolved"
:
"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
,
"integrity"
:
"sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
"integrity"
:
"sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
},
"concat-map"
:
{
"version"
:
"0.0.1"
,
"resolved"
:
"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
,
"integrity"
:
"sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"console-control-strings"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
,
"integrity"
:
"sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
},
"content-disposition"
:
{
"content-disposition"
:
{
"version"
:
"0.5.3"
,
"version"
:
"0.5.3"
,
"resolved"
:
"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz"
,
...
@@ -202,6 +269,11 @@
...
@@ -202,6 +269,11 @@
"resolved"
:
"https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz"
,
"integrity"
:
"sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
"integrity"
:
"sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
},
},
"deep-extend"
:
{
"version"
:
"0.6.0"
,
"resolved"
:
"https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"
,
"integrity"
:
"sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
},
"delegates"
:
{
"delegates"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
,
...
@@ -217,6 +289,11 @@
...
@@ -217,6 +289,11 @@
"resolved"
:
"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
,
"integrity"
:
"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
"integrity"
:
"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
},
"detect-libc"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz"
,
"integrity"
:
"sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
},
"dotenv"
:
{
"dotenv"
:
{
"version"
:
"8.2.0"
,
"version"
:
"8.2.0"
,
"resolved"
:
"https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz"
,
...
@@ -262,11 +339,57 @@
...
@@ -262,11 +339,57 @@
"resolved"
:
"https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz"
,
"resolved"
:
"https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz"
,
"integrity"
:
"sha1-invTcYa23d84E/I4WLV+yq9eQdQ="
"integrity"
:
"sha1-invTcYa23d84E/I4WLV+yq9eQdQ="
},
},
"fs-minipass"
:
{
"version"
:
"1.2.7"
,
"resolved"
:
"https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz"
,
"integrity"
:
"sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA=="
,
"requires"
:
{
"minipass"
:
"^2.6.0"
}
},
"fs.realpath"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
,
"integrity"
:
"sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"gauge"
:
{
"version"
:
"2.7.4"
,
"resolved"
:
"https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz"
,
"integrity"
:
"sha1-LANAXHU4w51+s3sxcCLjJfsBi/c="
,
"requires"
:
{
"aproba"
:
"^1.0.3"
,
"console-control-strings"
:
"^1.0.0"
,
"has-unicode"
:
"^2.0.0"
,
"object-assign"
:
"^4.1.0"
,
"signal-exit"
:
"^3.0.0"
,
"string-width"
:
"^1.0.1"
,
"strip-ansi"
:
"^3.0.1"
,
"wide-align"
:
"^1.1.0"
}
},
"glob"
:
{
"version"
:
"7.1.6"
,
"resolved"
:
"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"
,
"integrity"
:
"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA=="
,
"requires"
:
{
"fs.realpath"
:
"^1.0.0"
,
"inflight"
:
"^1.0.4"
,
"inherits"
:
"2"
,
"minimatch"
:
"^3.0.4"
,
"once"
:
"^1.3.0"
,
"path-is-absolute"
:
"^1.0.0"
}
},
"has-flag"
:
{
"has-flag"
:
{
"version"
:
"3.0.0"
,
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
,
"integrity"
:
"sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
"integrity"
:
"sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
},
"has-unicode"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
,
"integrity"
:
"sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
},
"http-assert"
:
{
"http-assert"
:
{
"version"
:
"1.4.1"
,
"version"
:
"1.4.1"
,
"resolved"
:
"https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz"
,
...
@@ -306,21 +429,51 @@
...
@@ -306,21 +429,51 @@
"resolved"
:
"https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz"
,
"integrity"
:
"sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
"integrity"
:
"sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
},
},
"ignore-walk"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz"
,
"integrity"
:
"sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw=="
,
"requires"
:
{
"minimatch"
:
"^3.0.4"
}
},
"inflation"
:
{
"inflation"
:
{
"version"
:
"2.0.0"
,
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz"
,
"integrity"
:
"sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8="
"integrity"
:
"sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8="
},
},
"inflight"
:
{
"version"
:
"1.0.6"
,
"resolved"
:
"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
,
"integrity"
:
"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
,
"requires"
:
{
"once"
:
"^1.3.0"
,
"wrappy"
:
"1"
}
},
"inherits"
:
{
"inherits"
:
{
"version"
:
"2.0.4"
,
"version"
:
"2.0.4"
,
"resolved"
:
"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
,
"integrity"
:
"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
"integrity"
:
"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
},
"ini"
:
{
"version"
:
"1.3.5"
,
"resolved"
:
"https://registry.npmjs.org/ini/-/ini-1.3.5.tgz"
,
"integrity"
:
"sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
},
"is-class-hotfix"
:
{
"is-class-hotfix"
:
{
"version"
:
"0.0.6"
,
"version"
:
"0.0.6"
,
"resolved"
:
"https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz"
,
"resolved"
:
"https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz"
,
"integrity"
:
"sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ=="
"integrity"
:
"sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ=="
},
},
"is-fullwidth-code-point"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
,
"integrity"
:
"sha1-754xOG8DGn8NZDr4L95QxFfvAMs="
,
"requires"
:
{
"number-is-nan"
:
"^1.0.0"
}
},
"is-generator-function"
:
{
"is-generator-function"
:
{
"version"
:
"1.0.7"
,
"version"
:
"1.0.7"
,
"resolved"
:
"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz"
,
"resolved"
:
"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz"
,
...
@@ -529,6 +682,44 @@
...
@@ -529,6 +682,44 @@
"mime-db"
:
"1.43.0"
"mime-db"
:
"1.43.0"
}
}
},
},
"minimatch"
:
{
"version"
:
"3.0.4"
,
"resolved"
:
"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
,
"integrity"
:
"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
,
"requires"
:
{
"brace-expansion"
:
"^1.1.7"
}
},
"minimist"
:
{
"version"
:
"1.2.5"
,
"resolved"
:
"https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"
,
"integrity"
:
"sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"minipass"
:
{
"version"
:
"2.9.0"
,
"resolved"
:
"https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz"
,
"integrity"
:
"sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg=="
,
"requires"
:
{
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.0"
}
},
"minizlib"
:
{
"version"
:
"1.3.3"
,
"resolved"
:
"https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz"
,
"integrity"
:
"sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q=="
,
"requires"
:
{
"minipass"
:
"^2.9.0"
}
},
"mkdirp"
:
{
"version"
:
"0.5.5"
,
"resolved"
:
"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"
,
"integrity"
:
"sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="
,
"requires"
:
{
"minimist"
:
"^1.2.5"
}
},
"ms"
:
{
"ms"
:
{
"version"
:
"2.1.2"
,
"version"
:
"2.1.2"
,
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
,
...
@@ -555,11 +746,101 @@
...
@@ -555,11 +746,101 @@
"thenify-all"
:
"^1.0.0"
"thenify-all"
:
"^1.0.0"
}
}
},
},
"needle"
:
{
"version"
:
"2.4.1"
,
"resolved"
:
"https://registry.npmjs.org/needle/-/needle-2.4.1.tgz"
,
"integrity"
:
"sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g=="
,
"requires"
:
{
"debug"
:
"^3.2.6"
,
"iconv-lite"
:
"^0.4.4"
,
"sax"
:
"^1.2.4"
},
"dependencies"
:
{
"debug"
:
{
"version"
:
"3.2.6"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-3.2.6.tgz"
,
"integrity"
:
"sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ=="
,
"requires"
:
{
"ms"
:
"^2.1.1"
}
}
}
},
"negotiator"
:
{
"negotiator"
:
{
"version"
:
"0.6.2"
,
"version"
:
"0.6.2"
,
"resolved"
:
"https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"
,
"integrity"
:
"sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
"integrity"
:
"sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
},
"node-addon-api"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.0.tgz"
,
"integrity"
:
"sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA=="
},
"node-pre-gyp"
:
{
"version"
:
"0.14.0"
,
"resolved"
:
"https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz"
,
"integrity"
:
"sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA=="
,
"requires"
:
{
"detect-libc"
:
"^1.0.2"
,
"mkdirp"
:
"^0.5.1"
,
"needle"
:
"^2.2.1"
,
"nopt"
:
"^4.0.1"
,
"npm-packlist"
:
"^1.1.6"
,
"npmlog"
:
"^4.0.2"
,
"rc"
:
"^1.2.7"
,
"rimraf"
:
"^2.6.1"
,
"semver"
:
"^5.3.0"
,
"tar"
:
"^4.4.2"
}
},
"nopt"
:
{
"version"
:
"4.0.3"
,
"resolved"
:
"https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz"
,
"integrity"
:
"sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg=="
,
"requires"
:
{
"abbrev"
:
"1"
,
"osenv"
:
"^0.1.4"
}
},
"npm-bundled"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz"
,
"integrity"
:
"sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA=="
,
"requires"
:
{
"npm-normalize-package-bin"
:
"^1.0.1"
}
},
"npm-normalize-package-bin"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz"
,
"integrity"
:
"sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
},
"npm-packlist"
:
{
"version"
:
"1.4.8"
,
"resolved"
:
"https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz"
,
"integrity"
:
"sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A=="
,
"requires"
:
{
"ignore-walk"
:
"^3.0.1"
,
"npm-bundled"
:
"^1.0.1"
,
"npm-normalize-package-bin"
:
"^1.0.1"
}
},
"npmlog"
:
{
"version"
:
"4.1.2"
,
"resolved"
:
"https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz"
,
"integrity"
:
"sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg=="
,
"requires"
:
{
"are-we-there-yet"
:
"~1.1.2"
,
"console-control-strings"
:
"~1.1.0"
,
"gauge"
:
"~2.7.3"
,
"set-blocking"
:
"~2.0.0"
}
},
"number-is-nan"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
,
"integrity"
:
"sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"object-assign"
:
{
"object-assign"
:
{
"version"
:
"4.1.1"
,
"version"
:
"4.1.1"
,
"resolved"
:
"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
,
...
@@ -573,11 +854,38 @@
...
@@ -573,11 +854,38 @@
"ee-first"
:
"1.1.1"
"ee-first"
:
"1.1.1"
}
}
},
},
"once"
:
{
"version"
:
"1.4.0"
,
"resolved"
:
"https://registry.npmjs.org/once/-/once-1.4.0.tgz"
,
"integrity"
:
"sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
,
"requires"
:
{
"wrappy"
:
"1"
}
},
"only"
:
{
"only"
:
{
"version"
:
"0.0.2"
,
"version"
:
"0.0.2"
,
"resolved"
:
"https://registry.npmjs.org/only/-/only-0.0.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/only/-/only-0.0.2.tgz"
,
"integrity"
:
"sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q="
"integrity"
:
"sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q="
},
},
"os-homedir"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
,
"integrity"
:
"sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
},
"os-tmpdir"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
,
"integrity"
:
"sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
},
"osenv"
:
{
"version"
:
"0.1.5"
,
"resolved"
:
"https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz"
,
"integrity"
:
"sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g=="
,
"requires"
:
{
"os-homedir"
:
"^1.0.0"
,
"os-tmpdir"
:
"^1.0.0"
}
},
"parseurl"
:
{
"parseurl"
:
{
"version"
:
"1.3.3"
,
"version"
:
"1.3.3"
,
"resolved"
:
"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
,
...
@@ -633,6 +941,17 @@
...
@@ -633,6 +941,17 @@
"unpipe"
:
"1.0.0"
"unpipe"
:
"1.0.0"
}
}
},
},
"rc"
:
{
"version"
:
"1.2.8"
,
"resolved"
:
"https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"
,
"integrity"
:
"sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="
,
"requires"
:
{
"deep-extend"
:
"^0.6.0"
,
"ini"
:
"~1.3.0"
,
"minimist"
:
"^1.2.0"
,
"strip-json-comments"
:
"~2.0.1"
}
},
"readable-stream"
:
{
"readable-stream"
:
{
"version"
:
"2.3.7"
,
"version"
:
"2.3.7"
,
"resolved"
:
"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
,
"resolved"
:
"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
,
...
@@ -686,6 +1005,14 @@
...
@@ -686,6 +1005,14 @@
}
}
}
}
},
},
"rimraf"
:
{
"version"
:
"2.7.1"
,
"resolved"
:
"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
,
"integrity"
:
"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="
,
"requires"
:
{
"glob"
:
"^7.1.3"
}
},
"safe-buffer"
:
{
"safe-buffer"
:
{
"version"
:
"5.1.2"
,
"version"
:
"5.1.2"
,
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
,
...
@@ -696,11 +1023,31 @@
...
@@ -696,11 +1023,31 @@
"resolved"
:
"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
},
"sax"
:
{
"version"
:
"1.2.4"
,
"resolved"
:
"https://registry.npmjs.org/sax/-/sax-1.2.4.tgz"
,
"integrity"
:
"sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"semver"
:
{
"version"
:
"5.7.1"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
,
"integrity"
:
"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
},
"set-blocking"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
,
"integrity"
:
"sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"setprototypeof"
:
{
"setprototypeof"
:
{
"version"
:
"1.1.1"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"
,
"integrity"
:
"sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
"integrity"
:
"sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
},
"signal-exit"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"
,
"integrity"
:
"sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"sqlstring"
:
{
"sqlstring"
:
{
"version"
:
"2.3.1"
,
"version"
:
"2.3.1"
,
"resolved"
:
"https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz"
,
...
@@ -711,6 +1058,16 @@
...
@@ -711,6 +1058,16 @@
"resolved"
:
"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
,
"integrity"
:
"sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
"integrity"
:
"sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
},
"string-width"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
,
"integrity"
:
"sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M="
,
"requires"
:
{
"code-point-at"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
"strip-ansi"
:
"^3.0.0"
}
},
"string_decoder"
:
{
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
...
@@ -719,6 +1076,19 @@
...
@@ -719,6 +1076,19 @@
"safe-buffer"
:
"~5.1.0"
"safe-buffer"
:
"~5.1.0"
}
}
},
},
"strip-ansi"
:
{
"version"
:
"3.0.1"
,
"resolved"
:
"https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
,
"integrity"
:
"sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
,
"requires"
:
{
"ansi-regex"
:
"^2.0.0"
}
},
"strip-json-comments"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
,
"integrity"
:
"sha1-PFMZQukIwml8DsNEhYwobHygpgo="
},
"supports-color"
:
{
"supports-color"
:
{
"version"
:
"5.5.0"
,
"version"
:
"5.5.0"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
,
...
@@ -727,6 +1097,20 @@
...
@@ -727,6 +1097,20 @@
"has-flag"
:
"^3.0.0"
"has-flag"
:
"^3.0.0"
}
}
},
},
"tar"
:
{
"version"
:
"4.4.13"
,
"resolved"
:
"https://registry.npmjs.org/tar/-/tar-4.4.13.tgz"
,
"integrity"
:
"sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA=="
,
"requires"
:
{
"chownr"
:
"^1.1.1"
,
"fs-minipass"
:
"^1.2.5"
,
"minipass"
:
"^2.8.6"
,
"minizlib"
:
"^1.2.1"
,
"mkdirp"
:
"^0.5.0"
,
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.3"
}
},
"thenify"
:
{
"thenify"
:
{
"version"
:
"3.3.0"
,
"version"
:
"3.3.0"
,
"resolved"
:
"https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz"
,
...
@@ -787,6 +1171,24 @@
...
@@ -787,6 +1171,24 @@
"resolved"
:
"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
,
"integrity"
:
"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
"integrity"
:
"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
},
"wide-align"
:
{
"version"
:
"1.1.3"
,
"resolved"
:
"https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz"
,
"integrity"
:
"sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA=="
,
"requires"
:
{
"string-width"
:
"^1.0.2 || 2"
}
},
"wrappy"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
,
"integrity"
:
"sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"yallist"
:
{
"version"
:
"3.1.1"
,
"resolved"
:
"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
,
"integrity"
:
"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
},
"ylru"
:
{
"ylru"
:
{
"version"
:
"1.2.1"
,
"version"
:
"1.2.1"
,
"resolved"
:
"https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz"
,
...
...
server/package.json
View file @
aaea74a2
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
"name"
:
"cb-server"
,
"name"
:
"cb-server"
,
"dependencies"
:
{
"dependencies"
:
{
"@koa/router"
:
"^8.0.8"
,
"@koa/router"
:
"^8.0.8"
,
"bcrypt"
:
"^4.0.1"
,
"dotenv"
:
"^8.2.0"
,
"dotenv"
:
"^8.2.0"
,
"fs"
:
"0.0.1-security"
,
"fs"
:
"0.0.1-security"
,
"koa"
:
"^2.11.0"
,
"koa"
:
"^2.11.0"
,
...
...
server/user/model.js
View file @
aaea74a2
...
@@ -129,4 +129,21 @@ userModel.createUserWithDiscord = async (discord_id) =>{
...
@@ -129,4 +129,21 @@ userModel.createUserWithDiscord = async (discord_id) =>{
await
db
.
con
.
query
(
sql_text
,
[
discord_id
]);
await
db
.
con
.
query
(
sql_text
,
[
discord_id
]);
}
}
userModel
.
registerUser
=
async
(
username
,
password
)
=>
{
const
hashPassword
=
await
crypto
.
hash
(
password
);
console
.
log
(
username
,
hashPassword
)
const
sql_text
=
'INSERT INTO users (username, password) VALUES (?, ?)'
;
await
db
.
con
.
query
(
sql_text
,
[
username
,
hashPassword
])
}
userModel
.
loginUser
=
async
(
username
,
password
)
=>
{
const
hashPassword
=
await
crypto
.
hash
(
password
);
console
.
log
(
username
,
hashPassword
)
const
sql_text
=
'SELECT id, username from users WHERE username = ? AND password = ?'
;
const
data
=
await
db
.
con
.
query
(
sql_text
,
[
username
,
hashPassword
]);
return
data
[
0
];
}
module
.
exports
=
userModel
;
module
.
exports
=
userModel
;
\ No newline at end of file
server/user/route.js
View file @
aaea74a2
...
@@ -29,6 +29,44 @@ router.post('/d-login', async (context, next) =>{
...
@@ -29,6 +29,44 @@ router.post('/d-login', async (context, next) =>{
}
}
});
});
router
.
post
(
'/login'
,
async
(
context
,
next
)
=>
{
if
(
context
.
session
.
user_id
&&
userModel
.
getUserFromId
(
context
.
session
.
user_id
)){
context
.
throw
(
400
,
'User is Already Logged In'
)
}
const
body
=
context
.
request
.
body
;
if
(
!
body
||
!
body
.
username
||
!
body
.
password
){
context
.
throw
(
422
,
'Missing parameters'
);
}
try
{
const
user
=
await
userModel
.
loginUser
(
body
.
username
,
body
.
password
);
if
(
!
user
){
throw
Error
(
'No user found'
)
}
console
.
log
(
user
);
context
.
session
.
user_id
=
user
.
id
;
context
.
response
.
body
=
{
username
:
user
.
username
};
context
.
status
=
200
;
}
catch
(
error
){
console
.
log
(
error
);
context
.
throw
(
422
,
'Login Failed'
)
}
});
router
.
post
(
'/register'
,
async
(
context
,
next
)
=>
{
const
body
=
context
.
request
.
body
;
if
(
!
body
||
!
body
.
username
||
!
body
.
password
){
context
.
throw
(
422
,
'Missing parameters'
);
}
try
{
await
userModel
.
registerUser
(
body
.
username
,
body
.
password
);
context
.
response
.
status
=
204
;
}
catch
(
error
){
console
.
log
(
error
);
context
.
throw
(
400
,
'Failed to register user'
)
}
})
router
.
post
(
'/discord-register'
,
async
(
context
,
next
)
=>
{
router
.
post
(
'/discord-register'
,
async
(
context
,
next
)
=>
{
const
body
=
context
.
request
.
body
;
const
body
=
context
.
request
.
body
;
...
...
server/util/crypto.js
View file @
aaea74a2
'use strict'
'use strict'
const
bcrypt
=
require
(
'bcrypt'
);
const
ENV
=
require
(
'../settings'
);
const
crypto
=
{};
const
crypto
=
{};
// """Someday, I will implement encryption and decryption. Today is not that day"""
// """Someday, I will implement encryption and decryption. Today is not that day"""
crypto
.
encode
=
(
data
)
=>
{
crypto
.
hash
=
async
(
data
)
=>
{
const
buff
=
new
Buffer
(
data
);
const
hash
=
await
new
Promise
((
resolve
,
reject
)
=>
{
return
buff
.
toString
(
'base64'
);
bcrypt
.
hash
(
data
,
ENV
.
PASSWORD_SALT
,
function
(
err
,
hash
)
{
}
if
(
err
)
reject
(
err
)
crypto
.
decode
=
(
enc_data
)
=>
{
resolve
(
hash
)
const
buff
=
new
Buffer
(
enc_data
,
'base64'
);
});
return
buff
.
toString
(
'utf-8'
);
})
return
hash
;
}
}
module
.
exports
=
crypto
;
module
.
exports
=
crypto
;
\ No newline at end of file
web/login/controller.js
View file @
aaea74a2
...
@@ -11,13 +11,13 @@ class LoginPageController{
...
@@ -11,13 +11,13 @@ class LoginPageController{
async
login
(
credentials
){
async
login
(
credentials
){
try
{
try
{
console
.
log
(
credentials
)
if
(
credentials
.
username
===
""
||
credentials
.
password
===
""
){
if
(
credentials
.
username
===
""
||
credentials
.
password
===
""
){
alert
(
"Fields can't be empty"
)
alert
(
"Fields can't be empty"
)
}
}
// const user_data = await this.sync.login(credentials);
const
user_data
=
await
this
.
sync
.
login
(
credentials
);
// localStorage.setItem('username', user_data.user_name);
console
.
log
(
user_data
)
// location.replace('/');
localStorage
.
setItem
(
'username'
,
user_data
.
username
);
location
.
replace
(
'/'
);
}
catch
(
error
){
}
catch
(
error
){
console
.
log
(
error
);
console
.
log
(
error
);
alert
(
'Failed to login'
)
alert
(
'Failed to login'
)
...
@@ -26,7 +26,6 @@ class LoginPageController{
...
@@ -26,7 +26,6 @@ class LoginPageController{
async
register
(
credentials
){
async
register
(
credentials
){
try
{
try
{
console
.
log
(
credentials
)
if
(
credentials
.
username
===
""
||
credentials
.
password
===
""
||
credentials
.
confirm_password
===
""
){
if
(
credentials
.
username
===
""
||
credentials
.
password
===
""
||
credentials
.
confirm_password
===
""
){
alert
(
"Fields can't be empty"
)
alert
(
"Fields can't be empty"
)
return
;
return
;
...
@@ -35,9 +34,9 @@ class LoginPageController{
...
@@ -35,9 +34,9 @@ class LoginPageController{
alert
(
"Passwords don't match"
)
alert
(
"Passwords don't match"
)
return
;
return
;
}
}
// const user_data = await this.sync.register(credentials
);
await
this
.
sync
.
register
({
username
:
credentials
.
username
,
password
:
credentials
.
password
}
);
// localStorage.setItem('username', user_data.user_name);
alert
(
'Register Successful'
)
// location.replace('/'
);
location
.
reload
(
);
}
catch
(
error
){
}
catch
(
error
){
console
.
log
(
error
);
console
.
log
(
error
);
alert
(
'Failed to register'
)
alert
(
'Failed to register'
)
...
...
web/login/index.html
View file @
aaea74a2
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
<input
type=
"text"
name=
"username"
placeholder=
"Geo"
/>
<input
type=
"text"
name=
"username"
placeholder=
"Geo"
/>
<input
type=
"password"
name=
"password"
placeholder=
"********"
/>
<input
type=
"password"
name=
"password"
placeholder=
"********"
/>
<input
type=
"password"
name=
"confirm_password"
placeholder=
"********"
/>
<input
type=
"password"
name=
"confirm_password"
placeholder=
"********"
/>
<button
id=
"register_button"
>
Log In
</button>
<button
id=
"register_button"
>
Register
</button>
</register-form>
</register-form>
</div>
</div>
</center-div>
</center-div>
...
...
web/login/register_view.js
View file @
aaea74a2
...
@@ -4,13 +4,15 @@ class RegisterView extends EventTarget {
...
@@ -4,13 +4,15 @@ class RegisterView extends EventTarget {
this
.
element
=
element
this
.
element
=
element
this
.
username_field
=
this
.
element
.
querySelector
(
"[name=username]"
)
this
.
username_field
=
this
.
element
.
querySelector
(
"[name=username]"
)
this
.
password_field
=
this
.
element
.
querySelector
(
"[name=password]"
)
this
.
password_field
=
this
.
element
.
querySelector
(
"[name=password]"
)
this
.
confirm_password_field
=
this
.
element
.
querySelector
(
"[name=confirm_password]"
);
this
.
login_button
=
this
.
element
.
querySelector
(
"#register_button"
)
this
.
login_button
=
this
.
element
.
querySelector
(
"#register_button"
)
this
.
login_button
.
addEventListener
(
"click"
,
()
=>
{
this
.
login_button
.
addEventListener
(
"click"
,
()
=>
{
this
.
dispatchEvent
(
new
CustomEvent
(
"register_attempt"
,
{
detail
:
{
this
.
dispatchEvent
(
new
CustomEvent
(
"register_attempt"
,
{
detail
:
{
username
:
this
.
username_field
.
value
,
username
:
this
.
username_field
.
value
,
password
:
this
.
password_field
.
value
}
password
:
this
.
password_field
.
value
,
}))
confirm_password
:
this
.
confirm_password_field
.
value
}}))
})
})
}
}
...
...
web/login/sync.js
View file @
aaea74a2
...
@@ -26,9 +26,6 @@ class Sync{
...
@@ -26,9 +26,6 @@ class Sync{
if
(
!
register_response
.
ok
){
if
(
!
register_response
.
ok
){
throw
new
Error
(
`Register failed with
${
login_response
.
status
}
`
)
throw
new
Error
(
`Register failed with
${
login_response
.
status
}
`
)
}
}
const
user_data
=
await
register_response
.
json
();
return
user_data
;
}
}
}
}
...
...
web/navbar/navbar.html
View file @
aaea74a2
...
@@ -20,6 +20,13 @@
...
@@ -20,6 +20,13 @@
</bar-options>
</bar-options>
<bar-user>
<bar-user>
<a
href=
"/login"
>
Login/Register
</a>
<a
href=
"/login"
>
Login/Register
</a>
<div
class=
"dropdown"
style=
"display: none;"
>
<p>
House
</p>
<div
class=
"dropdown-content"
>
<a>
Profile
</a>
<a
onclick=
"logOut()"
>
Log Out
</a>
</div>
</div>
</bar-user>
</bar-user>
</nav-bar>
</nav-bar>
<script
src=
"navbar.js"
></script>
<script
src=
"navbar.js"
></script>
\ No newline at end of file
web/navbar/navbar.js
View file @
aaea74a2
...
@@ -7,11 +7,23 @@ function loadPage(href)
...
@@ -7,11 +7,23 @@ function loadPage(href)
}
}
const
nav_placeholder
=
document
.
querySelector
(
'nav-placeholder'
)
const
nav_placeholder
=
document
.
querySelector
(
'nav-placeholder'
)
nav_placeholder
.
innerHTML
=
loadPage
(
'/navbar/navbar.html'
)
nav_placeholder
.
innerHTML
=
loadPage
(
'/navbar/navbar.html'
)
const
bar_user
=
document
.
querySelector
(
'bar-user a'
);
const
saved_user
=
localStorage
.
getItem
(
'username'
);
const
saved_user
=
localStorage
.
getItem
(
'username'
);
if
(
saved_user
){
if
(
saved_user
){
bar_user
.
innerText
=
saved_user
;
const
bar_user_default
=
document
.
querySelector
(
'bar-user a'
);
const
bar_user_dropdown
=
document
.
querySelector
(
'bar-user .dropdown'
)
const
bar_user_name
=
bar_user_dropdown
.
querySelector
(
'p'
);
bar_user_default
.
style
.
display
=
"none"
;
bar_user_dropdown
.
style
.
display
=
""
;
bar_user_name
.
innerText
=
saved_user
;
}
}
function
testy
(){
console
.
log
(
'asd'
)
function
logOut
(){
console
.
log
(
document
.
cookie
);
var
cookies
=
document
.
cookie
.
split
(
";"
);
for
(
var
i
=
0
;
i
<
cookies
.
length
;
i
++
){
var
spcook
=
cookies
[
i
].
split
(
"="
);
document
.
cookie
=
spcook
[
0
]
+
"=;expires=Thu, 21 Sep 1979 00:00:01 UTC;"
;
}
localStorage
.
removeItem
(
'username'
);
location
.
reload
();
}
}
\ No newline at end of file
web/sass/navbar.scss
View file @
aaea74a2
...
@@ -67,3 +67,13 @@ bar-user{
...
@@ -67,3 +67,13 @@ bar-user{
bar-user
:hover
{
bar-user
:hover
{
background-color
:
rgb
(
95
,
26
,
26
);
background-color
:
rgb
(
95
,
26
,
26
);
}
}
bar-user
{
.dropdown
{
margin-top
:
-30px
;
}
.dropdown
:hover
{
background-color
:
rgb
(
95
,
26
,
26
);;
}
}
\ No newline at end of file
web/stylesheets/main.css
View file @
aaea74a2
...
@@ -92,6 +92,13 @@ bar-user:hover {
...
@@ -92,6 +92,13 @@ bar-user:hover {
background-color
:
#5f1a1a
;
background-color
:
#5f1a1a
;
}
}
bar-user
.dropdown
{
margin-top
:
-30px
;
}
bar-user
.dropdown
:hover
{
background-color
:
#5f1a1a
;
}
content-body
{
content-body
{
grid-area
:
content
;
grid-area
:
content
;
}
}
...
...
web/stylesheets/main.css.map
View file @
aaea74a2
{"version":3,"sourceRoot":"","sources":["../fontawesome/font_awesome.scss","../sass/navbar.scss","../sass/login.scss","../sass/main.scss"],"names":[],"mappings":"AAAA;EACI;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAmBF;EACI;IAAK;;EACP;IAAO;;;AC1CX;EACI;EACA;EACA;EACA,eACI;EAGJ;;;AAGJ;EAEI;;AACA;EACI;EACA;EAEA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAIR;EACI;;AACA;EACI;;;AAIR;EACI;EACA;EACA;;AACA;EACI;EACA;;;AAIR;EACI;;;ACnEJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EAEA;;AAEA;EACI;EACA;;;AAIN;AACF;EACI;EAEA;EACA;EACA;EACA;EACA;;;AAGF;AACF;EACI;;;AAGF;AACF;EACI;;;AAGF;AACF;EACI;EACA;EACA;EACA;;;AAGJ;EACI;AAA0B;;;AAG9B;AACA;EACI;IAAM;;EACN;IAAI;;;AC5DR;EACI;EACA;EACA;EACA;EACA,eACI","file":"main.css"}
{"version":3,"sourceRoot":"","sources":["../fontawesome/font_awesome.scss","../sass/navbar.scss","../sass/login.scss","../sass/main.scss"],"names":[],"mappings":"AAAA;EACI;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAmBF;EACI;IAAK;;EACP;IAAO;;;AC1CX;EACI;EACA;EACA;EACA,eACI;EAGJ;;;AAGJ;EAEI;;AACA;EACI;EACA;EAEA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAIR;EACI;;AACA;EACI;;;AAIR;EACI;EACA;EACA;;AACA;EACI;EACA;;;AAIR;EACI;;;AAKA;EACI;;AAEJ;EACI;;;AC5ER;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EAEA;;AAEA;EACI;EACA;;;AAIN;AACF;EACI;EAEA;EACA;EACA;EACA;EACA;;;AAGF;AACF;EACI;;;AAGF;AACF;EACI;;;AAGF;AACF;EACI;EACA;EACA;EACA;;;AAGJ;EACI;AAA0B;;;AAG9B;AACA;EACI;IAAM;;EACN;IAAI;;;AC5DR;EACI;EACA;EACA;EACA;EACA,eACI","file":"main.css"}
\ No newline at end of file
\ No newline at end of file
web/stylesheets/navbar.css
View file @
aaea74a2
...
@@ -63,4 +63,11 @@ bar-user:hover {
...
@@ -63,4 +63,11 @@ bar-user:hover {
background-color
:
#5f1a1a
;
background-color
:
#5f1a1a
;
}
}
bar-user
.dropdown
{
margin-top
:
-30px
;
}
bar-user
.dropdown
:hover
{
background-color
:
#5f1a1a
;
}
/*# sourceMappingURL=navbar.css.map */
/*# sourceMappingURL=navbar.css.map */
web/stylesheets/navbar.css.map
View file @
aaea74a2
{"version":3,"sourceRoot":"","sources":["../sass/navbar.scss"],"names":[],"mappings":"AAAA;EACI;EACA;EACA;EACA,eACI;EAGJ;;;AAGJ;EAEI;;AACA;EACI;EACA;EAEA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAIR;EACI;;AACA;EACI;;;AAIR;EACI;EACA;EACA;;AACA;EACI;EACA;;;AAIR;EACI","file":"navbar.css"}
{"version":3,"sourceRoot":"","sources":["../sass/navbar.scss"],"names":[],"mappings":"AAAA;EACI;EACA;EACA;EACA,eACI;EAGJ;;;AAGJ;EAEI;;AACA;EACI;EACA;EAEA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAIR;EACI;;AACA;EACI;;;AAIR;EACI;EACA;EACA;;AACA;EACI;EACA;;;AAIR;EACI;;;AAKA;EACI;;AAEJ;EACI","file":"navbar.css"}
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment