init
This commit is contained in:
15
server/src/modules/keywords/keywords.controller.ts
Normal file
15
server/src/modules/keywords/keywords.controller.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { Controller, Get } from '@nestjs/common';
|
||||
import { ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||
import { KeywordsService } from './keywords.service';
|
||||
|
||||
@ApiTags('public-keywords')
|
||||
@Controller('keywords')
|
||||
export class KeywordsController {
|
||||
constructor(private readonly keywordsService: KeywordsService) {}
|
||||
|
||||
@Get('hot')
|
||||
@ApiOperation({ summary: 'Get hot keywords' })
|
||||
getHotKeywords() {
|
||||
return this.keywordsService.getHotKeywords();
|
||||
}
|
||||
}
|
||||
9
server/src/modules/keywords/keywords.module.ts
Normal file
9
server/src/modules/keywords/keywords.module.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { KeywordsController } from './keywords.controller';
|
||||
import { KeywordsService } from './keywords.service';
|
||||
|
||||
@Module({
|
||||
controllers: [KeywordsController],
|
||||
providers: [KeywordsService],
|
||||
})
|
||||
export class KeywordsModule {}
|
||||
24
server/src/modules/keywords/keywords.service.ts
Normal file
24
server/src/modules/keywords/keywords.service.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { PrismaService } from '../../prisma/prisma.service';
|
||||
|
||||
@Injectable()
|
||||
export class KeywordsService {
|
||||
constructor(private readonly prisma: PrismaService) {}
|
||||
|
||||
async getHotKeywords() {
|
||||
const keywords = await this.prisma.hotKeyword.findMany({
|
||||
where: {
|
||||
isActive: true,
|
||||
},
|
||||
orderBy: {
|
||||
sortOrder: 'asc',
|
||||
},
|
||||
});
|
||||
|
||||
return keywords.map((item) => ({
|
||||
id: item.id,
|
||||
keyword: item.keyword,
|
||||
sortOrder: item.sortOrder,
|
||||
}));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user