@experts_hub/shared
Version:
Shared DTOs, interfaces, and utilities for experts hub applications
138 lines (137 loc) • 4.23 kB
TypeScript
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[];
}