because I got bored of customising my CV for every job
at main 33 lines 1.0 kB view raw
1import type { User } from "@cv/auth"; 2import { PrismaService } from "@cv/system"; 3import { Injectable } from "@nestjs/common"; 4import { OnboardingStep } from "@/modules/onboarding/onboarding-step.decorator"; 5import { 6 type OnboardingStepDefinition, 7 OnboardingStepStatus, 8} from "@/modules/onboarding/onboarding-step.interface"; 9 10@Injectable() 11@OnboardingStep() 12export class ImportOnboardingStep implements OnboardingStepDefinition { 13 readonly name = "import"; 14 readonly order = 1; 15 readonly dependsOn = ["ai-preference"]; 16 17 constructor(private readonly prisma: PrismaService) {} 18 19 async computeStatus(user: User): Promise<OnboardingStepStatus> { 20 const [jobCount, eduCount] = await Promise.all([ 21 this.prisma.userJobExperience.count({ 22 where: { profile: { userId: user.id } }, 23 }), 24 this.prisma.education.count({ 25 where: { profile: { userId: user.id } }, 26 }), 27 ]); 28 29 return jobCount > 0 || eduCount > 0 30 ? OnboardingStepStatus.COMPLETE 31 : OnboardingStepStatus.NOT_STARTED; 32 } 33}