From 7d4e2c7b91d7a0baedfd30038b0b7e820a2e4a27 Mon Sep 17 00:00:00 2001 From: Dhaverd Date: Fri, 8 May 2026 00:24:24 +0800 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=80=D0=BE=D1=83=D1=82=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/blacklist/blacklist.controller.ts | 5 +++++ src/modules/blacklist/blacklist.service.ts | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/modules/blacklist/blacklist.controller.ts b/src/modules/blacklist/blacklist.controller.ts index bfd00d9..bcf0c1c 100644 --- a/src/modules/blacklist/blacklist.controller.ts +++ b/src/modules/blacklist/blacklist.controller.ts @@ -28,6 +28,11 @@ export class BlacklistController { return this.blacklistService.getAllRecords(); } + @Get('/search') + async searchReports(@Query('text') text: string): Promise { + return this.blacklistService.searchReports(text); + } + @Get('/by_link') async getReportsByLink( @Query('link') link: string, diff --git a/src/modules/blacklist/blacklist.service.ts b/src/modules/blacklist/blacklist.service.ts index 118dd7e..7c27d58 100644 --- a/src/modules/blacklist/blacklist.service.ts +++ b/src/modules/blacklist/blacklist.service.ts @@ -5,6 +5,7 @@ import { BlacklistItem } from './types/blacklistItem'; import { BlacklistItemList } from './types/blacklistItemList'; import { BlacklistReportDto } from './dto/blacklistReport'; import { BadRequestException } from '@nestjs/common'; +import { Sequelize, Op } from 'sequelize'; @Injectable() export class BlacklistService { @@ -22,6 +23,18 @@ export class BlacklistService { return this.groupRecordsByLink(allRecords); } + async searchReports(text: string): Promise { + const foundRecords = await this.blacklistReportModel.findAll({ + raw: true, + where: Sequelize.or( + { steam_link: { [Op.substring]: text } }, + { steam_nickname: { [Op.substring]: text } }, + { comment: { [Op.substring]: text } }, + ), + }); + return this.groupRecordsByLink(foundRecords); + } + async getRecordsByLink(link: string): Promise { const allRecords: BlacklistReport[] = await this.blacklistReportModel.findAll({