@strapi/core 5.45.1 → 5.46.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/core-api/routes/validation/attributes.d.ts +4 -4
  2. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -1
  3. package/dist/core-api/routes/validation/attributes.js +6 -6
  4. package/dist/core-api/routes/validation/attributes.js.map +1 -1
  5. package/dist/core-api/routes/validation/attributes.mjs +6 -6
  6. package/dist/core-api/routes/validation/attributes.mjs.map +1 -1
  7. package/dist/core-api/routes/validation/component.js +1 -1
  8. package/dist/core-api/routes/validation/component.js.map +1 -1
  9. package/dist/core-api/routes/validation/component.mjs +1 -1
  10. package/dist/core-api/routes/validation/component.mjs.map +1 -1
  11. package/dist/core-api/routes/validation/content-type.js +2 -2
  12. package/dist/core-api/routes/validation/content-type.js.map +1 -1
  13. package/dist/core-api/routes/validation/content-type.mjs +2 -2
  14. package/dist/core-api/routes/validation/content-type.mjs.map +1 -1
  15. package/dist/core-api/routes/validation/mappers.d.ts +5 -5
  16. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -1
  17. package/dist/core-api/routes/validation/mappers.js +13 -21
  18. package/dist/core-api/routes/validation/mappers.js.map +1 -1
  19. package/dist/core-api/routes/validation/mappers.mjs +13 -21
  20. package/dist/core-api/routes/validation/mappers.mjs.map +1 -1
  21. package/dist/core-api/routes/validation/utils.d.ts +3 -3
  22. package/dist/core-api/routes/validation/utils.d.ts.map +1 -1
  23. package/dist/core-api/routes/validation/utils.js +4 -7
  24. package/dist/core-api/routes/validation/utils.js.map +1 -1
  25. package/dist/core-api/routes/validation/utils.mjs +4 -7
  26. package/dist/core-api/routes/validation/utils.mjs.map +1 -1
  27. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  28. package/dist/migrations/database/5.0.0-discard-drafts.js +23 -0
  29. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  30. package/dist/migrations/database/5.0.0-discard-drafts.mjs +23 -0
  31. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  32. package/dist/package.json.js +12 -12
  33. package/dist/package.json.mjs +12 -12
  34. package/dist/providers/session-manager.d.ts.map +1 -1
  35. package/dist/providers/session-manager.js +1 -2
  36. package/dist/providers/session-manager.js.map +1 -1
  37. package/dist/providers/session-manager.mjs +1 -2
  38. package/dist/providers/session-manager.mjs.map +1 -1
  39. package/dist/services/content-source-maps.d.ts.map +1 -1
  40. package/dist/services/content-source-maps.js +12 -4
  41. package/dist/services/content-source-maps.js.map +1 -1
  42. package/dist/services/content-source-maps.mjs +12 -4
  43. package/dist/services/content-source-maps.mjs.map +1 -1
  44. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  45. package/dist/services/document-service/transform/relations/extract/data-ids.js +4 -1
  46. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  47. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +4 -1
  48. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  49. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  50. package/dist/services/document-service/transform/relations/transform/data-ids.js +4 -1
  51. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  52. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +4 -1
  53. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  54. package/dist/services/document-service/transform/relations/utils/xto-one.d.ts +8 -0
  55. package/dist/services/document-service/transform/relations/utils/xto-one.d.ts.map +1 -0
  56. package/dist/services/document-service/transform/relations/utils/xto-one.js +41 -0
  57. package/dist/services/document-service/transform/relations/utils/xto-one.js.map +1 -0
  58. package/dist/services/document-service/transform/relations/utils/xto-one.mjs +39 -0
  59. package/dist/services/document-service/transform/relations/utils/xto-one.mjs.map +1 -0
  60. package/package.json +12 -12
@@ -4,7 +4,7 @@
4
4
  * The module also provides functions to create input schemas for these attributes, which are used for validation
5
5
  * of incoming data.
6
6
  */
7
- import { type Schema, UID } from '@strapi/types';
7
+ import { type Core, type Schema, UID } from '@strapi/types';
8
8
  import { z } from 'zod/v4';
9
9
  /**
10
10
  * Converts a BigInteger attribute to a Zod schema.
@@ -28,7 +28,7 @@ export declare const booleanToSchema: (attribute: Schema.Attribute.Boolean) => z
28
28
  * @param attribute - The Component attribute object from the Strapi schema.
29
29
  * @returns A Zod schema representing the component field.
30
30
  */
31
- export declare const componentToSchema: (attribute: Schema.Attribute.Component<UID.Component, boolean>) => z.Schema;
31
+ export declare const componentToSchema: (strapi: Core.Strapi, attribute: Schema.Attribute.Component<UID.Component, boolean>) => z.Schema;
32
32
  /**
33
33
  * Converts a date attribute to a Zod schema.
34
34
  * @param attribute - The Date attribute object from the Strapi schema.
@@ -88,13 +88,13 @@ export declare const jsonToSchema: (attribute: Schema.Attribute.JSON) => z.Schem
88
88
  * @param attribute - The Media attribute object from the Strapi schema.
89
89
  * @returns A Zod schema representing the media field.
90
90
  */
91
- export declare const mediaToSchema: (attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>) => z.Schema;
91
+ export declare const mediaToSchema: (strapi: Core.Strapi, attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>) => z.Schema;
92
92
  /**
93
93
  * Converts a relation attribute to a Zod schema.
94
94
  * @param attribute - The Relation attribute object from the Strapi schema.
95
95
  * @returns A Zod schema representing the relational field.
96
96
  */
97
- export declare const relationToSchema: (attribute: Schema.Attribute.Relation) => z.Schema;
97
+ export declare const relationToSchema: (strapi: Core.Strapi, attribute: Schema.Attribute.Relation) => z.Schema;
98
98
  /**
99
99
  * Converts a string, text, rich text, or password attribute to a Zod schema.
100
100
  * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../src/core-api/routes/validation/attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../src/core-api/routes/validation/attributes.ts"],"names":[],"mappings":"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"}
@@ -45,9 +45,9 @@ var utils = require('./utils.js');
45
45
  * Converts a component attribute to a Zod schema.
46
46
  * @param attribute - The Component attribute object from the Strapi schema.
47
47
  * @returns A Zod schema representing the component field.
48
- */ const componentToSchema = (attribute)=>{
48
+ */ const componentToSchema = (strapi, attribute)=>{
49
49
  const { writable, required, min, max, component: component$1, repeatable } = attribute;
50
- const componentSchema = utils.safeSchemaCreation(component$1, ()=>new component.CoreComponentRouteValidator(strapi, component$1).entry);
50
+ const componentSchema = utils.safeSchemaCreation(strapi, component$1, ()=>new component.CoreComponentRouteValidator(strapi, component$1).entry);
51
51
  const baseSchema = repeatable ? z.z.array(componentSchema) : componentSchema;
52
52
  const schema = strapiUtils.augmentSchema(baseSchema, [
53
53
  (schema)=>min !== undefined && schema instanceof z.z.ZodArray ? schema.min(min) : schema,
@@ -186,12 +186,12 @@ var utils = require('./utils.js');
186
186
  * Converts a media attribute to a Zod schema.
187
187
  * @param attribute - The Media attribute object from the Strapi schema.
188
188
  * @returns A Zod schema representing the media field.
189
- */ const mediaToSchema = (attribute)=>{
189
+ */ const mediaToSchema = (strapi, attribute)=>{
190
190
  const { writable, required, multiple } = attribute;
191
191
  const uploadPlugin = strapi.plugin('upload');
192
192
  // @ts-expect-error there is a mismatch between a raw module and a loader module
193
193
  const fileSchema = uploadPlugin.contentTypes.file;
194
- const mediaSchema = utils.safeSchemaCreation(fileSchema.uid, ()=>new contentType.CoreContentTypeRouteValidator(strapi, fileSchema.uid).document);
194
+ const mediaSchema = utils.safeSchemaCreation(strapi, fileSchema.uid, ()=>new contentType.CoreContentTypeRouteValidator(strapi, fileSchema.uid).document);
195
195
  const baseSchema = multiple ? z.z.array(mediaSchema) : mediaSchema;
196
196
  const schema = strapiUtils.augmentSchema(baseSchema, [
197
197
  strapiUtils.maybeRequired(required),
@@ -203,12 +203,12 @@ var utils = require('./utils.js');
203
203
  * Converts a relation attribute to a Zod schema.
204
204
  * @param attribute - The Relation attribute object from the Strapi schema.
205
205
  * @returns A Zod schema representing the relational field.
206
- */ const relationToSchema = (attribute)=>{
206
+ */ const relationToSchema = (strapi, attribute)=>{
207
207
  if (!('target' in attribute)) {
208
208
  return z.z.any();
209
209
  }
210
210
  const { writable, required, target } = attribute;
211
- const targetSchema = utils.safeSchemaCreation(target, ()=>new contentType.CoreContentTypeRouteValidator(strapi, target).document);
211
+ const targetSchema = utils.safeSchemaCreation(strapi, target, ()=>new contentType.CoreContentTypeRouteValidator(strapi, target).document);
212
212
  const baseSchema = strapiUtils.relations.isAnyToMany(attribute) ? z.z.array(targetSchema) : targetSchema;
213
213
  const schema = strapiUtils.augmentSchema(baseSchema, [
214
214
  strapiUtils.maybeRequired(required),
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.js","sources":["../../../../src/core-api/routes/validation/attributes.ts"],"sourcesContent":["/**\n * @file This module provides a set of functions to convert Strapi schema attributes into Zod schemas.\n * It handles various attribute types, including primitive types, components, dynamic zones, media, and relations.\n * The module also provides functions to create input schemas for these attributes, which are used for validation\n * of incoming data.\n */\n\nimport { type Schema, UID } from '@strapi/types';\n\nimport {\n relations,\n maybeRequired,\n maybeReadonly,\n maybeWithDefault,\n maybeWithMinMax,\n augmentSchema,\n} from '@strapi/utils';\nimport { z } from 'zod/v4';\n\nimport { BOOLEAN_LITERAL_VALUES } from './constants';\n\n// eslint-disable-next-line import/no-cycle\nimport { CoreComponentRouteValidator } from './component';\nimport { CoreContentTypeRouteValidator } from './content-type';\n\nimport { safeSchemaCreation } from './utils';\n\n/**\n * Converts a BigInteger attribute to a Zod schema.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema representing the BigInteger field.\n */\nexport const bigIntegerToSchema = (attribute: Schema.Attribute.BigInteger): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema.\n * @returns A Zod schema representing the blocks field.\n */\nexport const blocksToSchema = (): z.Schema => {\n return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema representing the boolean field.\n */\nexport const booleanToSchema = (attribute: Schema.Attribute.Boolean): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.boolean().nullable(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema representing the component field.\n */\nexport const componentToSchema = (\n attribute: Schema.Attribute.Component<UID.Component, boolean>\n): z.Schema => {\n const { writable, required, min, max, component, repeatable } = attribute;\n\n const componentSchema = safeSchemaCreation(\n component,\n () => new CoreComponentRouteValidator(strapi, component).entry\n ) as z.ZodType;\n\n const baseSchema = repeatable ? z.array(componentSchema) : componentSchema;\n\n const schema = augmentSchema(baseSchema, [\n (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n maybeRequired(required),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema representing the date field.\n */\nexport const dateToSchema = (attribute: Schema.Attribute.Date): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema representing the datetime field.\n */\nexport const datetimeToSchema = (attribute: Schema.Attribute.DateTime): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema representing the decimal field.\n */\nexport const decimalToSchema = (attribute: Schema.Attribute.Decimal): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema representing the dynamic zone field.\n */\nexport const dynamicZoneToSchema = (attribute: Schema.Attribute.DynamicZone): z.Schema => {\n const { writable, required, min, max } = attribute;\n\n const baseSchema = z.array(z.any());\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema representing the email field.\n */\nexport const emailToSchema = (attribute: Schema.Attribute.Email): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const baseSchema = z.email();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema representing the enumeration field.\n */\nexport const enumToSchema = (attribute: Schema.Attribute.Enumeration<string[]>): z.Schema => {\n const { writable, required, default: defaultValue, enum: enumValues } = attribute;\n\n const baseSchema = z.enum(enumValues);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema representing the float field.\n */\nexport const floatToSchema = (attribute: Schema.Attribute.Float): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema representing the integer field.\n */\nexport const integerToSchema = (attribute: Schema.Attribute.Integer): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const baseSchema = z.number().int();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An integer field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema representing the JSON field.\n */\nexport const jsonToSchema = (attribute: Schema.Attribute.JSON): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.any(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema representing the media field.\n */\nexport const mediaToSchema = (\n attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n): z.Schema => {\n const { writable, required, multiple } = attribute;\n\n const uploadPlugin = strapi.plugin('upload');\n\n // @ts-expect-error there is a mismatch between a raw module and a loader module\n const fileSchema = uploadPlugin.contentTypes.file as Struct.ContentTypeSchema;\n\n const mediaSchema = safeSchemaCreation(\n fileSchema.uid,\n () => new CoreContentTypeRouteValidator(strapi, fileSchema.uid).document\n ) as z.ZodType;\n\n const baseSchema = multiple ? z.array(mediaSchema) : mediaSchema;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema representing the relational field.\n */\nexport const relationToSchema = (attribute: Schema.Attribute.Relation): z.Schema => {\n if (!('target' in attribute)) {\n return z.any();\n }\n\n const { writable, required, target } = attribute as Schema.Attribute.RelationWithTarget;\n\n const targetSchema = safeSchemaCreation(\n target,\n () => new CoreContentTypeRouteValidator(strapi, target).document\n ) as z.ZodType;\n\n const baseSchema = relations.isAnyToMany(attribute) ? z.array(targetSchema) : targetSchema;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema representing the field.\n */\nexport const stringToSchema = (\n attribute:\n | Schema.Attribute.String\n | Schema.Attribute.Text\n | Schema.Attribute.RichText\n | Schema.Attribute.Password\n): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema representing the time field.\n */\nexport const timeToSchema = (attribute: Schema.Attribute.Time): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema representing the timestamp field.\n */\nexport const timestampToSchema = (attribute: Schema.Attribute.Timestamp): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const baseSchema = z.union([z.string(), z.number()]);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema representing the UID field.\n */\nexport const uidToSchema = (attribute: Schema.Attribute.UID): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A UID field');\n};\n\n/**\n * Converts a BigInteger attribute to a Zod schema for input validation.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the BigInteger field.\n */\nexport const bigIntegerToInputSchema = (attribute: Schema.Attribute.BigInteger) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema for input validation.\n * @returns A Zod schema for input validation of the blocks field.\n */\nexport const blocksToInputSchema = () => {\n // TODO: better support blocks data structure\n return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema for input validation.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the boolean field.\n */\nexport const booleanToInputSchema = (attribute: Schema.Attribute.Boolean) => {\n const { required, default: defaultValue } = attribute;\n\n const baseSchema = z.enum(BOOLEAN_LITERAL_VALUES).nullable();\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema for input validation.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the component field.\n */\nexport const componentToInputSchema = (\n attribute: Schema.Attribute.Component<UID.Component, boolean>\n) => {\n const { required, repeatable, min, max } = attribute;\n\n const baseSchema = repeatable ? z.array(z.any()) : z.any();\n\n const schema = augmentSchema(baseSchema, [\n (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n maybeRequired(required),\n ]);\n\n return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema for input validation.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the date field.\n */\nexport const dateToInputSchema = (attribute: Schema.Attribute.Date) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema for input validation.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the datetime field.\n */\nexport const datetimeToInputSchema = (attribute: Schema.Attribute.DateTime) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema for input validation.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the decimal field.\n */\nexport const decimalToInputSchema = (attribute: Schema.Attribute.Decimal) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema for input validation.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the dynamic zone field.\n */\nexport const dynamicZoneToInputSchema = (attribute: Schema.Attribute.DynamicZone) => {\n const { required, min, max } = attribute;\n\n const baseSchema = z.array(z.any());\n\n const schema = augmentSchema(baseSchema, [maybeWithMinMax(min, max), maybeRequired(required)]);\n\n return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema for input validation.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the email field.\n */\nexport const emailToInputSchema = (attribute: Schema.Attribute.Email) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const baseSchema = z.email();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema for input validation.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the enumeration field.\n */\nexport const enumerationToInputSchema = (attribute: Schema.Attribute.Enumeration<string[]>) => {\n const { required, default: defaultValue, enum: enumValues } = attribute;\n\n const baseSchema = z.enum(enumValues);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema for input validation.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the float field.\n */\nexport const floatToInputSchema = (attribute: Schema.Attribute.Float) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema for input validation.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the integer field.\n */\nexport const integerToInputSchema = (attribute: Schema.Attribute.Integer) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const baseSchema = z.number().int();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema for input validation.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the JSON field.\n */\nexport const jsonToInputSchema = (attribute: Schema.Attribute.JSON) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.any(), [maybeRequired(required), maybeWithDefault(defaultValue)]);\n\n return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema for input validation.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the media field.\n */\nexport const mediaToInputSchema = (\n attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n) => {\n const { required, multiple } = attribute;\n\n const baseSchema = multiple ? z.array(z.any()) : z.any();\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema for input validation.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the relational field.\n */\nexport const relationToInputSchema = (attribute: Schema.Attribute.Relation) => {\n const { required } = attribute;\n\n const isToMany = relations.isAnyToMany(attribute);\n const uuid = z.string().uuid();\n const baseSchema = isToMany ? z.array(uuid) : uuid;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema for input validation.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the field.\n */\nexport const textToInputSchema = (\n attribute:\n | Schema.Attribute.String\n | Schema.Attribute.Text\n | Schema.Attribute.RichText\n | Schema.Attribute.Password\n) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema for input validation.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the time field.\n */\nexport const timeToInputSchema = (attribute: Schema.Attribute.Time) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema for input validation.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the timestamp field.\n */\nexport const timestampToInputSchema = (attribute: Schema.Attribute.Timestamp) => {\n const { required, default: defaultValue } = attribute;\n\n const baseSchema = z.union([z.string(), z.number()]);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema for input validation.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the UID field.\n */\nexport const uidToInputSchema = (attribute: Schema.Attribute.UID) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A UID field');\n};\n"],"names":["bigIntegerToSchema","attribute","writable","required","min","max","default","defaultValue","schema","augmentSchema","z","string","undefined","maybeRequired","maybeWithDefault","maybeReadonly","describe","blocksToSchema","array","any","booleanToSchema","boolean","nullable","componentToSchema","component","repeatable","componentSchema","safeSchemaCreation","CoreComponentRouteValidator","strapi","entry","baseSchema","ZodArray","dateToSchema","datetimeToSchema","decimalToSchema","number","maybeWithMinMax","dynamicZoneToSchema","emailToSchema","minLength","maxLength","email","enumToSchema","enum","enumValues","floatToSchema","integerToSchema","int","jsonToSchema","mediaToSchema","multiple","uploadPlugin","plugin","fileSchema","contentTypes","file","mediaSchema","uid","CoreContentTypeRouteValidator","document","relationToSchema","target","targetSchema","relations","isAnyToMany","stringToSchema","type","timeToSchema","timestampToSchema","union","uidToSchema","bigIntegerToInputSchema","blocksToInputSchema","booleanToInputSchema","BOOLEAN_LITERAL_VALUES","componentToInputSchema","dateToInputSchema","datetimeToInputSchema","decimalToInputSchema","dynamicZoneToInputSchema","emailToInputSchema","enumerationToInputSchema","floatToInputSchema","integerToInputSchema","jsonToInputSchema","mediaToInputSchema","relationToInputSchema","isToMany","uuid","textToInputSchema","timeToInputSchema","timestampToInputSchema","uidToInputSchema"],"mappings":"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"}
1
+ {"version":3,"file":"attributes.js","sources":["../../../../src/core-api/routes/validation/attributes.ts"],"sourcesContent":["/**\n * @file This module provides a set of functions to convert Strapi schema attributes into Zod schemas.\n * It handles various attribute types, including primitive types, components, dynamic zones, media, and relations.\n * The module also provides functions to create input schemas for these attributes, which are used for validation\n * of incoming data.\n */\n\nimport { type Core, type Schema, UID } from '@strapi/types';\n\nimport {\n relations,\n maybeRequired,\n maybeReadonly,\n maybeWithDefault,\n maybeWithMinMax,\n augmentSchema,\n} from '@strapi/utils';\nimport { z } from 'zod/v4';\n\nimport { BOOLEAN_LITERAL_VALUES } from './constants';\n\n// eslint-disable-next-line import/no-cycle\nimport { CoreComponentRouteValidator } from './component';\nimport { CoreContentTypeRouteValidator } from './content-type';\n\nimport { safeSchemaCreation } from './utils';\n\n/**\n * Converts a BigInteger attribute to a Zod schema.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema representing the BigInteger field.\n */\nexport const bigIntegerToSchema = (attribute: Schema.Attribute.BigInteger): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema.\n * @returns A Zod schema representing the blocks field.\n */\nexport const blocksToSchema = (): z.Schema => {\n return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema representing the boolean field.\n */\nexport const booleanToSchema = (attribute: Schema.Attribute.Boolean): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.boolean().nullable(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema representing the component field.\n */\nexport const componentToSchema = (\n strapi: Core.Strapi,\n attribute: Schema.Attribute.Component<UID.Component, boolean>\n): z.Schema => {\n const { writable, required, min, max, component, repeatable } = attribute;\n\n const componentSchema = safeSchemaCreation(\n strapi,\n component,\n () => new CoreComponentRouteValidator(strapi, component).entry\n ) as z.ZodType;\n\n const baseSchema = repeatable ? z.array(componentSchema) : componentSchema;\n\n const schema = augmentSchema(baseSchema, [\n (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n maybeRequired(required),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema representing the date field.\n */\nexport const dateToSchema = (attribute: Schema.Attribute.Date): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema representing the datetime field.\n */\nexport const datetimeToSchema = (attribute: Schema.Attribute.DateTime): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema representing the decimal field.\n */\nexport const decimalToSchema = (attribute: Schema.Attribute.Decimal): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema representing the dynamic zone field.\n */\nexport const dynamicZoneToSchema = (attribute: Schema.Attribute.DynamicZone): z.Schema => {\n const { writable, required, min, max } = attribute;\n\n const baseSchema = z.array(z.any());\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema representing the email field.\n */\nexport const emailToSchema = (attribute: Schema.Attribute.Email): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const baseSchema = z.email();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema representing the enumeration field.\n */\nexport const enumToSchema = (attribute: Schema.Attribute.Enumeration<string[]>): z.Schema => {\n const { writable, required, default: defaultValue, enum: enumValues } = attribute;\n\n const baseSchema = z.enum(enumValues);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema representing the float field.\n */\nexport const floatToSchema = (attribute: Schema.Attribute.Float): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema representing the integer field.\n */\nexport const integerToSchema = (attribute: Schema.Attribute.Integer): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const baseSchema = z.number().int();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An integer field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema representing the JSON field.\n */\nexport const jsonToSchema = (attribute: Schema.Attribute.JSON): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.any(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema representing the media field.\n */\nexport const mediaToSchema = (\n strapi: Core.Strapi,\n attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n): z.Schema => {\n const { writable, required, multiple } = attribute;\n\n const uploadPlugin = strapi.plugin('upload');\n\n // @ts-expect-error there is a mismatch between a raw module and a loader module\n const fileSchema = uploadPlugin.contentTypes.file as Struct.ContentTypeSchema;\n\n const mediaSchema = safeSchemaCreation(\n strapi,\n fileSchema.uid,\n () => new CoreContentTypeRouteValidator(strapi, fileSchema.uid).document\n ) as z.ZodType;\n\n const baseSchema = multiple ? z.array(mediaSchema) : mediaSchema;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema representing the relational field.\n */\nexport const relationToSchema = (\n strapi: Core.Strapi,\n attribute: Schema.Attribute.Relation\n): z.Schema => {\n if (!('target' in attribute)) {\n return z.any();\n }\n\n const { writable, required, target } = attribute as Schema.Attribute.RelationWithTarget;\n\n const targetSchema = safeSchemaCreation(\n strapi,\n target,\n () => new CoreContentTypeRouteValidator(strapi, target).document\n ) as z.ZodType;\n\n const baseSchema = relations.isAnyToMany(attribute) ? z.array(targetSchema) : targetSchema;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema representing the field.\n */\nexport const stringToSchema = (\n attribute:\n | Schema.Attribute.String\n | Schema.Attribute.Text\n | Schema.Attribute.RichText\n | Schema.Attribute.Password\n): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema representing the time field.\n */\nexport const timeToSchema = (attribute: Schema.Attribute.Time): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema representing the timestamp field.\n */\nexport const timestampToSchema = (attribute: Schema.Attribute.Timestamp): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const baseSchema = z.union([z.string(), z.number()]);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema representing the UID field.\n */\nexport const uidToSchema = (attribute: Schema.Attribute.UID): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A UID field');\n};\n\n/**\n * Converts a BigInteger attribute to a Zod schema for input validation.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the BigInteger field.\n */\nexport const bigIntegerToInputSchema = (attribute: Schema.Attribute.BigInteger) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema for input validation.\n * @returns A Zod schema for input validation of the blocks field.\n */\nexport const blocksToInputSchema = () => {\n // TODO: better support blocks data structure\n return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema for input validation.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the boolean field.\n */\nexport const booleanToInputSchema = (attribute: Schema.Attribute.Boolean) => {\n const { required, default: defaultValue } = attribute;\n\n const baseSchema = z.enum(BOOLEAN_LITERAL_VALUES).nullable();\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema for input validation.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the component field.\n */\nexport const componentToInputSchema = (\n attribute: Schema.Attribute.Component<UID.Component, boolean>\n) => {\n const { required, repeatable, min, max } = attribute;\n\n const baseSchema = repeatable ? z.array(z.any()) : z.any();\n\n const schema = augmentSchema(baseSchema, [\n (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n maybeRequired(required),\n ]);\n\n return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema for input validation.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the date field.\n */\nexport const dateToInputSchema = (attribute: Schema.Attribute.Date) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema for input validation.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the datetime field.\n */\nexport const datetimeToInputSchema = (attribute: Schema.Attribute.DateTime) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema for input validation.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the decimal field.\n */\nexport const decimalToInputSchema = (attribute: Schema.Attribute.Decimal) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema for input validation.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the dynamic zone field.\n */\nexport const dynamicZoneToInputSchema = (attribute: Schema.Attribute.DynamicZone) => {\n const { required, min, max } = attribute;\n\n const baseSchema = z.array(z.any());\n\n const schema = augmentSchema(baseSchema, [maybeWithMinMax(min, max), maybeRequired(required)]);\n\n return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema for input validation.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the email field.\n */\nexport const emailToInputSchema = (attribute: Schema.Attribute.Email) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const baseSchema = z.email();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema for input validation.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the enumeration field.\n */\nexport const enumerationToInputSchema = (attribute: Schema.Attribute.Enumeration<string[]>) => {\n const { required, default: defaultValue, enum: enumValues } = attribute;\n\n const baseSchema = z.enum(enumValues);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema for input validation.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the float field.\n */\nexport const floatToInputSchema = (attribute: Schema.Attribute.Float) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema for input validation.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the integer field.\n */\nexport const integerToInputSchema = (attribute: Schema.Attribute.Integer) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const baseSchema = z.number().int();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema for input validation.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the JSON field.\n */\nexport const jsonToInputSchema = (attribute: Schema.Attribute.JSON) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.any(), [maybeRequired(required), maybeWithDefault(defaultValue)]);\n\n return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema for input validation.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the media field.\n */\nexport const mediaToInputSchema = (\n attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n) => {\n const { required, multiple } = attribute;\n\n const baseSchema = multiple ? z.array(z.any()) : z.any();\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema for input validation.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the relational field.\n */\nexport const relationToInputSchema = (attribute: Schema.Attribute.Relation) => {\n const { required } = attribute;\n\n const isToMany = relations.isAnyToMany(attribute);\n const uuid = z.string().uuid();\n const baseSchema = isToMany ? z.array(uuid) : uuid;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema for input validation.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the field.\n */\nexport const textToInputSchema = (\n attribute:\n | Schema.Attribute.String\n | Schema.Attribute.Text\n | Schema.Attribute.RichText\n | Schema.Attribute.Password\n) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema for input validation.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the time field.\n */\nexport const timeToInputSchema = (attribute: Schema.Attribute.Time) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema for input validation.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the timestamp field.\n */\nexport const timestampToInputSchema = (attribute: Schema.Attribute.Timestamp) => {\n const { required, default: defaultValue } = attribute;\n\n const baseSchema = z.union([z.string(), z.number()]);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema for input validation.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the UID field.\n */\nexport const uidToInputSchema = (attribute: Schema.Attribute.UID) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A UID field');\n};\n"],"names":["bigIntegerToSchema","attribute","writable","required","min","max","default","defaultValue","schema","augmentSchema","z","string","undefined","maybeRequired","maybeWithDefault","maybeReadonly","describe","blocksToSchema","array","any","booleanToSchema","boolean","nullable","componentToSchema","strapi","component","repeatable","componentSchema","safeSchemaCreation","CoreComponentRouteValidator","entry","baseSchema","ZodArray","dateToSchema","datetimeToSchema","decimalToSchema","number","maybeWithMinMax","dynamicZoneToSchema","emailToSchema","minLength","maxLength","email","enumToSchema","enum","enumValues","floatToSchema","integerToSchema","int","jsonToSchema","mediaToSchema","multiple","uploadPlugin","plugin","fileSchema","contentTypes","file","mediaSchema","uid","CoreContentTypeRouteValidator","document","relationToSchema","target","targetSchema","relations","isAnyToMany","stringToSchema","type","timeToSchema","timestampToSchema","union","uidToSchema","bigIntegerToInputSchema","blocksToInputSchema","booleanToInputSchema","BOOLEAN_LITERAL_VALUES","componentToInputSchema","dateToInputSchema","datetimeToInputSchema","decimalToInputSchema","dynamicZoneToInputSchema","emailToInputSchema","enumerationToInputSchema","floatToInputSchema","integerToInputSchema","jsonToInputSchema","mediaToInputSchema","relationToInputSchema","isToMany","uuid","textToInputSchema","timeToInputSchema","timestampToInputSchema","uidToInputSchema"],"mappings":";;;;;;;;;AA2BA;;;;IAKO,MAAMA,kBAAAA,GAAqB,CAACC,SAAAA,GAAAA;AACjC,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAEC,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEhE,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;AACvC,QAAA,CAACH,SAAYJ,GAAAA,KAAQQ,SAAAA,GAAYJ,MAAAA,CAAOJ,GAAG,CAACA,GAAAA,CAAAA,GAA4BI,MAAAA;AACxE,QAAA,CAACA,SAAYH,GAAAA,KAAQO,SAAAA,GAAYJ,MAAAA,CAAOH,GAAG,CAACA,GAAAA,CAAAA,GAA4BG,MAAAA;QACxEK,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,oBAAA,CAAA;AACzB;AAEA;;;UAIaC,cAAAA,GAAiB,IAAA;AAC5B,IAAA,OAAOP,IAAEQ,KAAK,CAACR,IAAES,GAAG,EAAA,CAAA,CAAIH,QAAQ,CAAC,gBAAA,CAAA;AACnC;AAEA;;;;IAKO,MAAMI,eAAAA,GAAkB,CAACnB,SAAAA,GAAAA;IAC9B,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAMO,SAASC,yBAAAA,CAAcC,GAAAA,CAAEW,OAAO,EAAA,CAAGC,QAAQ,EAAA,EAAI;QACnDT,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,iBAAA,CAAA;AACzB;AAEA;;;;AAIC,IACM,MAAMO,iBAAAA,GAAoB,CAC/BC,MAAAA,EACAvB,SAAAA,GAAAA;AAEA,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,GAAG,aAAEoB,WAAS,EAAEC,UAAU,EAAE,GAAGzB,SAAAA;IAEhE,MAAM0B,eAAAA,GAAkBC,yBACtBJ,MAAAA,EACAC,WAAAA,EACA,IAAM,IAAII,qCAAAA,CAA4BL,MAAAA,EAAQC,WAAAA,CAAAA,CAAWK,KAAK,CAAA;AAGhE,IAAA,MAAMC,UAAAA,GAAaL,UAAAA,GAAahB,GAAAA,CAAEQ,KAAK,CAACS,eAAAA,CAAAA,GAAmBA,eAAAA;IAE3D,MAAMnB,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QACvC,CAACvB,MAAAA,GAAYJ,GAAAA,KAAQQ,SAAAA,IAAaJ,MAAAA,YAAkBE,GAAAA,CAAEsB,QAAQ,GAAGxB,MAAAA,CAAOJ,GAAG,CAACA,GAAAA,CAAAA,GAAOI,MAAAA;QACnF,CAACA,MAAAA,GAAYH,GAAAA,KAAQO,SAAAA,IAAaJ,MAAAA,YAAkBE,GAAAA,CAAEsB,QAAQ,GAAGxB,MAAAA,CAAOH,GAAG,CAACA,GAAAA,CAAAA,GAAOG,MAAAA;QACnFK,yBAAAA,CAAcV,QAAAA,CAAAA;QACdY,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,mBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMiB,YAAAA,GAAe,CAAChC,SAAAA,GAAAA;IAC3B,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;QACvCE,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,cAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMkB,gBAAAA,GAAmB,CAACjC,SAAAA,GAAAA;IAC/B,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;QACvCE,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,kBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMmB,eAAAA,GAAkB,CAAClC,SAAAA,GAAAA;AAC9B,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAEC,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEhE,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAE0B,MAAM,EAAA,EAAI;AACvCC,QAAAA,2BAAAA,CAAgBjC,GAAAA,EAAKC,GAAAA,CAAAA;QACrBQ,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,iBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMsB,mBAAAA,GAAsB,CAACrC,SAAAA,GAAAA;IAClC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAE,GAAGJ,SAAAA;AAEzC,IAAA,MAAM8B,UAAAA,GAAarB,GAAAA,CAAEQ,KAAK,CAACR,IAAES,GAAG,EAAA,CAAA;IAEhC,MAAMX,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;AACvCM,QAAAA,2BAAAA,CAAgBjC,GAAAA,EAAKC,GAAAA,CAAAA;QACrBQ,yBAAAA,CAAcV,QAAAA,CAAAA;QACdY,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,sBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMuB,aAAAA,GAAgB,CAACtC,SAAAA,GAAAA;AAC5B,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAEiC,SAAS,EAAEC,SAAS,EAAE,GAAGxC,SAAAA;IAE5E,MAAM8B,UAAAA,GAAarB,IAAEgC,KAAK,EAAA;IAE1B,MAAMlC,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;AACvCM,QAAAA,2BAAAA,CAAgBG,SAAAA,EAAWC,SAAAA,CAAAA;QAC3B5B,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,gBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM2B,YAAAA,GAAe,CAAC1C,SAAAA,GAAAA;IAC3B,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAEqC,IAAAA,EAAMC,UAAU,EAAE,GAAG5C,SAAAA;IAExE,MAAM8B,UAAAA,GAAarB,GAAAA,CAAEkC,IAAI,CAACC,UAAAA,CAAAA;IAE1B,MAAMrC,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QACvClB,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,eAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM8B,aAAAA,GAAgB,CAAC7C,SAAAA,GAAAA;AAC5B,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAEC,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEhE,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAE0B,MAAM,EAAA,EAAI;AACvCC,QAAAA,2BAAAA,CAAgBjC,GAAAA,EAAKC,GAAAA,CAAAA;QACrBQ,yBAAAA,CAAcV,QAAAA,CAAAA;QACdY,yBAAAA,CAAcb,QAAAA,CAAAA;QACdY,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,eAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM+B,eAAAA,GAAkB,CAAC9C,SAAAA,GAAAA;AAC9B,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAEC,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEhE,IAAA,MAAM8B,UAAAA,GAAarB,GAAAA,CAAE0B,MAAM,EAAA,CAAGY,GAAG,EAAA;IAEjC,MAAMxC,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;AACvCM,QAAAA,2BAAAA,CAAgBjC,GAAAA,EAAKC,GAAAA,CAAAA;QACrBQ,yBAAAA,CAAcV,QAAAA,CAAAA;QACdY,yBAAAA,CAAcb,QAAAA,CAAAA;QACdY,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,kBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMiC,YAAAA,GAAe,CAAChD,SAAAA,GAAAA;IAC3B,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAES,GAAG,EAAA,EAAI;QACpCN,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,cAAA,CAAA;AACzB;AAEA;;;;AAIC,IACM,MAAMkC,aAAAA,GAAgB,CAC3B1B,MAAAA,EACAvB,SAAAA,GAAAA;AAEA,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEgD,QAAQ,EAAE,GAAGlD,SAAAA;IAEzC,MAAMmD,YAAAA,GAAe5B,MAAAA,CAAO6B,MAAM,CAAC,QAAA,CAAA;;AAGnC,IAAA,MAAMC,UAAAA,GAAaF,YAAAA,CAAaG,YAAY,CAACC,IAAI;AAEjD,IAAA,MAAMC,WAAAA,GAAc7B,wBAAAA,CAClBJ,MAAAA,EACA8B,UAAAA,CAAWI,GAAG,EACd,IAAM,IAAIC,yCAAAA,CAA8BnC,MAAAA,EAAQ8B,UAAAA,CAAWI,GAAG,EAAEE,QAAQ,CAAA;AAG1E,IAAA,MAAM7B,UAAAA,GAAaoB,QAAAA,GAAWzC,GAAAA,CAAEQ,KAAK,CAACuC,WAAAA,CAAAA,GAAeA,WAAAA;IAErD,MAAMjD,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QAAClB,yBAAAA,CAAcV,QAAAA,CAAAA;QAAWY,yBAAAA,CAAcb,QAAAA;AAAU,KAAA,CAAA;IAE3F,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,eAAA,CAAA;AACzB;AAEA;;;;AAIC,IACM,MAAM6C,gBAAAA,GAAmB,CAC9BrC,MAAAA,EACAvB,SAAAA,GAAAA;AAEA,IAAA,IAAI,EAAE,QAAA,IAAYA,SAAQ,CAAA,EAAI;AAC5B,QAAA,OAAOS,IAAES,GAAG,EAAA;AACd,IAAA;AAEA,IAAA,MAAM,EAAEjB,QAAQ,EAAEC,QAAQ,EAAE2D,MAAM,EAAE,GAAG7D,SAAAA;IAEvC,MAAM8D,YAAAA,GAAenC,yBACnBJ,MAAAA,EACAsC,MAAAA,EACA,IAAM,IAAIH,yCAAAA,CAA8BnC,MAAAA,EAAQsC,MAAAA,CAAAA,CAAQF,QAAQ,CAAA;IAGlE,MAAM7B,UAAAA,GAAaiC,sBAAUC,WAAW,CAAChE,aAAaS,GAAAA,CAAEQ,KAAK,CAAC6C,YAAAA,CAAAA,GAAgBA,YAAAA;IAE9E,MAAMvD,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QAAClB,yBAAAA,CAAcV,QAAAA,CAAAA;QAAWY,yBAAAA,CAAcb,QAAAA;AAAU,KAAA,CAAA;IAE3F,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,oBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMkD,cAAAA,GAAiB,CAC5BjE,SAAAA,GAAAA;AAMA,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAEiC,SAAS,EAAEC,SAAS,EAAE,GAAGxC,SAAAA;AAE5E,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;AACvC0B,QAAAA,2BAAAA,CAAgBG,SAAAA,EAAWC,SAAAA,CAAAA;QAC3B5B,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,CAAC,EAAE,EAAEf,SAAAA,CAAUkE,IAAI,CAAC,MAAM,CAAC,CAAA;AACpD;AAEA;;;;IAKO,MAAMC,YAAAA,GAAe,CAACnE,SAAAA,GAAAA;IAC3B,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;QACvCE,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,cAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMqD,iBAAAA,GAAoB,CAACpE,SAAAA,GAAAA;IAChC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;IAEtD,MAAM8B,UAAAA,GAAarB,GAAAA,CAAE4D,KAAK,CAAC;AAAC5D,QAAAA,GAAAA,CAAEC,MAAM,EAAA;AAAID,QAAAA,GAAAA,CAAE0B,MAAM;AAAG,KAAA,CAAA;IAEnD,MAAM5B,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QACvClB,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,mBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMuD,WAAAA,GAAc,CAACtE,SAAAA,GAAAA;AAC1B,IAAA,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAEiC,SAAS,EAAEC,SAAS,EAAE,GAAGxC,SAAAA;AAE5E,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;AACvC0B,QAAAA,2BAAAA,CAAgBG,SAAAA,EAAWC,SAAAA,CAAAA;QAC3B5B,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA,CAAAA;QACjBQ,yBAAAA,CAAcb,QAAAA;AACf,KAAA,CAAA;IAED,OAAOM,MAAAA,CAAOQ,QAAQ,CAAC,aAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMwD,uBAAAA,GAA0B,CAACvE,SAAAA,GAAAA;IACtC,MAAM,EAAEE,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAEC,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;AACvC,QAAA,CAACH,SAAYJ,GAAAA,KAAQQ,SAAAA,GAAYJ,MAAAA,CAAOJ,GAAG,CAACA,GAAAA,CAAAA,GAA4BI,MAAAA;AACxE,QAAA,CAACA,SAAYH,GAAAA,KAAQO,SAAAA,GAAYJ,MAAAA,CAAOH,GAAG,CAACA,GAAAA,CAAAA,GAA4BG,MAAAA;QACxEK,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,oBAAA,CAAA;AACzB;AAEA;;;UAIayD,mBAAAA,GAAsB,IAAA;;AAEjC,IAAA,OAAO/D,IAAEQ,KAAK,CAACR,IAAES,GAAG,EAAA,CAAA,CAAIH,QAAQ,CAAC,gBAAA,CAAA;AACnC;AAEA;;;;IAKO,MAAM0D,oBAAAA,GAAuB,CAACzE,SAAAA,GAAAA;AACnC,IAAA,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAE5C,IAAA,MAAM8B,UAAAA,GAAarB,GAAAA,CAAEkC,IAAI,CAAC+B,kCAAwBrD,QAAQ,EAAA;IAE1D,MAAMd,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QACvClB,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,iBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM4D,sBAAAA,GAAyB,CACpC3E,SAAAA,GAAAA;IAEA,MAAM,EAAEE,QAAQ,EAAEuB,UAAU,EAAEtB,GAAG,EAAEC,GAAG,EAAE,GAAGJ,SAAAA;IAE3C,MAAM8B,UAAAA,GAAaL,aAAahB,GAAAA,CAAEQ,KAAK,CAACR,GAAAA,CAAES,GAAG,EAAA,CAAA,GAAMT,GAAAA,CAAES,GAAG,EAAA;IAExD,MAAMX,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QACvC,CAACvB,MAAAA,GAAYJ,GAAAA,KAAQQ,SAAAA,IAAaJ,MAAAA,YAAkBE,GAAAA,CAAEsB,QAAQ,GAAGxB,MAAAA,CAAOJ,GAAG,CAACA,GAAAA,CAAAA,GAAOI,MAAAA;QACnF,CAACA,MAAAA,GAAYH,GAAAA,KAAQO,SAAAA,IAAaJ,MAAAA,YAAkBE,GAAAA,CAAEsB,QAAQ,GAAGxB,MAAAA,CAAOH,GAAG,CAACA,GAAAA,CAAAA,GAAOG,MAAAA;QACnFK,yBAAAA,CAAcV,QAAAA;AACf,KAAA,CAAA;IAED,OAAOK,MAAAA,CAAOQ,QAAQ,CAAC,mBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM6D,iBAAAA,GAAoB,CAAC5E,SAAAA,GAAAA;AAChC,IAAA,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAE5C,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;QACvCE,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,cAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM8D,qBAAAA,GAAwB,CAAC7E,SAAAA,GAAAA;AACpC,IAAA,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAE5C,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;QACvCE,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,kBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM+D,oBAAAA,GAAuB,CAAC9E,SAAAA,GAAAA;IACnC,MAAM,EAAEE,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAEC,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAE0B,MAAM,EAAA,EAAI;AACvCC,QAAAA,2BAAAA,CAAgBjC,GAAAA,EAAKC,GAAAA,CAAAA;QACrBQ,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,iBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMgE,wBAAAA,GAA2B,CAAC/E,SAAAA,GAAAA;AACvC,IAAA,MAAM,EAAEE,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAE,GAAGJ,SAAAA;AAE/B,IAAA,MAAM8B,UAAAA,GAAarB,GAAAA,CAAEQ,KAAK,CAACR,IAAES,GAAG,EAAA,CAAA;IAEhC,MAAMX,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;AAACM,QAAAA,2BAAAA,CAAgBjC,GAAAA,EAAKC,GAAAA,CAAAA;QAAMQ,yBAAAA,CAAcV,QAAAA;AAAU,KAAA,CAAA;IAE7F,OAAOK,MAAAA,CAAOQ,QAAQ,CAAC,sBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMiE,kBAAAA,GAAqB,CAAChF,SAAAA,GAAAA;IACjC,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAEiC,SAAS,EAAEC,SAAS,EAAE,GAAGxC,SAAAA;IAElE,MAAM8B,UAAAA,GAAarB,IAAEgC,KAAK,EAAA;IAE1B,MAAMlC,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;AACvCM,QAAAA,2BAAAA,CAAgBG,SAAAA,EAAWC,SAAAA,CAAAA;QAC3B5B,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,gBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMkE,wBAAAA,GAA2B,CAACjF,SAAAA,GAAAA;IACvC,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAEqC,IAAAA,EAAMC,UAAU,EAAE,GAAG5C,SAAAA;IAE9D,MAAM8B,UAAAA,GAAarB,GAAAA,CAAEkC,IAAI,CAACC,UAAAA,CAAAA;IAE1B,MAAMrC,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QACvClB,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,eAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMmE,kBAAAA,GAAqB,CAAClF,SAAAA,GAAAA;IACjC,MAAM,EAAEE,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAEC,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAE0B,MAAM,EAAA,EAAI;AACvCC,QAAAA,2BAAAA,CAAgBjC,GAAAA,EAAKC,GAAAA,CAAAA;QACrBQ,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,eAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMoE,oBAAAA,GAAuB,CAACnF,SAAAA,GAAAA;IACnC,MAAM,EAAEE,QAAQ,EAAEC,GAAG,EAAEC,GAAG,EAAEC,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAEtD,IAAA,MAAM8B,UAAAA,GAAarB,GAAAA,CAAE0B,MAAM,EAAA,CAAGY,GAAG,EAAA;IAEjC,MAAMxC,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;AACvCM,QAAAA,2BAAAA,CAAgBjC,GAAAA,EAAKC,GAAAA,CAAAA;QACrBQ,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,eAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMqE,iBAAAA,GAAoB,CAACpF,SAAAA,GAAAA;AAChC,IAAA,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAE5C,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAES,GAAG,EAAA,EAAI;QAACN,yBAAAA,CAAcV,QAAAA,CAAAA;QAAWW,4BAAAA,CAAiBP,YAAAA;AAAc,KAAA,CAAA;IAE/F,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,cAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMsE,kBAAAA,GAAqB,CAChCrF,SAAAA,GAAAA;AAEA,IAAA,MAAM,EAAEE,QAAQ,EAAEgD,QAAQ,EAAE,GAAGlD,SAAAA;IAE/B,MAAM8B,UAAAA,GAAaoB,WAAWzC,GAAAA,CAAEQ,KAAK,CAACR,GAAAA,CAAES,GAAG,EAAA,CAAA,GAAMT,GAAAA,CAAES,GAAG,EAAA;IAEtD,MAAMX,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QAAClB,yBAAAA,CAAcV,QAAAA;AAAU,KAAA,CAAA;IAElE,OAAOK,MAAAA,CAAOQ,QAAQ,CAAC,eAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAMuE,qBAAAA,GAAwB,CAACtF,SAAAA,GAAAA;IACpC,MAAM,EAAEE,QAAQ,EAAE,GAAGF,SAAAA;IAErB,MAAMuF,QAAAA,GAAWxB,qBAAAA,CAAUC,WAAW,CAAChE,SAAAA,CAAAA;AACvC,IAAA,MAAMwF,IAAAA,GAAO/E,GAAAA,CAAEC,MAAM,EAAA,CAAG8E,IAAI,EAAA;AAC5B,IAAA,MAAM1D,UAAAA,GAAayD,QAAAA,GAAW9E,GAAAA,CAAEQ,KAAK,CAACuE,IAAAA,CAAAA,GAAQA,IAAAA;IAE9C,MAAMjF,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QAAClB,yBAAAA,CAAcV,QAAAA;AAAU,KAAA,CAAA;IAElE,OAAOK,MAAAA,CAAOQ,QAAQ,CAAC,oBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM0E,iBAAAA,GAAoB,CAC/BzF,SAAAA,GAAAA;IAMA,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAEiC,SAAS,EAAEC,SAAS,EAAE,GAAGxC,SAAAA;AAElE,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;AACvC0B,QAAAA,2BAAAA,CAAgBG,SAAAA,EAAWC,SAAAA,CAAAA;QAC3B5B,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,CAAC,EAAE,EAAEf,SAAAA,CAAUkE,IAAI,CAAC,MAAM,CAAC,CAAA;AACpD;AAEA;;;;IAKO,MAAMwB,iBAAAA,GAAoB,CAAC1F,SAAAA,GAAAA;AAChC,IAAA,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;AAE5C,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;QACvCE,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,cAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM4E,sBAAAA,GAAyB,CAAC3F,SAAAA,GAAAA;AACrC,IAAA,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAE,GAAGN,SAAAA;IAE5C,MAAM8B,UAAAA,GAAarB,GAAAA,CAAE4D,KAAK,CAAC;AAAC5D,QAAAA,GAAAA,CAAEC,MAAM,EAAA;AAAID,QAAAA,GAAAA,CAAE0B,MAAM;AAAG,KAAA,CAAA;IAEnD,MAAM5B,MAAAA,GAASC,0BAAcsB,UAAAA,EAAY;QACvClB,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,mBAAA,CAAA;AACzB;AAEA;;;;IAKO,MAAM6E,gBAAAA,GAAmB,CAAC5F,SAAAA,GAAAA;IAC/B,MAAM,EAAEE,QAAQ,EAAEG,OAAAA,EAASC,YAAY,EAAEiC,SAAS,EAAEC,SAAS,EAAE,GAAGxC,SAAAA;AAElE,IAAA,MAAMO,MAAAA,GAASC,yBAAAA,CAAcC,GAAAA,CAAEC,MAAM,EAAA,EAAI;AACvC0B,QAAAA,2BAAAA,CAAgBG,SAAAA,EAAWC,SAAAA,CAAAA;QAC3B5B,yBAAAA,CAAcV,QAAAA,CAAAA;QACdW,4BAAAA,CAAiBP,YAAAA;AAClB,KAAA,CAAA;IAED,OAAOC,MAAAA,CAAOQ,QAAQ,CAAC,aAAA,CAAA;AACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -43,9 +43,9 @@ import { safeSchemaCreation } from './utils.mjs';
43
43
  * Converts a component attribute to a Zod schema.
44
44
  * @param attribute - The Component attribute object from the Strapi schema.
45
45
  * @returns A Zod schema representing the component field.
46
- */ const componentToSchema = (attribute)=>{
46
+ */ const componentToSchema = (strapi, attribute)=>{
47
47
  const { writable, required, min, max, component, repeatable } = attribute;
48
- const componentSchema = safeSchemaCreation(component, ()=>new CoreComponentRouteValidator(strapi, component).entry);
48
+ const componentSchema = safeSchemaCreation(strapi, component, ()=>new CoreComponentRouteValidator(strapi, component).entry);
49
49
  const baseSchema = repeatable ? z.array(componentSchema) : componentSchema;
50
50
  const schema = augmentSchema(baseSchema, [
51
51
  (schema)=>min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema,
@@ -184,12 +184,12 @@ import { safeSchemaCreation } from './utils.mjs';
184
184
  * Converts a media attribute to a Zod schema.
185
185
  * @param attribute - The Media attribute object from the Strapi schema.
186
186
  * @returns A Zod schema representing the media field.
187
- */ const mediaToSchema = (attribute)=>{
187
+ */ const mediaToSchema = (strapi, attribute)=>{
188
188
  const { writable, required, multiple } = attribute;
189
189
  const uploadPlugin = strapi.plugin('upload');
190
190
  // @ts-expect-error there is a mismatch between a raw module and a loader module
191
191
  const fileSchema = uploadPlugin.contentTypes.file;
192
- const mediaSchema = safeSchemaCreation(fileSchema.uid, ()=>new CoreContentTypeRouteValidator(strapi, fileSchema.uid).document);
192
+ const mediaSchema = safeSchemaCreation(strapi, fileSchema.uid, ()=>new CoreContentTypeRouteValidator(strapi, fileSchema.uid).document);
193
193
  const baseSchema = multiple ? z.array(mediaSchema) : mediaSchema;
194
194
  const schema = augmentSchema(baseSchema, [
195
195
  maybeRequired(required),
@@ -201,12 +201,12 @@ import { safeSchemaCreation } from './utils.mjs';
201
201
  * Converts a relation attribute to a Zod schema.
202
202
  * @param attribute - The Relation attribute object from the Strapi schema.
203
203
  * @returns A Zod schema representing the relational field.
204
- */ const relationToSchema = (attribute)=>{
204
+ */ const relationToSchema = (strapi, attribute)=>{
205
205
  if (!('target' in attribute)) {
206
206
  return z.any();
207
207
  }
208
208
  const { writable, required, target } = attribute;
209
- const targetSchema = safeSchemaCreation(target, ()=>new CoreContentTypeRouteValidator(strapi, target).document);
209
+ const targetSchema = safeSchemaCreation(strapi, target, ()=>new CoreContentTypeRouteValidator(strapi, target).document);
210
210
  const baseSchema = relations.isAnyToMany(attribute) ? z.array(targetSchema) : targetSchema;
211
211
  const schema = augmentSchema(baseSchema, [
212
212
  maybeRequired(required),
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.mjs","sources":["../../../../src/core-api/routes/validation/attributes.ts"],"sourcesContent":["/**\n * @file This module provides a set of functions to convert Strapi schema attributes into Zod schemas.\n * It handles various attribute types, including primitive types, components, dynamic zones, media, and relations.\n * The module also provides functions to create input schemas for these attributes, which are used for validation\n * of incoming data.\n */\n\nimport { type Schema, UID } from '@strapi/types';\n\nimport {\n relations,\n maybeRequired,\n maybeReadonly,\n maybeWithDefault,\n maybeWithMinMax,\n augmentSchema,\n} from '@strapi/utils';\nimport { z } from 'zod/v4';\n\nimport { BOOLEAN_LITERAL_VALUES } from './constants';\n\n// eslint-disable-next-line import/no-cycle\nimport { CoreComponentRouteValidator } from './component';\nimport { CoreContentTypeRouteValidator } from './content-type';\n\nimport { safeSchemaCreation } from './utils';\n\n/**\n * Converts a BigInteger attribute to a Zod schema.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema representing the BigInteger field.\n */\nexport const bigIntegerToSchema = (attribute: Schema.Attribute.BigInteger): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema.\n * @returns A Zod schema representing the blocks field.\n */\nexport const blocksToSchema = (): z.Schema => {\n return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema representing the boolean field.\n */\nexport const booleanToSchema = (attribute: Schema.Attribute.Boolean): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.boolean().nullable(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema representing the component field.\n */\nexport const componentToSchema = (\n attribute: Schema.Attribute.Component<UID.Component, boolean>\n): z.Schema => {\n const { writable, required, min, max, component, repeatable } = attribute;\n\n const componentSchema = safeSchemaCreation(\n component,\n () => new CoreComponentRouteValidator(strapi, component).entry\n ) as z.ZodType;\n\n const baseSchema = repeatable ? z.array(componentSchema) : componentSchema;\n\n const schema = augmentSchema(baseSchema, [\n (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n maybeRequired(required),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema representing the date field.\n */\nexport const dateToSchema = (attribute: Schema.Attribute.Date): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema representing the datetime field.\n */\nexport const datetimeToSchema = (attribute: Schema.Attribute.DateTime): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema representing the decimal field.\n */\nexport const decimalToSchema = (attribute: Schema.Attribute.Decimal): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema representing the dynamic zone field.\n */\nexport const dynamicZoneToSchema = (attribute: Schema.Attribute.DynamicZone): z.Schema => {\n const { writable, required, min, max } = attribute;\n\n const baseSchema = z.array(z.any());\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema representing the email field.\n */\nexport const emailToSchema = (attribute: Schema.Attribute.Email): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const baseSchema = z.email();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema representing the enumeration field.\n */\nexport const enumToSchema = (attribute: Schema.Attribute.Enumeration<string[]>): z.Schema => {\n const { writable, required, default: defaultValue, enum: enumValues } = attribute;\n\n const baseSchema = z.enum(enumValues);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema representing the float field.\n */\nexport const floatToSchema = (attribute: Schema.Attribute.Float): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema representing the integer field.\n */\nexport const integerToSchema = (attribute: Schema.Attribute.Integer): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const baseSchema = z.number().int();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An integer field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema representing the JSON field.\n */\nexport const jsonToSchema = (attribute: Schema.Attribute.JSON): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.any(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema representing the media field.\n */\nexport const mediaToSchema = (\n attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n): z.Schema => {\n const { writable, required, multiple } = attribute;\n\n const uploadPlugin = strapi.plugin('upload');\n\n // @ts-expect-error there is a mismatch between a raw module and a loader module\n const fileSchema = uploadPlugin.contentTypes.file as Struct.ContentTypeSchema;\n\n const mediaSchema = safeSchemaCreation(\n fileSchema.uid,\n () => new CoreContentTypeRouteValidator(strapi, fileSchema.uid).document\n ) as z.ZodType;\n\n const baseSchema = multiple ? z.array(mediaSchema) : mediaSchema;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema representing the relational field.\n */\nexport const relationToSchema = (attribute: Schema.Attribute.Relation): z.Schema => {\n if (!('target' in attribute)) {\n return z.any();\n }\n\n const { writable, required, target } = attribute as Schema.Attribute.RelationWithTarget;\n\n const targetSchema = safeSchemaCreation(\n target,\n () => new CoreContentTypeRouteValidator(strapi, target).document\n ) as z.ZodType;\n\n const baseSchema = relations.isAnyToMany(attribute) ? z.array(targetSchema) : targetSchema;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema representing the field.\n */\nexport const stringToSchema = (\n attribute:\n | Schema.Attribute.String\n | Schema.Attribute.Text\n | Schema.Attribute.RichText\n | Schema.Attribute.Password\n): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema representing the time field.\n */\nexport const timeToSchema = (attribute: Schema.Attribute.Time): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema representing the timestamp field.\n */\nexport const timestampToSchema = (attribute: Schema.Attribute.Timestamp): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const baseSchema = z.union([z.string(), z.number()]);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema representing the UID field.\n */\nexport const uidToSchema = (attribute: Schema.Attribute.UID): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A UID field');\n};\n\n/**\n * Converts a BigInteger attribute to a Zod schema for input validation.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the BigInteger field.\n */\nexport const bigIntegerToInputSchema = (attribute: Schema.Attribute.BigInteger) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema for input validation.\n * @returns A Zod schema for input validation of the blocks field.\n */\nexport const blocksToInputSchema = () => {\n // TODO: better support blocks data structure\n return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema for input validation.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the boolean field.\n */\nexport const booleanToInputSchema = (attribute: Schema.Attribute.Boolean) => {\n const { required, default: defaultValue } = attribute;\n\n const baseSchema = z.enum(BOOLEAN_LITERAL_VALUES).nullable();\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema for input validation.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the component field.\n */\nexport const componentToInputSchema = (\n attribute: Schema.Attribute.Component<UID.Component, boolean>\n) => {\n const { required, repeatable, min, max } = attribute;\n\n const baseSchema = repeatable ? z.array(z.any()) : z.any();\n\n const schema = augmentSchema(baseSchema, [\n (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n maybeRequired(required),\n ]);\n\n return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema for input validation.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the date field.\n */\nexport const dateToInputSchema = (attribute: Schema.Attribute.Date) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema for input validation.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the datetime field.\n */\nexport const datetimeToInputSchema = (attribute: Schema.Attribute.DateTime) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema for input validation.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the decimal field.\n */\nexport const decimalToInputSchema = (attribute: Schema.Attribute.Decimal) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema for input validation.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the dynamic zone field.\n */\nexport const dynamicZoneToInputSchema = (attribute: Schema.Attribute.DynamicZone) => {\n const { required, min, max } = attribute;\n\n const baseSchema = z.array(z.any());\n\n const schema = augmentSchema(baseSchema, [maybeWithMinMax(min, max), maybeRequired(required)]);\n\n return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema for input validation.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the email field.\n */\nexport const emailToInputSchema = (attribute: Schema.Attribute.Email) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const baseSchema = z.email();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema for input validation.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the enumeration field.\n */\nexport const enumerationToInputSchema = (attribute: Schema.Attribute.Enumeration<string[]>) => {\n const { required, default: defaultValue, enum: enumValues } = attribute;\n\n const baseSchema = z.enum(enumValues);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema for input validation.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the float field.\n */\nexport const floatToInputSchema = (attribute: Schema.Attribute.Float) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema for input validation.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the integer field.\n */\nexport const integerToInputSchema = (attribute: Schema.Attribute.Integer) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const baseSchema = z.number().int();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema for input validation.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the JSON field.\n */\nexport const jsonToInputSchema = (attribute: Schema.Attribute.JSON) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.any(), [maybeRequired(required), maybeWithDefault(defaultValue)]);\n\n return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema for input validation.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the media field.\n */\nexport const mediaToInputSchema = (\n attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n) => {\n const { required, multiple } = attribute;\n\n const baseSchema = multiple ? z.array(z.any()) : z.any();\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema for input validation.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the relational field.\n */\nexport const relationToInputSchema = (attribute: Schema.Attribute.Relation) => {\n const { required } = attribute;\n\n const isToMany = relations.isAnyToMany(attribute);\n const uuid = z.string().uuid();\n const baseSchema = isToMany ? z.array(uuid) : uuid;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema for input validation.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the field.\n */\nexport const textToInputSchema = (\n attribute:\n | Schema.Attribute.String\n | Schema.Attribute.Text\n | Schema.Attribute.RichText\n | Schema.Attribute.Password\n) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema for input validation.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the time field.\n */\nexport const timeToInputSchema = (attribute: Schema.Attribute.Time) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema for input validation.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the timestamp field.\n */\nexport const timestampToInputSchema = (attribute: Schema.Attribute.Timestamp) => {\n const { required, default: defaultValue } = attribute;\n\n const baseSchema = z.union([z.string(), z.number()]);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema for input validation.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the UID field.\n */\nexport const uidToInputSchema = (attribute: Schema.Attribute.UID) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A UID field');\n};\n"],"names":["bigIntegerToSchema","attribute","writable","required","min","max","default","defaultValue","schema","augmentSchema","z","string","undefined","maybeRequired","maybeWithDefault","maybeReadonly","describe","blocksToSchema","array","any","booleanToSchema","boolean","nullable","componentToSchema","component","repeatable","componentSchema","safeSchemaCreation","CoreComponentRouteValidator","strapi","entry","baseSchema","ZodArray","dateToSchema","datetimeToSchema","decimalToSchema","number","maybeWithMinMax","dynamicZoneToSchema","emailToSchema","minLength","maxLength","email","enumToSchema","enum","enumValues","floatToSchema","integerToSchema","int","jsonToSchema","mediaToSchema","multiple","uploadPlugin","plugin","fileSchema","contentTypes","file","mediaSchema","uid","CoreContentTypeRouteValidator","document","relationToSchema","target","targetSchema","relations","isAnyToMany","stringToSchema","type","timeToSchema","timestampToSchema","union","uidToSchema","bigIntegerToInputSchema","blocksToInputSchema","booleanToInputSchema","BOOLEAN_LITERAL_VALUES","componentToInputSchema","dateToInputSchema","datetimeToInputSchema","decimalToInputSchema","dynamicZoneToInputSchema","emailToInputSchema","enumerationToInputSchema","floatToInputSchema","integerToInputSchema","jsonToInputSchema","mediaToInputSchema","relationToInputSchema","isToMany","uuid","textToInputSchema","timeToInputSchema","timestampToInputSchema","uidToInputSchema"],"mappings":"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"}
1
+ {"version":3,"file":"attributes.mjs","sources":["../../../../src/core-api/routes/validation/attributes.ts"],"sourcesContent":["/**\n * @file This module provides a set of functions to convert Strapi schema attributes into Zod schemas.\n * It handles various attribute types, including primitive types, components, dynamic zones, media, and relations.\n * The module also provides functions to create input schemas for these attributes, which are used for validation\n * of incoming data.\n */\n\nimport { type Core, type Schema, UID } from '@strapi/types';\n\nimport {\n relations,\n maybeRequired,\n maybeReadonly,\n maybeWithDefault,\n maybeWithMinMax,\n augmentSchema,\n} from '@strapi/utils';\nimport { z } from 'zod/v4';\n\nimport { BOOLEAN_LITERAL_VALUES } from './constants';\n\n// eslint-disable-next-line import/no-cycle\nimport { CoreComponentRouteValidator } from './component';\nimport { CoreContentTypeRouteValidator } from './content-type';\n\nimport { safeSchemaCreation } from './utils';\n\n/**\n * Converts a BigInteger attribute to a Zod schema.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema representing the BigInteger field.\n */\nexport const bigIntegerToSchema = (attribute: Schema.Attribute.BigInteger): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema.\n * @returns A Zod schema representing the blocks field.\n */\nexport const blocksToSchema = (): z.Schema => {\n return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema representing the boolean field.\n */\nexport const booleanToSchema = (attribute: Schema.Attribute.Boolean): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.boolean().nullable(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema representing the component field.\n */\nexport const componentToSchema = (\n strapi: Core.Strapi,\n attribute: Schema.Attribute.Component<UID.Component, boolean>\n): z.Schema => {\n const { writable, required, min, max, component, repeatable } = attribute;\n\n const componentSchema = safeSchemaCreation(\n strapi,\n component,\n () => new CoreComponentRouteValidator(strapi, component).entry\n ) as z.ZodType;\n\n const baseSchema = repeatable ? z.array(componentSchema) : componentSchema;\n\n const schema = augmentSchema(baseSchema, [\n (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n maybeRequired(required),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema representing the date field.\n */\nexport const dateToSchema = (attribute: Schema.Attribute.Date): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema representing the datetime field.\n */\nexport const datetimeToSchema = (attribute: Schema.Attribute.DateTime): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema representing the decimal field.\n */\nexport const decimalToSchema = (attribute: Schema.Attribute.Decimal): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema representing the dynamic zone field.\n */\nexport const dynamicZoneToSchema = (attribute: Schema.Attribute.DynamicZone): z.Schema => {\n const { writable, required, min, max } = attribute;\n\n const baseSchema = z.array(z.any());\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema representing the email field.\n */\nexport const emailToSchema = (attribute: Schema.Attribute.Email): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const baseSchema = z.email();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema representing the enumeration field.\n */\nexport const enumToSchema = (attribute: Schema.Attribute.Enumeration<string[]>): z.Schema => {\n const { writable, required, default: defaultValue, enum: enumValues } = attribute;\n\n const baseSchema = z.enum(enumValues);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema representing the float field.\n */\nexport const floatToSchema = (attribute: Schema.Attribute.Float): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema representing the integer field.\n */\nexport const integerToSchema = (attribute: Schema.Attribute.Integer): z.Schema => {\n const { writable, required, min, max, default: defaultValue } = attribute;\n\n const baseSchema = z.number().int();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeReadonly(writable),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An integer field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema representing the JSON field.\n */\nexport const jsonToSchema = (attribute: Schema.Attribute.JSON): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.any(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema representing the media field.\n */\nexport const mediaToSchema = (\n strapi: Core.Strapi,\n attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n): z.Schema => {\n const { writable, required, multiple } = attribute;\n\n const uploadPlugin = strapi.plugin('upload');\n\n // @ts-expect-error there is a mismatch between a raw module and a loader module\n const fileSchema = uploadPlugin.contentTypes.file as Struct.ContentTypeSchema;\n\n const mediaSchema = safeSchemaCreation(\n strapi,\n fileSchema.uid,\n () => new CoreContentTypeRouteValidator(strapi, fileSchema.uid).document\n ) as z.ZodType;\n\n const baseSchema = multiple ? z.array(mediaSchema) : mediaSchema;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema representing the relational field.\n */\nexport const relationToSchema = (\n strapi: Core.Strapi,\n attribute: Schema.Attribute.Relation\n): z.Schema => {\n if (!('target' in attribute)) {\n return z.any();\n }\n\n const { writable, required, target } = attribute as Schema.Attribute.RelationWithTarget;\n\n const targetSchema = safeSchemaCreation(\n strapi,\n target,\n () => new CoreContentTypeRouteValidator(strapi, target).document\n ) as z.ZodType;\n\n const baseSchema = relations.isAnyToMany(attribute) ? z.array(targetSchema) : targetSchema;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema representing the field.\n */\nexport const stringToSchema = (\n attribute:\n | Schema.Attribute.String\n | Schema.Attribute.Text\n | Schema.Attribute.RichText\n | Schema.Attribute.Password\n): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema representing the time field.\n */\nexport const timeToSchema = (attribute: Schema.Attribute.Time): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema representing the timestamp field.\n */\nexport const timestampToSchema = (attribute: Schema.Attribute.Timestamp): z.Schema => {\n const { writable, required, default: defaultValue } = attribute;\n\n const baseSchema = z.union([z.string(), z.number()]);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema representing the UID field.\n */\nexport const uidToSchema = (attribute: Schema.Attribute.UID): z.Schema => {\n const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n maybeReadonly(writable),\n ]);\n\n return schema.describe('A UID field');\n};\n\n/**\n * Converts a BigInteger attribute to a Zod schema for input validation.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the BigInteger field.\n */\nexport const bigIntegerToInputSchema = (attribute: Schema.Attribute.BigInteger) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema for input validation.\n * @returns A Zod schema for input validation of the blocks field.\n */\nexport const blocksToInputSchema = () => {\n // TODO: better support blocks data structure\n return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema for input validation.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the boolean field.\n */\nexport const booleanToInputSchema = (attribute: Schema.Attribute.Boolean) => {\n const { required, default: defaultValue } = attribute;\n\n const baseSchema = z.enum(BOOLEAN_LITERAL_VALUES).nullable();\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema for input validation.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the component field.\n */\nexport const componentToInputSchema = (\n attribute: Schema.Attribute.Component<UID.Component, boolean>\n) => {\n const { required, repeatable, min, max } = attribute;\n\n const baseSchema = repeatable ? z.array(z.any()) : z.any();\n\n const schema = augmentSchema(baseSchema, [\n (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n maybeRequired(required),\n ]);\n\n return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema for input validation.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the date field.\n */\nexport const dateToInputSchema = (attribute: Schema.Attribute.Date) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema for input validation.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the datetime field.\n */\nexport const datetimeToInputSchema = (attribute: Schema.Attribute.DateTime) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema for input validation.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the decimal field.\n */\nexport const decimalToInputSchema = (attribute: Schema.Attribute.Decimal) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema for input validation.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the dynamic zone field.\n */\nexport const dynamicZoneToInputSchema = (attribute: Schema.Attribute.DynamicZone) => {\n const { required, min, max } = attribute;\n\n const baseSchema = z.array(z.any());\n\n const schema = augmentSchema(baseSchema, [maybeWithMinMax(min, max), maybeRequired(required)]);\n\n return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema for input validation.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the email field.\n */\nexport const emailToInputSchema = (attribute: Schema.Attribute.Email) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const baseSchema = z.email();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema for input validation.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the enumeration field.\n */\nexport const enumerationToInputSchema = (attribute: Schema.Attribute.Enumeration<string[]>) => {\n const { required, default: defaultValue, enum: enumValues } = attribute;\n\n const baseSchema = z.enum(enumValues);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema for input validation.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the float field.\n */\nexport const floatToInputSchema = (attribute: Schema.Attribute.Float) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.number(), [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema for input validation.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the integer field.\n */\nexport const integerToInputSchema = (attribute: Schema.Attribute.Integer) => {\n const { required, min, max, default: defaultValue } = attribute;\n\n const baseSchema = z.number().int();\n\n const schema = augmentSchema(baseSchema, [\n maybeWithMinMax(min, max),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A float field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema for input validation.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the JSON field.\n */\nexport const jsonToInputSchema = (attribute: Schema.Attribute.JSON) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.any(), [maybeRequired(required), maybeWithDefault(defaultValue)]);\n\n return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema for input validation.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the media field.\n */\nexport const mediaToInputSchema = (\n attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n) => {\n const { required, multiple } = attribute;\n\n const baseSchema = multiple ? z.array(z.any()) : z.any();\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema for input validation.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the relational field.\n */\nexport const relationToInputSchema = (attribute: Schema.Attribute.Relation) => {\n const { required } = attribute;\n\n const isToMany = relations.isAnyToMany(attribute);\n const uuid = z.string().uuid();\n const baseSchema = isToMany ? z.array(uuid) : uuid;\n\n const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema for input validation.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the field.\n */\nexport const textToInputSchema = (\n attribute:\n | Schema.Attribute.String\n | Schema.Attribute.Text\n | Schema.Attribute.RichText\n | Schema.Attribute.Password\n) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema for input validation.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the time field.\n */\nexport const timeToInputSchema = (attribute: Schema.Attribute.Time) => {\n const { required, default: defaultValue } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema for input validation.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the timestamp field.\n */\nexport const timestampToInputSchema = (attribute: Schema.Attribute.Timestamp) => {\n const { required, default: defaultValue } = attribute;\n\n const baseSchema = z.union([z.string(), z.number()]);\n\n const schema = augmentSchema(baseSchema, [\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema for input validation.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the UID field.\n */\nexport const uidToInputSchema = (attribute: Schema.Attribute.UID) => {\n const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n const schema = augmentSchema(z.string(), [\n maybeWithMinMax(minLength, maxLength),\n maybeRequired(required),\n maybeWithDefault(defaultValue),\n ]);\n\n return schema.describe('A UID field');\n};\n"],"names":["bigIntegerToSchema","attribute","writable","required","min","max","default","defaultValue","schema","augmentSchema","z","string","undefined","maybeRequired","maybeWithDefault","maybeReadonly","describe","blocksToSchema","array","any","booleanToSchema","boolean","nullable","componentToSchema","strapi","component","repeatable","componentSchema","safeSchemaCreation","CoreComponentRouteValidator","entry","baseSchema","ZodArray","dateToSchema","datetimeToSchema","decimalToSchema","number","maybeWithMinMax","dynamicZoneToSchema","emailToSchema","minLength","maxLength","email","enumToSchema","enum","enumValues","floatToSchema","integerToSchema","int","jsonToSchema","mediaToSchema","multiple","uploadPlugin","plugin","fileSchema","contentTypes","file","mediaSchema","uid","CoreContentTypeRouteValidator","document","relationToSchema","target","targetSchema","relations","isAnyToMany","stringToSchema","type","timeToSchema","timestampToSchema","union","uidToSchema","bigIntegerToInputSchema","blocksToInputSchema","booleanToInputSchema","BOOLEAN_LITERAL_VALUES","componentToInputSchema","dateToInputSchema","datetimeToInputSchema","decimalToInputSchema","dynamicZoneToInputSchema","emailToInputSchema","enumerationToInputSchema","floatToInputSchema","integerToInputSchema","jsonToInputSchema","mediaToInputSchema","relationToInputSchema","isToMany","uuid","textToInputSchema","timeToInputSchema","timestampToInputSchema","uidToInputSchema"],"mappings":"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"}
@@ -37,7 +37,7 @@ var common = require('./common.js');
37
37
  ..._scalarFields,
38
38
  ..._populatableFields
39
39
  });
40
- return mappers.createAttributesSchema(entries);
40
+ return mappers.createAttributesSchema(this._strapi, entries);
41
41
  }
42
42
  }
43
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/core-api/routes/validation/component.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\n\n// eslint-disable-next-line import/no-cycle\nimport { createAttributesSchema } from './mappers';\nimport { AbstractCoreRouteValidator } from './common';\n\n/**\n * A component validator for core content-type routes.\n *\n * Provides validation schemas and utilities for handling component-specific validation in content-type routes.\n *\n * @example\n * ```ts\n * const strapi = // ... strapi instance\n * const uid = 'api::article.article'\n * const validator = new CoreComponentRouteValidator(strapi, uid);\n *\n * // Get validation schema for a component entry\n * const componentSchema = validator.component;\n * ```\n */\nexport class CoreComponentRouteValidator extends AbstractCoreRouteValidator<UID.Component> {\n /**\n * Generates a comprehensive validation schema for a single component entry.\n *\n * Combines scalar fields and populatable fields into a single schema.\n *\n * @returns A schema for validating complete entries\n *\n * @example\n * ```ts\n * const validator = new CoreComponentRouteValidator(strapi, uid);\n * const entrySchema = validator.entry;\n * ```\n */\n get entry() {\n const { _scalarFields, _populatableFields } = this;\n\n const entries = Object.entries({ ..._scalarFields, ..._populatableFields });\n\n return createAttributesSchema(entries);\n }\n}\n"],"names":["CoreComponentRouteValidator","AbstractCoreRouteValidator","entry","_scalarFields","_populatableFields","entries","Object","createAttributesSchema"],"mappings":";;;;;AAEA;AAIA;;;;;;;;;;;;;;IAeO,MAAMA,2BAAAA,SAAoCC,iCAAAA,CAAAA;AAC/C;;;;;;;;;;;;AAYC,MACD,IAAIC,KAAAA,GAAQ;AACV,QAAA,MAAM,EAAEC,aAAa,EAAEC,kBAAkB,EAAE,GAAG,IAAI;QAElD,MAAMC,OAAAA,GAAUC,MAAAA,CAAOD,OAAO,CAAC;AAAE,YAAA,GAAGF,aAAa;AAAE,YAAA,GAAGC;AAAmB,SAAA,CAAA;AAEzE,QAAA,OAAOG,8BAAAA,CAAuBF,OAAAA,CAAAA;AAChC,IAAA;AACF;;;;"}
1
+ {"version":3,"file":"component.js","sources":["../../../../src/core-api/routes/validation/component.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\n\n// eslint-disable-next-line import/no-cycle\nimport { createAttributesSchema } from './mappers';\nimport { AbstractCoreRouteValidator } from './common';\n\n/**\n * A component validator for core content-type routes.\n *\n * Provides validation schemas and utilities for handling component-specific validation in content-type routes.\n *\n * @example\n * ```ts\n * const strapi = // ... strapi instance\n * const uid = 'api::article.article'\n * const validator = new CoreComponentRouteValidator(strapi, uid);\n *\n * // Get validation schema for a component entry\n * const componentSchema = validator.component;\n * ```\n */\nexport class CoreComponentRouteValidator extends AbstractCoreRouteValidator<UID.Component> {\n /**\n * Generates a comprehensive validation schema for a single component entry.\n *\n * Combines scalar fields and populatable fields into a single schema.\n *\n * @returns A schema for validating complete entries\n *\n * @example\n * ```ts\n * const validator = new CoreComponentRouteValidator(strapi, uid);\n * const entrySchema = validator.entry;\n * ```\n */\n get entry() {\n const { _scalarFields, _populatableFields } = this;\n\n const entries = Object.entries({ ..._scalarFields, ..._populatableFields });\n\n return createAttributesSchema(this._strapi, entries);\n }\n}\n"],"names":["CoreComponentRouteValidator","AbstractCoreRouteValidator","entry","_scalarFields","_populatableFields","entries","Object","createAttributesSchema","_strapi"],"mappings":";;;;;AAEA;AAIA;;;;;;;;;;;;;;IAeO,MAAMA,2BAAAA,SAAoCC,iCAAAA,CAAAA;AAC/C;;;;;;;;;;;;AAYC,MACD,IAAIC,KAAAA,GAAQ;AACV,QAAA,MAAM,EAAEC,aAAa,EAAEC,kBAAkB,EAAE,GAAG,IAAI;QAElD,MAAMC,OAAAA,GAAUC,MAAAA,CAAOD,OAAO,CAAC;AAAE,YAAA,GAAGF,aAAa;AAAE,YAAA,GAAGC;AAAmB,SAAA,CAAA;AAEzE,QAAA,OAAOG,8BAAAA,CAAuB,IAAI,CAACC,OAAO,EAAEH,OAAAA,CAAAA;AAC9C,IAAA;AACF;;;;"}
@@ -35,7 +35,7 @@ import { AbstractCoreRouteValidator } from './common.mjs';
35
35
  ..._scalarFields,
36
36
  ..._populatableFields
37
37
  });
38
- return createAttributesSchema(entries);
38
+ return createAttributesSchema(this._strapi, entries);
39
39
  }
40
40
  }
41
41
 
@@ -1 +1 @@
1
- {"version":3,"file":"component.mjs","sources":["../../../../src/core-api/routes/validation/component.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\n\n// eslint-disable-next-line import/no-cycle\nimport { createAttributesSchema } from './mappers';\nimport { AbstractCoreRouteValidator } from './common';\n\n/**\n * A component validator for core content-type routes.\n *\n * Provides validation schemas and utilities for handling component-specific validation in content-type routes.\n *\n * @example\n * ```ts\n * const strapi = // ... strapi instance\n * const uid = 'api::article.article'\n * const validator = new CoreComponentRouteValidator(strapi, uid);\n *\n * // Get validation schema for a component entry\n * const componentSchema = validator.component;\n * ```\n */\nexport class CoreComponentRouteValidator extends AbstractCoreRouteValidator<UID.Component> {\n /**\n * Generates a comprehensive validation schema for a single component entry.\n *\n * Combines scalar fields and populatable fields into a single schema.\n *\n * @returns A schema for validating complete entries\n *\n * @example\n * ```ts\n * const validator = new CoreComponentRouteValidator(strapi, uid);\n * const entrySchema = validator.entry;\n * ```\n */\n get entry() {\n const { _scalarFields, _populatableFields } = this;\n\n const entries = Object.entries({ ..._scalarFields, ..._populatableFields });\n\n return createAttributesSchema(entries);\n }\n}\n"],"names":["CoreComponentRouteValidator","AbstractCoreRouteValidator","entry","_scalarFields","_populatableFields","entries","Object","createAttributesSchema"],"mappings":";;;AAEA;AAIA;;;;;;;;;;;;;;IAeO,MAAMA,2BAAAA,SAAoCC,0BAAAA,CAAAA;AAC/C;;;;;;;;;;;;AAYC,MACD,IAAIC,KAAAA,GAAQ;AACV,QAAA,MAAM,EAAEC,aAAa,EAAEC,kBAAkB,EAAE,GAAG,IAAI;QAElD,MAAMC,OAAAA,GAAUC,MAAAA,CAAOD,OAAO,CAAC;AAAE,YAAA,GAAGF,aAAa;AAAE,YAAA,GAAGC;AAAmB,SAAA,CAAA;AAEzE,QAAA,OAAOG,sBAAAA,CAAuBF,OAAAA,CAAAA;AAChC,IAAA;AACF;;;;"}
1
+ {"version":3,"file":"component.mjs","sources":["../../../../src/core-api/routes/validation/component.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\n\n// eslint-disable-next-line import/no-cycle\nimport { createAttributesSchema } from './mappers';\nimport { AbstractCoreRouteValidator } from './common';\n\n/**\n * A component validator for core content-type routes.\n *\n * Provides validation schemas and utilities for handling component-specific validation in content-type routes.\n *\n * @example\n * ```ts\n * const strapi = // ... strapi instance\n * const uid = 'api::article.article'\n * const validator = new CoreComponentRouteValidator(strapi, uid);\n *\n * // Get validation schema for a component entry\n * const componentSchema = validator.component;\n * ```\n */\nexport class CoreComponentRouteValidator extends AbstractCoreRouteValidator<UID.Component> {\n /**\n * Generates a comprehensive validation schema for a single component entry.\n *\n * Combines scalar fields and populatable fields into a single schema.\n *\n * @returns A schema for validating complete entries\n *\n * @example\n * ```ts\n * const validator = new CoreComponentRouteValidator(strapi, uid);\n * const entrySchema = validator.entry;\n * ```\n */\n get entry() {\n const { _scalarFields, _populatableFields } = this;\n\n const entries = Object.entries({ ..._scalarFields, ..._populatableFields });\n\n return createAttributesSchema(this._strapi, entries);\n }\n}\n"],"names":["CoreComponentRouteValidator","AbstractCoreRouteValidator","entry","_scalarFields","_populatableFields","entries","Object","createAttributesSchema","_strapi"],"mappings":";;;AAEA;AAIA;;;;;;;;;;;;;;IAeO,MAAMA,2BAAAA,SAAoCC,0BAAAA,CAAAA;AAC/C;;;;;;;;;;;;AAYC,MACD,IAAIC,KAAAA,GAAQ;AACV,QAAA,MAAM,EAAEC,aAAa,EAAEC,kBAAkB,EAAE,GAAG,IAAI;QAElD,MAAMC,OAAAA,GAAUC,MAAAA,CAAOD,OAAO,CAAC;AAAE,YAAA,GAAGF,aAAa;AAAE,YAAA,GAAGC;AAAmB,SAAA,CAAA;AAEzE,QAAA,OAAOG,sBAAAA,CAAuB,IAAI,CAACC,OAAO,EAAEH,OAAAA,CAAAA;AAC9C,IAAA;AACF;;;;"}