Files
HiveGrid-Wireframes/hivegrid-cloud/apps/web/app/modules/onboarding/services/OnboardingStepsService.ts
T

24 lines
904 B
TypeScript

import { TFunction } from "i18next";
import { OnboardingBlockDto } from "../blocks/OnboardingBlockUtils";
import { OnboardingWithDetails, updateOnboarding } from "../db/onboarding.db.server";
import { deleteOnboardingSessions } from "../db/onboardingSessions.db.server";
async function setSteps({ item, form, t }: { item: OnboardingWithDetails; form: FormData; t: TFunction }) {
const block: OnboardingBlockDto = JSON.parse(form.get("block")?.toString() ?? "{}");
if (!block) {
return Response.json({ error: t("shared.invalidForm") }, { status: 400 });
}
await updateOnboarding(item.id, {
type: block.style as "modal" | "page",
height: block.height,
canBeDismissed: block.canBeDismissed,
steps: block.steps.map((f, idx) => {
return { order: idx + 1, block: JSON.stringify(f) };
}),
});
await deleteOnboardingSessions(item.id);
}
export default {
setSteps,
};