File

apps/recallassess/recallassess-api/src/api/shared/email/controllers/email-test.controller.ts

Prefix

api/admin/email/test

Index

Methods

Methods

Async listTemplates
listTemplates()
Decorators :
@Get('templates')
@HttpCode(HttpStatus.OK)
@ApiOperation({summary: 'List all available email templates'})
@ApiResponse({status: 200, description: 'Returns list of all active email templates'})
Returns : unknown
Async previewTemplate
previewTemplate(dto: PreviewEmailDto)
Decorators :
@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'})
Parameters :
Name Type Optional
dto PreviewEmailDto No
Returns : unknown
Async testAllTemplates
testAllTemplates()
Decorators :
@Post('test-all')
@HttpCode(HttpStatus.OK)
@ApiOperation({summary: 'Test all email templates'})
@ApiResponse({status: 200, description: 'Tests all templates and returns summary'})
Returns : unknown
Async testEmail
testEmail(dto: TestEmailDto)
Decorators :
@Post('test')
@HttpCode(HttpStatus.OK)
@ApiOperation({summary: 'Test sending an email (development only)'})
@ApiResponse({status: 200, description: 'Sends a test email and returns result'})
Parameters :
Name Type Optional
dto TestEmailDto No
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();
  }
}

results matching ""

    No results matching ""