@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
100 lines • 3.97 kB
TypeScript
/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose/types/inferschematype" />
import type { ObjectId } from "mongoose";
import { Schema } from "mongoose";
import type { HiddenBodyKeys } from "../interfaces";
import type { AppStatus, BackupStatus, BuildStatus, DeployStatus, SystemEvent, WebhookChannel } from "../interfaces/SystemTypes";
import type { IBase } from "./Base";
import type { IUser } from "./User";
import type { IDataReferences, IWebhook } from "./Webhook";
export /**
* An interface that extends IBase and describes the properties of an notification.
*
* @interface INotification
* @extends {IBase}
*/ interface INotification extends IBase {
/**
* The name of the notification.
*
* @type {string}
* @memberof INotification
*/
name?: string;
/**
* A message associated with the notification.
*
* @type {string}
* @memberof INotification
*/
message?: string;
/**
* A user ID who sent the notification.
*
* @type {string}
* @memberof INotification
*/
from?: string | ObjectId | IUser;
/**
* A webhook associated with the notification.
*
* @type {string}
* @memberof INotification
*/
webhook?: string | ObjectId | IWebhook;
/**
* The system event that triggered the notification
*/
events?: SystemEvent[];
/**
* The status of the event (e.g., start, in_progress, failed, success, cancelled, deploying, sleep, awake, down, up)
*/
status?: BuildStatus & DeployStatus & BackupStatus & AppStatus;
/**
* A list of {IWebhook} channels.
*/
channels?: WebhookChannel[];
/**
* Callback URL of a notification
*/
url?: string;
/**
* The date the user read or mark a notitication as read
*/
readAt?: Date;
/**
* Referenced data of a notification
*/
references?: IDataReferences;
}
export type NotificationDto = Omit<INotification, keyof HiddenBodyKeys>;
export declare const notificationSchema: Schema<INotification, import("mongoose").Model<INotification, any, any, any, import("mongoose").Document<unknown, any, INotification> & INotification & Required<{
_id: string | import("mongoose").Types.ObjectId;
}>, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, INotification, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<INotification>> & import("mongoose").FlatRecord<INotification> & Required<{
_id: string | import("mongoose").Types.ObjectId;
}>>;
export declare const NotificationModel: import("mongoose").Model<INotification, {}, {}, {}, import("mongoose").Document<unknown, {}, INotification> & INotification & Required<{
_id: string | import("mongoose").Types.ObjectId;
}>, any>;
//# sourceMappingURL=Notification.d.ts.map