dt-common-device
Version:
A secure and robust device management library for IoT applications
24 lines (23 loc) • 1.34 kB
TypeScript
import mongoose, { Model } from "mongoose";
import { AlertCategory, AlertDocument as IAlertDocument, CreateAlertData, UpdateAlertData } from "./alert.types";
interface IAlertMethods {
markAsRead(updatedBy: string): void;
markAsUnread(updatedBy: string): void;
activate(updatedBy: string): void;
deactivate(updatedBy: string): void;
snooze(until: Date, updatedBy: string): void;
unsnooze(updatedBy: string): void;
}
interface IAlertModel extends Model<IAlertDocument, {}, IAlertMethods> {
findByCategory(category: AlertCategory, includeDeleted?: boolean): Promise<IAlertDocument[]>;
findSnoozed(includeDeleted?: boolean): Promise<IAlertDocument[]>;
findExpiredSnooze(includeDeleted?: boolean): Promise<IAlertDocument[]>;
}
declare const AlertSchema: mongoose.Schema<IAlertDocument, IAlertModel, IAlertMethods, {}, {}, {}, mongoose.DefaultSchemaOptions, IAlertDocument, mongoose.Document<unknown, {}, mongoose.FlatRecord<IAlertDocument>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & Omit<mongoose.FlatRecord<IAlertDocument> & Required<{
_id: string;
}> & {
__v: number;
}, keyof IAlertMethods> & IAlertMethods>;
export declare const AlertModel: IAlertModel;
export { AlertSchema };
export type { IAlertDocument, CreateAlertData, UpdateAlertData, IAlertMethods, IAlertModel, };