@experts_hub/shared
Version:
Shared DTOs, interfaces, and utilities for experts hub applications
62 lines (61 loc) • 1.64 kB
TypeScript
import { BaseEntity } from "./base.entity";
import { Job } from "./job.entity";
import { User } from "./user.entity";
import { EscrowWallet } from "./escrow-wallet.entity";
import { ContractSummary } from "./contract-summary.entity";
export declare enum ContractStatusEnum {
GENERATED = "GENERATED",
DRAFTED = "DRAFTED",
SENT = "SENT",
SIGNED = "SIGNED",
ACTIVE = "ACTIVE",
CANCELLED = "CANCELLED",
DISPUTED = "DISPUTED",
REJECTED = "REJECTED",
RENEWED = "RENEWED",
EXPIRED = "EXPIRED",
CLOSED = "CLOSED"
}
export declare enum ContractTypeEnum {
NDA = "NDA",
WORK = "WORK",
SOW = "SOW",
MSA = "MSA",
CL_SOW = "CL_SOW",
FL_SOW = "FL_SOW"
}
export declare class Contract extends BaseEntity {
contractUniqueId: string;
contractSummaryId: number;
contractSummary: ContractSummary;
jobId: number;
job: Job;
clientId: number;
client: User;
freelancerId: number;
freelancer: User;
duration: number;
status: ContractStatusEnum;
type: ContractTypeEnum;
invoicingCycle: string;
escrowDepositeAmount: number;
startDate: Date;
endDate: Date;
actualStartDate: Date;
actualEndDate: Date;
originalDocumentUrl: string;
contractDocumentUrl: string;
clientSignedAt: Date;
freelancerViewed: boolean;
freelancerViewedAt: Date;
freelancerSignedAt: Date;
rejectedAt: Date;
rejectReason: string;
resendCount: number;
isWorkContractSent: boolean;
isEscrowDeposited: boolean;
signaturePositions: any;
signatureUrl: string;
metaData: any;
escrowWallet: EscrowWallet;
}