Showing
8 changed files
with
810 additions
and
198 deletions
... | @@ -9,6 +9,7 @@ var indexRouter = require('./routes/index'); | ... | @@ -9,6 +9,7 @@ var indexRouter = require('./routes/index'); |
9 | var userRouter = require('./routes/userlogin/user'); | 9 | var userRouter = require('./routes/userlogin/user'); |
10 | var loginRouter = require('./routes/userlogin/login'); | 10 | var loginRouter = require('./routes/userlogin/login'); |
11 | var registerRouter = require('./routes/userlogin/register'); | 11 | var registerRouter = require('./routes/userlogin/register'); |
12 | +var folderRouter = require('./routes/folders'); | ||
12 | 13 | ||
13 | 14 | ||
14 | var passport = require('passport'); | 15 | var passport = require('passport'); |
... | @@ -17,19 +18,19 @@ var config = require('./routes/modules/config'); | ... | @@ -17,19 +18,19 @@ var config = require('./routes/modules/config'); |
17 | 18 | ||
18 | //port | 19 | //port |
19 | passport.serializeUser(function(user, done) { | 20 | passport.serializeUser(function(user, done) { |
20 | - console.log('serialized'); | 21 | + console.log('serialized'); |
21 | - done(null, user); | 22 | + done(null, user); |
22 | }); | 23 | }); |
23 | passport.deserializeUser(function(user, done) { | 24 | passport.deserializeUser(function(user, done) { |
24 | - console.log('deserialized'); | 25 | + console.log('deserialized'); |
25 | - done(null, user); | 26 | + done(null, user); |
26 | }); | 27 | }); |
27 | 28 | ||
28 | 29 | ||
29 | var app = express(); | 30 | var app = express(); |
30 | 31 | ||
31 | // view engine setup | 32 | // view engine setup |
32 | -app.set('views', [path.join(__dirname, 'views'),path.join(__dirname ,'dist')]); | 33 | +app.set('views', [path.join(__dirname, 'views'), path.join(__dirname, 'dist')]); |
33 | // app.set('view engine', 'ejs'); | 34 | // app.set('view engine', 'ejs'); |
34 | 35 | ||
35 | app.use(logger('dev')); | 36 | app.use(logger('dev')); |
... | @@ -39,9 +40,9 @@ app.use(cookieParser()); | ... | @@ -39,9 +40,9 @@ app.use(cookieParser()); |
39 | app.use(express.static(path.join(__dirname, 'public'))); | 40 | app.use(express.static(path.join(__dirname, 'public'))); |
40 | 41 | ||
41 | app.use(session({ | 42 | app.use(session({ |
42 | - secret: 'mykey', | 43 | + secret: 'mykey', |
43 | - saveUninitialized: true, | 44 | + saveUninitialized: true, |
44 | - resave: true | 45 | + resave: true |
45 | })); | 46 | })); |
46 | 47 | ||
47 | app.use(express.static('public')); | 48 | app.use(express.static('public')); |
... | @@ -54,22 +55,23 @@ app.use('/api/', indexRouter); | ... | @@ -54,22 +55,23 @@ app.use('/api/', indexRouter); |
54 | app.use('/api/user', userRouter); | 55 | app.use('/api/user', userRouter); |
55 | app.use('/api/login', loginRouter); | 56 | app.use('/api/login', loginRouter); |
56 | app.use('/api/RegistUser', registerRouter); | 57 | app.use('/api/RegistUser', registerRouter); |
58 | +app.use('/api/folder', folderRouter); | ||
57 | //app.use('/users', usersRouter); | 59 | //app.use('/users', usersRouter); |
58 | 60 | ||
59 | // catch 404 and forward to error handler | 61 | // catch 404 and forward to error handler |
60 | app.use(function(req, res, next) { | 62 | app.use(function(req, res, next) { |
61 | - next(createError(404)); | 63 | + next(createError(404)); |
62 | }); | 64 | }); |
63 | 65 | ||
64 | // error handler | 66 | // error handler |
65 | app.use(function(err, req, res, next) { | 67 | app.use(function(err, req, res, next) { |
66 | - // set locals, only providing error in development | 68 | + // set locals, only providing error in development |
67 | - res.locals.message = err.message; | 69 | + res.locals.message = err.message; |
68 | - res.locals.error = req.app.get('env') === 'development' ? err : {}; | 70 | + res.locals.error = req.app.get('env') === 'development' ? err : {}; |
69 | 71 | ||
70 | - // render the error page | 72 | + // render the error page |
71 | - res.status(err.status || 500); | 73 | + res.status(err.status || 500); |
72 | - res.render('error'); | 74 | + res.render('error'); |
73 | }); | 75 | }); |
74 | 76 | ||
75 | -module.exports = app; | 77 | +module.exports = app; |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -46,6 +46,17 @@ | ... | @@ -46,6 +46,17 @@ |
46 | } | 46 | } |
47 | } | 47 | } |
48 | }, | 48 | }, |
49 | + "ajv": { | ||
50 | + "version": "6.12.2", | ||
51 | + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", | ||
52 | + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", | ||
53 | + "requires": { | ||
54 | + "fast-deep-equal": "^3.1.1", | ||
55 | + "fast-json-stable-stringify": "^2.0.0", | ||
56 | + "json-schema-traverse": "^0.4.1", | ||
57 | + "uri-js": "^4.2.2" | ||
58 | + } | ||
59 | + }, | ||
49 | "align-text": { | 60 | "align-text": { |
50 | "version": "0.1.4", | 61 | "version": "0.1.4", |
51 | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", | 62 | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", |
... | @@ -79,11 +90,55 @@ | ... | @@ -79,11 +90,55 @@ |
79 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", | 90 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", |
80 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" | 91 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" |
81 | }, | 92 | }, |
93 | + "asn1": { | ||
94 | + "version": "0.2.4", | ||
95 | + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", | ||
96 | + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", | ||
97 | + "requires": { | ||
98 | + "safer-buffer": "~2.1.0" | ||
99 | + } | ||
100 | + }, | ||
101 | + "assert-plus": { | ||
102 | + "version": "1.0.0", | ||
103 | + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||
104 | + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" | ||
105 | + }, | ||
82 | "async": { | 106 | "async": { |
83 | "version": "0.9.2", | 107 | "version": "0.9.2", |
84 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", | 108 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", |
85 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" | 109 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" |
86 | }, | 110 | }, |
111 | + "asynckit": { | ||
112 | + "version": "0.4.0", | ||
113 | + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||
114 | + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" | ||
115 | + }, | ||
116 | + "aws-sdk": { | ||
117 | + "version": "2.683.0", | ||
118 | + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.683.0.tgz", | ||
119 | + "integrity": "sha512-mi1175pJMbQhCWhBEQ5ccQ3SDE+SJzbapuAQtcb7tdLLV7dPKf4zQXhpqK1uG0dysm8NhsNtgxwA2diYOKWlTg==", | ||
120 | + "requires": { | ||
121 | + "buffer": "4.9.1", | ||
122 | + "events": "1.1.1", | ||
123 | + "ieee754": "1.1.13", | ||
124 | + "jmespath": "0.15.0", | ||
125 | + "querystring": "0.2.0", | ||
126 | + "sax": "1.2.1", | ||
127 | + "url": "0.10.3", | ||
128 | + "uuid": "3.3.2", | ||
129 | + "xml2js": "0.4.19" | ||
130 | + } | ||
131 | + }, | ||
132 | + "aws-sign2": { | ||
133 | + "version": "0.7.0", | ||
134 | + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", | ||
135 | + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" | ||
136 | + }, | ||
137 | + "aws4": { | ||
138 | + "version": "1.10.0", | ||
139 | + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", | ||
140 | + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" | ||
141 | + }, | ||
87 | "babel-runtime": { | 142 | "babel-runtime": { |
88 | "version": "6.26.0", | 143 | "version": "6.26.0", |
89 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", | 144 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", |
... | @@ -114,6 +169,11 @@ | ... | @@ -114,6 +169,11 @@ |
114 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", | 169 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", |
115 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" | 170 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" |
116 | }, | 171 | }, |
172 | + "base64-js": { | ||
173 | + "version": "1.3.1", | ||
174 | + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", | ||
175 | + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" | ||
176 | + }, | ||
117 | "basic-auth": { | 177 | "basic-auth": { |
118 | "version": "2.0.1", | 178 | "version": "2.0.1", |
119 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", | 179 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", |
... | @@ -122,6 +182,14 @@ | ... | @@ -122,6 +182,14 @@ |
122 | "safe-buffer": "5.1.2" | 182 | "safe-buffer": "5.1.2" |
123 | } | 183 | } |
124 | }, | 184 | }, |
185 | + "bcrypt-pbkdf": { | ||
186 | + "version": "1.0.2", | ||
187 | + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", | ||
188 | + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", | ||
189 | + "requires": { | ||
190 | + "tweetnacl": "^0.14.3" | ||
191 | + } | ||
192 | + }, | ||
125 | "bignumber.js": { | 193 | "bignumber.js": { |
126 | "version": "9.0.0", | 194 | "version": "9.0.0", |
127 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", | 195 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", |
... | @@ -153,6 +221,16 @@ | ... | @@ -153,6 +221,16 @@ |
153 | "concat-map": "0.0.1" | 221 | "concat-map": "0.0.1" |
154 | } | 222 | } |
155 | }, | 223 | }, |
224 | + "buffer": { | ||
225 | + "version": "4.9.1", | ||
226 | + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", | ||
227 | + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", | ||
228 | + "requires": { | ||
229 | + "base64-js": "^1.0.2", | ||
230 | + "ieee754": "^1.1.4", | ||
231 | + "isarray": "^1.0.0" | ||
232 | + } | ||
233 | + }, | ||
156 | "bytes": { | 234 | "bytes": { |
157 | "version": "3.0.0", | 235 | "version": "3.0.0", |
158 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", | 236 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", |
... | @@ -163,6 +241,11 @@ | ... | @@ -163,6 +241,11 @@ |
163 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", | 241 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", |
164 | "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" | 242 | "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" |
165 | }, | 243 | }, |
244 | + "caseless": { | ||
245 | + "version": "0.12.0", | ||
246 | + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | ||
247 | + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" | ||
248 | + }, | ||
166 | "center-align": { | 249 | "center-align": { |
167 | "version": "0.1.3", | 250 | "version": "0.1.3", |
168 | "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", | 251 | "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", |
... | @@ -222,6 +305,14 @@ | ... | @@ -222,6 +305,14 @@ |
222 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | 305 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", |
223 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" | 306 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" |
224 | }, | 307 | }, |
308 | + "combined-stream": { | ||
309 | + "version": "1.0.8", | ||
310 | + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | ||
311 | + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | ||
312 | + "requires": { | ||
313 | + "delayed-stream": "~1.0.0" | ||
314 | + } | ||
315 | + }, | ||
225 | "commander": { | 316 | "commander": { |
226 | "version": "2.8.1", | 317 | "version": "2.8.1", |
227 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", | 318 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", |
... | @@ -290,6 +381,14 @@ | ... | @@ -290,6 +381,14 @@ |
290 | "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz", | 381 | "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz", |
291 | "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==" | 382 | "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==" |
292 | }, | 383 | }, |
384 | + "dashdash": { | ||
385 | + "version": "1.14.1", | ||
386 | + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", | ||
387 | + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", | ||
388 | + "requires": { | ||
389 | + "assert-plus": "^1.0.0" | ||
390 | + } | ||
391 | + }, | ||
293 | "debug": { | 392 | "debug": { |
294 | "version": "2.6.9", | 393 | "version": "2.6.9", |
295 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 394 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
... | @@ -303,6 +402,11 @@ | ... | @@ -303,6 +402,11 @@ |
303 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", | 402 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", |
304 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" | 403 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" |
305 | }, | 404 | }, |
405 | + "delayed-stream": { | ||
406 | + "version": "1.0.0", | ||
407 | + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||
408 | + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" | ||
409 | + }, | ||
306 | "depd": { | 410 | "depd": { |
307 | "version": "1.1.2", | 411 | "version": "1.1.2", |
308 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", | 412 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", |
... | @@ -318,6 +422,15 @@ | ... | @@ -318,6 +422,15 @@ |
318 | "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", | 422 | "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", |
319 | "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" | 423 | "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" |
320 | }, | 424 | }, |
425 | + "ecc-jsbn": { | ||
426 | + "version": "0.1.2", | ||
427 | + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", | ||
428 | + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", | ||
429 | + "requires": { | ||
430 | + "jsbn": "~0.1.0", | ||
431 | + "safer-buffer": "^2.1.0" | ||
432 | + } | ||
433 | + }, | ||
321 | "ee-first": { | 434 | "ee-first": { |
322 | "version": "1.1.1", | 435 | "version": "1.1.1", |
323 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | 436 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", |
... | @@ -356,6 +469,11 @@ | ... | @@ -356,6 +469,11 @@ |
356 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | 469 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", |
357 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" | 470 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" |
358 | }, | 471 | }, |
472 | + "events": { | ||
473 | + "version": "1.1.1", | ||
474 | + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", | ||
475 | + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" | ||
476 | + }, | ||
359 | "express": { | 477 | "express": { |
360 | "version": "4.16.4", | 478 | "version": "4.16.4", |
361 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", | 479 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", |
... | @@ -427,6 +545,26 @@ | ... | @@ -427,6 +545,26 @@ |
427 | } | 545 | } |
428 | } | 546 | } |
429 | }, | 547 | }, |
548 | + "extend": { | ||
549 | + "version": "3.0.2", | ||
550 | + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", | ||
551 | + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" | ||
552 | + }, | ||
553 | + "extsprintf": { | ||
554 | + "version": "1.3.0", | ||
555 | + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", | ||
556 | + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" | ||
557 | + }, | ||
558 | + "fast-deep-equal": { | ||
559 | + "version": "3.1.1", | ||
560 | + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", | ||
561 | + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" | ||
562 | + }, | ||
563 | + "fast-json-stable-stringify": { | ||
564 | + "version": "2.1.0", | ||
565 | + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | ||
566 | + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" | ||
567 | + }, | ||
430 | "filelist": { | 568 | "filelist": { |
431 | "version": "1.0.1", | 569 | "version": "1.0.1", |
432 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", | 570 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", |
... | @@ -449,6 +587,21 @@ | ... | @@ -449,6 +587,21 @@ |
449 | "unpipe": "~1.0.0" | 587 | "unpipe": "~1.0.0" |
450 | } | 588 | } |
451 | }, | 589 | }, |
590 | + "forever-agent": { | ||
591 | + "version": "0.6.1", | ||
592 | + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", | ||
593 | + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" | ||
594 | + }, | ||
595 | + "form-data": { | ||
596 | + "version": "2.3.3", | ||
597 | + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", | ||
598 | + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", | ||
599 | + "requires": { | ||
600 | + "asynckit": "^0.4.0", | ||
601 | + "combined-stream": "^1.0.6", | ||
602 | + "mime-types": "^2.1.12" | ||
603 | + } | ||
604 | + }, | ||
452 | "forwarded": { | 605 | "forwarded": { |
453 | "version": "0.1.2", | 606 | "version": "0.1.2", |
454 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", | 607 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", |
... | @@ -464,11 +617,33 @@ | ... | @@ -464,11 +617,33 @@ |
464 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | 617 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", |
465 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" | 618 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" |
466 | }, | 619 | }, |
620 | + "getpass": { | ||
621 | + "version": "0.1.7", | ||
622 | + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", | ||
623 | + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", | ||
624 | + "requires": { | ||
625 | + "assert-plus": "^1.0.0" | ||
626 | + } | ||
627 | + }, | ||
467 | "graceful-readlink": { | 628 | "graceful-readlink": { |
468 | "version": "1.0.1", | 629 | "version": "1.0.1", |
469 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", | 630 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", |
470 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" | 631 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" |
471 | }, | 632 | }, |
633 | + "har-schema": { | ||
634 | + "version": "2.0.0", | ||
635 | + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | ||
636 | + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" | ||
637 | + }, | ||
638 | + "har-validator": { | ||
639 | + "version": "5.1.3", | ||
640 | + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", | ||
641 | + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", | ||
642 | + "requires": { | ||
643 | + "ajv": "^6.5.5", | ||
644 | + "har-schema": "^2.0.0" | ||
645 | + } | ||
646 | + }, | ||
472 | "has": { | 647 | "has": { |
473 | "version": "1.0.3", | 648 | "version": "1.0.3", |
474 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | 649 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", |
... | @@ -493,6 +668,16 @@ | ... | @@ -493,6 +668,16 @@ |
493 | "statuses": ">= 1.4.0 < 2" | 668 | "statuses": ">= 1.4.0 < 2" |
494 | } | 669 | } |
495 | }, | 670 | }, |
671 | + "http-signature": { | ||
672 | + "version": "1.2.0", | ||
673 | + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", | ||
674 | + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", | ||
675 | + "requires": { | ||
676 | + "assert-plus": "^1.0.0", | ||
677 | + "jsprim": "^1.2.2", | ||
678 | + "sshpk": "^1.7.0" | ||
679 | + } | ||
680 | + }, | ||
496 | "iconv-lite": { | 681 | "iconv-lite": { |
497 | "version": "0.4.23", | 682 | "version": "0.4.23", |
498 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", | 683 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", |
... | @@ -501,6 +686,11 @@ | ... | @@ -501,6 +686,11 @@ |
501 | "safer-buffer": ">= 2.1.2 < 3" | 686 | "safer-buffer": ">= 2.1.2 < 3" |
502 | } | 687 | } |
503 | }, | 688 | }, |
689 | + "ieee754": { | ||
690 | + "version": "1.1.13", | ||
691 | + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", | ||
692 | + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" | ||
693 | + }, | ||
504 | "inherits": { | 694 | "inherits": { |
505 | "version": "2.0.3", | 695 | "version": "2.0.3", |
506 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | 696 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", |
... | @@ -545,11 +735,21 @@ | ... | @@ -545,11 +735,21 @@ |
545 | "has": "^1.0.3" | 735 | "has": "^1.0.3" |
546 | } | 736 | } |
547 | }, | 737 | }, |
738 | + "is-typedarray": { | ||
739 | + "version": "1.0.0", | ||
740 | + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | ||
741 | + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" | ||
742 | + }, | ||
548 | "isarray": { | 743 | "isarray": { |
549 | "version": "1.0.0", | 744 | "version": "1.0.0", |
550 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | 745 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", |
551 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | 746 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" |
552 | }, | 747 | }, |
748 | + "isstream": { | ||
749 | + "version": "0.1.2", | ||
750 | + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||
751 | + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" | ||
752 | + }, | ||
553 | "jake": { | 753 | "jake": { |
554 | "version": "10.6.1", | 754 | "version": "10.6.1", |
555 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.6.1.tgz", | 755 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.6.1.tgz", |
... | @@ -561,11 +761,47 @@ | ... | @@ -561,11 +761,47 @@ |
561 | "minimatch": "^3.0.4" | 761 | "minimatch": "^3.0.4" |
562 | } | 762 | } |
563 | }, | 763 | }, |
764 | + "jmespath": { | ||
765 | + "version": "0.15.0", | ||
766 | + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", | ||
767 | + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" | ||
768 | + }, | ||
564 | "js-stringify": { | 769 | "js-stringify": { |
565 | "version": "1.0.2", | 770 | "version": "1.0.2", |
566 | "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", | 771 | "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", |
567 | "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" | 772 | "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" |
568 | }, | 773 | }, |
774 | + "jsbn": { | ||
775 | + "version": "0.1.1", | ||
776 | + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", | ||
777 | + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" | ||
778 | + }, | ||
779 | + "json-schema": { | ||
780 | + "version": "0.2.3", | ||
781 | + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", | ||
782 | + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" | ||
783 | + }, | ||
784 | + "json-schema-traverse": { | ||
785 | + "version": "0.4.1", | ||
786 | + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||
787 | + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" | ||
788 | + }, | ||
789 | + "json-stringify-safe": { | ||
790 | + "version": "5.0.1", | ||
791 | + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||
792 | + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" | ||
793 | + }, | ||
794 | + "jsprim": { | ||
795 | + "version": "1.4.1", | ||
796 | + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", | ||
797 | + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", | ||
798 | + "requires": { | ||
799 | + "assert-plus": "1.0.0", | ||
800 | + "extsprintf": "1.3.0", | ||
801 | + "json-schema": "0.2.3", | ||
802 | + "verror": "1.10.0" | ||
803 | + } | ||
804 | + }, | ||
569 | "jstransformer": { | 805 | "jstransformer": { |
570 | "version": "1.0.0", | 806 | "version": "1.0.0", |
571 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", | 807 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", |
... | @@ -639,6 +875,11 @@ | ... | @@ -639,6 +875,11 @@ |
639 | "brace-expansion": "^1.1.7" | 875 | "brace-expansion": "^1.1.7" |
640 | } | 876 | } |
641 | }, | 877 | }, |
878 | + "moment": { | ||
879 | + "version": "2.26.0", | ||
880 | + "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", | ||
881 | + "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==" | ||
882 | + }, | ||
642 | "morgan": { | 883 | "morgan": { |
643 | "version": "1.9.1", | 884 | "version": "1.9.1", |
644 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", | 885 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", |
... | @@ -672,6 +913,11 @@ | ... | @@ -672,6 +913,11 @@ |
672 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", | 913 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", |
673 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" | 914 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" |
674 | }, | 915 | }, |
916 | + "oauth-sign": { | ||
917 | + "version": "0.9.0", | ||
918 | + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", | ||
919 | + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" | ||
920 | + }, | ||
675 | "object-assign": { | 921 | "object-assign": { |
676 | "version": "4.1.1", | 922 | "version": "4.1.1", |
677 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | 923 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", |
... | @@ -724,6 +970,11 @@ | ... | @@ -724,6 +970,11 @@ |
724 | "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", | 970 | "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", |
725 | "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" | 971 | "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" |
726 | }, | 972 | }, |
973 | + "performance-now": { | ||
974 | + "version": "2.1.0", | ||
975 | + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | ||
976 | + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" | ||
977 | + }, | ||
727 | "process-nextick-args": { | 978 | "process-nextick-args": { |
728 | "version": "2.0.1", | 979 | "version": "2.0.1", |
729 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | 980 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", |
... | @@ -746,6 +997,11 @@ | ... | @@ -746,6 +997,11 @@ |
746 | "ipaddr.js": "1.9.1" | 997 | "ipaddr.js": "1.9.1" |
747 | } | 998 | } |
748 | }, | 999 | }, |
1000 | + "psl": { | ||
1001 | + "version": "1.8.0", | ||
1002 | + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", | ||
1003 | + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" | ||
1004 | + }, | ||
749 | "pug": { | 1005 | "pug": { |
750 | "version": "2.0.0-beta11", | 1006 | "version": "2.0.0-beta11", |
751 | "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta11.tgz", | 1007 | "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta11.tgz", |
... | @@ -860,11 +1116,21 @@ | ... | @@ -860,11 +1116,21 @@ |
860 | "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", | 1116 | "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", |
861 | "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" | 1117 | "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" |
862 | }, | 1118 | }, |
1119 | + "punycode": { | ||
1120 | + "version": "1.3.2", | ||
1121 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", | ||
1122 | + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" | ||
1123 | + }, | ||
863 | "qs": { | 1124 | "qs": { |
864 | "version": "6.5.2", | 1125 | "version": "6.5.2", |
865 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", | 1126 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", |
866 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" | 1127 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" |
867 | }, | 1128 | }, |
1129 | + "querystring": { | ||
1130 | + "version": "0.2.0", | ||
1131 | + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", | ||
1132 | + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" | ||
1133 | + }, | ||
868 | "random-bytes": { | 1134 | "random-bytes": { |
869 | "version": "1.0.0", | 1135 | "version": "1.0.0", |
870 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", | 1136 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", |
... | @@ -910,6 +1176,33 @@ | ... | @@ -910,6 +1176,33 @@ |
910 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", | 1176 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", |
911 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" | 1177 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" |
912 | }, | 1178 | }, |
1179 | + "request": { | ||
1180 | + "version": "2.88.2", | ||
1181 | + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", | ||
1182 | + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", | ||
1183 | + "requires": { | ||
1184 | + "aws-sign2": "~0.7.0", | ||
1185 | + "aws4": "^1.8.0", | ||
1186 | + "caseless": "~0.12.0", | ||
1187 | + "combined-stream": "~1.0.6", | ||
1188 | + "extend": "~3.0.2", | ||
1189 | + "forever-agent": "~0.6.1", | ||
1190 | + "form-data": "~2.3.2", | ||
1191 | + "har-validator": "~5.1.3", | ||
1192 | + "http-signature": "~1.2.0", | ||
1193 | + "is-typedarray": "~1.0.0", | ||
1194 | + "isstream": "~0.1.2", | ||
1195 | + "json-stringify-safe": "~5.0.1", | ||
1196 | + "mime-types": "~2.1.19", | ||
1197 | + "oauth-sign": "~0.9.0", | ||
1198 | + "performance-now": "^2.1.0", | ||
1199 | + "qs": "~6.5.2", | ||
1200 | + "safe-buffer": "^5.1.2", | ||
1201 | + "tough-cookie": "~2.5.0", | ||
1202 | + "tunnel-agent": "^0.6.0", | ||
1203 | + "uuid": "^3.3.2" | ||
1204 | + } | ||
1205 | + }, | ||
913 | "resolve": { | 1206 | "resolve": { |
914 | "version": "1.17.0", | 1207 | "version": "1.17.0", |
915 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", | 1208 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", |
... | @@ -936,6 +1229,11 @@ | ... | @@ -936,6 +1229,11 @@ |
936 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | 1229 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
937 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | 1230 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
938 | }, | 1231 | }, |
1232 | + "sax": { | ||
1233 | + "version": "1.2.1", | ||
1234 | + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", | ||
1235 | + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" | ||
1236 | + }, | ||
939 | "send": { | 1237 | "send": { |
940 | "version": "0.16.2", | 1238 | "version": "0.16.2", |
941 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", | 1239 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", |
... | @@ -985,6 +1283,22 @@ | ... | @@ -985,6 +1283,22 @@ |
985 | "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | 1283 | "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", |
986 | "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" | 1284 | "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" |
987 | }, | 1285 | }, |
1286 | + "sshpk": { | ||
1287 | + "version": "1.16.1", | ||
1288 | + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", | ||
1289 | + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", | ||
1290 | + "requires": { | ||
1291 | + "asn1": "~0.2.3", | ||
1292 | + "assert-plus": "^1.0.0", | ||
1293 | + "bcrypt-pbkdf": "^1.0.0", | ||
1294 | + "dashdash": "^1.12.0", | ||
1295 | + "ecc-jsbn": "~0.1.1", | ||
1296 | + "getpass": "^0.1.1", | ||
1297 | + "jsbn": "~0.1.0", | ||
1298 | + "safer-buffer": "^2.0.2", | ||
1299 | + "tweetnacl": "~0.14.0" | ||
1300 | + } | ||
1301 | + }, | ||
988 | "statuses": { | 1302 | "statuses": { |
989 | "version": "1.4.0", | 1303 | "version": "1.4.0", |
990 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", | 1304 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", |
... | @@ -1016,6 +1330,35 @@ | ... | @@ -1016,6 +1330,35 @@ |
1016 | "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", | 1330 | "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", |
1017 | "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" | 1331 | "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" |
1018 | }, | 1332 | }, |
1333 | + "tough-cookie": { | ||
1334 | + "version": "2.5.0", | ||
1335 | + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", | ||
1336 | + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", | ||
1337 | + "requires": { | ||
1338 | + "psl": "^1.1.28", | ||
1339 | + "punycode": "^2.1.1" | ||
1340 | + }, | ||
1341 | + "dependencies": { | ||
1342 | + "punycode": { | ||
1343 | + "version": "2.1.1", | ||
1344 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
1345 | + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" | ||
1346 | + } | ||
1347 | + } | ||
1348 | + }, | ||
1349 | + "tunnel-agent": { | ||
1350 | + "version": "0.6.0", | ||
1351 | + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||
1352 | + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||
1353 | + "requires": { | ||
1354 | + "safe-buffer": "^5.0.1" | ||
1355 | + } | ||
1356 | + }, | ||
1357 | + "tweetnacl": { | ||
1358 | + "version": "0.14.5", | ||
1359 | + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | ||
1360 | + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" | ||
1361 | + }, | ||
1019 | "type-is": { | 1362 | "type-is": { |
1020 | "version": "1.6.18", | 1363 | "version": "1.6.18", |
1021 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | 1364 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", |
... | @@ -1061,6 +1404,30 @@ | ... | @@ -1061,6 +1404,30 @@ |
1061 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 1404 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
1062 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | 1405 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" |
1063 | }, | 1406 | }, |
1407 | + "uri-js": { | ||
1408 | + "version": "4.2.2", | ||
1409 | + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", | ||
1410 | + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", | ||
1411 | + "requires": { | ||
1412 | + "punycode": "^2.1.0" | ||
1413 | + }, | ||
1414 | + "dependencies": { | ||
1415 | + "punycode": { | ||
1416 | + "version": "2.1.1", | ||
1417 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
1418 | + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" | ||
1419 | + } | ||
1420 | + } | ||
1421 | + }, | ||
1422 | + "url": { | ||
1423 | + "version": "0.10.3", | ||
1424 | + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", | ||
1425 | + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", | ||
1426 | + "requires": { | ||
1427 | + "punycode": "1.3.2", | ||
1428 | + "querystring": "0.2.0" | ||
1429 | + } | ||
1430 | + }, | ||
1064 | "util-deprecate": { | 1431 | "util-deprecate": { |
1065 | "version": "1.0.2", | 1432 | "version": "1.0.2", |
1066 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | 1433 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", |
... | @@ -1071,11 +1438,26 @@ | ... | @@ -1071,11 +1438,26 @@ |
1071 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | 1438 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", |
1072 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | 1439 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" |
1073 | }, | 1440 | }, |
1441 | + "uuid": { | ||
1442 | + "version": "3.3.2", | ||
1443 | + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", | ||
1444 | + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" | ||
1445 | + }, | ||
1074 | "vary": { | 1446 | "vary": { |
1075 | "version": "1.1.2", | 1447 | "version": "1.1.2", |
1076 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 1448 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
1077 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | 1449 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" |
1078 | }, | 1450 | }, |
1451 | + "verror": { | ||
1452 | + "version": "1.10.0", | ||
1453 | + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||
1454 | + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||
1455 | + "requires": { | ||
1456 | + "assert-plus": "^1.0.0", | ||
1457 | + "core-util-is": "1.0.2", | ||
1458 | + "extsprintf": "^1.2.0" | ||
1459 | + } | ||
1460 | + }, | ||
1079 | "void-elements": { | 1461 | "void-elements": { |
1080 | "version": "2.0.1", | 1462 | "version": "2.0.1", |
1081 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", | 1463 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", |
... | @@ -1100,6 +1482,20 @@ | ... | @@ -1100,6 +1482,20 @@ |
1100 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", | 1482 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", |
1101 | "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" | 1483 | "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" |
1102 | }, | 1484 | }, |
1485 | + "xml2js": { | ||
1486 | + "version": "0.4.19", | ||
1487 | + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", | ||
1488 | + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", | ||
1489 | + "requires": { | ||
1490 | + "sax": ">=0.6.0", | ||
1491 | + "xmlbuilder": "~9.0.1" | ||
1492 | + } | ||
1493 | + }, | ||
1494 | + "xmlbuilder": { | ||
1495 | + "version": "9.0.7", | ||
1496 | + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", | ||
1497 | + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" | ||
1498 | + }, | ||
1103 | "yargs": { | 1499 | "yargs": { |
1104 | "version": "3.10.0", | 1500 | "version": "3.10.0", |
1105 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", | 1501 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", | ... | ... |
... | @@ -6,6 +6,7 @@ | ... | @@ -6,6 +6,7 @@ |
6 | "start": "node ./bin/www" | 6 | "start": "node ./bin/www" |
7 | }, | 7 | }, |
8 | "dependencies": { | 8 | "dependencies": { |
9 | + "aws-sdk": "^2.683.0", | ||
9 | "cookie-parser": "~1.4.4", | 10 | "cookie-parser": "~1.4.4", |
10 | "crypto-js": "^4.0.0", | 11 | "crypto-js": "^4.0.0", |
11 | "debug": "~2.6.9", | 12 | "debug": "~2.6.9", |
... | @@ -13,9 +14,11 @@ | ... | @@ -13,9 +14,11 @@ |
13 | "express": "~4.16.1", | 14 | "express": "~4.16.1", |
14 | "express-session": "^1.17.1", | 15 | "express-session": "^1.17.1", |
15 | "http-errors": "~1.6.3", | 16 | "http-errors": "~1.6.3", |
17 | + "moment": "^2.26.0", | ||
16 | "morgan": "~1.9.1", | 18 | "morgan": "~1.9.1", |
17 | "mysql": "^2.18.1", | 19 | "mysql": "^2.18.1", |
18 | "passport": "^0.4.1", | 20 | "passport": "^0.4.1", |
19 | - "pug": "2.0.0-beta11" | 21 | + "pug": "2.0.0-beta11", |
22 | + "request": "^2.88.2" | ||
20 | } | 23 | } |
21 | } | 24 | } | ... | ... |
backend/routes/folders.js
0 → 100644
1 | +const express = require('express'); | ||
2 | +const router = express.Router(); | ||
3 | +const AWS = require("aws-sdk"); | ||
4 | +const moment = require("moment"); | ||
5 | + | ||
6 | +const BUCKET_NAME = "hong-s3-cloud"; | ||
7 | +let curPath = ""; | ||
8 | +let user_id = ""; | ||
9 | + | ||
10 | +const s3 = new AWS.S3({ | ||
11 | + accessKeyId: process.env.AWS_ACCESS_KEY_ID, | ||
12 | + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, | ||
13 | + region: "ap-northeast-2" | ||
14 | +}); | ||
15 | + | ||
16 | +router.get('/show', function(req, res, next) { | ||
17 | + console.log(req.query); | ||
18 | + user_id = req.query.id; | ||
19 | + curPath = req.query.cur; | ||
20 | + folders = {} | ||
21 | + let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;'; | ||
22 | + connection.query(checkfolder, [curPath, user_id], function(err, rows, fields) { | ||
23 | + if (rows.length != 0) { | ||
24 | + res.status(200).send({ | ||
25 | + folders: rows, | ||
26 | + cur: curPath | ||
27 | + }) | ||
28 | + } else { | ||
29 | + res.send({ error: "Does not exist" }); | ||
30 | + } | ||
31 | + }); | ||
32 | +}); | ||
33 | + | ||
34 | + | ||
35 | +router.post('/makefolder', function(req, res, next) { | ||
36 | + | ||
37 | + user_id = req.body.user_id; | ||
38 | + let cur = req.body.cur; | ||
39 | + curPath = user_id + cur; | ||
40 | + let folder_name = req.body.folder_name; | ||
41 | + let date = moment().format(); | ||
42 | + let params = { | ||
43 | + Bucket: BUCKET_NAME, | ||
44 | + Key: curPath + folder_name + '/', | ||
45 | + Body: "", | ||
46 | + ACL: "public-read-write" | ||
47 | + }; | ||
48 | + let checksql = 'SELECT * FROM folders WHERE location = ? AND folder_name = ?;'; | ||
49 | + console.log(req.body) | ||
50 | + connection.query(checksql, [cur, folder_name], function(err, rows, fields) { | ||
51 | + if (rows.length == 0) { | ||
52 | + s3.putObject(params, function(err, data) { | ||
53 | + if (err) { | ||
54 | + console.log('s3 error'); | ||
55 | + throw err; | ||
56 | + } else { | ||
57 | + console.log(data); | ||
58 | + } | ||
59 | + }); | ||
60 | + let sql = 'INSERT INTO folders (folder_name,location,user_id,created) values (?,?,?,?);'; | ||
61 | + let values = [folder_name, cur, user_id, date]; | ||
62 | + connection.query(sql, values, function(err, result, field) { | ||
63 | + if (err) { | ||
64 | + console.log('insert error'); | ||
65 | + throw err; | ||
66 | + } else { | ||
67 | + folders = {} | ||
68 | + let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;'; | ||
69 | + connection.query(checkfolder, [cur, user_id], function(err, rows, fields) { | ||
70 | + if (rows.length != 0) { | ||
71 | + res.status(200).send({ | ||
72 | + folders: rows, | ||
73 | + cur: curPath | ||
74 | + }) | ||
75 | + } else { | ||
76 | + res.send({ error: "Does not exist" }); | ||
77 | + } | ||
78 | + }); | ||
79 | + } | ||
80 | + }); | ||
81 | + | ||
82 | + | ||
83 | + } else { | ||
84 | + res.status(404).send({ error: "same name error" }); | ||
85 | + } | ||
86 | + }); | ||
87 | +}); | ||
88 | + | ||
89 | + | ||
90 | +router.post('/delfolder', function(req, res, next) { | ||
91 | + | ||
92 | + user_id = req.body.user_id; | ||
93 | + curPath = user_id + req.body.cur; | ||
94 | + let folder_name = req.body.folder_name; | ||
95 | + let params = { | ||
96 | + Bucket: BUCKET_NAME + curPath, | ||
97 | + Key: folder_name + '/' | ||
98 | + }; | ||
99 | + let checksql = 'SELECT * FROM folders WHERE location = ? AND folder_name = ?;'; | ||
100 | + let values = [curPath, folder_name]; | ||
101 | + | ||
102 | + connection.query(checksql, values, function(err, rows, fields) { | ||
103 | + if (rows.length != 0) { | ||
104 | + s3.deleteObject(params, function(err, data) { | ||
105 | + if (err) { | ||
106 | + //throw err; | ||
107 | + } else { | ||
108 | + let sql = 'DELETE FROM folders WHERE location = ? AND folder_name = ?;'; | ||
109 | + connection.query(sql, values, function(err, result, field) { | ||
110 | + if (err) { | ||
111 | + //throw err; | ||
112 | + } else { | ||
113 | + folders = {} | ||
114 | + let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;'; | ||
115 | + connection.query(checkfolder, [cur, user_id], function(err, rows, fields) { | ||
116 | + if (rows.length != 0) { | ||
117 | + res.status(200).send({ | ||
118 | + folders: rows, | ||
119 | + cur: curPath | ||
120 | + }) | ||
121 | + } else { | ||
122 | + res.send({ error: "Does not exist" }); | ||
123 | + } | ||
124 | + }); | ||
125 | + | ||
126 | + } | ||
127 | + }); | ||
128 | + } | ||
129 | + }); | ||
130 | + | ||
131 | + | ||
132 | + } else { | ||
133 | + res.send({ error: "Does not exist" }); | ||
134 | + } | ||
135 | + }); | ||
136 | +}); | ||
137 | + | ||
138 | + | ||
139 | +router.post('/move', function(req, res, next) { | ||
140 | + | ||
141 | + user_id = req.body.user_id; | ||
142 | + curPath = user_id + req.body.cur; | ||
143 | + let name = req.body.mfile; | ||
144 | + let newPath = req.body.newPath; | ||
145 | + let checkfolder = 'SELECT * FROM folders WHERE location = ? AND folder_name = ?;'; | ||
146 | + if (req.body.isfolder) { | ||
147 | + connection.query(checkfolder, [curPath, name], function(err1, rows, fields) { | ||
148 | + if (rows.length != 0) { | ||
149 | + let copy_params = { | ||
150 | + Bucket: BUCKET_NAME + curPath, | ||
151 | + CopySource: BUCKET_NAME + curPath + file + '/', | ||
152 | + Key: newPath + file + '/' | ||
153 | + }; | ||
154 | + | ||
155 | + let del_params = { | ||
156 | + Bucket: BUCKET_NAME + curPath, | ||
157 | + Key: file + '/' | ||
158 | + }; | ||
159 | + s3.copyObject(copy_params, function(err, data) { | ||
160 | + console.log(err, data); | ||
161 | + }); | ||
162 | + s3.deleteObject(del_params, function(err, data) { | ||
163 | + console.log(err, data); | ||
164 | + }); | ||
165 | + let values = [newPath, curPath, name]; | ||
166 | + let updatesql = 'UPDATE folders SET location = ? WHERE location = ? AND folder_name = ?;'; | ||
167 | + connection.query(updatesql, values, function(err3, result, field) { | ||
168 | + if (err3) { | ||
169 | + throw err; | ||
170 | + } else { | ||
171 | + folders = {} | ||
172 | + connection.query(checkfolder, [cur, user_id], function(err, rows, fields) { | ||
173 | + if (rows.length != 0) { | ||
174 | + res.status(200).send({ | ||
175 | + folders: rows, | ||
176 | + cur: curPath | ||
177 | + }) | ||
178 | + } else { | ||
179 | + res.send({ error: "Does not exist" }); | ||
180 | + } | ||
181 | + }); | ||
182 | + } | ||
183 | + }); | ||
184 | + | ||
185 | + | ||
186 | + } else { | ||
187 | + res.send({ error: "Does not exist" }); | ||
188 | + } | ||
189 | + }); | ||
190 | + } else { | ||
191 | + let checkfile = 'SELECT * FROM files WHERE location = ? AND file_name = ?'; | ||
192 | + | ||
193 | + connection.query(checkfile, [curPath, name], function(err1, rows, fields) { | ||
194 | + if (rows.length != 0) { | ||
195 | + let copy_params = { | ||
196 | + Bucket: BUCKET_NAME + curPath, | ||
197 | + CopySource: BUCKET_NAME + curPath + file, | ||
198 | + Key: newPath + file | ||
199 | + }; | ||
200 | + | ||
201 | + let del_params = { | ||
202 | + Bucket: BUCKET_NAME + curPath, | ||
203 | + Key: file | ||
204 | + }; | ||
205 | + s3.copyObject(copy_params, function(err, data) { | ||
206 | + console.log(err, data); | ||
207 | + }); | ||
208 | + s3.deleteObject(del_params, function(err, data) { | ||
209 | + console.log(err, data); | ||
210 | + }); | ||
211 | + let values = [newPath, curPath, name]; | ||
212 | + let updatesql = 'UPDATE files SET location = ? WHERE location = ? AND file_name = ?;'; | ||
213 | + connection.query(updatesql, values, function(err3, result, field) { | ||
214 | + if (err3) { | ||
215 | + throw err; | ||
216 | + } else { | ||
217 | + folders = {} | ||
218 | + connection.query(checkfolder, [cur, user_id], function(err, rows, fields) { | ||
219 | + if (rows.length != 0) { | ||
220 | + res.status(200).send({ | ||
221 | + folders: rows, | ||
222 | + cur: curPath | ||
223 | + }) | ||
224 | + } else { | ||
225 | + res.send({ error: "Does not exist" }); | ||
226 | + } | ||
227 | + }); | ||
228 | + } | ||
229 | + }); | ||
230 | + | ||
231 | + | ||
232 | + } else { | ||
233 | + res.send({ error: "Does not exist" }); | ||
234 | + } | ||
235 | + }); | ||
236 | + | ||
237 | + } | ||
238 | +}); | ||
239 | + | ||
240 | + | ||
241 | +router.post('/search/:target', function(req, res, next) { | ||
242 | + user_id = req.params.id; | ||
243 | + let cur = req.params.cur; | ||
244 | + folders = {} | ||
245 | + let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;'; | ||
246 | + connection.query(checkfolder, [cur, user_id], function(err, rows, fields) { | ||
247 | + if (rows.length != 0) { | ||
248 | + res.status(200).send({ | ||
249 | + folders: folders | ||
250 | + }) | ||
251 | + } else { | ||
252 | + res.send({ error: "Does not exist" }); | ||
253 | + } | ||
254 | + }); | ||
255 | +}); | ||
256 | + | ||
257 | +module.exports = router; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -5,17 +5,26 @@ const instance = axios.create({ | ... | @@ -5,17 +5,26 @@ const instance = axios.create({ |
5 | }); | 5 | }); |
6 | 6 | ||
7 | function registerUser(userData) { | 7 | function registerUser(userData) { |
8 | - // const url = 'http://localhost:3000/api/signup' | 8 | + // const url = 'http://localhost:3000/api/signup' |
9 | return axios.post('/api/RegistUser', userData); | 9 | return axios.post('/api/RegistUser', userData); |
10 | - } | 10 | +} |
11 | - | 11 | + |
12 | - function loginUser(userData) { | 12 | +function loginUser(userData) { |
13 | // const url = 'http://localhost:3000/api/login' | 13 | // const url = 'http://localhost:3000/api/login' |
14 | return axios.post('/api/login', userData); | 14 | return axios.post('/api/login', userData); |
15 | - } | ||
16 | - | ||
17 | -function dropbox(userData){ | ||
18 | - return axios.get('/api/dropbox', userData); | ||
19 | } | 15 | } |
20 | 16 | ||
21 | - export { registerUser, loginUser, dropbox }; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
17 | +function folder(curData) { | ||
18 | + return axios.get('/api/folder/show', { | ||
19 | + params: { | ||
20 | + id: curData.id, | ||
21 | + cur: curData.cur | ||
22 | + } | ||
23 | + }); | ||
24 | +} | ||
25 | + | ||
26 | +function makeFolder(folderData) { | ||
27 | + return axios.post('/api/folder/makefolder', folderData); | ||
28 | +} | ||
29 | + | ||
30 | +export { registerUser, loginUser, folder, makeFolder }; | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -12,10 +12,8 @@ | ... | @@ -12,10 +12,8 @@ |
12 | hide-details | 12 | hide-details |
13 | ></v-text-field> | 13 | ></v-text-field> |
14 | </v-toolbar> | 14 | </v-toolbar> |
15 | - | ||
16 | <v-list two-line subheader> | 15 | <v-list two-line subheader> |
17 | <v-subheader inset>Folders</v-subheader> | 16 | <v-subheader inset>Folders</v-subheader> |
18 | - | ||
19 | <v-list-item | 17 | <v-list-item |
20 | v-for="item in this.$store.getters.folderL" | 18 | v-for="item in this.$store.getters.folderL" |
21 | :key="item.title" | 19 | :key="item.title" |
... | @@ -24,35 +22,28 @@ | ... | @@ -24,35 +22,28 @@ |
24 | <v-list-item-avatar> | 22 | <v-list-item-avatar> |
25 | <v-icon>mdi-folder</v-icon> | 23 | <v-icon>mdi-folder</v-icon> |
26 | </v-list-item-avatar> | 24 | </v-list-item-avatar> |
27 | - | ||
28 | <v-list-item-content> | 25 | <v-list-item-content> |
29 | - <v-list-item-title v-text="item"></v-list-item-title> | 26 | + <v-list-item-title v-text="item.folder_name"></v-list-item-title> |
30 | </v-list-item-content> | 27 | </v-list-item-content> |
31 | - | ||
32 | <v-list-item-action> | 28 | <v-list-item-action> |
33 | <v-btn icon> | 29 | <v-btn icon> |
34 | <v-icon color="grey lighten-1">mdi-information</v-icon> | 30 | <v-icon color="grey lighten-1">mdi-information</v-icon> |
35 | </v-btn> | 31 | </v-btn> |
36 | </v-list-item-action> | 32 | </v-list-item-action> |
37 | </v-list-item> | 33 | </v-list-item> |
38 | - | ||
39 | <v-divider inset></v-divider> | 34 | <v-divider inset></v-divider> |
40 | - | ||
41 | <v-subheader inset>Files</v-subheader> | 35 | <v-subheader inset>Files</v-subheader> |
42 | - | ||
43 | <v-list-item | 36 | <v-list-item |
44 | - v-for="item in items2" | 37 | + v-for="item in this.$store.getters.fileL" |
45 | :key="item.title" | 38 | :key="item.title" |
46 | @click="" | 39 | @click="" |
47 | > | 40 | > |
48 | <v-list-item-avatar> | 41 | <v-list-item-avatar> |
49 | <v-icon> mdi-file</v-icon> | 42 | <v-icon> mdi-file</v-icon> |
50 | </v-list-item-avatar> | 43 | </v-list-item-avatar> |
51 | - | ||
52 | <v-list-item-content> | 44 | <v-list-item-content> |
53 | <v-list-item-title v-text="item"></v-list-item-title> | 45 | <v-list-item-title v-text="item"></v-list-item-title> |
54 | </v-list-item-content> | 46 | </v-list-item-content> |
55 | - | ||
56 | <v-list-item-action> | 47 | <v-list-item-action> |
57 | <v-btn icon> | 48 | <v-btn icon> |
58 | <v-icon color="grey lighten-1">mdi-information</v-icon> | 49 | <v-icon color="grey lighten-1">mdi-information</v-icon> |
... | @@ -81,7 +72,6 @@ | ... | @@ -81,7 +72,6 @@ |
81 | > | 72 | > |
82 | {{ text }} | 73 | {{ text }} |
83 | </v-chip> | 74 | </v-chip> |
84 | - | ||
85 | <span | 75 | <span |
86 | v-else-if="index === 2" | 76 | v-else-if="index === 2" |
87 | class="overline grey--text text--darken-3 mx-2" | 77 | class="overline grey--text text--darken-3 mx-2" |
... | @@ -90,44 +80,98 @@ | ... | @@ -90,44 +80,98 @@ |
90 | </span> | 80 | </span> |
91 | </template> | 81 | </template> |
92 | </v-file-input> | 82 | </v-file-input> |
83 | + <v-btn | ||
84 | + bottom | ||
85 | + color="blue" | ||
86 | + dark | ||
87 | + fab | ||
88 | + fixed | ||
89 | + right | ||
90 | + @click="dialog = !dialog" | ||
91 | + > | ||
92 | + <v-icon>mdi-plus</v-icon> | ||
93 | + </v-btn> | ||
94 | + <v-dialog | ||
95 | + v-model="dialog" | ||
96 | + width="800px" | ||
97 | + > | ||
98 | + <v-card> | ||
99 | + <v-card-title class="grey darken-2"> | ||
100 | + Create Folder | ||
101 | + </v-card-title> | ||
102 | + <v-container> | ||
103 | + <div> | ||
104 | + <v-icon>mdi-folder</v-icon> | ||
105 | + <v-text-field placeholder="name" id="foldername" type="text" v-model="foldername"></v-text-field> | ||
106 | + </div> | ||
107 | + </v-container> | ||
108 | + <v-card-actions> | ||
109 | + <v-spacer></v-spacer> | ||
110 | + <v-btn | ||
111 | + text | ||
112 | + color="primary" | ||
113 | + @click="dialog = false" | ||
114 | + >Cancel</v-btn> | ||
115 | + <v-btn | ||
116 | + text | ||
117 | + @click="makeF" | ||
118 | + >Create</v-btn> | ||
119 | + </v-card-actions> | ||
120 | + </v-card> | ||
121 | + </v-dialog> | ||
93 | </div> | 122 | </div> |
94 | </template> | 123 | </template> |
95 | 124 | ||
96 | <script> | 125 | <script> |
97 | -import { dropbox } from '../api/index'; | 126 | +import { folder, makeFolder } from '../api/index'; |
98 | export default { | 127 | export default { |
99 | data() { | 128 | data() { |
100 | - return { | 129 | + return { |
130 | + foldername:'', | ||
101 | folders: [], | 131 | folders: [], |
102 | files: [], | 132 | files: [], |
103 | search:'', | 133 | search:'', |
134 | + dialog:false | ||
104 | } | 135 | } |
105 | }, | 136 | }, |
106 | async created(){ | 137 | async created(){ |
107 | try { | 138 | try { |
108 | - const userData = { | 139 | + const curData = { |
109 | - user_id: this.$store.getters.userId, | 140 | + id : this.$store.state.id, |
110 | - cur: '/', | 141 | + cur: this.$store.state.cur |
111 | - }; | 142 | + } |
112 | - const { data } = await dropbox(userData); | 143 | + const response = await folder(curData); |
113 | - console.log(data); | 144 | + console.log(response); |
114 | - this.$store.commit('setFolder', data.folders); | 145 | + this.$store.commit('setFolder', response.data.folders); |
115 | - this.$store.commit('setFile', data.files); | ||
116 | } catch (error) { | 146 | } catch (error) { |
117 | console.log("에러"); | 147 | console.log("에러"); |
118 | - console.log(error.response.data); | 148 | + console.log(error.response.data); |
119 | } | 149 | } |
120 | - } | 150 | + }, |
121 | - // data: () => ({ | 151 | + methods: { |
122 | - // items: [ | 152 | + initFolderName(){ |
123 | - // { icon: 'folder', iconClass: 'mdi-folder', title: 'Photos', subtitle: 'Jan 9, 2014' }, | 153 | + this.foldername = ''; |
124 | - // { icon: 'folder', iconClass: 'mdi-folder', title: 'Recipes', subtitle: 'Jan 17, 2014' }, | 154 | + }, |
125 | - // { icon: 'folder', iconClass: 'mdi-folder', title: 'Work', subtitle: 'Jan 28, 2014' }, | 155 | + async makeF(){ |
126 | - // ], | 156 | + try { |
127 | - // items2: [ | 157 | + const folderData = { |
128 | - // { icon: 'assignment', iconClass: 'mdi-file', title: 'Vacation itinerary', subtitle: 'Jan 20, 2014' }, | 158 | + user_id : this.$store.state.id, |
129 | - // { icon: 'call_to_action', iconClass: 'mdi-PdfBox', title: 'Kitchen remodel', subtitle: 'Jan 10, 2014' }, | 159 | + cur : this.$store.state.cur, |
130 | - // ], | 160 | + folder_name : this.foldername |
131 | - // }), | 161 | + }; |
162 | + const response = await makeFolder(folderData); | ||
163 | + console.log(response.data) | ||
164 | + console.log("폴더 생성 완료"); | ||
165 | + this.$store.commit('setFolder', response.data.folders); | ||
166 | + } catch (error) { | ||
167 | + console.log("에러"); | ||
168 | + console.log(error.response.data); | ||
169 | + } finally{ | ||
170 | + this.initFolderName(); | ||
171 | + this.dialog = false; | ||
172 | + } | ||
173 | + } | ||
174 | + | ||
175 | + } | ||
132 | } | 176 | } |
133 | </script> | 177 | </script> | ... | ... |
... | @@ -132,112 +132,6 @@ | ... | @@ -132,112 +132,6 @@ |
132 | <router-view></router-view> | 132 | <router-view></router-view> |
133 | </v-container> | 133 | </v-container> |
134 | </v-content> | 134 | </v-content> |
135 | - <template v-if="isUserLogin"> | ||
136 | - <v-btn | ||
137 | - bottom | ||
138 | - color="pink" | ||
139 | - dark | ||
140 | - fab | ||
141 | - fixed | ||
142 | - right | ||
143 | - @click="dialog = !dialog" | ||
144 | - > | ||
145 | - <v-icon>mdi-plus</v-icon> | ||
146 | - </v-btn> | ||
147 | - </template> | ||
148 | - <!-- <v-btn | ||
149 | - bottom | ||
150 | - color="pink" | ||
151 | - dark | ||
152 | - fab | ||
153 | - fixed | ||
154 | - right | ||
155 | - @click="dialog = !dialog" | ||
156 | - > | ||
157 | - <v-icon>mdi-plus</v-icon> | ||
158 | - </v-btn> --> | ||
159 | - <v-dialog | ||
160 | - v-model="dialog" | ||
161 | - width="800px" | ||
162 | - > | ||
163 | - <v-card> | ||
164 | - <v-card-title class="grey darken-2"> | ||
165 | - Create contact | ||
166 | - </v-card-title> | ||
167 | - <v-container> | ||
168 | - <v-row class="mx-2"> | ||
169 | - <v-col | ||
170 | - class="align-center justify-space-between" | ||
171 | - cols="12" | ||
172 | - > | ||
173 | - <v-row | ||
174 | - align="center" | ||
175 | - class="mr-0" | ||
176 | - > | ||
177 | - <v-avatar | ||
178 | - size="40px" | ||
179 | - class="mx-3" | ||
180 | - > | ||
181 | - <img | ||
182 | - src="//ssl.gstatic.com/s2/oz/images/sge/grey_silhouette.png" | ||
183 | - alt="" | ||
184 | - > | ||
185 | - </v-avatar> | ||
186 | - <v-text-field | ||
187 | - placeholder="Name" | ||
188 | - ></v-text-field> | ||
189 | - </v-row> | ||
190 | - </v-col> | ||
191 | - <v-col cols="6"> | ||
192 | - <v-text-field | ||
193 | - prepend-icon="mdi-account-card-details-outline" | ||
194 | - placeholder="Company" | ||
195 | - ></v-text-field> | ||
196 | - </v-col> | ||
197 | - <v-col cols="6"> | ||
198 | - <v-text-field | ||
199 | - placeholder="Job title" | ||
200 | - ></v-text-field> | ||
201 | - </v-col> | ||
202 | - <v-col cols="12"> | ||
203 | - <v-text-field | ||
204 | - prepend-icon="mdi-mail" | ||
205 | - placeholder="Email" | ||
206 | - ></v-text-field> | ||
207 | - </v-col> | ||
208 | - <v-col cols="12"> | ||
209 | - <v-text-field | ||
210 | - type="tel" | ||
211 | - prepend-icon="mdi-phone" | ||
212 | - placeholder="(000) 000 - 0000" | ||
213 | - ></v-text-field> | ||
214 | - </v-col> | ||
215 | - <v-col cols="12"> | ||
216 | - <v-text-field | ||
217 | - prepend-icon="mdi-text" | ||
218 | - placeholder="Notes" | ||
219 | - ></v-text-field> | ||
220 | - </v-col> | ||
221 | - </v-row> | ||
222 | - </v-container> | ||
223 | - <v-card-actions> | ||
224 | - <v-btn | ||
225 | - text | ||
226 | - color="primary" | ||
227 | - >More</v-btn> | ||
228 | - <v-spacer></v-spacer> | ||
229 | - <v-btn | ||
230 | - text | ||
231 | - color="primary" | ||
232 | - @click="dialog = false" | ||
233 | - >Cancel</v-btn> | ||
234 | - <v-btn | ||
235 | - text | ||
236 | - @click="dialog = false" | ||
237 | - >Save</v-btn> | ||
238 | - </v-card-actions> | ||
239 | - </v-card> | ||
240 | - </v-dialog> | ||
241 | </v-app> | 135 | </v-app> |
242 | </template> | 136 | </template> |
243 | 137 | ... | ... |
... | @@ -4,37 +4,44 @@ import Vuex from 'vuex' | ... | @@ -4,37 +4,44 @@ import Vuex from 'vuex' |
4 | Vue.use(Vuex) | 4 | Vue.use(Vuex) |
5 | 5 | ||
6 | export default new Vuex.Store({ | 6 | export default new Vuex.Store({ |
7 | - state: { | 7 | + state: { |
8 | - id: '', | 8 | + id: '', |
9 | - folders: [], | 9 | + folders: {}, |
10 | - files: [], | 10 | + files: {}, |
11 | - }, | 11 | + cur: '/', |
12 | - mutations: { | ||
13 | - setId(state, userid){ | ||
14 | - state.id = userid; | ||
15 | }, | 12 | }, |
16 | - clearid(state){ | 13 | + mutations: { |
17 | - state.id= ''; | 14 | + setId(state, userid) { |
15 | + state.id = userid; | ||
16 | + }, | ||
17 | + clearid(state) { | ||
18 | + state.id = ''; | ||
19 | + }, | ||
20 | + setFolder(state, folderlist) { | ||
21 | + state.folders = folderlist; | ||
22 | + }, | ||
23 | + setFile(state, filelist) { | ||
24 | + state.files = filelist; | ||
25 | + }, | ||
26 | + setCur(state, cur) { | ||
27 | + state.cur = cur; | ||
28 | + } | ||
18 | }, | 29 | }, |
19 | - setFolder(state, folderlist){ | 30 | + getters: { |
20 | - state.folders = folderlist; | 31 | + isLogin(state) { |
21 | - }, | 32 | + return state.id !== ''; |
22 | - setFile(state, filelist){ | 33 | + }, |
23 | - state.files = fileList; | 34 | + userID(state) { |
24 | - } | 35 | + return state.id; |
25 | - }, | 36 | + }, |
26 | - getters: { | 37 | + folderL(state) { |
27 | - isLogin(state){ | 38 | + return state.folders; |
28 | - return state.id !== ''; | 39 | + }, |
29 | - }, | 40 | + fileL(state) { |
30 | - userID(state){ | 41 | + return state.files; |
31 | - return state.id; | 42 | + }, |
32 | - }, | 43 | + cur(state) { |
33 | - folderL(state){ | 44 | + return state.cur; |
34 | - return state.folders; | 45 | + } |
35 | - }, | ||
36 | - fileL(state){ | ||
37 | - return state.files; | ||
38 | } | 46 | } |
39 | - } | 47 | +}) |
40 | -}) | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment