import { Body, Controller, Post } from '@nestjs/common';

import { ResendMailMeetingRequestsService } from './resend-mail-meeting-requests.service';

type TestMeetingRequestEmailDto = {
  email: string;
};

@Controller('mail-test')
export class MailTestController {
  constructor(
    private readonly meetingRequestMailService: ResendMailMeetingRequestsService,
  ) {}

  @Post('meeting-request')
  async testMeetingRequestEmail(
    @Body()
    body: TestMeetingRequestEmailDto,
  ) {
    const resendId =
      await this.meetingRequestMailService.sendMeetingRequestToMinistry({
        to: [body.email],

        requestId: 999,

        title: 'Test Meeting Request Notification',

        description: '<p>This is a test notification from G-PSF MIS.</p>',

        ministryName: 'Test Ministry',

        workingGroupName: 'Test Working Group',

        workingGroupEmail: 'admin@gmail.com',

        meetingRequestLetter: null,

        issues: [
          {
            title: 'Test issue notification',
            category: {
              name: 'Test Category',
            },
            issueStatus: {
              name: 'New',
            },
          },
        ],
      });

    return {
      success: true,
      message: 'Test meeting request email sent.',
      data: {
        resendId,
      },
    };
  }
}
