cloud-ide-lms-model
Version:
Package for Model management of Cloud IDEsys LMS
106 lines (105 loc) • 3.7 kB
TypeScript
import { MTableQueries } from "../../common-types/common";
import { controllerResponse } from "../../utilities";
type INotificationErrorLogger = {
[key in keyof NotificationListPayload]: string;
};
type INotificationGetByIdErrorLogger = {
[key in keyof NotificationGetByIdPayload]: string;
};
type INotificationCreateErrorLogger = {
[key in keyof NotificationCreatePayload]: string;
};
type INotificationMarkReadErrorLogger = {
[key in keyof NotificationMarkReadPayload]: string;
};
declare class NotificationListPayload extends MTableQueries {
not_id_user?: string;
not_status?: string;
not_type?: string;
not_category?: string;
not_priority?: string;
constructor(init: NotificationListPayload);
Validate?(): Partial<INotificationErrorLogger>;
}
declare class NotificationGetByIdPayload {
not_id?: string;
constructor(init: NotificationGetByIdPayload);
Validate?(): Partial<INotificationGetByIdErrorLogger>;
}
declare class NotificationCreatePayload {
not_id_user?: string;
not_type?: 'info' | 'success' | 'warning' | 'error' | 'system';
not_category?: string;
not_title?: string;
not_message?: string;
not_data?: any;
not_action_url?: string;
not_action_label?: string;
not_priority?: 'low' | 'normal' | 'high' | 'urgent';
not_channels?: {
in_app?: boolean;
email?: boolean;
sms?: boolean;
};
not_expires_at?: Date;
not_id_created_by?: string;
constructor(init: NotificationCreatePayload);
Validate?(): Partial<INotificationCreateErrorLogger>;
}
declare class NotificationMarkReadPayload {
not_id?: string;
constructor(init: NotificationMarkReadPayload);
Validate?(): Partial<INotificationMarkReadErrorLogger>;
}
declare class NotificationResponse {
_id?: string;
not_id_user?: string | {
_id?: string;
name?: string;
email?: string;
};
not_type?: 'info' | 'success' | 'warning' | 'error' | 'system';
not_category?: string;
not_title?: string;
not_message?: string;
not_data?: any;
not_action_url?: string;
not_action_label?: string;
not_status?: 'pending' | 'sent' | 'delivered' | 'read' | 'archived';
not_read_at?: Date;
not_delivered_at?: Date;
not_archived_at?: Date;
not_channels?: {
in_app?: boolean;
email?: boolean;
sms?: boolean;
};
not_priority?: 'low' | 'normal' | 'high' | 'urgent';
not_expires_at?: Date;
not_id_created_by?: string | {
_id?: string;
name?: string;
email?: string;
};
not_created_at?: Date;
not_updated_at?: Date;
}
interface notificationControllerResponse extends controllerResponse {
data?: NotificationResponse[];
total?: number;
}
interface notificationByIdControllerResponse extends controllerResponse {
data?: NotificationResponse;
}
interface notificationCreateControllerResponse extends controllerResponse {
data?: NotificationResponse;
}
interface notificationMarkReadControllerResponse extends controllerResponse {
data?: NotificationResponse;
}
interface notificationUnreadCountControllerResponse extends controllerResponse {
data?: {
count: number;
};
}
export { INotificationErrorLogger, INotificationGetByIdErrorLogger, INotificationCreateErrorLogger, INotificationMarkReadErrorLogger, NotificationListPayload, NotificationGetByIdPayload, NotificationCreatePayload, NotificationMarkReadPayload, notificationControllerResponse, notificationByIdControllerResponse, notificationCreateControllerResponse, notificationMarkReadControllerResponse, notificationUnreadCountControllerResponse, NotificationResponse };