forked from dbroqua/MusicTopus
#49 - Mise à jour d'une fiche
This commit is contained in:
parent
6320764743
commit
adea857666
12 changed files with 235 additions and 8 deletions
|
@ -7,7 +7,8 @@ import AlbumsModel from "../models/albums";
|
|||
import JobsModel from "../models/jobs";
|
||||
import UsersModel from "../models/users";
|
||||
import ErrorEvent from "../libs/error";
|
||||
// import { uploadFromUrl } from "../libs/aws";
|
||||
|
||||
import { getAlbumDetails } from "../helpers";
|
||||
|
||||
/**
|
||||
* Classe permettant la gestion des albums d'un utilisateur
|
||||
|
@ -182,6 +183,30 @@ class Albums extends Pages {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode permettant de mettre à jour un album
|
||||
*
|
||||
* @return {Object}
|
||||
*/
|
||||
async patchOne() {
|
||||
const { itemId: _id } = this.req.params;
|
||||
const { _id: User } = this.req.user;
|
||||
const album = await AlbumsModel.findOne({
|
||||
_id,
|
||||
User,
|
||||
});
|
||||
|
||||
if (!album) {
|
||||
throw new ErrorEvent(404, "Impossible de trouver cet album");
|
||||
}
|
||||
|
||||
const values = await getAlbumDetails(album.discogsId);
|
||||
|
||||
await album.updateOne(values);
|
||||
|
||||
return album;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode permettant de supprimer un élément d'une collection
|
||||
* @return {Boolean}
|
||||
|
|
|
@ -47,6 +47,16 @@ router
|
|||
|
||||
router
|
||||
.route("/:itemId")
|
||||
.patch(ensureLoggedIn("/connexion"), async (req, res, next) => {
|
||||
try {
|
||||
const albums = new Albums(req);
|
||||
const data = await albums.patchOne();
|
||||
|
||||
sendResponse(req, res, data);
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
})
|
||||
.delete(ensureLoggedIn("/connexion"), async (req, res, next) => {
|
||||
try {
|
||||
const albums = new Albums(req);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue