diff options
| author | Pitu <[email protected]> | 2020-12-28 00:10:59 +0900 |
|---|---|---|
| committer | Pitu <[email protected]> | 2020-12-28 00:10:59 +0900 |
| commit | edb3bed98864e34695a5ae0093c414a2b578073a (patch) | |
| tree | c014e52bfc5f24f1f773d51f9306a7138ebdfd8e /src/api | |
| parent | fix: mobile styling (diff) | |
| download | host.fuwn.me-edb3bed98864e34695a5ae0093c414a2b578073a.tar.xz host.fuwn.me-edb3bed98864e34695a5ae0093c414a2b578073a.zip | |
feat: Add warning to nsfw albums
Diffstat (limited to 'src/api')
| -rw-r--r-- | src/api/routes/albums/albumEditPOST.js | 33 | ||||
| -rw-r--r-- | src/api/routes/albums/albumGET.js | 1 | ||||
| -rw-r--r-- | src/api/routes/albums/albumsGET.js | 2 |
3 files changed, 35 insertions, 1 deletions
diff --git a/src/api/routes/albums/albumEditPOST.js b/src/api/routes/albums/albumEditPOST.js new file mode 100644 index 0000000..f104cc1 --- /dev/null +++ b/src/api/routes/albums/albumEditPOST.js @@ -0,0 +1,33 @@ +const Route = require('../../structures/Route'); + +class albumEditPOST extends Route { + constructor() { + super('/album/edit', 'post'); + } + + async run(req, res, db, user) { + if (!req.body) return res.status(400).json({ message: 'No body provided' }); + const { id, name, nsfw } = req.body; + if (!id) return res.status(400).json({ message: 'Invalid album identifier supplied' }); + + + const album = await db.table('albums').where({ id, userId: user.id }).first(); + if (!album) return res.status(400).json({ message: 'The album doesn\'t exist or doesn\'t belong to the user' }); + + try { + const updateObj = { + name: name ? name : album.name, + nsfw: nsfw === true ? true : nsfw === false ? false : album.nsfw + }; + await db + .table('albums') + .where({ id }) + .update(updateObj); + return res.json({ message: 'Editing the album was successful', data: updateObj }); + } catch (error) { + return super.error(res, error); + } + } +} + +module.exports = albumEditPOST; diff --git a/src/api/routes/albums/albumGET.js b/src/api/routes/albums/albumGET.js index 950a1fd..c9f6763 100644 --- a/src/api/routes/albums/albumGET.js +++ b/src/api/routes/albums/albumGET.js @@ -37,6 +37,7 @@ class albumGET extends Route { message: 'Successfully retrieved files', name: album.name, downloadEnabled: link.enableDownload, + isNsfw: album.nsfw, files }); } diff --git a/src/api/routes/albums/albumsGET.js b/src/api/routes/albums/albumsGET.js index 8d238a9..3c18d8f 100644 --- a/src/api/routes/albums/albumsGET.js +++ b/src/api/routes/albums/albumsGET.js @@ -16,7 +16,7 @@ class albumsGET extends Route { const albums = await db .table('albums') .where('albums.userId', user.id) - .select('id', 'name', 'createdAt', 'editedAt') + .select('id', 'name', 'nsfw', 'createdAt', 'editedAt') .orderBy('createdAt', 'desc'); for (const album of albums) { |