apps/recallassess/recallassess-api/src/api/shared/email/controllers/email-test.controller.ts
api/admin/email/test
Methods |
|
| Async listTemplates |
listTemplates()
|
Decorators :
@Get('templates')
|
|
Returns :
unknown
|
| Async previewTemplate | ||||||
previewTemplate(dto: PreviewEmailDto)
|
||||||
Decorators :
@Post('preview')
|
||||||
|
Parameters :
Returns :
unknown
|
| Async testAllTemplates |
testAllTemplates()
|
Decorators :
@Post('test-all')
|
|
Returns :
unknown
|
| Async testEmail | ||||||
testEmail(dto: TestEmailDto)
|
||||||
Decorators :
@Post('test')
|
||||||
|
Parameters :
Returns :
unknown
|
import { Body, Controller, Get, HttpCode, HttpStatus, Post } from "@nestjs/common";
import { ApiOperation, ApiResponse, ApiTags } from "@nestjs/swagger";
import { PreviewEmailDto, TestEmailDto } from "../dto/preview-email.dto";
import { EmailTestService } from "../services/email-test.service";
@ApiTags("Admin - Email Testing")
@Controller("api/admin/email/test")
export class EmailTestController {
constructor(private readonly emailTestService: EmailTestService) {}
@Get("templates")
@HttpCode(HttpStatus.OK)
@ApiOperation({ summary: "List all available email templates" })
@ApiResponse({
status: 200,
description: "Returns list of all active email templates",
})
async listTemplates() {
return this.emailTestService.listTemplates();
}
@Post("preview")
@HttpCode(HttpStatus.OK)
@ApiOperation({ summary: "Preview email template with test data" })
@ApiResponse({
status: 200,
description: "Returns preview of email template with variables replaced",
})
async previewTemplate(@Body() dto: PreviewEmailDto) {
return this.emailTestService.previewTemplate(dto);
}
@Post("test")
@HttpCode(HttpStatus.OK)
@ApiOperation({ summary: "Test sending an email (development only)" })
@ApiResponse({
status: 200,
description: "Sends a test email and returns result",
})
async testEmail(@Body() dto: TestEmailDto) {
return this.emailTestService.testEmail(dto);
}
@Post("test-all")
@HttpCode(HttpStatus.OK)
@ApiOperation({ summary: "Test all email templates" })
@ApiResponse({
status: 200,
description: "Tests all templates and returns summary",
})
async testAllTemplates() {
return this.emailTestService.testAllTemplates();
}
}