generated from fahricansecer/boilerplate-be
@@ -26,7 +26,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { FileInterceptor } from '@nestjs/platform-express';
|
||||
import { ProjectsService } from './projects.service';
|
||||
import { CreateProjectDto, UpdateProjectDto, CreateFromTweetDto, CreateFromYoutubeDto, CreateFromDocumentDto } from './dto/project.dto';
|
||||
import { CreateProjectDto, UpdateProjectDto, CreateFromTweetDto, CreateFromYoutubeDto, CreateFromDocumentDto, CreateFromExtractedTextDto } from './dto/project.dto';
|
||||
|
||||
@ApiTags('projects')
|
||||
@ApiBearerAuth()
|
||||
@@ -191,6 +191,39 @@ export class ProjectsController {
|
||||
return this.projectsService.createFromDocument(userId, file, dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* Doküman yüklenip metni çıkarılır ve video konu önerileri üretilir.
|
||||
*/
|
||||
@Post('extract-document-topics')
|
||||
@HttpCode(HttpStatus.OK)
|
||||
@UseInterceptors(FileInterceptor('file'))
|
||||
@ApiConsumes('multipart/form-data')
|
||||
@ApiOperation({ summary: 'Dosyadan metin çıkar ve konu önerileri al' })
|
||||
@ApiResponse({ status: 200, description: 'Metin ve konular başarıyla çıkarıldı' })
|
||||
async extractDocumentTopics(
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
@Req() req: any,
|
||||
) {
|
||||
this.logger.log(`Dosyadan metin ve konular çıkarılıyor: ${file?.originalname}`);
|
||||
if (!file) {
|
||||
throw new BadRequestException('Dosya yüklenmedi');
|
||||
}
|
||||
return this.projectsService.extractDocumentTopics(file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracted text ve seçilen konu üzerinden doğrudan proje oluşturur.
|
||||
*/
|
||||
@Post('document-from-topic')
|
||||
@HttpCode(HttpStatus.CREATED)
|
||||
@ApiOperation({ summary: 'Seçilen konu ve metin ile proje oluştur' })
|
||||
@ApiResponse({ status: 201, description: 'Seçilen konu baz alınarak proje oluşturuldu' })
|
||||
async createFromTopic(@Body() dto: CreateFromExtractedTextDto, @Req() req: any) {
|
||||
const userId = req.user?.id || req.user?.sub;
|
||||
this.logger.log(`Metin ve konu üzerinden proje oluşturuluyor. Konu: ${dto.topic}`);
|
||||
return this.projectsService.createFromExtractedText(userId, dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tekil sahne güncelleme (narrasyon, görsel prompt, süre).
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user