Hong

백엔드폴더추가

...@@ -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 }
......
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
......