@experts_hub/shared
Version:
Shared DTOs, interfaces, and utilities for experts hub applications
100 lines (99 loc) • 2.93 kB
TypeScript
import { BaseEntity } from "./base.entity";
import { User } from "./user.entity";
import { Country } from "./country.entity";
import { State } from "./state.entity";
import { City } from "./city.entity";
export declare enum NatureOfWork {
FULLTIME = "FULLTIME",
PARTTIME = "PARTTIME",
BOTH = "BOTH",
HOURLY = "HOURLY",
FREELANCE = "FREELANCE",
FTE = "FTE"
}
export declare enum ModeOfWork {
ONSITE = "ONSITE",
REMOTE = "REMOTE",
HYBRID = "HYBRID",
BOTH = "BOTH"
}
export declare enum OnboardingStepEnum {
SIGN_UP = "SIGN_UP",
UPLOAD_RESUME = "UPLOAD_RESUME",
PARSE_RESUME = "PARSE_RESUME",
MCQ_ASSESSMENT_INITIATED = "MCQ_ASSESSMENT_INITIATED",
MCQ_ASSESSMENT_COMPLETED = "MCQ_ASSESSMENT_COMPLETED",
AI_ASSESSMENT_INITIATED = "AI_ASSESSMENT_INITIATED",
AI_ASSESSMENT_COMPLETED = "AI_ASSESSMENT_COMPLETED",
CODING_CHALLENGE = "CODING_CHALLENGE",
PROFILE_COMPLETION = "PROFILE_COMPLETION"
}
export declare enum McqStatusEnum {
NOT_ATTEMPTED = "NOT_ATTEMPTED",
PASSED = "PASSED",
FAILED = "FAILED"
}
export declare enum AiAssessmentStatusEnum {
NOT_ATTEMPTED = "NOT_ATTEMPTED",
COMPELETED = "COMPELETED",
PASSED = "PASSED",
FAILED = "FAILED",
SKIPPED = "SKIPPED",
EXITED = "EXITED"
}
export declare class FreelancerProfile extends BaseEntity {
userId: number;
user: User;
countryId: number;
country: Country;
stateId: number;
state: State;
cityId: number;
city: City;
talentId: string;
resumeUrl: string;
resumeUploadedOn: Date;
resumeParsedOn: Date;
resumeEligibility: string;
resumeScore: string;
mcqStatus: McqStatusEnum;
mcqScore: number;
mcqInitiatedOn: Date;
mcqCompletedOn: Date;
isEligibleForAiAssessment: boolean;
aiAssessmentStatus: AiAssessmentStatusEnum;
isDeveloper: boolean;
natureOfWork: NatureOfWork;
numberOfHours: number;
currency: string;
expectedHourlyCompensation: number;
expectedAnnualCompensation: number;
modeOfWork: ModeOfWork;
availabilityToJoin: string;
isImmediateJoiner: boolean;
linkedinProfileLink: string;
kaggleProfileLink: string;
githubProfileLink: string;
stackOverflowProfileLink: string;
portfolioLink: string;
onboardingStepCompleted: OnboardingStepEnum;
designation: string;
experience: string;
migratedExperience: string;
address: string;
addressLine: string;
postalCode: string;
about: string;
profileCompletedPercentage: Record<string, number>;
profileQuestionCompletedOn: Date;
profileCompletedOn: Date;
originalDocumentUrl: string;
isServiceAgreementSigned: boolean;
serviceAgreementUrl: string;
serviceAggrementSignedOn: Date;
isExpertshubVerified: boolean;
isFollowedOnLinkedIn: boolean;
signaturePositions: any;
rating: number;
signatureUrl: string;
}