import { CityGroupWorkerStatus, WorkerStatus } from '../enums'; import { Points } from './nested/Points'; import { Documents } from './nested/Documents'; import { IdentityDocument } from './nested/IdentityDocument'; import { BankAccount } from './BankAccount'; import { BaseModel } from './BaseModel'; import { User } from './User'; import { WorkerBlockList } from './WorkerBlockList'; import { WorkerGender } from '../enums/WorkerGender'; import { SignupStage } from '../enums/SignupStage'; import { Comunications } from './nested/Comunications'; import { WorkerBlock } from './nested/WorkerBlock'; import { PaymentProviders } from '../enums/PaymentProviders'; import { Gateway } from './nested/Gateway'; import { Pix } from './nested/Pix'; export interface Worker extends BaseModel { addressId: string; availableRatingContests: number; averageRating: number; badges: string; bankAccount: BankAccount; birthDate: string | Date; blockList: WorkerBlockList[]; city: string; cityGroupId: string; cityGroupWorkerStatus: CityGroupWorkerStatus; cpf: string; documents: Documents; email: string; favoriteGeo: Points; health: number; integratedWithOpa: boolean; isOfLegalAge: boolean; junoAuthToken: string; junoDacId: string; name: string; nickname: string; penaltiesScore: number; phoneId: string; precision: number; pushId: string; reservationLimit: number; rg: IdentityDocument; state: string; status: WorkerStatus; successRating: number; user: User; userId: string; isGigWorker: boolean; gender: WorkerGender; signupStage: SignupStage; comunication: Comunications; blocks: WorkerBlock[]; hasPassport: boolean; trialStartDateTime: string | Date; trialEndDateTime: string | Date; isTrial: boolean; hashCpf: string; utmMedium: string; utmSource: string; utmCampaign: string; paymentProvider: PaymentProviders; gateway: Gateway; hasNoShowedOnLastMission: boolean; pix: Pix; maxActivityViewRadiusInKm: number; allowedDaysToReserveInAdvance: number; isAdvancedPaymentActive?: boolean; }