import { PrismaService, User } from "@cv/core"; import { Injectable } from "@nestjs/common"; import { OnboardingStep } from "@/modules/onboarding/onboarding-step.decorator"; import { type OnboardingStepDefinition, OnboardingStepStatus, } from "@/modules/onboarding/onboarding-step.interface"; @Injectable() @OnboardingStep() export class AiPreferenceOnboardingStep implements OnboardingStepDefinition { readonly name = "ai-preference"; readonly order = 0; readonly dependsOn: string[] = []; constructor(private readonly prisma: PrismaService) {} async computeStatus({ id }: User): Promise { const settings = await this.prisma.userAiSettings.findUnique({ where: { userId: id }, }); return settings ? OnboardingStepStatus.COMPLETE : OnboardingStepStatus.NOT_STARTED; } }