From e7767ac7095f93393a627fd5e867af4a1ca4b011 Mon Sep 17 00:00:00 2001 From: Pitu <7425261+Pitu@users.noreply.github.com> Date: Sun, 16 Sep 2018 00:56:13 -0300 Subject: Routes --- src/api/routes/albums/albumPOST.js | 44 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/api/routes/albums/albumPOST.js (limited to 'src/api/routes/albums/albumPOST.js') diff --git a/src/api/routes/albums/albumPOST.js b/src/api/routes/albums/albumPOST.js new file mode 100644 index 0000000..24ccca8 --- /dev/null +++ b/src/api/routes/albums/albumPOST.js @@ -0,0 +1,44 @@ +const Route = require('../../structures/Route'); +const config = require('../../../../config'); +const db = require('knex')(config.server.database); +const moment = require('moment'); + +class albumPOST extends Route { + constructor() { + super('/album/new', 'post'); + } + + async run(req, res, user) { + if (!req.body) return res.status(400).json({ message: 'No body provided' }); + const { name } = req.body; + if (!name) return res.status(400).json({ message: 'No name provided' }); + + const album = await db.table('albums').where({ + name, + enabled: true, + userId: user.id + }).first(); + + if (album) return res.status(401).json({ message: 'There\'s already an album with that name' }); + + const now = moment.utc().toDate(); + /* + const identifier = await Util.getUniqueAlbumIdentifier(); + if (!identifier) { + console.error('Couldn\'t allocate an identifier for an album'); + return res.status(500).json({ message: 'There was a problem allocating an identifier to the album' }); + } + */ + await db.table('albums').insert({ + name, + enabled: true, + userId: user.id, + createdAt: now, + editedAt: now + }); + + return res.json({ message: 'The album was created successfully' }); + } +} + +module.exports = albumPOST; -- cgit v1.2.3 From 90011334147eaa3b480e0dc9f80cc83bb83b3cd5 Mon Sep 17 00:00:00 2001 From: Pitu <7425261+Pitu@users.noreply.github.com> Date: Sun, 16 Sep 2018 05:42:38 -0300 Subject: Links are managed elsewhere, so there's no point in this --- src/api/routes/albums/albumPOST.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/api/routes/albums/albumPOST.js') diff --git a/src/api/routes/albums/albumPOST.js b/src/api/routes/albums/albumPOST.js index 24ccca8..c2e7c4e 100644 --- a/src/api/routes/albums/albumPOST.js +++ b/src/api/routes/albums/albumPOST.js @@ -15,7 +15,7 @@ class albumPOST extends Route { const album = await db.table('albums').where({ name, - enabled: true, + // enabled: true, userId: user.id }).first(); @@ -31,7 +31,7 @@ class albumPOST extends Route { */ await db.table('albums').insert({ name, - enabled: true, + // enabled: true, userId: user.id, createdAt: now, editedAt: now -- cgit v1.2.3 From f2c885b718528d42df412e612520fb471c46d0bd Mon Sep 17 00:00:00 2001 From: Pitu <7425261+Pitu@users.noreply.github.com> Date: Mon, 17 Sep 2018 04:55:42 -0300 Subject: Commented all the code --- src/api/routes/albums/albumPOST.js | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'src/api/routes/albums/albumPOST.js') diff --git a/src/api/routes/albums/albumPOST.js b/src/api/routes/albums/albumPOST.js index c2e7c4e..12b88fa 100644 --- a/src/api/routes/albums/albumPOST.js +++ b/src/api/routes/albums/albumPOST.js @@ -13,25 +13,15 @@ class albumPOST extends Route { const { name } = req.body; if (!name) return res.status(400).json({ message: 'No name provided' }); - const album = await db.table('albums').where({ - name, - // enabled: true, - userId: user.id - }).first(); - + /* + Check that an album with that name doesn't exist yet + */ + const album = await db.table('albums').where({ name, userId: user.id }).first(); if (album) return res.status(401).json({ message: 'There\'s already an album with that name' }); const now = moment.utc().toDate(); - /* - const identifier = await Util.getUniqueAlbumIdentifier(); - if (!identifier) { - console.error('Couldn\'t allocate an identifier for an album'); - return res.status(500).json({ message: 'There was a problem allocating an identifier to the album' }); - } - */ await db.table('albums').insert({ name, - // enabled: true, userId: user.id, createdAt: now, editedAt: now -- cgit v1.2.3 From 89a271818ed25b0a17a17dd1d6804e34d1f2ec0f Mon Sep 17 00:00:00 2001 From: Pitu Date: Tue, 19 Feb 2019 23:52:24 +0900 Subject: Switch config to .env --- src/api/routes/albums/albumPOST.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/api/routes/albums/albumPOST.js') diff --git a/src/api/routes/albums/albumPOST.js b/src/api/routes/albums/albumPOST.js index 12b88fa..0d3a44c 100644 --- a/src/api/routes/albums/albumPOST.js +++ b/src/api/routes/albums/albumPOST.js @@ -1,6 +1,4 @@ const Route = require('../../structures/Route'); -const config = require('../../../../config'); -const db = require('knex')(config.server.database); const moment = require('moment'); class albumPOST extends Route { @@ -8,7 +6,7 @@ class albumPOST extends Route { super('/album/new', 'post'); } - async run(req, res, user) { + async run(req, res, db, user) { if (!req.body) return res.status(400).json({ message: 'No body provided' }); const { name } = req.body; if (!name) return res.status(400).json({ message: 'No name provided' }); -- cgit v1.2.3 From b620aa981546cb42e19f64d5349a9372e3d0c269 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Sat, 4 Jul 2020 03:25:04 +0300 Subject: feat: refactor some of the queries to returned added/updated data --- src/api/routes/albums/albumPOST.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/api/routes/albums/albumPOST.js') diff --git a/src/api/routes/albums/albumPOST.js b/src/api/routes/albums/albumPOST.js index 0d3a44c..841da3d 100644 --- a/src/api/routes/albums/albumPOST.js +++ b/src/api/routes/albums/albumPOST.js @@ -14,18 +14,25 @@ class albumPOST extends Route { /* Check that an album with that name doesn't exist yet */ - const album = await db.table('albums').where({ name, userId: user.id }).first(); - if (album) return res.status(401).json({ message: 'There\'s already an album with that name' }); + const album = await db + .table('albums') + .where({ name, userId: user.id }) + .first(); + if (album) return res.status(401).json({ message: "There's already an album with that name" }); const now = moment.utc().toDate(); - await db.table('albums').insert({ + const insertObj = { name, userId: user.id, createdAt: now, editedAt: now - }); + }; - return res.json({ message: 'The album was created successfully' }); + const dbRes = await db.table('albums').insert(insertObj); + + insertObj.id = dbRes.pop(); + + return res.json({ message: 'The album was created successfully', data: insertObj }); } } -- cgit v1.2.3 From ad852de51a0d2dd5d29c08838d5a430c58849e74 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Wed, 8 Jul 2020 04:00:12 +0300 Subject: chore: linter the entire project using the new rules --- src/api/routes/albums/albumPOST.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/api/routes/albums/albumPOST.js') diff --git a/src/api/routes/albums/albumPOST.js b/src/api/routes/albums/albumPOST.js index 841da3d..94ee8a7 100644 --- a/src/api/routes/albums/albumPOST.js +++ b/src/api/routes/albums/albumPOST.js @@ -1,5 +1,5 @@ -const Route = require('../../structures/Route'); const moment = require('moment'); +const Route = require('../../structures/Route'); class albumPOST extends Route { constructor() { @@ -25,7 +25,7 @@ class albumPOST extends Route { name, userId: user.id, createdAt: now, - editedAt: now + editedAt: now, }; const dbRes = await db.table('albums').insert(insertObj); -- cgit v1.2.3 From 90001c2df56d58e69fd199a518ae7f3e4ed327fc Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Thu, 24 Dec 2020 10:40:50 +0200 Subject: chore: remove trailing commas --- src/api/routes/albums/albumPOST.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/api/routes/albums/albumPOST.js') diff --git a/src/api/routes/albums/albumPOST.js b/src/api/routes/albums/albumPOST.js index 94ee8a7..52352a1 100644 --- a/src/api/routes/albums/albumPOST.js +++ b/src/api/routes/albums/albumPOST.js @@ -25,7 +25,7 @@ class albumPOST extends Route { name, userId: user.id, createdAt: now, - editedAt: now, + editedAt: now }; const dbRes = await db.table('albums').insert(insertObj); -- cgit v1.2.3