feat: implement comprehensive notification engine with policies, preferences, and automated dispatching services
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { NotificationChannel } from "../NotificationJobs/NotificationJobs.Interface";
|
||||
|
||||
export interface IClientCompanyNotificationOverride {
|
||||
id?: string;
|
||||
clientId: string;
|
||||
companyId: string;
|
||||
preferredChannels: NotificationChannel[];
|
||||
mutedChannels: NotificationChannel[];
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
||||
|
||||
export interface FindClientCompanyOverrideParams {
|
||||
clientId?: string;
|
||||
companyId?: string;
|
||||
}
|
||||
|
||||
export interface IClientCompanyNotificationOverrideAdapter {
|
||||
findOne(
|
||||
filters: FindClientCompanyOverrideParams
|
||||
): Promise<IClientCompanyNotificationOverride | null>;
|
||||
upsert(
|
||||
clientId: string,
|
||||
companyId: string,
|
||||
data: Partial<
|
||||
Omit<
|
||||
IClientCompanyNotificationOverride,
|
||||
"id" | "clientId" | "companyId" | "createdAt" | "updatedAt"
|
||||
>
|
||||
>
|
||||
): Promise<IClientCompanyNotificationOverride>;
|
||||
}
|
||||
Reference in New Issue
Block a user