import { IRequest, IResponse, } from '../interfaces/common'; export interface EmailService { sendUserEmailVerificationEmail(request: ISendUserEmailVerificationEmailRequest): Promise sendUserPasswordResetEmail(request: ISendUserPasswordResetEmailRequest): Promise sendPasswordChangedConfirmationEmail(request: ISendPasswordChangedConfirmationEmailRequest): Promise } /** ****************************************************************************** * Emails ******************************************************************************* */ export interface ISendEmailRequest extends IRequest { toAddress: string; } /** ****************************************************************************** * Send Email Verification ******************************************************************************* */ export interface ISendUserEmailVerificationEmailRequest extends ISendEmailRequest { verifyEmailUrl: string; } export interface ISendUserEmailVerificationEmailResponse extends IResponse { } /** ****************************************************************************** * Send Password Reset ******************************************************************************* */ export interface ISendUserPasswordResetEmailRequest extends ISendEmailRequest { resetPasswordUrl: string; } export interface ISendUserPasswordResetEmailResponse extends IResponse { } /** ****************************************************************************** * Send Password Changed Confirmation Email ******************************************************************************* */ export interface ISendPasswordChangedConfirmationEmailRequest extends ISendEmailRequest { } export interface ISendPasswordChangedConfirmationEmailResponse extends IResponse { }