82 lines
1.9 KiB
JavaScript
82 lines
1.9 KiB
JavaScript
import express from "express";
|
|
import { ensureLoggedIn } from "connect-ensure-login";
|
|
|
|
import Albums from "../middleware/Albums";
|
|
|
|
import render from "../libs/format";
|
|
|
|
// eslint-disable-next-line new-cap
|
|
const router = express.Router();
|
|
|
|
router.route("/").get(ensureLoggedIn("/connexion"), async (req, res, next) => {
|
|
try {
|
|
const page = new Albums(req, "collection");
|
|
|
|
await page.loadMyCollection();
|
|
|
|
if (page.getPageContent("artists").length > 0) {
|
|
render(res, page);
|
|
} else {
|
|
res.redirect("/ajouter-un-album");
|
|
}
|
|
} catch (err) {
|
|
next(err);
|
|
}
|
|
});
|
|
|
|
router
|
|
.route("/on-air")
|
|
.get(ensureLoggedIn("/connexion"), async (req, res, next) => {
|
|
try {
|
|
const page = new Albums(req, "mon-compte/ma-collection/details");
|
|
|
|
await page.onAir();
|
|
|
|
render(res, page);
|
|
} catch (err) {
|
|
next(err);
|
|
}
|
|
});
|
|
|
|
router
|
|
.route("/exporter")
|
|
.get(ensureLoggedIn("/connexion"), async (req, res, next) => {
|
|
try {
|
|
const page = new Albums(req, "mon-compte/ma-collection/exporter");
|
|
|
|
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);
|
|
}
|
|
});
|
|
|
|
router
|
|
.route("/:itemId")
|
|
.get(ensureLoggedIn("/connexion"), async (req, res, next) => {
|
|
try {
|
|
const page = new Albums(req, "mon-compte/ma-collection/details");
|
|
|
|
await page.loadItem();
|
|
|
|
render(res, page);
|
|
} catch (err) {
|
|
next(err);
|
|
}
|
|
});
|
|
|
|
export default router;
|