diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2021-02-23 18:08:38 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2021-02-23 18:08:38 +0100 |
| commit | 19516de0a43ac5f2b0afc9891bbef09d229ce4e6 (patch) | |
| tree | 224a5ecb4e3f6130c4a1c6b3b125421ee2d9a6a7 /app/node_modules/okservices/oks3 | |
| parent | 542ebb603ecd8a60fc1daf50404cbc24a92e1d74 (diff) | |
allow arbitrary file upload for pdf
Diffstat (limited to 'app/node_modules/okservices/oks3')
| -rw-r--r-- | app/node_modules/okservices/oks3/index.js | 34 | ||||
| -rw-r--r-- | app/node_modules/okservices/oks3/package-lock.json | 274 | ||||
| -rw-r--r-- | app/node_modules/okservices/oks3/upload.js | 1 |
3 files changed, 308 insertions, 1 deletions
diff --git a/app/node_modules/okservices/oks3/index.js b/app/node_modules/okservices/oks3/index.js index cc40b71..41ee3dc 100644 --- a/app/node_modules/okservices/oks3/index.js +++ b/app/node_modules/okservices/oks3/index.js @@ -16,6 +16,7 @@ function OKS3(options) { if (!options.s3) throw new Error('S3 configuration not provided to OKS3'); + if (!options.s3.file) options.s3.file = {} if (!options.s3.image) options.s3.image = {} if (!options.s3.audio) options.s3.audio = {} if (!options.s3.video) options.s3.video = {} @@ -23,6 +24,8 @@ function OKS3(options) { // Make sure maxbytes property is there - it can be a number, // or zero/undefined (for no maximum upload size) if (options.s3.maxbytes) { + if (! ('maxbytes' in options.s3.file)) + options.s3.file.maxbytes = options.s3.maxbytes if (! ('maxbytes' in options.s3.image)) options.s3.image.maxbytes = options.s3.maxbytes if (! ('maxbytes' in options.s3.video)) @@ -30,6 +33,8 @@ function OKS3(options) { if (! ('maxbytes' in options.s3.audio)) options.s3.audio.maxbytes = options.s3.maxbytes } + if (typeof options.s3.file.allowed !== "boolean") + options.s3.file.allowed = true if (typeof options.s3.image.allowed !== "boolean") options.s3.image.allowed = true if (typeof options.s3.video.allowed !== "boolean") @@ -130,7 +135,34 @@ function OKS3(options) { }); }); - + + + router.post('/file', mult.single('file'), function(req, res) { + d.run(function () { + + if (! options.s3.image.allowed) { + return res.status(500).json({ error: "File uploading not permitted" }) + } + + upload.put({ + file: req.file, + preserveFilename: options.s3.video.preserveFilename, + dirname: options.s3.dirname, + types: { + 'application/pdf': 'pdf', + 'text/plain': 'txt', + 'text/html': 'html', + }, + unacceptable: function(err){ + res.json({ error: err }) + }, + success: function(url){ + res.json({ url: url }) + } + }) + + }); + }); function preserveFilename (stream, cb){ cb(null, stream.filename) } diff --git a/app/node_modules/okservices/oks3/package-lock.json b/app/node_modules/okservices/oks3/package-lock.json new file mode 100644 index 0000000..f6774bc --- /dev/null +++ b/app/node_modules/okservices/oks3/package-lock.json @@ -0,0 +1,274 @@ +{ + "name": "oks3", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "append-field": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-0.1.0.tgz", + "integrity": "sha1-bdxY+gg8e8VF08WZWygwzCNm1Eo=" + }, + "busboy": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.13.tgz", + "integrity": "sha1-kPxPajln2BVhb8l2v6jlau0MWLY=", + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "knox": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/knox/-/knox-0.9.2.tgz", + "integrity": "sha1-NzZZNmniTwJP2vcjtqHcSv2DmnE=", + "requires": { + "debug": "^1.0.2", + "mime": "*", + "once": "^1.3.0", + "stream-counter": "^1.0.0", + "xml2js": "^0.4.4" + }, + "dependencies": { + "debug": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz", + "integrity": "sha1-W5wla9VLbsAigxdvqKDt5tFUy/g=", + "requires": { + "ms": "0.6.2" + } + }, + "ms": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz", + "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=" + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "stream-counter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz", + "integrity": "sha1-kc8lac5NxQYf6816yyY5SloRR1E=" + }, + "xml2js": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", + "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "^4.1.0" + } + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" + }, + "mime-db": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz", + "integrity": "sha1-qyOmNy3J2G09yRIb0OvTgQWhkEo=" + }, + "mime-types": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", + "integrity": "sha1-uTx8tDYuFtQQcqflRTj7TUMHCDc=", + "requires": { + "mime-db": "~1.22.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "multer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.2.0.tgz", + "integrity": "sha1-W+GkUln7BNJ1PTPHwqHK9SJHBaI=", + "requires": { + "append-field": "^0.1.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.0", + "mkdirp": "^0.5.1", + "object-assign": "^3.0.0", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "dependencies": { + "concat-stream": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", + "integrity": "sha1-87gKz54fSOOHXAaItBtsMWAu6hw=", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=" + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "requires": { + "wrappy": "1" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "readable-stream": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz", + "integrity": "sha1-9u73ZPUUyJ4rniMUanW6EGdW0j4=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "type-is": { + "version": "1.6.12", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.12.tgz", + "integrity": "sha1-A1Kp37//BA/maMwVPMlYKcNUFz4=", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.10" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xmlbuilder": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", + "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", + "requires": { + "lodash": "^4.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz", + "integrity": "sha1-MWI5HY8BQKoiz49rPDTWt/Y9Oqk=" + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + } + } +} diff --git a/app/node_modules/okservices/oks3/upload.js b/app/node_modules/okservices/oks3/upload.js index 3602cfc..681b14b 100644 --- a/app/node_modules/okservices/oks3/upload.js +++ b/app/node_modules/okservices/oks3/upload.js @@ -9,6 +9,7 @@ var acceptableuploadTypes = { 'image/jpeg': 'jpg', 'image/jpg': 'jpg', 'image/png': 'png', + 'application/pdf': 'pdf', } module.exports = {} |
