@experts_hub/shared
Version:
Shared DTOs, interfaces, and utilities for experts hub applications
60 lines (59 loc) • 1.75 kB
TypeScript
import { BaseEntity } from "./base.entity";
import { User } from "./user.entity";
import { Interview } from "./interview.entity";
import { AiInterviewRescheduleRequest } from "./ai-interview-reschedule-request.entity";
export declare enum AiInterviewStatusEnum {
NOT_ATTEMPTED = "NOT_ATTEMPTED",
ATTEMPTED = "ATTEMPTED",
PENDING = "PENDING",
ACTIVE = "ACTIVE",
IN_PROGRESS = "IN_PROGRESS",
IN_COMPLETE = "IN_COMPLETE",
COMPELETED = "COMPELETED",
PASSED = "PASSED",
FAILED = "FAILED",
EXPIRED = "EXPIRED",
POSTPONED = "POSTPONED",
RESCHEDULED = "RESCHEDULED",
EXITED = "EXITED"
}
export declare enum ResultStatusEnum {
NOT_EVALUATED = "NOT_EVALUATED",
EVALUATING = "EVALUATING",
PASSED = "PASSED",
FAILED = "FAILED"
}
export declare enum RecordingStatusEnum {
PROCESSING = "PROCESSING",
COMPLETED = "COMPLETED",
FAILED = "FAILED"
}
export declare class AiInterview extends BaseEntity {
aiInterviewUniqueId: string;
candidateId: number;
candidate: User;
interviwerId: number;
interviwer: User;
interviewId: number;
interview: Interview;
inviteId: number;
candidateInterviewId: string;
candidateInterviewLink: string;
hasAttempted: boolean;
attemptedAt: Date;
completedAt: Date;
exitedAt: Date;
expiredAt: Date;
status: AiInterviewStatusEnum;
resultStatus: ResultStatusEnum;
recordingStatus: RecordingStatusEnum;
isRescheduled: boolean;
rescheduledAt: Date;
recordingLink: string;
iframeResponse: string;
interviewInsight: string;
isF2fInterviewScheduled: boolean;
isContractSent: boolean;
attempts: number;
rescheduleRequests: AiInterviewRescheduleRequest[];
}