46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
|
|
import { Controller, Get, Post, Patch, Body, Param } from '@nestjs/common';
|
||
|
|
import { ApiTags, ApiOperation } from '@nestjs/swagger';
|
||
|
|
import { ImportCandidateService } from './import-candidate.service';
|
||
|
|
|
||
|
|
@ApiTags('import-candidate')
|
||
|
|
@Controller()
|
||
|
|
export class ImportCandidateController {
|
||
|
|
constructor(private readonly service: ImportCandidateService) {}
|
||
|
|
|
||
|
|
@Get('knowledge-sources/:sourceId/import-candidates')
|
||
|
|
@ApiOperation({ summary: '获取资料来源的候选知识点' })
|
||
|
|
async findBySource(@Param('sourceId') sourceId: string) {
|
||
|
|
return this.service.findBySource(sourceId);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('import-candidates/:id')
|
||
|
|
@ApiOperation({ summary: '获取候选知识点详情' })
|
||
|
|
async findOne(@Param('id') id: string) {
|
||
|
|
return this.service.findOne(id);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Patch('import-candidates/:id')
|
||
|
|
@ApiOperation({ summary: '编辑候选知识点' })
|
||
|
|
async update(@Param('id') id: string, @Body() dto: any) {
|
||
|
|
return this.service.update(id, dto);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Post('import-candidates/:id/accept')
|
||
|
|
@ApiOperation({ summary: '接受候选知识点 → 生成 KnowledgeItem' })
|
||
|
|
async accept(@Param('id') id: string) {
|
||
|
|
return this.service.accept(id);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Post('import-candidates/:id/reject')
|
||
|
|
@ApiOperation({ summary: '拒绝候选知识点' })
|
||
|
|
async reject(@Param('id') id: string) {
|
||
|
|
return this.service.reject(id);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Post('import-candidates/batch-accept')
|
||
|
|
@ApiOperation({ summary: '批量接受候选知识点' })
|
||
|
|
async batchAccept(@Body() dto: { sourceId: string }) {
|
||
|
|
return this.service.batchAccept(dto.sourceId);
|
||
|
|
}
|
||
|
|
}
|