UNPKG

dt-common-device

Version:

A secure and robust device management library for IoT applications

25 lines (24 loc) 1.47 kB
import mongoose, { Model } from "mongoose"; import { IssueDocument as IIssueDocument, CreateIssueData, UpdateIssueData, AddCommentData } from "./issue.types"; interface IIssueMethods { addComment(commentData: AddCommentData): void; updateComment(commentId: string, content: string, userId: string): boolean; removeComment(commentId: string): boolean; resolve(resolvedBy: string): void; reopen(updatedBy: string): void; assign(userId: string, assignedBy: string): void; unassign(unassignedBy: string): void; } interface IIssueModel extends Model<IIssueDocument, {}, IIssueMethods> { findByAssignee(assignedTo: string, includeDeleted?: boolean): Promise<IIssueDocument[]>; findOverdue(includeDeleted?: boolean): Promise<IIssueDocument[]>; findUpcoming(days?: number, includeDeleted?: boolean): Promise<IIssueDocument[]>; } declare const IssueSchema: mongoose.Schema<IIssueDocument, IIssueModel, IIssueMethods, {}, {}, {}, mongoose.DefaultSchemaOptions, IIssueDocument, mongoose.Document<unknown, {}, mongoose.FlatRecord<IIssueDocument>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & Omit<mongoose.FlatRecord<IIssueDocument> & { _id: mongoose.Types.ObjectId; } & { __v: number; }, keyof IIssueMethods> & IIssueMethods>; export declare const IssueModel: IIssueModel; export { IssueSchema }; export type { IIssueDocument, CreateIssueData, UpdateIssueData, AddCommentData, IIssueMethods, IIssueModel, };