Import d'une collection depuis Discogs

This commit is contained in:
Damien Broqua 2023-10-08 15:02:08 +02:00
parent 3b3a4cf779
commit 85752c537d
7 changed files with 193 additions and 3 deletions

View file

@ -25,10 +25,21 @@ class Albums extends Pages {
*/
static async postAddOne(req) {
const { body, user } = req;
const { album: albumDetails, share } = body;
const { share, discogsId } = body;
let albumDetails = body.album;
if (discogsId) {
albumDetails = await getAlbumDetails(discogsId);
body.id = discogsId;
}
if (!albumDetails) {
throw new ErrorEvent(406, "Aucun album à ajouter");
}
const data = {
...albumDetails,
discogsId: body.id,
discogsId: albumDetails.id,
User: user._id,
};
data.released = data.released
@ -169,6 +180,7 @@ Publié automatiquement via #musictopus`;
style,
userId: collectionUserId,
discogsIds,
discogsId,
} = this.req.query;
let userId = this.req.user?._id;
@ -221,6 +233,9 @@ Publié automatiquement via #musictopus`;
if (discogsIds) {
where.discogsId = { $in: discogsIds };
}
if (discogsId) {
where.discogsId = Number(discogsId);
}
const count = await AlbumsModel.count({
User: userId,

View file

@ -32,6 +32,19 @@ router
page.setPageTitle("Exporter ma collection");
render(res, page);
} catch (err) {
next(err);
}
});
router
.route("/importer")
.get(ensureLoggedIn("/connexion"), async (req, res, next) => {
try {
const page = new Albums(req, "mon-compte/ma-collection/importer");
page.setPageTitle("Importer une collection");
render(res, page);
} catch (err) {
next(err);