From 5c2018b407649e730f2f921684d23348f1861296 Mon Sep 17 00:00:00 2001 From: ZtRXR Date: Sat, 2 Sep 2023 23:11:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=80=E6=96=B0=E7=83=AD?= =?UTF-8?q?=E6=90=9C=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controller/GetNewWebsController.ts | 40 +++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/controller/GetNewWebsController.ts b/src/controller/GetNewWebsController.ts index 1cbd769..ac8b711 100644 --- a/src/controller/GetNewWebsController.ts +++ b/src/controller/GetNewWebsController.ts @@ -1,7 +1,45 @@ import { Request, Response, NextFunction } from "express"; +import { AppDataSource } from "../data-source"; +import { Web } from "../entity/Web"; +import { Search } from "../entity/Search"; +import { Hot } from "../entity/Hot"; export class GetNewWebsController{ async all(request: Request, response: Response, next: NextFunction){ - + const name = request.params.name + const searchWeb = await AppDataSource.getRepository(Web).findOne({ + where:{ + name:name + } + }) + if(searchWeb == null){ + response.status(404) + return "error" + } + const limit = Number.parseInt(request.query.limit as string) + if(isNaN(limit)||limit<1||limit>25){ + response.status(404) + return "error" + } + const lastSearch = await AppDataSource + .getRepository(Search) + .createQueryBuilder("search") + .where("search.fromWeb = :fromWeb", + { + fromWeb:searchWeb.id + } + ) + .orderBy("search.id","DESC") + .getOne() + return AppDataSource + .getRepository(Hot) + .createQueryBuilder("hot") + .where("hot.fromSearch = :fromSearch", + { + fromSearch:lastSearch.id + } + ) + .limit(limit) + .getMany() } } \ No newline at end of file