26 lines
706 B
TypeScript
26 lines
706 B
TypeScript
/**
|
|
* Workflow Email Service Interface
|
|
*
|
|
* Base interface for workflow-specific email services.
|
|
* Each workflow type (dealer claim, custom, etc.) should implement this interface
|
|
* to ensure consistent behavior and prevent breaking other workflows.
|
|
*/
|
|
|
|
import { User } from '@models/User';
|
|
import { ApprovalLevel } from '@models/ApprovalLevel';
|
|
|
|
export interface IWorkflowEmailService {
|
|
/**
|
|
* Send assignment email to approver
|
|
* Each workflow type can implement its own logic for template selection
|
|
*/
|
|
sendAssignmentEmail(
|
|
requestData: any,
|
|
approverUser: User,
|
|
initiatorData: any,
|
|
currentLevel: ApprovalLevel | null,
|
|
allLevels: ApprovalLevel[]
|
|
): Promise<void>;
|
|
}
|
|
|