diff --git a/README.md b/README.md index c8dc26a..806e1ae 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# nodecdtheque +# My Music Library -NodeCDThèque (non temporaire faute de mieux haha) est une application Web permettant de lister votre collection de CD ou vinyles. +My Music Library est une application Web permettant de lister votre collection de CD ou vinyles. ## Prérequis diff --git a/docker-compose.yml b/docker-compose.yml index ffc15e0..e78630b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,8 @@ version: "2.4" services: - nodecdtheque-www: - container_name: nodecdtheque-www + mymusiclibrary-www: + container_name: mymusiclibrary-www image: "node:16" restart: always user: "node" @@ -17,21 +17,21 @@ services: ports: - 3001:3001 depends_on: - - nodecdtheque-db + - mymusiclibrary-db environment: NODE_ENV: ${NODE_ENV} DISCOGS_TOKEN: ${DISCOGS_TOKEN} networks: - - nodecdtheque - nodecdtheque-db: - container_name: nodecdtheque-db + - mymusiclibrary + mymusiclibrary-db: + container_name: mymusiclibrary-db image: mongo:latest restart: always ports: - 27617:27017 networks: - - nodecdtheque + - mymusiclibrary networks: - nodecdtheque: + mymusiclibrary: driver: bridge diff --git a/package.json b/package.json index 0579244..53bd4c4 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "nodecdtheque", + "name": "mymusiclibrary", "version": "1.0.0", "description": "Simple application to manage your CD/Vinyl collection", "scripts": { @@ -18,7 +18,7 @@ }, "repository": { "type": "git", - "url": "git@git.darkou.fr:dbroqua/nodecdtheque.git" + "url": "git@git.darkou.fr:dbroqua/MyMusicLibrary.git" }, "author": { "name": "Damien Broqua", diff --git a/public/logo.png b/public/logo.png index 116d933..1ab3cca 100644 Binary files a/public/logo.png and b/public/logo.png differ diff --git a/sass/bulma.scss b/sass/bulma.scss index 1cd59ea..7369767 100644 --- a/sass/bulma.scss +++ b/sass/bulma.scss @@ -1 +1,5 @@ -@use '../node_modules/bulma/bulma.sass'; \ No newline at end of file +@use '../node_modules/bulma/bulma.sass'; + +.modal-content { + width: 80%; +} \ No newline at end of file diff --git a/src/app.js b/src/app.js index 756b493..fdfe77b 100644 --- a/src/app.js +++ b/src/app.js @@ -13,8 +13,9 @@ import { isXhr } from "./helpers"; import indexRouter from "./routes"; import addAlbumRouter from "./routes/addAlbum"; -import importRouterApiV1 from "./routes/api/v1"; + import importAlbumRouterApiV1 from "./routes/api/v1/albums"; +import importSearchRouterApiV1 from "./routes/api/v1/search"; // Mongoose schema init require("./models/users"); @@ -81,8 +82,8 @@ app.use( app.use("/", indexRouter); app.use("/ajouter-un-album", addAlbumRouter); -app.use("/api/v1", importRouterApiV1); app.use("/api/v1/albums", importAlbumRouterApiV1); +app.use("/api/v1/search", importSearchRouterApiV1); // Handle 404 app.use((req, res) => { diff --git a/src/bin/www.js b/src/bin/www.js index 3fc7b77..f184155 100644 --- a/src/bin/www.js +++ b/src/bin/www.js @@ -9,7 +9,7 @@ import http from "http"; import app from "../app"; import { port } from "../config"; -const debug = debugLib("nodecdtheque:server"); +const debug = debugLib("mymusiclibrary:server"); const server = http.createServer(app); /** diff --git a/src/config/index.js b/src/config/index.js index e8f4a6e..c241bcc 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -1,7 +1,8 @@ module.exports = { nodeEnv: process.env.NODE_ENV || "development", port: parseInt(process.env.PORT || "3001", 10), - mongoDbUri: process.env.MONGODB_URI || "mongodb://nodecdtheque-db/cdtheque", + mongoDbUri: + process.env.MONGODB_URI || "mongodb://mymusiclibrary-db/mymusiclibrary", secret: process.env.SECRET || "waemaeMe5ahc6ce1chaeKohKa6Io8Eik", discogsToken: process.env.DISCOGS_TOKEN, }; diff --git a/src/middleware/Pages.js b/src/middleware/Pages.js index ff9669f..e5a59af 100644 --- a/src/middleware/Pages.js +++ b/src/middleware/Pages.js @@ -38,6 +38,10 @@ class Pages { this.pageContent.page[field] = value; } + getPageContent(field) { + return this.pageContent.page[field]; + } + /** * Rendu de la page * @return {Object} diff --git a/src/routes/api/v1/index.js b/src/routes/api/v1/search.js similarity index 52% rename from src/routes/api/v1/index.js rename to src/routes/api/v1/search.js index 5553c0a..76e1c7e 100644 --- a/src/routes/api/v1/index.js +++ b/src/routes/api/v1/search.js @@ -2,16 +2,26 @@ import express from "express"; import { ensureLoggedIn } from "connect-ensure-login"; import { sendResponse } from "../../../libs/format"; -import { searchSong } from "../../../helpers"; +import { searchSong, getAlbumDetails } from "../../../helpers"; // eslint-disable-next-line new-cap const router = express.Router(); +router.route("/").get(ensureLoggedIn("/connexion"), async (req, res, next) => { + try { + const data = await searchSong(req.query.q); + + sendResponse(req, res, data); + } catch (err) { + next(err); + } +}); + router - .route("/search") + .route("/:discogsId") .get(ensureLoggedIn("/connexion"), async (req, res, next) => { try { - const data = await searchSong(req.query.q); + const data = await getAlbumDetails(req.params.discogsId); sendResponse(req, res, data); } catch (err) { diff --git a/src/routes/index.js b/src/routes/index.js index 8a47e02..578fd63 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -12,15 +12,12 @@ import render from "../libs/format"; const router = express.Router(); router.route("/").get((req, res, next) => { - if (req.user) { - return res.redirect("/ma-collection"); - } try { const page = new Pages(req, "home"); - return render(res, page); + render(res, page); } catch (err) { - return next(err); + next(err); } }); @@ -88,7 +85,11 @@ router await page.loadMyCollection(); - render(res, page); + if (page.getPageContent("artists").length > 0) { + render(res, page); + } else { + res.redirect("/ajouter-un-album"); + } } catch (err) { next(err); } diff --git a/views/index.ejs b/views/index.ejs index a556a56..cb99a5c 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -4,7 +4,7 @@ - <% if (page.title) { %><%= page.title %> <% } else { %> DarKou - Ma CDThèque <% } %> + <% if (page.title) { %><%= page.title %> <% } else { %> DarKou - My Music Library <% } %> @@ -55,7 +55,8 @@