feat: add get models by note
This commit is contained in:
parent
6ec761cdd7
commit
7824277239
@ -34,16 +34,22 @@ const modelById: RequestHandler<{ id: string; }> = async (req, res) => {
|
||||
};
|
||||
|
||||
|
||||
const allModelsFromFans: RequestHandler = async (req, res) => {
|
||||
const allModelsFromFans: RequestHandler = async (_req, res) => {
|
||||
const models = await modelService.getAllModelsFromFans();
|
||||
res.render('models.ejs', { models });
|
||||
};
|
||||
|
||||
const allModelsByNote: RequestHandler = async (_req, res) => {
|
||||
const models = await modelService.getAllModelsByNote();
|
||||
res.render('models.ejs', { models });
|
||||
};
|
||||
|
||||
const modelController = {
|
||||
modelByName,
|
||||
allModels,
|
||||
modelById,
|
||||
allModelsFromFans,
|
||||
allModelsByNote,
|
||||
};
|
||||
|
||||
export default modelController;
|
||||
|
@ -9,6 +9,8 @@ modelRouter.get("/byname/:name", modelController.modelByName);
|
||||
|
||||
modelRouter.get("/fromfan", modelController.allModelsFromFans);
|
||||
|
||||
modelRouter.get("/bynote", modelController.allModelsByNote);
|
||||
|
||||
modelRouter.get("/byid/:id", modelController.modelById);
|
||||
|
||||
export default modelRouter;
|
||||
|
@ -63,6 +63,18 @@ const getAllModelsFromFans = async () => {
|
||||
return res.rows.map(db2Model);
|
||||
}
|
||||
|
||||
const getAllModelsByNote = async () => {
|
||||
const client = new_client();
|
||||
await client.connect();
|
||||
|
||||
const res = await client.query(
|
||||
"SELECT * FROM noter GROUP BY id_modele ORDER BY AVG(note_noter) DESC"
|
||||
);
|
||||
|
||||
await client.end();
|
||||
return res.rows.map(db2Model);
|
||||
}
|
||||
|
||||
const createModel = async (name: string, url: string, creator: number, inheritFrom: number): Promise<Either<Model, string>> => {
|
||||
const gettingModel = await getModel(name);
|
||||
if (!gettingModel.hasRight) {
|
||||
@ -91,6 +103,7 @@ const modelService = {
|
||||
getAllModels,
|
||||
createModel,
|
||||
getAllModelsFromFans,
|
||||
getAllModelsByNote,
|
||||
};
|
||||
|
||||
export default modelService;
|
||||
|
@ -14,6 +14,8 @@
|
||||
|
||||
<a href="/models/fromfan"><p>Liste des modèles proposés par des fans</p></a>
|
||||
|
||||
<a href="/models/bynote"><p>Liste des modèles par note décroissante</p></a>
|
||||
|
||||
<a href="javascript:let now = new Date();now.setUTCFullYear(now.getUTCFullYear() - 5);window.location.pathname = '/boxes/from/' + `${now.getUTCFullYear()}-${now.getUTCMonth() + 1}-${now.getUTCDate()}`;">
|
||||
<p>Liste des boites ayant moins de 5 ans</p>
|
||||
</a>
|
||||
|
Loading…
x
Reference in New Issue
Block a user