UNPKG

@experts_hub/shared

Version:

Shared DTOs, interfaces, and utilities for experts hub applications

181 lines (180 loc) 7.49 kB
import { BaseEntity } from "./base.entity"; import { RefreshToken } from "./refresh-token.entity"; import { SenseloafLog } from "./senseloaf-log.entity"; import { Otp } from "./otp.entity"; import { FreelancerProfile } from "./freelancer-profile.entity"; import { CompanyProfile } from "./company-profile.entity"; import { Job } from "./job.entity"; import { Interview } from "./interview.entity"; import { BankDetail } from "./bank-details.entity"; import { SystemPreference } from "./system-preference.entity"; import { Rating } from "./rating.entity"; import { JobApplication } from "./job-application.entity"; import { FreelancerExperience } from "./freelancer-experience.entity"; import { FreelancerEducation } from "./freelancer-education.entity"; import { FreelancerProject } from "./freelancer-project.entity"; import { FreelancerCaseStudy } from "./freelancer-casestudy.entity"; import { FreelancerSkill } from "./freelancer-skill.entity"; import { FreelancerTool } from "./freelancer-tool.entity"; import { FreelancerFramework } from "./freelancer-framework.entity"; import { FreelancerAssessment } from "./freelancer-assessment.entity"; import { FreelancerDeclaration } from "./freelancer-declaration.entity"; import { CompanyMemberRole } from "./company-members-roles.entity"; import { CompanyMember } from "./company-member.entity"; import { AssessmentAnswer } from "./assessment-answer.entity"; import { CompanySkill } from "./company-skill.entity"; import { AdminUserRole } from "./admin-user-role.entity"; import { FreelancerResume } from "./freelancer-resume.entity"; import { AiInterview } from "./ai-interview.entity"; import { F2FInterview } from "./f2f-interview.entity"; import { F2fInterviewRescheduleRequest } from "./f2f-interview-reschedule-request.entity"; import { Contract } from "./contract.entity"; import { Timesheet } from "./timesheets.entity"; import { TimesheetLine } from "./timesheet-line.entity"; import { Signature } from "./signature.entity"; import { ClientCandidatePreference } from "./client-candidate-preference.entity"; import { Invoice } from "./invoice.entity"; import { Dispute } from "./dispute.entity"; import { StripeTransaction } from "./stripe-transaction.entity"; import { Wallet } from "./wallet.entity"; import { EscrowWallet } from "./escrow-wallet.entity"; import { AssessmetQuestion } from "./assessment-question.entity"; import { Hiring } from "./hiring.entity"; import { FreelancerAssessmentRequest } from "./freelancer-assessment-request.entity"; import { AiInterviewRescheduleRequest } from "./ai-interview-reschedule-request.entity"; import { ContractSummary } from "./contract-summary.entity"; import { InAppNotification } from "./in-app-notification.entity"; import { Task } from "./task.entity"; import { TaskQuery } from "./task-query.entity"; import { TaskQueryMessage } from "./task-query-message.entity"; import { UserSubscription } from "./user-subscription.entity"; import { EkycVerificationSession } from "./ekyc-verification-session.entity"; import { EkycVerificationLog } from "./ekyc-verification-log.entity"; import { WalletTransaction } from "./wallet-transaction.entity"; export declare enum AccountType { SUPER_ADMIN = "SUPER_ADMIN", ADMIN = "ADMIN", SUB_ADMIN = "SUB_ADMIN", CLIENT = "CLIENT", FREELANCER = "FREELANCER", CLIENT_EMPLOYEE = "CLIENT_EMPLOYEE" } export declare enum AccountStatus { INACTIVE = "INACTIVE", ACTIVE = "ACTIVE", SUSPENDED = "SUSPENDED", BLOCKED = "BLOCKED" } export declare enum Provider { LINKEDIN = "LINKEDIN", GOOGLE = "GOOGLE", GITLABS = "GITLABS" } export declare class User extends BaseEntity { uniqueId: string; parentId: number; parent: User; children: User[]; username: string; firstName: string; lastName: string; dateOfBirth: Date; gender: string; profilePictureUrl: string; presignedProfilePictureUrl: string; presignedProfilePictureUrlExpiresAt: Date; email: string; mobileCode: string; mobile: string; password: string; accountType: AccountType; accountStatus: AccountStatus; isEmailVerified: boolean; isMobileVerified: boolean; isSocial: boolean; isReferralUser: boolean; isEkycVerified: boolean; ekycVerifiedAt: Date | null; lastLoginAt: Date; lastLoginIp: string; resetToken: string | null; resetTokenExpireAt: Date | null; setPasswordToken: string | null; refreshTokens: RefreshToken[]; provider: Provider; providerToken: string; linkedInId: string; googleId: string; gitLabsId: string; onBoardedBy: string; ip: string; otps: Otp[]; senseloafLogs: SenseloafLog[]; companyProfile: CompanyProfile; companySkills: CompanySkill[]; companyMemberRoles: CompanyMemberRole[]; companyMember: CompanyMember; companyAiInterview: AiInterview[]; clientF2FInterviews: F2FInterview[]; freelancerProfile: FreelancerProfile; freelancerResume: FreelancerResume; freelancerAssessmentRequests: FreelancerAssessmentRequest[]; assessmentRequests: FreelancerAssessmentRequest[]; assessments: FreelancerAssessment[]; assessmentAnswers: AssessmentAnswer[]; freelancerSkills: FreelancerSkill[]; freelancerExperience: FreelancerExperience[]; freelancerEducation: FreelancerEducation[]; freelancerProject: FreelancerProject[]; freelancerCaseStudy: FreelancerCaseStudy[]; freelancerTool: FreelancerTool[]; freelancerFramework: FreelancerFramework[]; freelancerDeclaration: FreelancerDeclaration; freelancerMcq: AssessmetQuestion[]; freelancerAiInterview: AiInterview[]; freelancerF2FInterviews: F2FInterview[]; freelancerF2FInterviewRescheduleRequests: F2fInterviewRescheduleRequest[]; freelancerAiInterviewRescheduleRequests: AiInterviewRescheduleRequest[]; clientAiInterviewRescheduleRequests: AiInterviewRescheduleRequest[]; jobs: Job[]; clientTasks: Task[]; freelancerTasks: Task[]; raisedTaskQueries: TaskQuery[]; assignedTaskQueries: TaskQuery[]; taskQueryMessages: TaskQueryMessage[]; jobApplications: JobApplication[]; interviews: Interview[]; bankDetail: BankDetail[]; systemPreference: SystemPreference[]; givenRatings: Rating[]; receivedRatings: Rating[]; adminUserRoles: AdminUserRole[]; clientContractSummaries: ContractSummary[]; clientContracts: Contract[]; clientHirings: Hiring[]; clientEscrowWallets: EscrowWallet[]; freelancerContractSummaries: ContractSummary[]; freelancerContracts: Contract[]; freelancerHirings: Hiring[]; freelancerEscrowWallets: EscrowWallet[]; signatures: Signature; clientTimesheets: Timesheet[]; freelancerTimesheets: Timesheet[]; clientTimesheetLine: TimesheetLine[]; clientInvoice: Invoice[]; freelancerTimesheetLine: TimesheetLine[]; freelancerInvoice: Invoice[]; clientPreferencesGiven: ClientCandidatePreference[]; clientPreferencesReceived: ClientCandidatePreference[]; initiatedDisputes: Dispute[]; respondentDisputes: Dispute[]; wallet: Wallet; stripeTransactions: StripeTransaction[]; clientDisputes: Dispute[]; freelancerDisputes: Dispute[]; inAppNotifications: InAppNotification[]; userSubscriptions: UserSubscription[]; ekycVerificationSessions: EkycVerificationSession[]; ekycVerificationLogs: EkycVerificationLog[]; sentTransactions: WalletTransaction[]; }