diff options
Diffstat (limited to 'server/lib/api/layouts.js')
| -rw-r--r-- | server/lib/api/layouts.js | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/server/lib/api/layouts.js b/server/lib/api/layouts.js index c04f926..2c68f71 100644 --- a/server/lib/api/layouts.js +++ b/server/lib/api/layouts.js @@ -50,15 +50,24 @@ var layouts = { data.rooms = JSON.parse(data.rooms) data.startPosition = JSON.parse(data.startPosition) - upload.put("layouts", req.files.thumbnail, { - unacceptable: function(err){ - res.json({ error: { errors: { thumbnail: { message: "Problem saving thumbnail: " + err } } } }) - }, - success: function(url){ - data.photo = url - done() - } - }) + Layout.findOne({ slug: data.slug }, function(err, doc){ + if (! err || doc) { + data.slug = data.slug + "-" + Date.now() + } + do_upload() + }) + + function do_upload () { + upload.put("layouts", req.files.thumbnail, { + unacceptable: function(err){ + res.json({ error: { errors: { thumbnail: { message: "Problem saving thumbnail: " + err } } } }) + }, + success: function(url){ + data.photo = url + done() + } + }) + } function done() { new Layout(data).save(function(err, doc){ |
