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