@experts_hub/shared
Version:
Shared DTOs, interfaces, and utilities for experts hub applications
76 lines (75 loc) • 2.28 kB
TypeScript
import { BaseEntity } from "./base.entity";
import { User } from "./user.entity";
import { Country } from "./country.entity";
export declare enum NatureOfWork {
FULLTIME = "FULLTIME",
PARTTIME = "PARTTIME",
BOTH = "BOTH"
}
export declare enum ModeOfWork {
ONSITE = "ONSITE",
REMOTE = "REMOTE",
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;
talentId: string;
resumeUrl: string;
resumeUploadedOn: Date;
resumeEligibility: string;
resumeScore: string;
mcqStatus: McqStatusEnum;
mcqScore: number;
isEligibleForAiAssessment: boolean;
aiAssessmentStatus: AiAssessmentStatusEnum;
isDeveloper: boolean;
natureOfWork: NatureOfWork;
currency: string;
expectedHourlyCompensation: number;
modeOfWork: ModeOfWork;
availabilityToJoin: string;
isImmediateJoiner: boolean;
linkedinProfileLink: string;
kaggleProfileLink: string;
githubProfileLink: string;
stackOverflowProfileLink: string;
portfolioLink: string;
onboardingStepCompleted: OnboardingStepEnum;
designation: string;
experience: string;
address: string;
about: string;
profileCompletedPercentage: Record<string, number>;
isServiceAgreementSigned: boolean;
serviceAgreementUrl: string;
serviceAggrementSignedOn: Date;
isExpertshubVerified: boolean;
isFollowedOnLinkedIn: boolean;
}