UNPKG

@experts_hub/shared

Version:

Shared DTOs, interfaces, and utilities for experts hub applications

62 lines (61 loc) 1.64 kB
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; }