Add delete user invitation functionality

This commit is contained in:
faris Aljohari
2025-01-04 20:10:37 -06:00
parent 97da38e31d
commit 81ec60d947
6 changed files with 103 additions and 10 deletions

View File

@ -15,5 +15,7 @@ export default registerAs(
process.env.MAILTRAP_INVITATION_TEMPLATE_UUID,
MAILTRAP_DISABLE_TEMPLATE_UUID: process.env.MAILTRAP_DISABLE_TEMPLATE_UUID,
MAILTRAP_ENABLE_TEMPLATE_UUID: process.env.MAILTRAP_ENABLE_TEMPLATE_UUID,
MAILTRAP_DELETE_USER_TEMPLATE_UUID:
process.env.MAILTRAP_DELETE_USER_TEMPLATE_UUID,
}),
);

View File

@ -772,6 +772,12 @@ export class ControllerRoute {
public static readonly DISABLE_USER_INVITATION_DESCRIPTION =
'This endpoint disables an invitation for a user to assign to role and spaces.';
public static readonly DELETE_USER_INVITATION_SUMMARY =
'Delete user invitation';
public static readonly DELETE_USER_INVITATION_DESCRIPTION =
'This endpoint deletes an invitation for a user to assign to role and spaces.';
public static readonly ACTIVATION_CODE_SUMMARY =
'Activate Invitation Code';

View File

@ -83,13 +83,12 @@ export class EmailService {
);
}
}
async sendEmailWithDisableOrEnableTemplate(
async sendEmailWithTemplate(
email: string,
name: string,
isEnable: boolean,
isDelete: boolean,
): Promise<void> {
console.log(isEnable);
const isProduction = process.env.NODE_ENV === 'production';
const API_TOKEN = this.configService.get<string>(
'email-config.MAILTRAP_API_TOKEN',
@ -97,12 +96,16 @@ export class EmailService {
const API_URL = isProduction
? SEND_EMAIL_API_URL_PROD
: SEND_EMAIL_API_URL_DEV;
const TEMPLATE_UUID = isEnable
// Determine the template UUID based on the arguments
const templateUuid = isDelete
? this.configService.get<string>(
'email-config.MAILTRAP_ENABLE_TEMPLATE_UUID',
'email-config.MAILTRAP_DELETE_USER_TEMPLATE_UUID',
)
: this.configService.get<string>(
'email-config.MAILTRAP_DISABLE_TEMPLATE_UUID',
isEnable
? 'email-config.MAILTRAP_ENABLE_TEMPLATE_UUID'
: 'email-config.MAILTRAP_DISABLE_TEMPLATE_UUID',
);
const emailData = {
@ -111,12 +114,12 @@ export class EmailService {
},
to: [
{
email: email,
email,
},
],
template_uuid: TEMPLATE_UUID,
template_uuid: templateUuid,
template_variables: {
name: name,
name,
},
};