summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2017-12-10 17:25:32 +0100
committerJules Laplace <julescarbon@gmail.com>2017-12-10 17:25:32 +0100
commit3cc9ff370a5e3f5bf321dc56963ae3bc73e75284 (patch)
tree194bcafac19e2cc1a77aaab7303d68aafdbbe312
parentd9b9383118302aff6d73856175d7362d8b1463c5 (diff)
posting new threads and comments working
-rw-r--r--bucky/app/bucky.js39
-rw-r--r--bucky/app/index.js1
-rw-r--r--bucky/app/router.js2
-rw-r--r--bucky/util/upload.js7
-rw-r--r--package-lock.json5
-rw-r--r--package.json1
6 files changed, 39 insertions, 16 deletions
diff --git a/bucky/app/bucky.js b/bucky/app/bucky.js
index 5198400..2b07f03 100644
--- a/bucky/app/bucky.js
+++ b/bucky/app/bucky.js
@@ -87,7 +87,7 @@ var bucky = module.exports = {
private: false,
color: req.body.color,
viewed: 0,
- revision: 'a',
+ revision: 0,
}
db.createThread(data).then(function(thread){
res.thread = thread
@@ -221,16 +221,33 @@ var bucky = module.exports = {
res.json({ error: "no files" })
return
}
- var data = {
- thread: res.thread.get('id'),
- parent_id: req.body.parent_id || -1,
- username: req.user.get('username'),
- date: util.now(),
- comment: req.body.comment,
- }
- db.createComment(data).then(function(comment){
- res.comment = comment
- next()
+ var thread_id = res.thread.get('id')
+ var dirname = '/bucky/data/' + thread_id + '/'
+ var promises = req.files.map((file) => {
+ return new Promise( (resolve, reject) => {
+ upload.put({
+ file: file,
+ preserveFilename: true,
+ dirname: dirname,
+ unacceptable: function(err){
+ reject(err)
+ },
+ success: function(url){
+ var data = {
+ thread: res.thread.get('id'),
+ username: req.user.get('username'),
+ filename: file.originalname,
+ date: util.now(),
+ size: file.size,
+ private: false,
+ storage: 'i.asdf.us',
+ }
+ db.createFile(data).then(function(file){
+ resolve(file)
+ }).catch( (err) => reject(err) )
+ }
+ })
+ })
})
},
diff --git a/bucky/app/index.js b/bucky/app/index.js
index cbf7388..be3e732 100644
--- a/bucky/app/index.js
+++ b/bucky/app/index.js
@@ -60,7 +60,6 @@ site.init = function(){
key: process.env.S3_KEY,
secret: process.env.S3_SECRET,
bucket: process.env.S3_BUCKET,
- path: process.env.S3_PATH,
})
site.route(app)
diff --git a/bucky/app/router.js b/bucky/app/router.js
index 134ab1d..bd72a4d 100644
--- a/bucky/app/router.js
+++ b/bucky/app/router.js
@@ -80,7 +80,7 @@ module.exports = function(app){
multer.array("files"),
bucky.verifyFilesOrComment,
bucky.createThread,
-// bucky.createFiles,
+ bucky.createOptionalFiles,
bucky.createOptionalComment,
function(req, res){
res.json(res.thread)
diff --git a/bucky/util/upload.js b/bucky/util/upload.js
index 517d5f7..d92183e 100644
--- a/bucky/util/upload.js
+++ b/bucky/util/upload.js
@@ -14,6 +14,7 @@ var acceptableuploadTypes = {
module.exports = {}
module.exports.init = function (opt){
+ options = opt
s3 = knox.createClient({
key: opt.key,
secret: opt.secret,
@@ -28,8 +29,8 @@ module.exports.put = function (opt) {
var file = opt.file
- var types = opt.types || acceptableuploadTypes
- var extension = types[file.mimetype]
+ var types = opt.types
+ var extension = types && types[file.mimetype]
if (opt.preserveFilename) {
filename = file.originalname
@@ -40,7 +41,7 @@ module.exports.put = function (opt) {
var remote_path = "/" + opt.dirname + "/" + filename
- if (! extension) {
+ if (types && ! extension) {
err = "Unacceptable filetype."
}
else if (opt.maxSize && file.size > opt.maxSize) {
diff --git a/package-lock.json b/package-lock.json
index b49027b..e659d49 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1584,6 +1584,11 @@
"resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
"integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo="
},
+ "node-uuid": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc="
+ },
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
diff --git a/package.json b/package.json
index a6b1cd7..d88160a 100644
--- a/package.json
+++ b/package.json
@@ -30,6 +30,7 @@
"multer": "^1.0.3",
"multiparty": "^4.1.2",
"mysql2": "^0.15.8",
+ "node-uuid": "^1.4.8",
"passport": "^0.3.0",
"passport-local": "^1.0.0",
"serve-favicon": "^2.3.0",