UNPKG

@experts_hub/shared

Version:

Shared DTOs, interfaces, and utilities for experts hub applications

138 lines (137 loc) 4.23 kB
import { BaseEntity } from "./base.entity"; import { User } from "./user.entity"; import { JobSkill } from "./job-skill.entity"; import { JobApplication } from "./job-application.entity"; import { Interview } from "./interview.entity"; import { Country } from "./country.entity"; import { State } from "./state.entity"; import { City } from "./city.entity"; import { JobRecommendation } from "./job-recommendation.entity"; import { Contract } from "./contract.entity"; import { Timesheet } from "./timesheets.entity"; import { TimesheetLine } from "./timesheet-line.entity"; import { ClientCandidatePreference } from "./client-candidate-preference.entity"; import { Invoice } from "./invoice.entity"; import { F2FInterview } from "./f2f-interview.entity"; import { InterviewInvite } from "./interview-invite.entity"; import { EscrowWallet } from "./escrow-wallet.entity"; import { JobLocation } from "./job-location.entity"; import { Hiring } from "./hiring.entity"; import { Rating } from "./rating.entity"; import { ContractSummary } from "./contract-summary.entity"; import { Task } from "./task.entity"; export declare enum JobLocationEnum { ONSITE = "ONSITE", REMOTE = "REMOTE", HYBRID = "HYBRID", BOTH = "BOTH" } export declare enum typeOfExperienceEnum { SINGLE = "SINGLE", RANGE = "RANGE" } export declare enum BillingCycleEnum { WEEKLY = "WEEKLY", DELIVERABLE = "DELIVERABLE" } export declare enum TypeOfEmploymentEnum { FULLTIME = "FULLTIME", PARTTIME = "PARTTIME", BOTH = "BOTH", HOURLY = "HOURLY", FREELANCE = "FREELANCE", FTE = "FTE" } export declare enum Step { BASIC_INFORMATION = "BASIC_INFORMATION", ADDITIONAL_COMMENTS = "ADDITIONAL_COMMENTS", JOB_DESCRIPTION = "JOB_DESCRIPTION" } export declare enum JobStatusEnum { ACTIVE = "ACTIVE", OPEN = "OPEN", DRAFT = "DRAFT", ONHOLD = "ONHOLD", CLOSED = "CLOSED", COMPLETED = "COMPLETED" } export declare enum DurationTypeEnum { DAY = "DAY", WEEK = "WEEK", MONTH = "MONTH", YEAR = "YEAR" } export declare class Job extends BaseEntity { jobId: string; userId: number; user: User; countryId: number; country: Country; stateId: number; state: State; cityId: number; city: City; jobRole: string; jobRoleCanonicalName: string; projectName: string; note: string; openings: number; utilisedOpenings: number; location: JobLocationEnum; typeOfEmployment: TypeOfEmploymentEnum; billingCycle: BillingCycleEnum; academicQualification: string; typeOfExperience: typeOfExperienceEnum; yearsOfExperience: string; yearsOfExperienceFrom: string; yearsOfExperienceTo: string; businessIndustry: string; currency: string; expectedSalaryFrom: number; hideExpectedSalaryFrom: boolean; expectedSalaryTo: number; hideExpectedSalaryTo: boolean; expectedAnnualBudgetFrom: number; hideExpectedAnnualBudgetFrom: boolean; expectedAnnualBudgetTo: number; hideExpectedAnnualBudgetTo: boolean; years: string; months: string; weeks: string; days: string; tentativeStartDate: Date; tentativeEndDate: Date; durationType: DurationTypeEnum; duration: string; numberOfHours: number; description: string; additionalComment: string; onboardingTat: string; candidateCommunicationSkills: string; dealBreakers: any; stepCompleted: Step; status: JobStatusEnum; viewedCount: number; applicationCount: number; isContractSigned: boolean; isJobCreatedAsIs: boolean; isInterviewCreated: boolean; isJobCreatedViaAI: boolean; interviewInvites: InterviewInvite[]; jobSkills: JobSkill[]; jobApplications: JobApplication[]; interviews: Interview[]; f2fInterviews: F2FInterview[]; recommendations: JobRecommendation[]; contractSummaries: ContractSummary[]; contracts: Contract[]; hirings: Hiring[]; escrowWallets: EscrowWallet[]; timesheets: Timesheet[]; timesheetLine: TimesheetLine[]; invoice: Invoice[]; clientCandidatePreferences: ClientCandidatePreference[]; jobLocations: JobLocation[]; ratings: Rating[]; tasks: Task[]; }