managarten/apps-archived/mail/apps/backend/src/ai/ai.controller.ts
Till-JS ace7fa8f7f chore: archive finance, mail, moodlit apps and rename voxel-lava
- Move finance, mail, moodlit to apps-archived for later development
- Rename games/voxel-lava to games/voxelava

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 13:13:15 +01:00

30 lines
1,010 B
TypeScript

import { Controller, Post, Param, UseGuards, ParseUUIDPipe } from '@nestjs/common';
import { JwtAuthGuard, CurrentUser, CurrentUserData } from '@manacore/shared-nestjs-auth';
import { AIService } from './ai.service';
@Controller('emails')
@UseGuards(JwtAuthGuard)
export class AIController {
constructor(private readonly aiService: AIService) {}
@Post(':id/summarize')
async summarize(@CurrentUser() user: CurrentUserData, @Param('id', ParseUUIDPipe) id: string) {
const result = await this.aiService.summarizeEmail(id, user.userId);
return result;
}
@Post(':id/suggest-replies')
async suggestReplies(
@CurrentUser() user: CurrentUserData,
@Param('id', ParseUUIDPipe) id: string
) {
const result = await this.aiService.suggestReplies(id, user.userId);
return result;
}
@Post(':id/categorize')
async categorize(@CurrentUser() user: CurrentUserData, @Param('id', ParseUUIDPipe) id: string) {
const result = await this.aiService.categorizeEmail(id, user.userId);
return result;
}
}