Template recommendation implemented
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { z } from "zod";
|
||||
import {
|
||||
MATURITY_VALUE_IDS,
|
||||
ORG_TYPE_VALUE_IDS,
|
||||
SCALE_VALUE_IDS,
|
||||
SIZE_VALUE_IDS,
|
||||
} from "./methodFacetsSchemas";
|
||||
|
||||
const sizeValueIdSchema = z.enum(SIZE_VALUE_IDS);
|
||||
const orgTypeValueIdSchema = z.enum(ORG_TYPE_VALUE_IDS);
|
||||
const scaleValueIdSchema = z.enum(SCALE_VALUE_IDS);
|
||||
const maturityValueIdSchema = z.enum(MATURITY_VALUE_IDS);
|
||||
|
||||
/**
|
||||
* Per-template row for Template Composition-2 (spreadsheet cols G–Y). Each
|
||||
* array lists canonical facet `value` ids that are a fit (✓) for that
|
||||
* community dimension.
|
||||
*/
|
||||
export const templateFacetRowSchema = z
|
||||
.object({
|
||||
size: z.array(sizeValueIdSchema),
|
||||
orgType: z.array(orgTypeValueIdSchema),
|
||||
scale: z.array(scaleValueIdSchema),
|
||||
maturity: z.array(maturityValueIdSchema),
|
||||
})
|
||||
.strict();
|
||||
|
||||
export const templateFacetFileSchema = z.record(
|
||||
z.string().min(1),
|
||||
templateFacetRowSchema,
|
||||
);
|
||||
|
||||
export type TemplateFacetFile = z.infer<typeof templateFacetFileSchema>;
|
||||
Reference in New Issue
Block a user