86 lines
2 KiB
JavaScript
86 lines
2 KiB
JavaScript
|
import moment from "moment";
|
||
|
|
||
|
import Pages from "./Pages";
|
||
|
|
||
|
import { getAlbumDetails } from "../helpers";
|
||
|
|
||
|
import AlbumsModel from "../models/albums";
|
||
|
|
||
|
/**
|
||
|
* Classe permettant la gestion des albums d'un utilisateur
|
||
|
*/
|
||
|
class Albums extends Pages {
|
||
|
async getFormAddOne() {
|
||
|
const data = await getAlbumDetails(this.req.params.discogsId);
|
||
|
|
||
|
const {
|
||
|
id, // Integer
|
||
|
year, // - Integer
|
||
|
uri, // String
|
||
|
artists, // - Array<Object>
|
||
|
artists_sort, // String
|
||
|
labels, // - Array<Object>
|
||
|
series, // Array
|
||
|
companies, // - Array<Object>
|
||
|
formats, // - Array<Object>
|
||
|
title, // - String
|
||
|
country, // - String
|
||
|
released, // - Date
|
||
|
notes, // - String
|
||
|
identifiers, // - Array<Object>
|
||
|
videos, // - Array<Object>
|
||
|
genres, // - Array<String>
|
||
|
styles, // - Array<String>
|
||
|
tracklist, // - Array<Object>
|
||
|
extraartists, // - Array<Object>
|
||
|
images, // - Array<Object
|
||
|
thumb, // - String
|
||
|
} = data;
|
||
|
|
||
|
this.pageContent.page.values = "test";
|
||
|
|
||
|
this.setPageContent("values", {
|
||
|
id,
|
||
|
year,
|
||
|
uri,
|
||
|
artists,
|
||
|
artists_sort,
|
||
|
labels,
|
||
|
series,
|
||
|
companies,
|
||
|
formats,
|
||
|
title,
|
||
|
country,
|
||
|
released,
|
||
|
notes,
|
||
|
identifiers,
|
||
|
videos,
|
||
|
genres,
|
||
|
styles,
|
||
|
tracklist,
|
||
|
extraartists,
|
||
|
images,
|
||
|
thumb,
|
||
|
});
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
static async postAddOne(req) {
|
||
|
const { body, user } = req;
|
||
|
const data = {
|
||
|
...body,
|
||
|
discogsId: body.id,
|
||
|
User: user._id,
|
||
|
};
|
||
|
data.released = moment(data.released.replace("-00", "-01"));
|
||
|
delete data.id;
|
||
|
|
||
|
const album = new AlbumsModel(data);
|
||
|
|
||
|
return album.save();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default Albums;
|