{"version":3,"file":"schema.mjs","names":["constants"],"sources":["../../../../../src/libs/collection/builders/collection-builder/schema.ts"],"sourcesContent":["import z from \"zod\";\nimport constants from \"../../../../constants/constants.js\";\nimport { adminCopyInputSchema } from \"../../../i18n/index.js\";\n\nconst environmentKeySchema = z\n\t.string()\n\t.min(1)\n\t.max(50)\n\t.regex(/^[a-z0-9-_]+$/, {\n\t\tmessage:\n\t\t\t\"Environment key must contain only lowercase letters, numbers, hyphens and underscores\",\n\t});\n\nconst groupKeySchema = z\n\t.string()\n\t.min(1)\n\t.max(50)\n\t.regex(/^[a-z0-9-_]+$/, {\n\t\tmessage:\n\t\t\t\"Collection group key must contain only lowercase letters, numbers, hyphens and underscores\",\n\t});\n\nconst previewBreakpointKeySchema = z\n\t.string()\n\t.min(1)\n\t.max(50)\n\t.regex(/^[a-z0-9-_]+$/, {\n\t\tmessage:\n\t\t\t\"Preview breakpoint key must contain only lowercase letters, numbers, hyphens and underscores\",\n\t});\n\nconst versionMapCollectionKeySchema = z\n\t.string()\n\t.min(1)\n\t.max(constants.db.maxBuilderKeyLength)\n\t.regex(/^[a-z0-9-_]+$/, {\n\t\tmessage:\n\t\t\t\"Collection key must contain only lowercase letters, numbers, hyphens and underscores\",\n\t})\n\t.refine((val) => !val.includes(constants.db.nameSeparator), {\n\t\tmessage: `Collection key cannot contain '${constants.db.nameSeparator}'`,\n\t});\n\nconst CollectionConfigSchema = z\n\t.object({\n\t\tkey: z\n\t\t\t.string()\n\t\t\t.min(1)\n\t\t\t.max(constants.db.maxBuilderKeyLength)\n\t\t\t.regex(/^[a-z0-9-_]+$/, {\n\t\t\t\tmessage:\n\t\t\t\t\t\"Collection key must contain only lowercase letters, numbers, hyphens and underscores\",\n\t\t\t})\n\t\t\t.refine((val) => !val.includes(constants.db.nameSeparator), {\n\t\t\t\tmessage: `Collection key cannot contain '${constants.db.nameSeparator}'`,\n\t\t\t}),\n\t\tmode: z.enum([\"single\", \"multiple\"]),\n\t\tgroup: z\n\t\t\t.union([\n\t\t\t\tgroupKeySchema,\n\t\t\t\tz.object({\n\t\t\t\t\tkey: groupKeySchema,\n\t\t\t\t\tname: adminCopyInputSchema.optional(),\n\t\t\t\t\torder: z.number().optional(),\n\t\t\t\t}),\n\t\t\t])\n\t\t\t.optional(),\n\t\ttenants: z.array(z.string().min(1)).optional(),\n\t\tdetails: z.object({\n\t\t\tname: adminCopyInputSchema,\n\t\t\tsingularName: adminCopyInputSchema,\n\t\t\tsummary: adminCopyInputSchema.optional(),\n\t\t}),\n\t\tlocked: z.boolean().default(constants.collectionBuilder.locked).optional(),\n\t\tlocalized: z\n\t\t\t.boolean()\n\t\t\t.default(constants.collectionBuilder.localized)\n\t\t\t.optional(),\n\t\trevisions: z\n\t\t\t.boolean()\n\t\t\t.default(constants.collectionBuilder.revisions)\n\t\t\t.optional(),\n\t\tautoSave: z\n\t\t\t.boolean()\n\t\t\t.default(constants.collectionBuilder.autoSave)\n\t\t\t.optional(),\n\t\tscheduling: z\n\t\t\t.boolean()\n\t\t\t.default(constants.collectionBuilder.scheduling)\n\t\t\t.optional(),\n\t\torderable: z\n\t\t\t.boolean()\n\t\t\t.default(constants.collectionBuilder.orderable)\n\t\t\t.optional(),\n\t\treview: z\n\t\t\t.object({\n\t\t\t\trequiredFor: z\n\t\t\t\t\t.array(\n\t\t\t\t\t\tz\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.min(1)\n\t\t\t\t\t\t\t.max(50)\n\t\t\t\t\t\t\t.regex(/^[a-z0-9-_]+$/),\n\t\t\t\t\t)\n\t\t\t\t\t.optional(),\n\t\t\t\tallowSelfApproval: z\n\t\t\t\t\t.boolean()\n\t\t\t\t\t.default(constants.collectionBuilder.publishing.allowSelfApproval)\n\t\t\t\t\t.optional(),\n\t\t\t\tcomments: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\trequest: z\n\t\t\t\t\t\t\t.enum([\"required\", \"optional\"])\n\t\t\t\t\t\t\t.default(constants.collectionBuilder.publishing.comments.request)\n\t\t\t\t\t\t\t.optional(),\n\t\t\t\t\t\tdecision: z\n\t\t\t\t\t\t\t.enum([\"required\", \"optional\"])\n\t\t\t\t\t\t\t.default(constants.collectionBuilder.publishing.comments.decision)\n\t\t\t\t\t\t\t.optional(),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t})\n\t\t\t.optional(),\n\t\tworkflow: z\n\t\t\t.object({\n\t\t\t\tinitial: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.min(1)\n\t\t\t\t\t.max(50)\n\t\t\t\t\t.regex(/^[a-z0-9-_]+$/)\n\t\t\t\t\t.optional(),\n\t\t\t\tstages: z\n\t\t\t\t\t.array(\n\t\t\t\t\t\tz.object({\n\t\t\t\t\t\t\tkey: z\n\t\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t\t.min(1)\n\t\t\t\t\t\t\t\t.max(50)\n\t\t\t\t\t\t\t\t.regex(/^[a-z0-9-_]+$/),\n\t\t\t\t\t\t\tname: adminCopyInputSchema,\n\t\t\t\t\t\t\tcolor: z\n\t\t\t\t\t\t\t\t.enum(\n\t\t\t\t\t\t\t\t\tconstants.collectionBuilder.publishing.workflow.stageColors,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.optional(),\n\t\t\t\t\t\t\tpublishTargets: z\n\t\t\t\t\t\t\t\t.array(\n\t\t\t\t\t\t\t\t\tz\n\t\t\t\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t\t\t\t.min(1)\n\t\t\t\t\t\t\t\t\t\t.max(50)\n\t\t\t\t\t\t\t\t\t\t.regex(/^[a-z0-9-_]+$/),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.optional(),\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t\t.min(1),\n\t\t\t})\n\t\t\t.optional(),\n\t\tenvironments: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tkey: environmentKeySchema.refine(\n\t\t\t\t\t\t(val) =>\n\t\t\t\t\t\t\t!constants.collectionBuilder.protectedEnvironments.includes(val),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmessage: `Environment key cannot be one of the protected environments: ${constants.collectionBuilder.protectedEnvironments.join(\", \")}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t\t\tname: adminCopyInputSchema,\n\t\t\t\t\trequires: z.array(environmentKeySchema).optional(),\n\t\t\t\t\tcollectionVersions: z\n\t\t\t\t\t\t.record(versionMapCollectionKeySchema, environmentKeySchema)\n\t\t\t\t\t\t.optional(),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.optional(),\n\t\trevisionRetentionDays: z\n\t\t\t.union([z.number().int().positive(), z.literal(false)])\n\t\t\t.default(constants.collectionBuilder.revisionRetentionDays)\n\t\t\t.optional(),\n\t\tpreview: z\n\t\t\t.object({\n\t\t\t\turl: z.function(),\n\t\t\t\texpiresIn: z\n\t\t\t\t\t.number()\n\t\t\t\t\t.int()\n\t\t\t\t\t.positive()\n\t\t\t\t\t.max(constants.collectionBuilder.previewMaxExpirationSeconds)\n\t\t\t\t\t.optional(),\n\t\t\t\tbreakpoints: z\n\t\t\t\t\t.array(\n\t\t\t\t\t\tz.object({\n\t\t\t\t\t\t\tkey: previewBreakpointKeySchema,\n\t\t\t\t\t\t\tlabel: adminCopyInputSchema,\n\t\t\t\t\t\t\twidth: z.number().int().min(280).max(2560),\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t\t.optional(),\n\t\t\t})\n\t\t\t.optional(),\n\t\thooks: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tservice: z.string(),\n\t\t\t\t\tevent: z.string(),\n\t\t\t\t\tpriority: z.number().optional(),\n\t\t\t\t\thandler: z.unknown(),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.optional(),\n\t\tbricks: z\n\t\t\t.object({\n\t\t\t\tfixed: z.array(z.unknown()).optional(),\n\t\t\t\tbuilder: z.array(z.unknown()).optional(),\n\t\t\t})\n\t\t\t.optional(),\n\t})\n\t.superRefine((data, ctx) => {\n\t\tconst environmentKeys = new Set(\n\t\t\tdata.environments?.map((environment) => environment.key) ?? [],\n\t\t);\n\n\t\tfor (const [environmentIndex, environment] of (\n\t\t\tdata.environments ?? []\n\t\t).entries()) {\n\t\t\tfor (const [targetIndex, target] of (\n\t\t\t\tenvironment.requires ?? []\n\t\t\t).entries()) {\n\t\t\t\tif (target === environment.key) {\n\t\t\t\t\tctx.addIssue({\n\t\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\t\tpath: [\"environments\", environmentIndex, \"requires\", targetIndex],\n\t\t\t\t\t\tmessage: `Environment \"${environment.key}\" cannot require itself`,\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (environmentKeys.has(target)) continue;\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\tpath: [\"environments\", environmentIndex, \"requires\", targetIndex],\n\t\t\t\t\tmessage: `Environment requires target \"${target}\" must reference a configured environment`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst review = data.review;\n\t\tfor (const [targetIndex, target] of (review?.requiredFor ?? []).entries()) {\n\t\t\tif (environmentKeys.has(target)) continue;\n\t\t\tctx.addIssue({\n\t\t\t\tcode: \"custom\",\n\t\t\t\tpath: [\"review\", \"requiredFor\", targetIndex],\n\t\t\t\tmessage: `Review requiredFor target \"${target}\" must reference a configured environment`,\n\t\t\t});\n\t\t}\n\n\t\tconst breakpointKeys =\n\t\t\tdata.preview?.breakpoints?.map((breakpoint) => breakpoint.key) ?? [];\n\t\tconst duplicateBreakpointKeys = breakpointKeys.filter(\n\t\t\t(key, index) => breakpointKeys.indexOf(key) !== index,\n\t\t);\n\t\tif (duplicateBreakpointKeys.length > 0) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: \"custom\",\n\t\t\t\tpath: [\"preview\", \"breakpoints\"],\n\t\t\t\tmessage: `Preview breakpoint keys must be unique: ${Array.from(new Set(duplicateBreakpointKeys)).join(\", \")}`,\n\t\t\t});\n\t\t}\n\n\t\tconst workflow = data.workflow;\n\t\tif (!workflow) return;\n\n\t\tconst stageKeys = workflow.stages.map((stage) => stage.key);\n\t\tconst duplicateStageKeys = stageKeys.filter(\n\t\t\t(key, index) => stageKeys.indexOf(key) !== index,\n\t\t);\n\t\tif (duplicateStageKeys.length > 0) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: \"custom\",\n\t\t\t\tpath: [\"workflow\", \"stages\"],\n\t\t\t\tmessage: `Workflow stage keys must be unique: ${Array.from(new Set(duplicateStageKeys)).join(\", \")}`,\n\t\t\t});\n\t\t}\n\n\t\tif (workflow.initial && !stageKeys.includes(workflow.initial)) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: \"custom\",\n\t\t\t\tpath: [\"workflow\", \"initial\"],\n\t\t\t\tmessage:\n\t\t\t\t\t\"Workflow initial stage must reference one of the configured stages\",\n\t\t\t});\n\t\t}\n\n\t\tfor (const [stageIndex, stage] of workflow.stages.entries()) {\n\t\t\tfor (const [targetIndex, target] of (\n\t\t\t\tstage.publishTargets ?? []\n\t\t\t).entries()) {\n\t\t\t\tif (environmentKeys.has(target)) continue;\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\tpath: [\n\t\t\t\t\t\t\"workflow\",\n\t\t\t\t\t\t\"stages\",\n\t\t\t\t\t\tstageIndex,\n\t\t\t\t\t\t\"publishTargets\",\n\t\t\t\t\t\ttargetIndex,\n\t\t\t\t\t],\n\t\t\t\t\tmessage: `Workflow publishTargets target \"${target}\" must reference a configured environment`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\nexport default CollectionConfigSchema;\n"],"mappings":"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"}