Showing
15 changed files
with
508 additions
and
447 deletions
| ... | @@ -4,17 +4,24 @@ | ... | @@ -4,17 +4,24 @@ |
| 4 | "lockfileVersion": 1, | 4 | "lockfileVersion": 1, |
| 5 | "requires": true, | 5 | "requires": true, |
| 6 | "dependencies": { | 6 | "dependencies": { |
| 7 | - "@types/babel-types": { | 7 | + "@babel/helper-validator-identifier": { |
| 8 | - "version": "7.0.7", | 8 | + "version": "7.10.1", |
| 9 | - "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz", | 9 | + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", |
| 10 | - "integrity": "sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==" | 10 | + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==" |
| 11 | }, | 11 | }, |
| 12 | - "@types/babylon": { | 12 | + "@babel/parser": { |
| 13 | - "version": "6.16.5", | 13 | + "version": "7.10.2", |
| 14 | - "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz", | 14 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", |
| 15 | - "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==", | 15 | + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==" |
| 16 | + }, | ||
| 17 | + "@babel/types": { | ||
| 18 | + "version": "7.10.2", | ||
| 19 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", | ||
| 20 | + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", | ||
| 16 | "requires": { | 21 | "requires": { |
| 17 | - "@types/babel-types": "*" | 22 | + "@babel/helper-validator-identifier": "^7.10.1", |
| 23 | + "lodash": "^4.17.13", | ||
| 24 | + "to-fast-properties": "^2.0.0" | ||
| 18 | } | 25 | } |
| 19 | }, | 26 | }, |
| 20 | "accepts": { | 27 | "accepts": { |
| ... | @@ -27,24 +34,9 @@ | ... | @@ -27,24 +34,9 @@ |
| 27 | } | 34 | } |
| 28 | }, | 35 | }, |
| 29 | "acorn": { | 36 | "acorn": { |
| 30 | - "version": "3.3.0", | 37 | + "version": "7.2.0", |
| 31 | - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", | 38 | + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", |
| 32 | - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" | 39 | + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==" |
| 33 | - }, | ||
| 34 | - "acorn-globals": { | ||
| 35 | - "version": "3.1.0", | ||
| 36 | - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", | ||
| 37 | - "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", | ||
| 38 | - "requires": { | ||
| 39 | - "acorn": "^4.0.4" | ||
| 40 | - }, | ||
| 41 | - "dependencies": { | ||
| 42 | - "acorn": { | ||
| 43 | - "version": "4.0.13", | ||
| 44 | - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", | ||
| 45 | - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" | ||
| 46 | - } | ||
| 47 | - } | ||
| 48 | }, | 40 | }, |
| 49 | "ajv": { | 41 | "ajv": { |
| 50 | "version": "6.12.2", | 42 | "version": "6.12.2", |
| ... | @@ -57,21 +49,6 @@ | ... | @@ -57,21 +49,6 @@ |
| 57 | "uri-js": "^4.2.2" | 49 | "uri-js": "^4.2.2" |
| 58 | } | 50 | } |
| 59 | }, | 51 | }, |
| 60 | - "align-text": { | ||
| 61 | - "version": "0.1.4", | ||
| 62 | - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", | ||
| 63 | - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", | ||
| 64 | - "requires": { | ||
| 65 | - "kind-of": "^3.0.2", | ||
| 66 | - "longest": "^1.0.1", | ||
| 67 | - "repeat-string": "^1.5.2" | ||
| 68 | - } | ||
| 69 | - }, | ||
| 70 | - "amdefine": { | ||
| 71 | - "version": "1.0.1", | ||
| 72 | - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", | ||
| 73 | - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" | ||
| 74 | - }, | ||
| 75 | "ansi-styles": { | 52 | "ansi-styles": { |
| 76 | "version": "3.2.1", | 53 | "version": "3.2.1", |
| 77 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | 54 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", |
| ... | @@ -98,6 +75,11 @@ | ... | @@ -98,6 +75,11 @@ |
| 98 | "safer-buffer": "~2.1.0" | 75 | "safer-buffer": "~2.1.0" |
| 99 | } | 76 | } |
| 100 | }, | 77 | }, |
| 78 | + "assert-never": { | ||
| 79 | + "version": "1.2.1", | ||
| 80 | + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", | ||
| 81 | + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==" | ||
| 82 | + }, | ||
| 101 | "assert-plus": { | 83 | "assert-plus": { |
| 102 | "version": "1.0.0", | 84 | "version": "1.0.0", |
| 103 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | 85 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |
| ... | @@ -139,31 +121,14 @@ | ... | @@ -139,31 +121,14 @@ |
| 139 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", | 121 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", |
| 140 | "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" | 122 | "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" |
| 141 | }, | 123 | }, |
| 142 | - "babel-runtime": { | 124 | + "babel-walk": { |
| 143 | - "version": "6.26.0", | 125 | + "version": "3.0.0-canary-5", |
| 144 | - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", | 126 | + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", |
| 145 | - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", | 127 | + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", |
| 146 | - "requires": { | ||
| 147 | - "core-js": "^2.4.0", | ||
| 148 | - "regenerator-runtime": "^0.11.0" | ||
| 149 | - } | ||
| 150 | - }, | ||
| 151 | - "babel-types": { | ||
| 152 | - "version": "6.26.0", | ||
| 153 | - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", | ||
| 154 | - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", | ||
| 155 | "requires": { | 128 | "requires": { |
| 156 | - "babel-runtime": "^6.26.0", | 129 | + "@babel/types": "^7.9.6" |
| 157 | - "esutils": "^2.0.2", | ||
| 158 | - "lodash": "^4.17.4", | ||
| 159 | - "to-fast-properties": "^1.0.3" | ||
| 160 | } | 130 | } |
| 161 | }, | 131 | }, |
| 162 | - "babylon": { | ||
| 163 | - "version": "6.18.0", | ||
| 164 | - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", | ||
| 165 | - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" | ||
| 166 | - }, | ||
| 167 | "balanced-match": { | 132 | "balanced-match": { |
| 168 | "version": "1.0.0", | 133 | "version": "1.0.0", |
| 169 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", | 134 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", |
| ... | @@ -236,25 +201,11 @@ | ... | @@ -236,25 +201,11 @@ |
| 236 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", | 201 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", |
| 237 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" | 202 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" |
| 238 | }, | 203 | }, |
| 239 | - "camelcase": { | ||
| 240 | - "version": "1.2.1", | ||
| 241 | - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", | ||
| 242 | - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" | ||
| 243 | - }, | ||
| 244 | "caseless": { | 204 | "caseless": { |
| 245 | "version": "0.12.0", | 205 | "version": "0.12.0", |
| 246 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | 206 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", |
| 247 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" | 207 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" |
| 248 | }, | 208 | }, |
| 249 | - "center-align": { | ||
| 250 | - "version": "0.1.3", | ||
| 251 | - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", | ||
| 252 | - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", | ||
| 253 | - "requires": { | ||
| 254 | - "align-text": "^0.1.3", | ||
| 255 | - "lazy-cache": "^1.0.3" | ||
| 256 | - } | ||
| 257 | - }, | ||
| 258 | "chalk": { | 209 | "chalk": { |
| 259 | "version": "2.4.2", | 210 | "version": "2.4.2", |
| 260 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | 211 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", |
| ... | @@ -273,25 +224,6 @@ | ... | @@ -273,25 +224,6 @@ |
| 273 | "is-regex": "^1.0.3" | 224 | "is-regex": "^1.0.3" |
| 274 | } | 225 | } |
| 275 | }, | 226 | }, |
| 276 | - "clean-css": { | ||
| 277 | - "version": "3.4.28", | ||
| 278 | - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", | ||
| 279 | - "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", | ||
| 280 | - "requires": { | ||
| 281 | - "commander": "2.8.x", | ||
| 282 | - "source-map": "0.4.x" | ||
| 283 | - } | ||
| 284 | - }, | ||
| 285 | - "cliui": { | ||
| 286 | - "version": "2.1.0", | ||
| 287 | - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", | ||
| 288 | - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", | ||
| 289 | - "requires": { | ||
| 290 | - "center-align": "^0.1.1", | ||
| 291 | - "right-align": "^0.1.1", | ||
| 292 | - "wordwrap": "0.0.2" | ||
| 293 | - } | ||
| 294 | - }, | ||
| 295 | "color-convert": { | 227 | "color-convert": { |
| 296 | "version": "1.9.3", | 228 | "version": "1.9.3", |
| 297 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | 229 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", |
| ... | @@ -313,28 +245,18 @@ | ... | @@ -313,28 +245,18 @@ |
| 313 | "delayed-stream": "~1.0.0" | 245 | "delayed-stream": "~1.0.0" |
| 314 | } | 246 | } |
| 315 | }, | 247 | }, |
| 316 | - "commander": { | ||
| 317 | - "version": "2.8.1", | ||
| 318 | - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", | ||
| 319 | - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", | ||
| 320 | - "requires": { | ||
| 321 | - "graceful-readlink": ">= 1.0.0" | ||
| 322 | - } | ||
| 323 | - }, | ||
| 324 | "concat-map": { | 248 | "concat-map": { |
| 325 | "version": "0.0.1", | 249 | "version": "0.0.1", |
| 326 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | 250 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
| 327 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | 251 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" |
| 328 | }, | 252 | }, |
| 329 | "constantinople": { | 253 | "constantinople": { |
| 330 | - "version": "3.1.2", | 254 | + "version": "4.0.1", |
| 331 | - "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", | 255 | + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", |
| 332 | - "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", | 256 | + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", |
| 333 | "requires": { | 257 | "requires": { |
| 334 | - "@types/babel-types": "^7.0.0", | 258 | + "@babel/parser": "^7.6.0", |
| 335 | - "@types/babylon": "^6.16.2", | 259 | + "@babel/types": "^7.6.1" |
| 336 | - "babel-types": "^6.26.0", | ||
| 337 | - "babylon": "^6.18.0" | ||
| 338 | } | 260 | } |
| 339 | }, | 261 | }, |
| 340 | "content-disposition": { | 262 | "content-disposition": { |
| ... | @@ -366,11 +288,6 @@ | ... | @@ -366,11 +288,6 @@ |
| 366 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | 288 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", |
| 367 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" | 289 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" |
| 368 | }, | 290 | }, |
| 369 | - "core-js": { | ||
| 370 | - "version": "2.6.11", | ||
| 371 | - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", | ||
| 372 | - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" | ||
| 373 | - }, | ||
| 374 | "core-util-is": { | 291 | "core-util-is": { |
| 375 | "version": "1.0.2", | 292 | "version": "1.0.2", |
| 376 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", | 293 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", |
| ... | @@ -397,11 +314,6 @@ | ... | @@ -397,11 +314,6 @@ |
| 397 | "ms": "2.0.0" | 314 | "ms": "2.0.0" |
| 398 | } | 315 | } |
| 399 | }, | 316 | }, |
| 400 | - "decamelize": { | ||
| 401 | - "version": "1.2.0", | ||
| 402 | - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", | ||
| 403 | - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" | ||
| 404 | - }, | ||
| 405 | "delayed-stream": { | 317 | "delayed-stream": { |
| 406 | "version": "1.0.0", | 318 | "version": "1.0.0", |
| 407 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | 319 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", |
| ... | @@ -459,11 +371,6 @@ | ... | @@ -459,11 +371,6 @@ |
| 459 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | 371 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", |
| 460 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" | 372 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" |
| 461 | }, | 373 | }, |
| 462 | - "esutils": { | ||
| 463 | - "version": "2.0.3", | ||
| 464 | - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", | ||
| 465 | - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" | ||
| 466 | - }, | ||
| 467 | "etag": { | 374 | "etag": { |
| 468 | "version": "1.8.1", | 375 | "version": "1.8.1", |
| 469 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | 376 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", |
| ... | @@ -630,11 +537,6 @@ | ... | @@ -630,11 +537,6 @@ |
| 630 | "assert-plus": "^1.0.0" | 537 | "assert-plus": "^1.0.0" |
| 631 | } | 538 | } |
| 632 | }, | 539 | }, |
| 633 | - "graceful-readlink": { | ||
| 634 | - "version": "1.0.1", | ||
| 635 | - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", | ||
| 636 | - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" | ||
| 637 | - }, | ||
| 638 | "har-schema": { | 540 | "har-schema": { |
| 639 | "version": "2.0.0", | 541 | "version": "2.0.0", |
| 640 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | 542 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", |
| ... | @@ -706,25 +608,13 @@ | ... | @@ -706,25 +608,13 @@ |
| 706 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | 608 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", |
| 707 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | 609 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" |
| 708 | }, | 610 | }, |
| 709 | - "is-buffer": { | ||
| 710 | - "version": "1.1.6", | ||
| 711 | - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", | ||
| 712 | - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" | ||
| 713 | - }, | ||
| 714 | "is-expression": { | 611 | "is-expression": { |
| 715 | - "version": "3.0.0", | 612 | + "version": "4.0.0", |
| 716 | - "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", | 613 | + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", |
| 717 | - "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", | 614 | + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", |
| 718 | "requires": { | 615 | "requires": { |
| 719 | - "acorn": "~4.0.2", | 616 | + "acorn": "^7.1.1", |
| 720 | - "object-assign": "^4.0.1" | 617 | + "object-assign": "^4.1.1" |
| 721 | - }, | ||
| 722 | - "dependencies": { | ||
| 723 | - "acorn": { | ||
| 724 | - "version": "4.0.13", | ||
| 725 | - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", | ||
| 726 | - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" | ||
| 727 | - } | ||
| 728 | } | 618 | } |
| 729 | }, | 619 | }, |
| 730 | "is-promise": { | 620 | "is-promise": { |
| ... | @@ -816,29 +706,11 @@ | ... | @@ -816,29 +706,11 @@ |
| 816 | "promise": "^7.0.1" | 706 | "promise": "^7.0.1" |
| 817 | } | 707 | } |
| 818 | }, | 708 | }, |
| 819 | - "kind-of": { | ||
| 820 | - "version": "3.2.2", | ||
| 821 | - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||
| 822 | - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||
| 823 | - "requires": { | ||
| 824 | - "is-buffer": "^1.1.5" | ||
| 825 | - } | ||
| 826 | - }, | ||
| 827 | - "lazy-cache": { | ||
| 828 | - "version": "1.0.4", | ||
| 829 | - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", | ||
| 830 | - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" | ||
| 831 | - }, | ||
| 832 | "lodash": { | 709 | "lodash": { |
| 833 | "version": "4.17.15", | 710 | "version": "4.17.15", |
| 834 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", | 711 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", |
| 835 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" | 712 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" |
| 836 | }, | 713 | }, |
| 837 | - "longest": { | ||
| 838 | - "version": "1.0.1", | ||
| 839 | - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", | ||
| 840 | - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" | ||
| 841 | - }, | ||
| 842 | "media-typer": { | 714 | "media-typer": { |
| 843 | "version": "0.3.0", | 715 | "version": "0.3.0", |
| 844 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | 716 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
| ... | @@ -1008,118 +880,116 @@ | ... | @@ -1008,118 +880,116 @@ |
| 1008 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" | 880 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" |
| 1009 | }, | 881 | }, |
| 1010 | "pug": { | 882 | "pug": { |
| 1011 | - "version": "2.0.0-beta11", | 883 | + "version": "3.0.0", |
| 1012 | - "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta11.tgz", | 884 | + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.0.tgz", |
| 1013 | - "integrity": "sha1-Favmr1AEx+LPRhPksnRlyVRrXwE=", | 885 | + "integrity": "sha512-inmsJyFBSHZaiGLaguoFgJGViX0If6AcfcElimvwj9perqjDpUpw79UIEDZbWFmoGVidh08aoE+e8tVkjVJPCw==", |
| 1014 | "requires": { | 886 | "requires": { |
| 1015 | - "pug-code-gen": "^1.1.1", | 887 | + "pug-code-gen": "^3.0.0", |
| 1016 | - "pug-filters": "^2.1.1", | 888 | + "pug-filters": "^4.0.0", |
| 1017 | - "pug-lexer": "^3.0.0", | 889 | + "pug-lexer": "^5.0.0", |
| 1018 | - "pug-linker": "^2.0.2", | 890 | + "pug-linker": "^4.0.0", |
| 1019 | - "pug-load": "^2.0.5", | 891 | + "pug-load": "^3.0.0", |
| 1020 | - "pug-parser": "^2.0.2", | 892 | + "pug-parser": "^6.0.0", |
| 1021 | - "pug-runtime": "^2.0.3", | 893 | + "pug-runtime": "^3.0.0", |
| 1022 | - "pug-strip-comments": "^1.0.2" | 894 | + "pug-strip-comments": "^2.0.0" |
| 1023 | } | 895 | } |
| 1024 | }, | 896 | }, |
| 1025 | "pug-attrs": { | 897 | "pug-attrs": { |
| 1026 | - "version": "2.0.4", | 898 | + "version": "3.0.0", |
| 1027 | - "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", | 899 | + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", |
| 1028 | - "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", | 900 | + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", |
| 1029 | "requires": { | 901 | "requires": { |
| 1030 | - "constantinople": "^3.0.1", | 902 | + "constantinople": "^4.0.1", |
| 1031 | - "js-stringify": "^1.0.1", | 903 | + "js-stringify": "^1.0.2", |
| 1032 | - "pug-runtime": "^2.0.5" | 904 | + "pug-runtime": "^3.0.0" |
| 1033 | } | 905 | } |
| 1034 | }, | 906 | }, |
| 1035 | "pug-code-gen": { | 907 | "pug-code-gen": { |
| 1036 | - "version": "1.1.1", | 908 | + "version": "3.0.1", |
| 1037 | - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-1.1.1.tgz", | 909 | + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.1.tgz", |
| 1038 | - "integrity": "sha1-HPcnRO8qA56uajNAyqoRBYcSWOg=", | 910 | + "integrity": "sha512-xJIGvmXTQlkJllq6hqxxjRWcay2F9CU69TuAuiVZgHK0afOhG5txrQOcZyaPHBvSWCU/QQOqEp5XCH94rRZpBQ==", |
| 1039 | "requires": { | 911 | "requires": { |
| 1040 | - "constantinople": "^3.0.1", | 912 | + "constantinople": "^4.0.1", |
| 1041 | "doctypes": "^1.1.0", | 913 | "doctypes": "^1.1.0", |
| 1042 | - "js-stringify": "^1.0.1", | 914 | + "js-stringify": "^1.0.2", |
| 1043 | - "pug-attrs": "^2.0.2", | 915 | + "pug-attrs": "^3.0.0", |
| 1044 | - "pug-error": "^1.3.2", | 916 | + "pug-error": "^2.0.0", |
| 1045 | - "pug-runtime": "^2.0.3", | 917 | + "pug-runtime": "^3.0.0", |
| 1046 | - "void-elements": "^2.0.1", | 918 | + "void-elements": "^3.1.0", |
| 1047 | - "with": "^5.0.0" | 919 | + "with": "^7.0.0" |
| 1048 | } | 920 | } |
| 1049 | }, | 921 | }, |
| 1050 | "pug-error": { | 922 | "pug-error": { |
| 1051 | - "version": "1.3.3", | 923 | + "version": "2.0.0", |
| 1052 | - "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", | 924 | + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", |
| 1053 | - "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==" | 925 | + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==" |
| 1054 | }, | 926 | }, |
| 1055 | "pug-filters": { | 927 | "pug-filters": { |
| 1056 | - "version": "2.1.5", | 928 | + "version": "4.0.0", |
| 1057 | - "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.5.tgz", | 929 | + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", |
| 1058 | - "integrity": "sha512-xkw71KtrC4sxleKiq+cUlQzsiLn8pM5+vCgkChW2E6oNOzaqTSIBKIQ5cl4oheuDzvJYCTSYzRaVinMUrV4YLQ==", | 930 | + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", |
| 1059 | "requires": { | 931 | "requires": { |
| 1060 | - "clean-css": "^3.3.0", | 932 | + "constantinople": "^4.0.1", |
| 1061 | - "constantinople": "^3.0.1", | ||
| 1062 | "jstransformer": "1.0.0", | 933 | "jstransformer": "1.0.0", |
| 1063 | - "pug-error": "^1.3.2", | 934 | + "pug-error": "^2.0.0", |
| 1064 | - "pug-walk": "^1.1.5", | 935 | + "pug-walk": "^2.0.0", |
| 1065 | - "resolve": "^1.1.6", | 936 | + "resolve": "^1.15.1" |
| 1066 | - "uglify-js": "^2.6.1" | ||
| 1067 | } | 937 | } |
| 1068 | }, | 938 | }, |
| 1069 | "pug-lexer": { | 939 | "pug-lexer": { |
| 1070 | - "version": "3.1.0", | 940 | + "version": "5.0.0", |
| 1071 | - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-3.1.0.tgz", | 941 | + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.0.tgz", |
| 1072 | - "integrity": "sha1-/QhzdtSmdbT1n4/vQiiDQ06VgaI=", | 942 | + "integrity": "sha512-52xMk8nNpuyQ/M2wjZBN5gXQLIylaGkAoTk5Y1pBhVqaopaoj8Z0iVzpbFZAqitL4RHNVDZRnJDsqEYe99Ti0A==", |
| 1073 | "requires": { | 943 | "requires": { |
| 1074 | - "character-parser": "^2.1.1", | 944 | + "character-parser": "^2.2.0", |
| 1075 | - "is-expression": "^3.0.0", | 945 | + "is-expression": "^4.0.0", |
| 1076 | - "pug-error": "^1.3.2" | 946 | + "pug-error": "^2.0.0" |
| 1077 | } | 947 | } |
| 1078 | }, | 948 | }, |
| 1079 | "pug-linker": { | 949 | "pug-linker": { |
| 1080 | - "version": "2.0.3", | 950 | + "version": "4.0.0", |
| 1081 | - "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-2.0.3.tgz", | 951 | + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", |
| 1082 | - "integrity": "sha1-szH/olc33eacEntWwQ/xf652bco=", | 952 | + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", |
| 1083 | "requires": { | 953 | "requires": { |
| 1084 | - "pug-error": "^1.3.2", | 954 | + "pug-error": "^2.0.0", |
| 1085 | - "pug-walk": "^1.1.2" | 955 | + "pug-walk": "^2.0.0" |
| 1086 | } | 956 | } |
| 1087 | }, | 957 | }, |
| 1088 | "pug-load": { | 958 | "pug-load": { |
| 1089 | - "version": "2.0.12", | 959 | + "version": "3.0.0", |
| 1090 | - "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", | 960 | + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", |
| 1091 | - "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", | 961 | + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", |
| 1092 | "requires": { | 962 | "requires": { |
| 1093 | - "object-assign": "^4.1.0", | 963 | + "object-assign": "^4.1.1", |
| 1094 | - "pug-walk": "^1.1.8" | 964 | + "pug-walk": "^2.0.0" |
| 1095 | } | 965 | } |
| 1096 | }, | 966 | }, |
| 1097 | "pug-parser": { | 967 | "pug-parser": { |
| 1098 | - "version": "2.0.2", | 968 | + "version": "6.0.0", |
| 1099 | - "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-2.0.2.tgz", | 969 | + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", |
| 1100 | - "integrity": "sha1-U6aAz9BQOdywwn0CkJS8SnkmibA=", | 970 | + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", |
| 1101 | "requires": { | 971 | "requires": { |
| 1102 | - "pug-error": "^1.3.2", | 972 | + "pug-error": "^2.0.0", |
| 1103 | - "token-stream": "0.0.1" | 973 | + "token-stream": "1.0.0" |
| 1104 | } | 974 | } |
| 1105 | }, | 975 | }, |
| 1106 | "pug-runtime": { | 976 | "pug-runtime": { |
| 1107 | - "version": "2.0.5", | 977 | + "version": "3.0.0", |
| 1108 | - "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", | 978 | + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.0.tgz", |
| 1109 | - "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==" | 979 | + "integrity": "sha512-GoEPcmQNnaTsePEdVA05bDpY+Op5VLHKayg08AQiqJBWU/yIaywEYv7TetC5dEQS3fzBBoyb2InDcZEg3mPTIA==" |
| 1110 | }, | 980 | }, |
| 1111 | "pug-strip-comments": { | 981 | "pug-strip-comments": { |
| 1112 | - "version": "1.0.4", | 982 | + "version": "2.0.0", |
| 1113 | - "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", | 983 | + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", |
| 1114 | - "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", | 984 | + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", |
| 1115 | "requires": { | 985 | "requires": { |
| 1116 | - "pug-error": "^1.3.3" | 986 | + "pug-error": "^2.0.0" |
| 1117 | } | 987 | } |
| 1118 | }, | 988 | }, |
| 1119 | "pug-walk": { | 989 | "pug-walk": { |
| 1120 | - "version": "1.1.8", | 990 | + "version": "2.0.0", |
| 1121 | - "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", | 991 | + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", |
| 1122 | - "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" | 992 | + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==" |
| 1123 | }, | 993 | }, |
| 1124 | "punycode": { | 994 | "punycode": { |
| 1125 | "version": "1.3.2", | 995 | "version": "1.3.2", |
| ... | @@ -1171,16 +1041,6 @@ | ... | @@ -1171,16 +1041,6 @@ |
| 1171 | "util-deprecate": "~1.0.1" | 1041 | "util-deprecate": "~1.0.1" |
| 1172 | } | 1042 | } |
| 1173 | }, | 1043 | }, |
| 1174 | - "regenerator-runtime": { | ||
| 1175 | - "version": "0.11.1", | ||
| 1176 | - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", | ||
| 1177 | - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" | ||
| 1178 | - }, | ||
| 1179 | - "repeat-string": { | ||
| 1180 | - "version": "1.6.1", | ||
| 1181 | - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", | ||
| 1182 | - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" | ||
| 1183 | - }, | ||
| 1184 | "request": { | 1044 | "request": { |
| 1185 | "version": "2.88.2", | 1045 | "version": "2.88.2", |
| 1186 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", | 1046 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", |
| ... | @@ -1216,14 +1076,6 @@ | ... | @@ -1216,14 +1076,6 @@ |
| 1216 | "path-parse": "^1.0.6" | 1076 | "path-parse": "^1.0.6" |
| 1217 | } | 1077 | } |
| 1218 | }, | 1078 | }, |
| 1219 | - "right-align": { | ||
| 1220 | - "version": "0.1.3", | ||
| 1221 | - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", | ||
| 1222 | - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", | ||
| 1223 | - "requires": { | ||
| 1224 | - "align-text": "^0.1.1" | ||
| 1225 | - } | ||
| 1226 | - }, | ||
| 1227 | "safe-buffer": { | 1079 | "safe-buffer": { |
| 1228 | "version": "5.1.2", | 1080 | "version": "5.1.2", |
| 1229 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | 1081 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |
| ... | @@ -1275,14 +1127,6 @@ | ... | @@ -1275,14 +1127,6 @@ |
| 1275 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", | 1127 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", |
| 1276 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" | 1128 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" |
| 1277 | }, | 1129 | }, |
| 1278 | - "source-map": { | ||
| 1279 | - "version": "0.4.4", | ||
| 1280 | - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", | ||
| 1281 | - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", | ||
| 1282 | - "requires": { | ||
| 1283 | - "amdefine": ">=0.0.4" | ||
| 1284 | - } | ||
| 1285 | - }, | ||
| 1286 | "sqlstring": { | 1130 | "sqlstring": { |
| 1287 | "version": "2.3.1", | 1131 | "version": "2.3.1", |
| 1288 | "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | 1132 | "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", |
| ... | @@ -1326,14 +1170,14 @@ | ... | @@ -1326,14 +1170,14 @@ |
| 1326 | } | 1170 | } |
| 1327 | }, | 1171 | }, |
| 1328 | "to-fast-properties": { | 1172 | "to-fast-properties": { |
| 1329 | - "version": "1.0.3", | 1173 | + "version": "2.0.0", |
| 1330 | - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", | 1174 | + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", |
| 1331 | - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" | 1175 | + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" |
| 1332 | }, | 1176 | }, |
| 1333 | "token-stream": { | 1177 | "token-stream": { |
| 1334 | - "version": "0.0.1", | 1178 | + "version": "1.0.0", |
| 1335 | - "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", | 1179 | + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", |
| 1336 | - "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" | 1180 | + "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=" |
| 1337 | }, | 1181 | }, |
| 1338 | "tough-cookie": { | 1182 | "tough-cookie": { |
| 1339 | "version": "2.5.0", | 1183 | "version": "2.5.0", |
| ... | @@ -1373,29 +1217,6 @@ | ... | @@ -1373,29 +1217,6 @@ |
| 1373 | "mime-types": "~2.1.24" | 1217 | "mime-types": "~2.1.24" |
| 1374 | } | 1218 | } |
| 1375 | }, | 1219 | }, |
| 1376 | - "uglify-js": { | ||
| 1377 | - "version": "2.8.29", | ||
| 1378 | - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", | ||
| 1379 | - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", | ||
| 1380 | - "requires": { | ||
| 1381 | - "source-map": "~0.5.1", | ||
| 1382 | - "uglify-to-browserify": "~1.0.0", | ||
| 1383 | - "yargs": "~3.10.0" | ||
| 1384 | - }, | ||
| 1385 | - "dependencies": { | ||
| 1386 | - "source-map": { | ||
| 1387 | - "version": "0.5.7", | ||
| 1388 | - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
| 1389 | - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" | ||
| 1390 | - } | ||
| 1391 | - } | ||
| 1392 | - }, | ||
| 1393 | - "uglify-to-browserify": { | ||
| 1394 | - "version": "1.0.2", | ||
| 1395 | - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", | ||
| 1396 | - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", | ||
| 1397 | - "optional": true | ||
| 1398 | - }, | ||
| 1399 | "uid-safe": { | 1220 | "uid-safe": { |
| 1400 | "version": "2.1.5", | 1221 | "version": "2.1.5", |
| 1401 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", | 1222 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", |
| ... | @@ -1464,29 +1285,21 @@ | ... | @@ -1464,29 +1285,21 @@ |
| 1464 | } | 1285 | } |
| 1465 | }, | 1286 | }, |
| 1466 | "void-elements": { | 1287 | "void-elements": { |
| 1467 | - "version": "2.0.1", | 1288 | + "version": "3.1.0", |
| 1468 | - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", | 1289 | + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", |
| 1469 | - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" | 1290 | + "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=" |
| 1470 | - }, | ||
| 1471 | - "window-size": { | ||
| 1472 | - "version": "0.1.0", | ||
| 1473 | - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", | ||
| 1474 | - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" | ||
| 1475 | }, | 1291 | }, |
| 1476 | "with": { | 1292 | "with": { |
| 1477 | - "version": "5.1.1", | 1293 | + "version": "7.0.2", |
| 1478 | - "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", | 1294 | + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", |
| 1479 | - "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", | 1295 | + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", |
| 1480 | "requires": { | 1296 | "requires": { |
| 1481 | - "acorn": "^3.1.0", | 1297 | + "@babel/parser": "^7.9.6", |
| 1482 | - "acorn-globals": "^3.0.0" | 1298 | + "@babel/types": "^7.9.6", |
| 1299 | + "assert-never": "^1.2.1", | ||
| 1300 | + "babel-walk": "3.0.0-canary-5" | ||
| 1483 | } | 1301 | } |
| 1484 | }, | 1302 | }, |
| 1485 | - "wordwrap": { | ||
| 1486 | - "version": "0.0.2", | ||
| 1487 | - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", | ||
| 1488 | - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" | ||
| 1489 | - }, | ||
| 1490 | "xml2js": { | 1303 | "xml2js": { |
| 1491 | "version": "0.4.19", | 1304 | "version": "0.4.19", |
| 1492 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", | 1305 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", |
| ... | @@ -1500,17 +1313,6 @@ | ... | @@ -1500,17 +1313,6 @@ |
| 1500 | "version": "9.0.7", | 1313 | "version": "9.0.7", |
| 1501 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", | 1314 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", |
| 1502 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" | 1315 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" |
| 1503 | - }, | ||
| 1504 | - "yargs": { | ||
| 1505 | - "version": "3.10.0", | ||
| 1506 | - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", | ||
| 1507 | - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", | ||
| 1508 | - "requires": { | ||
| 1509 | - "camelcase": "^1.0.2", | ||
| 1510 | - "cliui": "^2.1.0", | ||
| 1511 | - "decamelize": "^1.0.0", | ||
| 1512 | - "window-size": "0.1.0" | ||
| 1513 | - } | ||
| 1514 | } | 1316 | } |
| 1515 | } | 1317 | } |
| 1516 | } | 1318 | } | ... | ... |
| ... | @@ -19,7 +19,7 @@ | ... | @@ -19,7 +19,7 @@ |
| 19 | "morgan": "~1.9.1", | 19 | "morgan": "~1.9.1", |
| 20 | "mysql": "^2.18.1", | 20 | "mysql": "^2.18.1", |
| 21 | "passport": "^0.4.1", | 21 | "passport": "^0.4.1", |
| 22 | - "pug": "2.0.0-beta11", | 22 | + "pug": "^3.0.0", |
| 23 | "request": "^2.88.2" | 23 | "request": "^2.88.2" |
| 24 | } | 24 | } |
| 25 | } | 25 | } | ... | ... |
| ... | @@ -8,37 +8,32 @@ var S3 = require('../modules/s3/s3'); | ... | @@ -8,37 +8,32 @@ var S3 = require('../modules/s3/s3'); |
| 8 | 8 | ||
| 9 | // /file/delete/:name | 9 | // /file/delete/:name |
| 10 | router.get('/:name', function (req, res) { | 10 | router.get('/:name', function (req, res) { |
| 11 | - var user_id = req.session.user_id; | 11 | + var file_name = req.params.name; |
| 12 | + var user_id = req.query.id; | ||
| 13 | + var curPath = req.query.cur; | ||
| 12 | 14 | ||
| 13 | - var sourceFile = req.params.name; | ||
| 14 | var targetPath = 'trashcan'; | 15 | var targetPath = 'trashcan'; |
| 15 | - | 16 | + var sourceFile = curPath.substring(1) + file_name; |
| 16 | - var paths = sourceFile.split('/'); | ||
| 17 | - var index = sourceFile.length - (paths[paths.length - 1].length + 1); | ||
| 18 | - var file_name = paths[paths.length - 1]; | ||
| 19 | - var location = sourceFile.substring(6 + user_id.length, index); | ||
| 20 | 17 | ||
| 21 | var sql1 = 'DELETE FROM files WHERE file_name = (?) AND location=(?) AND user_Id = (?)'; | 18 | var sql1 = 'DELETE FROM files WHERE file_name = (?) AND location=(?) AND user_Id = (?)'; |
| 22 | var sql2 = 'INSERT INTO trashcan (trash_name, location, user_Id) VALUES (?, ?, ?)'; | 19 | var sql2 = 'INSERT INTO trashcan (trash_name, location, user_Id) VALUES (?, ?, ?)'; |
| 23 | 20 | ||
| 24 | - | 21 | + connection.query(sql1, [file_name, curPath, user_id], function (err) { |
| 25 | - connection.query(sql1, [file_name, location, user_id], function (err) { | ||
| 26 | if (err) { | 22 | if (err) { |
| 27 | console.log('delete db error'); | 23 | console.log('delete db error'); |
| 28 | - throw err; | 24 | + res.send({erorr: 'db delete error'}); |
| 29 | } | 25 | } |
| 30 | else { | 26 | else { |
| 31 | - connection.query(sql2, [file_name, location, user_id], function (err) { | 27 | + connection.query(sql2, [file_name, '/trashcan'+curPath, user_id], function (err) { |
| 32 | if (err) { | 28 | if (err) { |
| 33 | console.log('insert in trashcan db error'); | 29 | console.log('insert in trashcan db error'); |
| 34 | - throw err; | 30 | + res.send({error: 'db insert error'}); |
| 35 | } | 31 | } |
| 36 | else { | 32 | else { |
| 37 | // /drive/user_id/sourceFile --> /drive/user_id/trashcan/sourceFile | 33 | // /drive/user_id/sourceFile --> /drive/user_id/trashcan/sourceFile |
| 38 | - S3.moveFile(S3.BUCKET_NAME, user_id, sourceFile, targetPath, function (result) { | 34 | + S3.moveFile2(S3.BUCKET_NAME, user_id, sourceFile, targetPath, function (result) { |
| 39 | if (result) { | 35 | if (result) { |
| 40 | - console.log("file move to trashcan success"); | 36 | + res.send("move to trashcan success"); |
| 41 | - res.send("Upload Success"); | ||
| 42 | } | 37 | } |
| 43 | }) | 38 | }) |
| 44 | } | 39 | } | ... | ... |
| ... | @@ -8,23 +8,68 @@ AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); | ... | @@ -8,23 +8,68 @@ AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); |
| 8 | var S3 = require('../modules/s3/s3'); | 8 | var S3 = require('../modules/s3/s3'); |
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | -// /file/download/:name | 11 | + |
| 12 | router.get('/:name', function (req, res) { | 12 | router.get('/:name', function (req, res) { |
| 13 | var file_name = req.params.name; | 13 | var file_name = req.params.name; |
| 14 | - var user_id = req.session.user_id; | 14 | + var curPath = req.query.cur; // /folder1/folder2/ |
| 15 | + var user_id = req.query.id; | ||
| 15 | 16 | ||
| 16 | - var sourceFile = file_name; | 17 | + var targetFile = curPath.substring(1) + file_name; // folder1/folder2/test.txt |
| 17 | - var tempDownloadDir = __dirname + '/../modules/s3/download/' + user_id + '/' + file_name; | ||
| 18 | 18 | ||
| 19 | - S3.downloadFile(S3.BUCKET_NAME, user_id, sourceFile, function (result, data) { | 19 | + |
| 20 | - !fs.existsSync(tempDownloadDir + '/../') && fs.mkdirSync(tempDownloadDir + '/../'); | 20 | + S3.downloadFile3(S3.BUCKET_NAME, user_id, targetFile, function (result, downloadDir) { |
| 21 | - fs.writeFileSync(tempDownloadDir, data); | 21 | + if (result) { |
| 22 | - res.download(tempDownloadDir, function (err) { | 22 | + res.send({ src: downloadDir }) |
| 23 | - fs.unlink(tempDownloadDir, function (err) { | 23 | + }else{ |
| 24 | - console.log("Download Success"); | 24 | + res.send({ err: 'download error'}) |
| 25 | - }); | 25 | + } |
| 26 | + }) | ||
| 27 | +}); | ||
| 28 | + | ||
| 29 | +/* | ||
| 30 | +router.get('/:name', function (req, res, next) { | ||
| 31 | + var file_name = req.params.name; // test.txt | ||
| 32 | + var user_id = req.query.id; | ||
| 33 | + var curPath = req.query.cur; // /folder1/folder2/ | ||
| 34 | + | ||
| 35 | + var targetFile = (curPath + file_name).substring(1); // folder1/folder2/test.txt | ||
| 36 | + | ||
| 37 | + var s3 = new AWS.S3(); | ||
| 38 | + var params = { | ||
| 39 | + Bucket: S3.BUCKET_NAME, | ||
| 40 | + Key: 'drive/' + user_id + '/' + targetFile, | ||
| 41 | + }; | ||
| 42 | + | ||
| 43 | + res.attachment(file_name); | ||
| 44 | + var fileStream = s3.getObject(params).createReadStream(); | ||
| 45 | + fileStream.pipe(res); | ||
| 46 | +}); | ||
| 47 | +*/ | ||
| 48 | + | ||
| 49 | +/* | ||
| 50 | +// /file/download/:name | ||
| 51 | +router.get('/:name', function (req, res) { | ||
| 52 | + var file_name = req.params.name; // test.txt | ||
| 53 | + var user_id = req.query.id; | ||
| 54 | + var curPath = req.query.cur; // /folder1/folder2/ | ||
| 55 | + | ||
| 56 | + var targetFile = (curPath + file_name).substring(1); // folder1/folder2/test.txt | ||
| 57 | + | ||
| 58 | + S3.downloadFile2(S3.BUCKET_NAME, user_id, targetFile, function (result, downloadDir) { | ||
| 59 | + if (result){ | ||
| 60 | + res.download(downloadDir, function (err) { | ||
| 61 | + if (err){ | ||
| 62 | + console.log(err); | ||
| 63 | + }else{ | ||
| 64 | + console.log('download success'); | ||
| 65 | + } | ||
| 26 | }); | 66 | }); |
| 67 | + }else{ | ||
| 68 | + res.send({error: 'download error'}); | ||
| 69 | + } | ||
| 27 | }); | 70 | }); |
| 28 | }); | 71 | }); |
| 72 | +*/ | ||
| 73 | + | ||
| 29 | 74 | ||
| 30 | module.exports = router; | 75 | module.exports = router; |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -5,33 +5,43 @@ var AWS = require('aws-sdk'); | ... | @@ -5,33 +5,43 @@ var AWS = require('aws-sdk'); |
| 5 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); | 5 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); |
| 6 | var S3 = require('../modules/s3/s3'); | 6 | var S3 = require('../modules/s3/s3'); |
| 7 | 7 | ||
| 8 | +var fs = require('fs'); | ||
| 8 | 9 | ||
| 10 | + | ||
| 11 | +// /file | ||
| 9 | router.get('/', function (req, res) { | 12 | router.get('/', function (req, res) { |
| 10 | - var user_id = req.session.user_id; | 13 | + var user_id = req.query.id; |
| 14 | + var curPath = req.query.cur; // /folder1/folder2/ | ||
| 11 | 15 | ||
| 12 | - var sql = 'SELECT * FROM files WHERE user_id = (?) ORDER BY date DESC'; | 16 | + var sql = 'SELECT * FROM files WHERE user_id=(?) AND location=(?) ORDER BY date DESC'; |
| 13 | - connection.query(sql, user_id, function (err, result) { | 17 | + connection.query(sql, [user_id, curPath], function (err, result) { |
| 14 | - if (result.length == 0){ | 18 | + if (err){ |
| 15 | - res.send({error: 'Exist Nothing'}); | 19 | + res.send({error: 'select error'}); |
| 16 | }else{ | 20 | }else{ |
| 21 | + | ||
| 17 | res.status(200).send({files: result}); | 22 | res.status(200).send({files: result}); |
| 18 | } | 23 | } |
| 19 | }) | 24 | }) |
| 20 | }); | 25 | }); |
| 21 | 26 | ||
| 22 | -// /file/:name | 27 | + |
| 28 | + | ||
| 23 | router.get('/:name', function (req, res) { | 29 | router.get('/:name', function (req, res) { |
| 24 | var file_name = req.params.name; | 30 | var file_name = req.params.name; |
| 25 | - var user_id = req.session.user_id; | 31 | + var curPath = req.query.cur; // /folder1/folder2/ |
| 32 | + var user_id = req.query.id; | ||
| 26 | 33 | ||
| 27 | - var s3 = new AWS.S3(); | 34 | + var targetFile = curPath.substring(1) + file_name; // folder1/folder2/test.txt |
| 35 | + var extension = targetFile.split('.')[1].toLowerCase(); | ||
| 28 | 36 | ||
| 29 | - var sourceFile = 'drive/' + user_id + '/' + file_name; | 37 | + |
| 30 | - var params = { Bucket: S3.BUCKET_NAME, Key: sourceFile }; | 38 | + S3.downloadFile3(S3.BUCKET_NAME, user_id, targetFile, function(result, downloadDir){ |
| 31 | - var stream = s3.getObject(params).createReadStream(); | 39 | + if (result){ |
| 32 | - stream.pipe(res, function (err) { | 40 | + if (extension == 'jpg' || extension == 'jpeg' || extension == 'png') { |
| 33 | - if (err) { | 41 | + res.status(200).send({ type: 'image', src: downloadDir}) |
| 34 | - throw err; | 42 | + }else{ |
| 43 | + res.status(200).send({type: 'text', src: downloadDir}) | ||
| 44 | + } | ||
| 35 | } | 45 | } |
| 36 | }) | 46 | }) |
| 37 | }); | 47 | }); | ... | ... |
| ... | @@ -11,80 +11,79 @@ var S3 = require('../modules/s3/s3'); | ... | @@ -11,80 +11,79 @@ var S3 = require('../modules/s3/s3'); |
| 11 | 11 | ||
| 12 | // /file/upload | 12 | // /file/upload |
| 13 | router.post('/', function (req, res) { | 13 | router.post('/', function (req, res) { |
| 14 | - var user_id = req.session.user_id; | 14 | + var form = new formidable.IncomingForm(); |
| 15 | + form.multiples = true; | ||
| 16 | + form.parse(req, function (err, fields, files) { | ||
| 17 | + console.log(files); | ||
| 18 | + | ||
| 19 | + /* form-data로 받아야 함 */ | ||
| 20 | + var user_id = fields.user_id; | ||
| 21 | + var curPath = fields.cur // /folder1/folder2/ | ||
| 22 | + console.log(user_id); | ||
| 23 | + console.log(curPath); | ||
| 15 | 24 | ||
| 16 | var sourceFiles = []; | 25 | var sourceFiles = []; |
| 17 | var errFiles = []; | 26 | var errFiles = []; |
| 18 | - var targetPath = ''; | 27 | + var targetPath; // 'folder1/folder2' |
| 19 | var bodies = []; | 28 | var bodies = []; |
| 29 | + var errMessage = 'upload error'; | ||
| 20 | 30 | ||
| 31 | + if (curPath == '/') { | ||
| 32 | + targetPath = ''; | ||
| 33 | + } else { | ||
| 34 | + targetPath = curPath.substring(1, curPath.length-1); | ||
| 35 | + } | ||
| 21 | 36 | ||
| 22 | - var form = new formidable.IncomingForm(); | 37 | + if(!files.file[0]){ // 파일 하나일 때 |
| 23 | - form.multiples = true; | 38 | + var checkFileName = files.file.name; |
| 24 | - form.parse(req, function (err, fields, files) { | 39 | + checkFileName = checkFileName.split('(').join(',').split(')').join(',').split(','); |
| 25 | - if(!files.file[0]){ | 40 | + if (checkFileName.length > 1) { |
| 41 | + errFiles.push(files.file.name); | ||
| 42 | + errMessage = 'check your file name(\'(\', \')\' x!)' | ||
| 43 | + }else{ | ||
| 26 | sourceFiles.push(files.file.name); | 44 | sourceFiles.push(files.file.name); |
| 27 | bodies.push(files.file.path); | 45 | bodies.push(files.file.path); |
| 46 | + } | ||
| 28 | }else{ | 47 | }else{ |
| 29 | - for (var file of files.file) { | 48 | + for (var file of files.file) { // 파일 여러개일 때 |
| 49 | + var checkFileName = file.name; | ||
| 50 | + checkFileName = checkFileName.split('(').join(',').split(')').join(',').split(','); | ||
| 51 | + if (checkFileName.length > 1){ | ||
| 52 | + errFiles.push(file.name); | ||
| 53 | + } else { | ||
| 30 | sourceFiles.push(file.name); | 54 | sourceFiles.push(file.name); |
| 31 | bodies.push(file.path); | 55 | bodies.push(file.path); |
| 32 | } | 56 | } |
| 33 | } | 57 | } |
| 58 | + } | ||
| 34 | 59 | ||
| 35 | S3.uploadFiles(0, errFiles, S3.BUCKET_NAME, user_id, sourceFiles, targetPath, bodies, function (result, errFiles) { | 60 | S3.uploadFiles(0, errFiles, S3.BUCKET_NAME, user_id, sourceFiles, targetPath, bodies, function (result, errFiles) { |
| 36 | - var newSourceFiles = []; | 61 | + var noErrSourceFiles = []; |
| 37 | - if (!result) { // 에러 파일이 있는 경우 | ||
| 38 | for (var sourceFile of sourceFiles) { | 62 | for (var sourceFile of sourceFiles) { |
| 39 | if (!(sourceFile in errFiles)) { | 63 | if (!(sourceFile in errFiles)) { |
| 40 | - newSourceFiles.push(sourceFile); | 64 | + noErrSourceFiles.push(sourceFile); |
| 41 | - } | ||
| 42 | } | 65 | } |
| 43 | } | 66 | } |
| 44 | - for (var sourceFile of sourceFiles) { | 67 | + for (var sourceFile of noErrSourceFiles) { |
| 45 | var sql = 'INSERT INTO files (file_name, user_id, location) VALUES (?, ?, ?)'; | 68 | var sql = 'INSERT INTO files (file_name, user_id, location) VALUES (?, ?, ?)'; |
| 46 | - connection.query(sql, [file_name, user_id, targetPath], function (err, result) { | 69 | + connection.query(sql, [sourceFile, user_id, curPath], function (err, result) { |
| 47 | if (err) { | 70 | if (err) { |
| 48 | - console.log('insert file {', sourceFile, '} in db failed'); | 71 | + console.log('insert error'); |
| 72 | + res.send({error: 'insert error'}); | ||
| 49 | } | 73 | } |
| 50 | }) | 74 | }) |
| 51 | } | 75 | } |
| 52 | - res.send({Errfiles: errFiles}); | 76 | + if (errFiles.length){ |
| 53 | - }) | 77 | + res.send({err: errMessage, |
| 54 | - }) | 78 | + errFiles: errFiles}) |
| 55 | -}) | ||
| 56 | - | ||
| 57 | -/* | ||
| 58 | -// /file/upload | ||
| 59 | -router.post('/', function (req, res) { | ||
| 60 | - //var user_id = req.session.user_id; | ||
| 61 | - var user_id = 'shlee'; | ||
| 62 | - | ||
| 63 | - var form = new formidable.IncomingForm(); | ||
| 64 | - form.parse(req, function (err, fields, files) { | ||
| 65 | - var file_name = files.file.name; | ||
| 66 | - var sourceFile = file_name; | ||
| 67 | - var targetPath = ''; | ||
| 68 | - | ||
| 69 | - var sql = 'INSERT INTO files (file_name, user_id) VALUES (?)'; | ||
| 70 | - connection.query(sql, [[file_name, user_id]], function (err) { | ||
| 71 | - if (err) { | ||
| 72 | - console.log("Upload db error"); | ||
| 73 | - throw err; | ||
| 74 | - } else { | ||
| 75 | - S3.uploadFile(S3.BUCKET_NAME, user_id, sourceFile, targetPath, files.file.path, function (result) { | ||
| 76 | - if (result) { | ||
| 77 | - console.log("Upload Success"); | ||
| 78 | - res.send(result); | ||
| 79 | } else { | 79 | } else { |
| 80 | - console.log("Upload Fail: Check FIle Duplication"); | 80 | + res.send({message: 'Upload Success', |
| 81 | + finalFiles: sourceFiles}); | ||
| 81 | } | 82 | } |
| 82 | }) | 83 | }) |
| 83 | - } | ||
| 84 | - }); | ||
| 85 | }) | 84 | }) |
| 86 | -}); | 85 | +}) |
| 87 | -*/ | 86 | + |
| 88 | 87 | ||
| 89 | 88 | ||
| 90 | module.exports = router; | 89 | module.exports = router; |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | { | 1 | { |
| 2 | - "accessKeyId": "ASIAZQ5XTMMFRBJO2LG5", | 2 | + "accessKeyId": "ASIAXZL2SWFEYG2GUYVJ", |
| 3 | - "secretAccessKey": "ltsYvzKAoQ5UnNWEk13Zf8n4wJdkQkemsJ7GdsbS", | 3 | + "secretAccessKey": "ceYvfLs25iiBDfigO7PbP67kJoKswJdfduqROrJt", |
| 4 | - "sessionToken": "FwoGZXIvYXdzEI///////////wEaDLleFCvWDhdhFpXCvCLDAX/Hka6vXTZKxdyEBUh7ZSxPYLH184u1Tpo2qWHYFziUVKWJSCm5wqPNv0QWoAp8sL5NB0W5kty8hoeKv16SYB9Z+yzT1qtfuKTmrro2jGSo7AnxDSBla6UQHAv82yVetiGwu+IKhm6tHUvdNSlkIV0Qi9rNrDc9eynhFN/emFI/6NsocbQ47mmW6BZx0Z4/hHKW9TL6Uec/E87Z+oxVRFsVOGyNtow980bQgZFYJMbh3AN6poTlofP1q/qn2nUWwAdsDCjfhr/2BTItlcDfO5PEH5Gwffzv69JMTVBIemfIpS/Ybx6F6i7GbI2fZKGtGfRSecobbj4m", | 4 | + "sessionToken": "FwoGZXIvYXdzEDMaDGvezwF9kQrAJ+uhfSLDASWFKBk7UNbRzZVEM1eoGJ3E+UI9d4xSpqEDqRYjsOTn5wYIGM3mUCZ8S6/XCnGP5yFz+qv9mBLDf311iP9ajY091OhQ8c2nB6l+JHuRKAz6FhGLrjHtD1AecHtjHOu5dXODU2+9ctvGj7V60KYqjToah5Tvv84EVac/41Les3rtrqcXS/bbmVwv5kDz9K1FJStln4sXZ/foueGHZAkAJQ6LAtIQWg4/reFUcWAi8E0bUjMckmymDQhnVNWcSbgQ+htBYiiPg+P2BTItOqWuZojM5lw32rTv7+PuOaeyHjx3+Vcd4bo3orSJr57P2ZPfmglZNKY7W5aw", |
| 5 | "region": "us-east-1" | 5 | "region": "us-east-1" |
| 6 | } | 6 | } | ... | ... |
| 1 | +asdf | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
File mode changed
File mode changed
File mode changed
| ... | @@ -17,7 +17,7 @@ | ... | @@ -17,7 +17,7 @@ |
| 17 | var AWS = require('aws-sdk'); | 17 | var AWS = require('aws-sdk'); |
| 18 | AWS.config.update({ region: 'ap-northeast-2' }); | 18 | AWS.config.update({ region: 'ap-northeast-2' }); |
| 19 | 19 | ||
| 20 | -var BUCKET_NAME = 'dkhuloud'; | 20 | +var BUCKET_NAME = 'khuloud'; |
| 21 | 21 | ||
| 22 | var s3 = new AWS.S3(); | 22 | var s3 = new AWS.S3(); |
| 23 | var fs = require('fs'); | 23 | var fs = require('fs'); |
| ... | @@ -52,6 +52,8 @@ var S3 = { | ... | @@ -52,6 +52,8 @@ var S3 = { |
| 52 | }, | 52 | }, |
| 53 | 53 | ||
| 54 | copyFile2: function (bucketName, userId, sourceFile, targetFile, callback) { | 54 | copyFile2: function (bucketName, userId, sourceFile, targetFile, callback) { |
| 55 | + // sourceFile => folder1/folder2/test.txt | ||
| 56 | + // targetFile => trashcan/folder1/folder2/test.txt | ||
| 55 | var copyParams = { | 57 | var copyParams = { |
| 56 | Bucket: bucketName, | 58 | Bucket: bucketName, |
| 57 | CopySource: bucketName + '/drive/' + userId + '/' + sourceFile, | 59 | CopySource: bucketName + '/drive/' + userId + '/' + sourceFile, |
| ... | @@ -72,6 +74,7 @@ var S3 = { | ... | @@ -72,6 +74,7 @@ var S3 = { |
| 72 | }, | 74 | }, |
| 73 | 75 | ||
| 74 | deleteFile: function (bucketName, userId, targetFile, callback) { | 76 | deleteFile: function (bucketName, userId, targetFile, callback) { |
| 77 | + // targetFile => folder1/folder2/test.txt | ||
| 75 | var deleteParams = { | 78 | var deleteParams = { |
| 76 | Bucket: bucketName, | 79 | Bucket: bucketName, |
| 77 | Key: 'drive/' + userId + '/' + targetFile | 80 | Key: 'drive/' + userId + '/' + targetFile |
| ... | @@ -95,7 +98,7 @@ var S3 = { | ... | @@ -95,7 +98,7 @@ var S3 = { |
| 95 | Bucket: bucketName, | 98 | Bucket: bucketName, |
| 96 | Key: 'drive/' + userId + '/' + targetFile | 99 | Key: 'drive/' + userId + '/' + targetFile |
| 97 | }; | 100 | }; |
| 98 | - | 101 | + console.log('drive/' + userId + '/' + targetFile); |
| 99 | s3.getObject(downloadParams, function (err, data) { | 102 | s3.getObject(downloadParams, function (err, data) { |
| 100 | if (err) { | 103 | if (err) { |
| 101 | console.log("Download File Error", err); | 104 | console.log("Download File Error", err); |
| ... | @@ -103,8 +106,51 @@ var S3 = { | ... | @@ -103,8 +106,51 @@ var S3 = { |
| 103 | } else { | 106 | } else { |
| 104 | if (data) { | 107 | if (data) { |
| 105 | console.log("Get File Success"); | 108 | console.log("Get File Success"); |
| 106 | - callback(1, data.Body); | 109 | + callback(true, data.body.toString()); |
| 110 | + } | ||
| 111 | + } | ||
| 112 | + }) | ||
| 113 | + }, | ||
| 114 | + | ||
| 115 | + // /routes/modules/s3/download에 저장 | ||
| 116 | + downloadFile2: function(bucketName, userId, targetFile, callback){ | ||
| 117 | + tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile; | ||
| 118 | + S3.downloadFile(bucketName, userId, targetFile, function(result, data){ | ||
| 119 | + if (result) { | ||
| 120 | + makeFolder(tempDownloadDir, function(result){ | ||
| 121 | + if (result) { | ||
| 122 | + fs.writeFileSync(tempDownloadDir, data); | ||
| 123 | + callback(true, tempDownloadDir); | ||
| 124 | + } | ||
| 125 | + }) | ||
| 126 | + }else{ | ||
| 127 | + console.log('Download File Error'); | ||
| 128 | + callback(false); | ||
| 129 | + } | ||
| 130 | + }) | ||
| 131 | + }, | ||
| 132 | + | ||
| 133 | + // 최종 | ||
| 134 | + downloadFile3: function(bucketName, userId, targetFile, callback){ | ||
| 135 | + // targetFile 예1 => test.txt | ||
| 136 | + // targetFile 예2 => folder1/folder2/test.txt | ||
| 137 | + var tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile; | ||
| 138 | + makeFolder(tempDownloadDir, function(result){ | ||
| 139 | + if (result){ | ||
| 140 | + var file = fs.createWriteStream(tempDownloadDir); | ||
| 141 | + var params = { | ||
| 142 | + Bucket: bucketName, | ||
| 143 | + Key: 'drive/' + userId + '/' + targetFile | ||
| 144 | + }; | ||
| 145 | + try { | ||
| 146 | + s3.getObject(params).createReadStream().pipe(file); | ||
| 147 | + callback(true, tempDownloadDir); | ||
| 148 | + }catch(err){ | ||
| 149 | + console.log('no such file'); | ||
| 150 | + callback(false); | ||
| 107 | } | 151 | } |
| 152 | + }else{ | ||
| 153 | + callback(false); | ||
| 108 | } | 154 | } |
| 109 | }) | 155 | }) |
| 110 | }, | 156 | }, |
| ... | @@ -174,6 +220,20 @@ var S3 = { | ... | @@ -174,6 +220,20 @@ var S3 = { |
| 174 | }) | 220 | }) |
| 175 | }, | 221 | }, |
| 176 | 222 | ||
| 223 | + // 중복된 파일 버전 만들기(test.txt -> text(1).txt) | ||
| 224 | + makeVersion: function (bucketName, userId, sourceFile, lvNum, callback) { | ||
| 225 | + var sourceFile; | ||
| 226 | + var splited = sourceFile.split('(').join(',').split(')').join(',').split(','); | ||
| 227 | + if (splited.length != 3) { | ||
| 228 | + sourceFile = sourceFile.split('.')[0] + '(' + lvNum.toString() + ').' + sourceFile.split('.')[1]; | ||
| 229 | + } else { | ||
| 230 | + sourceFile = sourceFile.split('(')[0] + '(' + lvNum.toString() + ')' + sourceFile.split(')')[1]; | ||
| 231 | + } | ||
| 232 | + console.log('makeVersion ', sourceFile); | ||
| 233 | + | ||
| 234 | + callback(true, sourceFile); | ||
| 235 | + }, | ||
| 236 | + | ||
| 177 | // sourceFile이 단순히 filename과 같은 경우 | 237 | // sourceFile이 단순히 filename과 같은 경우 |
| 178 | moveFile: function (bucketName, userId, sourceFile, targetPath, callback) { | 238 | moveFile: function (bucketName, userId, sourceFile, targetPath, callback) { |
| 179 | S3.copyFile(bucketName, userId, sourceFile, targetPath, function (res) { | 239 | S3.copyFile(bucketName, userId, sourceFile, targetPath, function (res) { |
| ... | @@ -194,25 +254,10 @@ var S3 = { | ... | @@ -194,25 +254,10 @@ var S3 = { |
| 194 | }) | 254 | }) |
| 195 | }, | 255 | }, |
| 196 | 256 | ||
| 197 | - makeVersion: function(bucketName, userId, sourceFile, lvNum, callback){ | ||
| 198 | - var sourceFile; | ||
| 199 | - var splited = sourceFile.split('(').join(',').split(')').join(',').split(','); | ||
| 200 | - if (splited.length != 3){ | ||
| 201 | - sourceFile = sourceFile.split('.')[0] + '(' + lvNum.toString() + ')' + sourceFile.split('.')[1]; | ||
| 202 | - }else{ | ||
| 203 | - sourceFile = sourceFile.split('(')[0] + '(' + lvNum.toString() + ')' + sourceFile.split(')')[1]; | ||
| 204 | - } | ||
| 205 | - console.log('makeVersion ', sourceFile); | ||
| 206 | - callback(true, sourceFile); | ||
| 207 | - }, | ||
| 208 | - | ||
| 209 | // sourceFile에 임의의 경로가 포함된 경우 | 257 | // sourceFile에 임의의 경로가 포함된 경우 |
| 210 | moveFile2: function (bucketName, userId, sourceFile, targetPath, callback) { | 258 | moveFile2: function (bucketName, userId, sourceFile, targetPath, callback) { |
| 211 | - var paths = sourceFile.split('/'); | 259 | + // sourceFile => folder1/folder2/test.txt |
| 212 | - var filename = paths[paths.length - 1]; | 260 | + var targetFile = targetPath + '/' + sourceFile; |
| 213 | - console.log('paths = ' + paths); | ||
| 214 | - console.log('filename = ' + filename); | ||
| 215 | - var targetFile = targetPath + filename; | ||
| 216 | 261 | ||
| 217 | S3.copyFile2(bucketName, userId, sourceFile, targetFile, function (res) { | 262 | S3.copyFile2(bucketName, userId, sourceFile, targetFile, function (res) { |
| 218 | if (!res) { | 263 | if (!res) { |
| ... | @@ -235,10 +280,11 @@ var S3 = { | ... | @@ -235,10 +280,11 @@ var S3 = { |
| 235 | uploadFile: function (bucketName, userId, sourceFile, targetPath, body, callback) { | 280 | uploadFile: function (bucketName, userId, sourceFile, targetPath, body, callback) { |
| 236 | var pathbody = fs.createReadStream(body); | 281 | var pathbody = fs.createReadStream(body); |
| 237 | 282 | ||
| 238 | - if (targetPath != '') { | 283 | + if (targetPath!='' && targetPath[targetPath.length-1]!='/') { |
| 239 | targetPath = targetPath + '/'; | 284 | targetPath = targetPath + '/'; |
| 240 | } | 285 | } |
| 241 | var targetFile = targetPath + sourceFile; | 286 | var targetFile = targetPath + sourceFile; |
| 287 | + console.log('targetFile', targetFile); | ||
| 242 | 288 | ||
| 243 | var uploadParams = { | 289 | var uploadParams = { |
| 244 | Bucket: bucketName, | 290 | Bucket: bucketName, |
| ... | @@ -299,4 +345,23 @@ var S3 = { | ... | @@ -299,4 +345,23 @@ var S3 = { |
| 299 | }, | 345 | }, |
| 300 | } | 346 | } |
| 301 | 347 | ||
| 348 | +var makeFolder = function(dir, callback){ | ||
| 349 | + var paths = dir.substring(__dirname.length+1); // download/userId/folder1/folder2/test.txt | ||
| 350 | + paths = paths.split('/'); | ||
| 351 | + | ||
| 352 | + var folders = __dirname; | ||
| 353 | + for(var i=0; i<paths.length-1; i++){ | ||
| 354 | + folders += '/'+paths[i]; | ||
| 355 | + if(!fs.existsSync(folders)){ | ||
| 356 | + fs.mkdirSync(folders) | ||
| 357 | + } | ||
| 358 | + } | ||
| 359 | + | ||
| 360 | + if (fs.existsSync(folders)){ | ||
| 361 | + callback(true); | ||
| 362 | + }else{ | ||
| 363 | + callback(false); | ||
| 364 | + } | ||
| 365 | +} | ||
| 366 | + | ||
| 302 | module.exports = S3; | 367 | module.exports = S3; | ... | ... |
| ... | @@ -5775,9 +5775,9 @@ | ... | @@ -5775,9 +5775,9 @@ |
| 5775 | } | 5775 | } |
| 5776 | }, | 5776 | }, |
| 5777 | "http-proxy": { | 5777 | "http-proxy": { |
| 5778 | - "version": "1.18.0", | 5778 | + "version": "1.18.1", |
| 5779 | - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", | 5779 | + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", |
| 5780 | - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", | 5780 | + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", |
| 5781 | "dev": true, | 5781 | "dev": true, |
| 5782 | "requires": { | 5782 | "requires": { |
| 5783 | "eventemitter3": "^4.0.0", | 5783 | "eventemitter3": "^4.0.0", | ... | ... |
| ... | @@ -35,6 +35,52 @@ function moveFolder(folderData) { | ... | @@ -35,6 +35,52 @@ function moveFolder(folderData) { |
| 35 | return axios.post('/api/folder/move', folderData); | 35 | return axios.post('/api/folder/move', folderData); |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | +function file(curData){ | ||
| 39 | + return axios.get('/api/file', { | ||
| 40 | + params: { | ||
| 41 | + id: curData.id, | ||
| 42 | + cur: curData.cur | ||
| 43 | + } | ||
| 44 | + }); | ||
| 45 | +} | ||
| 46 | + | ||
| 47 | + | ||
| 48 | +function uploadFile(fileData){ | ||
| 49 | + return axios.post('/api/file/upload', fileData, { | ||
| 50 | + headers :{ | ||
| 51 | + 'Content-Type' : 'multipart/form-data' | ||
| 52 | + } | ||
| 53 | + }); | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | +function detailFile(fileData){ | ||
| 57 | + return axios.get(`/api/file/${fileData.name}`, { | ||
| 58 | + params:{ | ||
| 59 | + id: fileData.id, | ||
| 60 | + cur: fileData.cur | ||
| 61 | + } | ||
| 62 | + }) | ||
| 63 | +} | ||
| 64 | +function deleteFile(fileData){ | ||
| 65 | + return axios.get(`/api/file/delete/${fileData.fileName}`, { | ||
| 66 | + params:{ | ||
| 67 | + //현재 접속한 사람의 id와 삭제할 파일의 이름, 현재 폴더위치를 파라미터로 넘긴다. | ||
| 68 | + id: fileData.user_id, | ||
| 69 | + cur: fileData.cur | ||
| 70 | + } | ||
| 71 | + }); | ||
| 72 | +} | ||
| 73 | +function downloadFile(fileData){ | ||
| 74 | + return axios.get(`api/file/download/${fileData.fileName}`, { | ||
| 75 | + params:{ | ||
| 76 | + //현재 접속한 사람의 id와 다운로드를 위해 선택한 파일의 이름을 파라미터로 넘긴다. | ||
| 77 | + id: fileData.id, | ||
| 78 | + cur: fileData.cur | ||
| 79 | + } | ||
| 80 | + }); | ||
| 81 | +} | ||
| 82 | + | ||
| 38 | 83 | ||
| 39 | 84 | ||
| 40 | -export { registerUser, loginUser, folder, makeFolder, deleteFolder, moveFolder }; | 85 | +export { registerUser, loginUser, folder, makeFolder, deleteFolder, moveFolder, |
| 86 | + file, uploadFile, deleteFile, downloadFile }; | ... | ... |
| ... | @@ -94,18 +94,22 @@ | ... | @@ -94,18 +94,22 @@ |
| 94 | <v-icon> mdi-file</v-icon> | 94 | <v-icon> mdi-file</v-icon> |
| 95 | </v-list-item-avatar> | 95 | </v-list-item-avatar> |
| 96 | <v-list-item-content> | 96 | <v-list-item-content> |
| 97 | - <v-list-item-title v-text="item"></v-list-item-title> | 97 | + <v-list-item-title v-text="item.file_name"></v-list-item-title> |
| 98 | </v-list-item-content> | 98 | </v-list-item-content> |
| 99 | <v-list-item-action> | 99 | <v-list-item-action> |
| 100 | - <v-btn icon> | 100 | + <v-btn icon @click="download_file(item.file_name)"> |
| 101 | - <v-icon color="grey lighten-1">mdi-information</v-icon> | 101 | + <v-icon color="grey lighten-1">mdi-download</v-icon> |
| 102 | </v-btn> | 102 | </v-btn> |
| 103 | - <v-btn icon> | 103 | + <v-btn icon @click="delete_file(item.file_name)"> |
| 104 | - <v-icon color="grey lighten-1">mdi-delted</v-icon> | 104 | + <v-icon color="grey lighten-1">mdi-delete</v-icon> |
| 105 | </v-btn> | 105 | </v-btn> |
| 106 | </v-list-item-action> | 106 | </v-list-item-action> |
| 107 | </v-list-item> | 107 | </v-list-item> |
| 108 | </v-list> | 108 | </v-list> |
| 109 | + <input id = "file-selector" ref='uploadedfile' type="file" | ||
| 110 | + v-on:change="handleFileUpload()"> | ||
| 111 | + <br> | ||
| 112 | + <!-- | ||
| 109 | <v-file-input | 113 | <v-file-input |
| 110 | v-model="files" | 114 | v-model="files" |
| 111 | color="deep-purple accent-4" | 115 | color="deep-purple accent-4" |
| ... | @@ -134,7 +138,10 @@ | ... | @@ -134,7 +138,10 @@ |
| 134 | +{{ files.length - 2 }} File(s) | 138 | +{{ files.length - 2 }} File(s) |
| 135 | </span> | 139 | </span> |
| 136 | </template> | 140 | </template> |
| 141 | + | ||
| 137 | </v-file-input> | 142 | </v-file-input> |
| 143 | +--> | ||
| 144 | + <v-btn color="blue" @click = "upload_file">upload</v-btn> | ||
| 138 | <v-btn | 145 | <v-btn |
| 139 | bottom | 146 | bottom |
| 140 | color="blue" | 147 | color="blue" |
| ... | @@ -177,11 +184,12 @@ | ... | @@ -177,11 +184,12 @@ |
| 177 | </div> | 184 | </div> |
| 178 | </template> | 185 | </template> |
| 179 | <script> | 186 | <script> |
| 180 | -import { folder, makeFolder, deleteFolder, moveFolder } from '../api/index'; | 187 | +import { folder, makeFolder, deleteFolder, moveFolder, file, uploadFile, deleteFile, downloadFile } from '../api/index'; |
| 181 | import Axios from 'axios'; | 188 | import Axios from 'axios'; |
| 182 | export default { | 189 | export default { |
| 183 | data() { | 190 | data() { |
| 184 | return { | 191 | return { |
| 192 | + uploadedfile:null, | ||
| 185 | foldername:'', | 193 | foldername:'', |
| 186 | curfName:'', | 194 | curfName:'', |
| 187 | folders: [], | 195 | folders: [], |
| ... | @@ -189,12 +197,18 @@ import Axios from 'axios'; | ... | @@ -189,12 +197,18 @@ import Axios from 'axios'; |
| 189 | search:'', | 197 | search:'', |
| 190 | id: '', | 198 | id: '', |
| 191 | dialog:false, | 199 | dialog:false, |
| 192 | - search: '', | ||
| 193 | howMenu: false, | 200 | howMenu: false, |
| 194 | showMenu: false, | 201 | showMenu: false, |
| 195 | x: 0, | 202 | x: 0, |
| 196 | y: 0, | 203 | y: 0, |
| 197 | - dialog2:false | 204 | + dialog2:false, |
| 205 | + detail : { | ||
| 206 | + dataname: null, | ||
| 207 | + date: null, | ||
| 208 | + owner_id:null, | ||
| 209 | + datasize:null, | ||
| 210 | + datatype:null | ||
| 211 | + } | ||
| 198 | } | 212 | } |
| 199 | }, | 213 | }, |
| 200 | async created(){ | 214 | async created(){ |
| ... | @@ -203,18 +217,28 @@ import Axios from 'axios'; | ... | @@ -203,18 +217,28 @@ import Axios from 'axios'; |
| 203 | id : this.$store.state.id, | 217 | id : this.$store.state.id, |
| 204 | cur: '/' | 218 | cur: '/' |
| 205 | } | 219 | } |
| 220 | + console.log(curData); | ||
| 206 | const response = await folder(curData); | 221 | const response = await folder(curData); |
| 207 | - console.log(response.data); | 222 | + const file_response = await file(curData); |
| 208 | this.$store.commit('setFolder', response.data.folders); | 223 | this.$store.commit('setFolder', response.data.folders); |
| 209 | this.$store.commit('setCur', response.data.cur); | 224 | this.$store.commit('setCur', response.data.cur); |
| 210 | this.$store.commit('setParent', response.data.parentPath); | 225 | this.$store.commit('setParent', response.data.parentPath); |
| 211 | this.folders = this.$store.getters.folderL; | 226 | this.folders = this.$store.getters.folderL; |
| 227 | + this.$store.commit('setFile', file_response.data.files); | ||
| 228 | + this.folders = this.$store.getters.folderL; | ||
| 229 | + console.log(this.$store.getters.fileL); | ||
| 230 | + this.files = this.$store.getters.fileL; | ||
| 231 | + | ||
| 212 | } catch (error) { | 232 | } catch (error) { |
| 213 | console.log("에러"); | 233 | console.log("에러"); |
| 214 | - console.log(error.response.data); | 234 | + console.log(error); |
| 215 | } | 235 | } |
| 216 | }, | 236 | }, |
| 217 | methods: { | 237 | methods: { |
| 238 | + handleFileUpload(){ | ||
| 239 | + this.uploadedfile= this.$refs.uploadedfile.files[0] | ||
| 240 | + console.log(this.uploadedfile) | ||
| 241 | + }, | ||
| 218 | initFolderName(){ | 242 | initFolderName(){ |
| 219 | this.foldername = ''; | 243 | this.foldername = ''; |
| 220 | }, | 244 | }, |
| ... | @@ -316,6 +340,80 @@ import Axios from 'axios'; | ... | @@ -316,6 +340,80 @@ import Axios from 'axios'; |
| 316 | this.dialog2 = false; | 340 | this.dialog2 = false; |
| 317 | } | 341 | } |
| 318 | }, | 342 | }, |
| 343 | + async upload_file(){ | ||
| 344 | + try{ | ||
| 345 | + const formData = new FormData(); | ||
| 346 | + formData.append('file', this.uploadedfile); | ||
| 347 | + formData.append('user_id', this.$store.state.id); | ||
| 348 | + formData.append('cur', this.$store.state.cur); | ||
| 349 | + const currentData={ | ||
| 350 | + id: this.$store.state.id, | ||
| 351 | + cur: this.$store.state.cur | ||
| 352 | + } | ||
| 353 | + console.log(currentData) | ||
| 354 | + const response = await uploadFile(formData); | ||
| 355 | + const filelist = await file(currentData); | ||
| 356 | + console.log(filelist.data.files); | ||
| 357 | + this.$store.commit('setFile', filelist.data.files); | ||
| 358 | + console.log(this.$store.getters.fileL); | ||
| 359 | + this.files = this.$store.getters.fileL;; | ||
| 360 | + | ||
| 361 | + }catch(error){ | ||
| 362 | + console.log("에러"); | ||
| 363 | + console.log(error); | ||
| 364 | + } | ||
| 365 | + }, | ||
| 366 | + async delete_file(itemName){ | ||
| 367 | + try{ | ||
| 368 | + var itemlist = this.$store.getters.fileL; | ||
| 369 | + console.log(itemlist) | ||
| 370 | + console.log(itemName) | ||
| 371 | + const currentData={ | ||
| 372 | + fileName : null, | ||
| 373 | + user_id: null, | ||
| 374 | + cur: this.$store.state.cur | ||
| 375 | + } | ||
| 376 | + | ||
| 377 | + for(var i=0; i<itemlist.length; i++){ | ||
| 378 | + console.log(itemlist[i].file_name) | ||
| 379 | + if(itemlist[i].file_name == itemName){ | ||
| 380 | + currentData.fileName = itemlist[i].file_name; | ||
| 381 | + currentData.user_id = itemlist[i].user_id; | ||
| 382 | + } | ||
| 383 | + } | ||
| 384 | + const filelistData={ | ||
| 385 | + id: currentData.user_id, | ||
| 386 | + cur: currentData.cur | ||
| 387 | + } | ||
| 388 | + console.log(currentData) | ||
| 389 | + const response = await deleteFile(currentData); | ||
| 390 | + setTimeout(function(){}, 500); | ||
| 391 | + const filelist = await file(filelistData); | ||
| 392 | + console.log(filelist.data.files); | ||
| 393 | + this.$store.commit('setFile', filelist.data.files); | ||
| 394 | + console.log(this.$store.getters.fileL); | ||
| 395 | + this.files = this.$store.getters.fileL;; | ||
| 396 | + }catch(error){ | ||
| 397 | + console.log("에러"); | ||
| 398 | + console.log(error); | ||
| 399 | + } | ||
| 400 | + }, | ||
| 401 | + async download_file(namedata){ | ||
| 402 | + try{ | ||
| 403 | + const currentData={ | ||
| 404 | + fileName : namedata, | ||
| 405 | + id: this.$store.state.id, | ||
| 406 | + cur: this.$store.state.cur | ||
| 407 | + } | ||
| 408 | + const result = await downloadFile(currentData); | ||
| 409 | + console.log(result) | ||
| 410 | + | ||
| 411 | + }catch(error){ | ||
| 412 | + console.log("에러"); | ||
| 413 | + console.log(error); | ||
| 414 | + } | ||
| 415 | + } | ||
| 416 | + }, | ||
| 319 | show (folderN, e) { | 417 | show (folderN, e) { |
| 320 | e.preventDefault() | 418 | e.preventDefault() |
| 321 | this.curfName = folderN; | 419 | this.curfName = folderN; |
| ... | @@ -326,6 +424,6 @@ import Axios from 'axios'; | ... | @@ -326,6 +424,6 @@ import Axios from 'axios'; |
| 326 | this.showMenu = true | 424 | this.showMenu = true |
| 327 | }) | 425 | }) |
| 328 | } | 426 | } |
| 329 | - } | 427 | + |
| 330 | } | 428 | } |
| 331 | </script> | 429 | </script> | ... | ... |
-
Please register or login to post a comment