@strapi/content-type-builder 5.22.0 → 5.23.0

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 (38) hide show
  1. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +86 -84
  2. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  3. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +87 -85
  4. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  5. package/dist/admin/components/DataManager/DataManagerProvider.js +11 -5
  6. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
  7. package/dist/admin/components/DataManager/DataManagerProvider.mjs +12 -6
  8. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
  9. package/dist/admin/components/FormModal/FormModal.js +7 -0
  10. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  11. package/dist/admin/components/FormModal/FormModal.mjs +8 -1
  12. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  13. package/dist/admin/components/FormModal/forms/forms.js +20 -0
  14. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  15. package/dist/admin/components/FormModal/forms/forms.mjs +20 -0
  16. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  17. package/dist/admin/components/List.js +10 -8
  18. package/dist/admin/components/List.js.map +1 -1
  19. package/dist/admin/components/List.mjs +11 -9
  20. package/dist/admin/components/List.mjs.map +1 -1
  21. package/dist/admin/components/TabForm.js +1 -1
  22. package/dist/admin/components/TabForm.js.map +1 -1
  23. package/dist/admin/components/TabForm.mjs +1 -1
  24. package/dist/admin/components/TabForm.mjs.map +1 -1
  25. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  26. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  27. package/dist/server/routes/content-api.js +52 -54
  28. package/dist/server/routes/content-api.js.map +1 -1
  29. package/dist/server/routes/content-api.mjs +52 -54
  30. package/dist/server/routes/content-api.mjs.map +1 -1
  31. package/dist/server/routes/index.mjs +2 -2
  32. package/dist/server/src/index.d.ts +4 -1
  33. package/dist/server/src/index.d.ts.map +1 -1
  34. package/dist/server/src/routes/content-api.d.ts +5 -2
  35. package/dist/server/src/routes/content-api.d.ts.map +1 -1
  36. package/dist/server/src/routes/index.d.ts +4 -1
  37. package/dist/server/src/routes/index.d.ts.map +1 -1
  38. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.mjs","sources":["../../../../admin/src/pages/ListView/ListView.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\nimport { useTracking, Layouts, tours } from '@strapi/admin/strapi-admin';\nimport { Box, Button, Flex, Typography } from '@strapi/design-system';\nimport { Information, Pencil, Plus } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../../components/DataManager/useDataManager';\nimport { useFormModalNavigation } from '../../components/FormModalNavigation/useFormModalNavigation';\nimport { List } from '../../components/List';\nimport { getTrad } from '../../utils/getTrad';\n\nimport { LinkToCMSettingsView } from './LinkToCMSettingsView';\n\nimport type { Internal } from '@strapi/types';\n\nconst LayoutsHeaderCustom = styled(Layouts.Header)`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst ListView = () => {\n const { isInDevelopmentMode, contentTypes, components, isLoading } = useDataManager();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const { contentTypeUid, componentUid } = useParams<{\n contentTypeUid: Internal.UID.ContentType;\n componentUid: Internal.UID.Component;\n }>();\n\n const { onOpenModalAddComponentsToDZ, onOpenModalAddField, onOpenModalEditSchema } =\n useFormModalNavigation();\n\n const type = contentTypeUid\n ? contentTypes[contentTypeUid]\n : componentUid\n ? components[componentUid]\n : null;\n\n if (isLoading) {\n return null;\n }\n\n if (!type) {\n const allowedEndpoints = Object.values(contentTypes)\n .filter((ct) => ct.visible === true && !ct.plugin)\n .map((ct) => ct.uid)\n .sort();\n\n if (allowedEndpoints.length > 0) {\n return <Navigate to={`/plugins/content-type-builder/content-types/${allowedEndpoints[0]}`} />;\n }\n\n return <Navigate to=\"/plugins/content-type-builder/content-types/create-content-type\" />;\n }\n\n const isFromPlugin = 'plugin' in type && type?.plugin !== undefined;\n\n const forTarget = contentTypeUid ? 'contentType' : 'component';\n\n const label = type?.info?.displayName ?? '';\n\n const canEdit = isInDevelopmentMode && !isFromPlugin;\n\n const handleClickAddComponentToDZ = (dynamicZoneTarget?: string) => {\n onOpenModalAddComponentsToDZ({ dynamicZoneTarget, targetUid: type.uid });\n };\n\n const onEdit = () => {\n if ('kind' in type) {\n if (type?.kind === 'collectionType') {\n trackUsage('willEditNameOfContentType');\n }\n\n if (type?.kind === 'singleType') {\n trackUsage('willEditNameOfSingleType');\n }\n\n onOpenModalEditSchema({\n modalType: forTarget,\n forTarget: forTarget,\n targetUid: type.uid,\n kind: type?.kind,\n });\n\n return;\n }\n\n onOpenModalEditSchema({\n modalType: forTarget,\n forTarget: forTarget,\n targetUid: type.uid,\n });\n };\n\n const addNewFieldLabel = formatMessage({\n id: getTrad('table.button.no-fields'),\n defaultMessage: 'Add new field',\n });\n\n const addAnotherFieldLabel = formatMessage({\n id: getTrad('button.attributes.add.another'),\n defaultMessage: 'Add another field',\n });\n\n const isDeleted = type.status === 'REMOVED';\n\n const primaryAction = isInDevelopmentMode && (\n <Flex gap={2}>\n <LinkToCMSettingsView\n key=\"link-to-cm-settings-view\"\n type={type}\n disabled={type.status === 'NEW' || isDeleted}\n />\n <Button\n startIcon={<Pencil />}\n variant=\"tertiary\"\n onClick={onEdit}\n disabled={!canEdit || isDeleted}\n >\n {formatMessage({\n id: 'app.utils.edit',\n defaultMessage: 'Edit',\n })}\n </Button>\n <Button\n startIcon={<Plus />}\n variant=\"secondary\"\n minWidth=\"max-content\"\n onClick={() => {\n onOpenModalAddField({ forTarget, targetUid: type.uid });\n }}\n disabled={isDeleted}\n >\n {type.attributes.length === 0 ? addNewFieldLabel : addAnotherFieldLabel}\n </Button>\n </Flex>\n );\n\n return (\n <>\n <tours.contentTypeBuilder.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentTypeBuilder.Introduction>\n {isDeleted && (\n <Flex background=\"danger100\" justifyContent={'center'} padding={4}>\n <Flex gap={2}>\n <Information fill=\"danger600\" height=\"2rem\" width=\"2rem\" />\n <Typography>\n {formatMessage(\n {\n id: getTrad('table.warning.deleted'),\n defaultMessage: `This {kind} has been deleted`,\n },\n {\n kind: type.modelType === 'contentType' ? 'Content Type' : 'Component',\n }\n )}\n </Typography>\n </Flex>\n </Flex>\n )}\n <LayoutsHeaderCustom id=\"title\" primaryAction={primaryAction} title={upperFirst(label)} />\n <Layouts.Content>\n <Box\n background=\"neutral0\"\n shadow=\"filterShadow\"\n hasRadius\n overflow=\"auto\"\n borderColor=\"neutral150\"\n >\n <List type={type} addComponentToDZ={handleClickAddComponentToDZ} isMain />\n </Box>\n </Layouts.Content>\n </>\n );\n};\n\nexport default ListView;\n"],"names":["LayoutsHeaderCustom","styled","Layouts","Header","ListView","isInDevelopmentMode","contentTypes","components","isLoading","useDataManager","formatMessage","useIntl","trackUsage","useTracking","contentTypeUid","componentUid","useParams","onOpenModalAddComponentsToDZ","onOpenModalAddField","onOpenModalEditSchema","useFormModalNavigation","type","allowedEndpoints","Object","values","filter","ct","visible","plugin","map","uid","sort","length","_jsx","Navigate","to","isFromPlugin","undefined","forTarget","label","info","displayName","canEdit","handleClickAddComponentToDZ","dynamicZoneTarget","targetUid","onEdit","kind","modalType","addNewFieldLabel","id","getTrad","defaultMessage","addAnotherFieldLabel","isDeleted","status","primaryAction","_jsxs","Flex","gap","LinkToCMSettingsView","disabled","Button","startIcon","Pencil","variant","onClick","Plus","minWidth","attributes","_Fragment","tours","contentTypeBuilder","Introduction","Box","background","justifyContent","padding","Information","fill","height","width","Typography","modelType","title","upperFirst","Content","shadow","hasRadius","overflow","borderColor","List","addComponentToDZ","isMain"],"mappings":"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"}
1
+ {"version":3,"file":"ListView.mjs","sources":["../../../../admin/src/pages/ListView/ListView.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\nimport { useTracking, Layouts, tours } from '@strapi/admin/strapi-admin';\nimport { Box, Button, Flex, Typography } from '@strapi/design-system';\nimport { Information, Pencil, Plus } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../../components/DataManager/useDataManager';\nimport { useFormModalNavigation } from '../../components/FormModalNavigation/useFormModalNavigation';\nimport { List } from '../../components/List';\nimport { getTrad } from '../../utils/getTrad';\n\nimport { LinkToCMSettingsView } from './LinkToCMSettingsView';\n\nimport type { Internal } from '@strapi/types';\n\nconst LayoutsHeaderCustom = styled(Layouts.Header)`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst ListView = () => {\n const { isInDevelopmentMode, contentTypes, components, isLoading } = useDataManager();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n\n const { contentTypeUid, componentUid } = useParams<{\n contentTypeUid: Internal.UID.ContentType;\n componentUid: Internal.UID.Component;\n }>();\n\n const { onOpenModalAddComponentsToDZ, onOpenModalAddField, onOpenModalEditSchema } =\n useFormModalNavigation();\n\n const type = contentTypeUid\n ? contentTypes[contentTypeUid]\n : componentUid\n ? components[componentUid]\n : null;\n\n if (isLoading) {\n return null;\n }\n\n if (!type) {\n const allowedEndpoints = Object.values(contentTypes)\n .filter((ct) => ct.visible === true && !ct.plugin)\n .map((ct) => ct.uid)\n .sort();\n\n if (allowedEndpoints.length > 0) {\n return <Navigate to={`/plugins/content-type-builder/content-types/${allowedEndpoints[0]}`} />;\n }\n\n return <Navigate to=\"/plugins/content-type-builder/content-types/create-content-type\" />;\n }\n\n const isFromPlugin = 'plugin' in type && type?.plugin !== undefined;\n\n const forTarget = contentTypeUid ? 'contentType' : 'component';\n\n const label = type?.info?.displayName ?? '';\n\n const canEdit = isInDevelopmentMode && !isFromPlugin;\n\n const handleClickAddComponentToDZ = (dynamicZoneTarget?: string) => {\n onOpenModalAddComponentsToDZ({ dynamicZoneTarget, targetUid: type.uid });\n };\n\n const onEdit = () => {\n if ('kind' in type) {\n if (type?.kind === 'collectionType') {\n trackUsage('willEditNameOfContentType');\n }\n\n if (type?.kind === 'singleType') {\n trackUsage('willEditNameOfSingleType');\n }\n\n onOpenModalEditSchema({\n modalType: forTarget,\n forTarget: forTarget,\n targetUid: type.uid,\n kind: type?.kind,\n });\n\n return;\n }\n\n onOpenModalEditSchema({\n modalType: forTarget,\n forTarget: forTarget,\n targetUid: type.uid,\n });\n };\n\n const addNewFieldLabel = formatMessage({\n id: getTrad('table.button.no-fields'),\n defaultMessage: 'Add new field',\n });\n\n const addAnotherFieldLabel = formatMessage({\n id: getTrad('button.attributes.add.another'),\n defaultMessage: 'Add another field',\n });\n\n const isDeleted = type.status === 'REMOVED';\n\n const primaryAction = isInDevelopmentMode && (\n <Flex gap={2}>\n <LinkToCMSettingsView\n key=\"link-to-cm-settings-view\"\n type={type}\n disabled={type.status === 'NEW' || isDeleted}\n />\n <Button\n startIcon={<Pencil />}\n variant=\"tertiary\"\n onClick={onEdit}\n disabled={!canEdit || isDeleted}\n >\n {formatMessage({\n id: 'app.utils.edit',\n defaultMessage: 'Edit',\n })}\n </Button>\n\n <Button\n startIcon={<Plus />}\n variant=\"secondary\"\n minWidth=\"max-content\"\n onClick={() => {\n onOpenModalAddField({ forTarget, targetUid: type.uid });\n }}\n disabled={isDeleted}\n >\n {type.attributes.length === 0 ? addNewFieldLabel : addAnotherFieldLabel}\n </Button>\n </Flex>\n );\n\n return (\n <>\n <tours.contentTypeBuilder.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentTypeBuilder.Introduction>\n {isDeleted && (\n <Flex background=\"danger100\" justifyContent={'center'} padding={4}>\n <Flex gap={2}>\n <Information fill=\"danger600\" height=\"2rem\" width=\"2rem\" />\n <Typography>\n {formatMessage(\n {\n id: getTrad('table.warning.deleted'),\n defaultMessage: `This {kind} has been deleted`,\n },\n {\n kind: type.modelType === 'contentType' ? 'Content Type' : 'Component',\n }\n )}\n </Typography>\n </Flex>\n </Flex>\n )}\n <LayoutsHeaderCustom id=\"title\" primaryAction={primaryAction} title={upperFirst(label)} />\n <Layouts.Content>\n <Box\n background=\"neutral0\"\n shadow=\"filterShadow\"\n hasRadius\n overflow=\"auto\"\n borderColor=\"neutral150\"\n >\n <List type={type} addComponentToDZ={handleClickAddComponentToDZ} isMain />\n </Box>\n </Layouts.Content>\n </>\n );\n};\n\nexport default ListView;\n"],"names":["LayoutsHeaderCustom","styled","Layouts","Header","ListView","isInDevelopmentMode","contentTypes","components","isLoading","useDataManager","formatMessage","useIntl","trackUsage","useTracking","contentTypeUid","componentUid","useParams","onOpenModalAddComponentsToDZ","onOpenModalAddField","onOpenModalEditSchema","useFormModalNavigation","type","allowedEndpoints","Object","values","filter","ct","visible","plugin","map","uid","sort","length","_jsx","Navigate","to","isFromPlugin","undefined","forTarget","label","info","displayName","canEdit","handleClickAddComponentToDZ","dynamicZoneTarget","targetUid","onEdit","kind","modalType","addNewFieldLabel","id","getTrad","defaultMessage","addAnotherFieldLabel","isDeleted","status","primaryAction","_jsxs","Flex","gap","LinkToCMSettingsView","disabled","Button","startIcon","Pencil","variant","onClick","Plus","minWidth","attributes","_Fragment","tours","contentTypeBuilder","Introduction","Box","background","justifyContent","padding","Information","fill","height","width","Typography","modelType","title","upperFirst","Content","shadow","hasRadius","overflow","borderColor","List","addComponentToDZ","isMain"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var z = require('zod/v4');
4
+ var utils = require('@strapi/utils');
4
5
 
5
6
  function _interopNamespaceDefault(e) {
6
7
  var n = Object.create(null);
@@ -134,63 +135,60 @@ const formattedComponentSchema = z__namespace.object({
134
135
  apiId: z__namespace.string(),
135
136
  schema: componentSchemaBase
136
137
  });
137
- var contentApi = (()=>{
138
- return {
139
- type: 'content-api',
140
- routes: [
141
- {
142
- method: 'GET',
143
- path: '/content-types',
144
- handler: 'content-types.getContentTypes',
145
- request: {
146
- query: {
147
- kind: z__namespace.enum([
148
- 'collectionType',
149
- 'singleType'
150
- ])
151
- }
152
- },
153
- response: z__namespace.object({
154
- data: z__namespace.array(formattedContentTypeSchema)
155
- })
138
+ const createRoutes = utils.createContentApiRoutesFactory(()=>{
139
+ return [
140
+ {
141
+ method: 'GET',
142
+ path: '/content-types',
143
+ handler: 'content-types.getContentTypes',
144
+ request: {
145
+ query: {
146
+ kind: z__namespace.enum([
147
+ 'collectionType',
148
+ 'singleType'
149
+ ])
150
+ }
156
151
  },
157
- {
158
- method: 'GET',
159
- path: '/content-types/:uid',
160
- handler: 'content-types.getContentType',
161
- request: {
162
- params: {
163
- uid: z__namespace.string().regex(ctUIDRegexp)
164
- }
165
- },
166
- response: z__namespace.object({
167
- data: formattedContentTypeSchema
168
- })
152
+ response: z__namespace.object({
153
+ data: z__namespace.array(formattedContentTypeSchema)
154
+ })
155
+ },
156
+ {
157
+ method: 'GET',
158
+ path: '/content-types/:uid',
159
+ handler: 'content-types.getContentType',
160
+ request: {
161
+ params: {
162
+ uid: z__namespace.string().regex(ctUIDRegexp)
163
+ }
169
164
  },
170
- {
171
- method: 'GET',
172
- path: '/components',
173
- handler: 'components.getComponents',
174
- response: z__namespace.object({
175
- data: z__namespace.array(formattedComponentSchema)
176
- })
165
+ response: z__namespace.object({
166
+ data: formattedContentTypeSchema
167
+ })
168
+ },
169
+ {
170
+ method: 'GET',
171
+ path: '/components',
172
+ handler: 'components.getComponents',
173
+ response: z__namespace.object({
174
+ data: z__namespace.array(formattedComponentSchema)
175
+ })
176
+ },
177
+ {
178
+ method: 'GET',
179
+ path: '/components/:uid',
180
+ handler: 'components.getComponent',
181
+ request: {
182
+ params: {
183
+ uid: z__namespace.string().regex(componentUIDRegexp)
184
+ }
177
185
  },
178
- {
179
- method: 'GET',
180
- path: '/components/:uid',
181
- handler: 'components.getComponent',
182
- request: {
183
- params: {
184
- uid: z__namespace.string().regex(componentUIDRegexp)
185
- }
186
- },
187
- response: z__namespace.object({
188
- data: formattedComponentSchema
189
- })
190
- }
191
- ]
192
- };
186
+ response: z__namespace.object({
187
+ data: formattedComponentSchema
188
+ })
189
+ }
190
+ ];
193
191
  });
194
192
 
195
- module.exports = contentApi;
193
+ module.exports = createRoutes;
196
194
  //# sourceMappingURL=content-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.js","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\n\nconst ctUIDRegexp = /^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$/;\nconst componentUIDRegexp = /^[\\w-]+\\.[\\w-]+$/;\n\nconst baseAttributeSchema = z.object({\n type: z.string(),\n configurable: z.literal(false).optional(),\n private: z.boolean().optional(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst mediaAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean(),\n required: z.boolean().optional(),\n allowedTypes: z.array(z.string()).optional(),\n});\n\nconst relationAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('relation'),\n relation: z.string(),\n target: z.string().regex(ctUIDRegexp),\n targetAttribute: z.string().nullable(),\n autoPopulate: z.boolean().optional(),\n mappedBy: z.string().optional(),\n inversedBy: z.string().optional(),\n});\n\nconst componentAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean(),\n required: z.boolean().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string().regex(componentUIDRegexp)),\n required: z.boolean().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst uidAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().optional(),\n});\n\nconst genericAttributeSchema = z.object({\n type: z.string(),\n required: z.boolean().optional(),\n unique: z.boolean().optional(),\n default: z.unknown().optional(),\n min: z.union([z.number(), z.string()]).optional(),\n max: z.union([z.number(), z.string()]).optional(),\n minLength: z.number().optional(),\n maxLength: z.number().optional(),\n enum: z.array(z.string()).optional(),\n regex: z.string().optional(),\n private: z.boolean().optional(),\n configurable: z.boolean().optional(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst attributeSchema = z.union([\n mediaAttributeSchema,\n relationAttributeSchema,\n componentAttributeSchema,\n dynamicZoneAttributeSchema,\n uidAttributeSchema,\n genericAttributeSchema,\n]);\n\nconst contentTypeSchemaBase = z.object({\n displayName: z.string(),\n singularName: z.string(),\n pluralName: z.string(),\n description: z.string(),\n draftAndPublish: z.boolean(),\n kind: z.enum(['collectionType', 'singleType']),\n collectionName: z.string().optional(),\n attributes: z.record(z.string(), attributeSchema),\n visible: z.boolean(),\n restrictRelationsTo: z.array(z.string()).nullable(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n options: z.record(z.string(), z.unknown()).optional(),\n reviewWorkflows: z.boolean().optional(),\n populateCreatorFields: z.boolean().optional(),\n comment: z.string().optional(),\n version: z.string().optional(),\n});\n\nconst formattedContentTypeSchema = z.object({\n uid: z.string().regex(ctUIDRegexp),\n plugin: z.string().optional(),\n apiID: z.string(),\n schema: contentTypeSchemaBase,\n});\n\nconst componentSchemaBase = z.object({\n displayName: z.string(),\n description: z.string(),\n icon: z.string().optional(),\n connection: z.string().optional(),\n collectionName: z.string().optional(),\n attributes: z.record(z.string(), attributeSchema),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst formattedComponentSchema = z.object({\n uid: z.string().regex(componentUIDRegexp),\n category: z.string(),\n apiId: z.string(),\n schema: componentSchemaBase,\n});\n\nexport default (): Core.RouterInput => {\n return {\n type: 'content-api',\n routes: [\n {\n method: 'GET',\n path: '/content-types',\n handler: 'content-types.getContentTypes',\n request: {\n query: { kind: z.enum(['collectionType', 'singleType']) },\n },\n response: z.object({ data: z.array(formattedContentTypeSchema) }),\n },\n {\n method: 'GET',\n path: '/content-types/:uid',\n handler: 'content-types.getContentType',\n request: {\n params: {\n uid: z.string().regex(ctUIDRegexp),\n },\n },\n response: z.object({ data: formattedContentTypeSchema }),\n },\n {\n method: 'GET',\n path: '/components',\n handler: 'components.getComponents',\n response: z.object({ data: z.array(formattedComponentSchema) }),\n },\n {\n method: 'GET',\n path: '/components/:uid',\n handler: 'components.getComponent',\n request: {\n params: {\n uid: z.string().regex(componentUIDRegexp),\n },\n },\n response: z.object({ data: formattedComponentSchema }),\n },\n ],\n };\n};\n"],"names":["ctUIDRegexp","componentUIDRegexp","baseAttributeSchema","z","object","type","string","configurable","literal","optional","private","boolean","pluginOptions","record","unknown","mediaAttributeSchema","extend","multiple","required","allowedTypes","array","relationAttributeSchema","relation","target","regex","targetAttribute","nullable","autoPopulate","mappedBy","inversedBy","componentAttributeSchema","component","repeatable","min","number","max","dynamicZoneAttributeSchema","components","uidAttributeSchema","targetField","genericAttributeSchema","unique","default","union","minLength","maxLength","enum","attributeSchema","contentTypeSchemaBase","displayName","singularName","pluralName","description","draftAndPublish","kind","collectionName","attributes","visible","restrictRelationsTo","options","reviewWorkflows","populateCreatorFields","comment","version","formattedContentTypeSchema","uid","plugin","apiID","schema","componentSchemaBase","icon","connection","formattedComponentSchema","category","apiId","routes","method","path","handler","request","query","response","data","params"],"mappings":"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"}
1
+ {"version":3,"file":"content-api.js","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\n\nimport { createContentApiRoutesFactory } from '@strapi/utils';\n\nconst ctUIDRegexp = /^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$/;\nconst componentUIDRegexp = /^[\\w-]+\\.[\\w-]+$/;\n\nconst baseAttributeSchema = z.object({\n type: z.string(),\n configurable: z.literal(false).optional(),\n private: z.boolean().optional(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst mediaAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean(),\n required: z.boolean().optional(),\n allowedTypes: z.array(z.string()).optional(),\n});\n\nconst relationAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('relation'),\n relation: z.string(),\n target: z.string().regex(ctUIDRegexp),\n targetAttribute: z.string().nullable(),\n autoPopulate: z.boolean().optional(),\n mappedBy: z.string().optional(),\n inversedBy: z.string().optional(),\n});\n\nconst componentAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean(),\n required: z.boolean().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string().regex(componentUIDRegexp)),\n required: z.boolean().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst uidAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().optional(),\n});\n\nconst genericAttributeSchema = z.object({\n type: z.string(),\n required: z.boolean().optional(),\n unique: z.boolean().optional(),\n default: z.unknown().optional(),\n min: z.union([z.number(), z.string()]).optional(),\n max: z.union([z.number(), z.string()]).optional(),\n minLength: z.number().optional(),\n maxLength: z.number().optional(),\n enum: z.array(z.string()).optional(),\n regex: z.string().optional(),\n private: z.boolean().optional(),\n configurable: z.boolean().optional(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst attributeSchema = z.union([\n mediaAttributeSchema,\n relationAttributeSchema,\n componentAttributeSchema,\n dynamicZoneAttributeSchema,\n uidAttributeSchema,\n genericAttributeSchema,\n]);\n\nconst contentTypeSchemaBase = z.object({\n displayName: z.string(),\n singularName: z.string(),\n pluralName: z.string(),\n description: z.string(),\n draftAndPublish: z.boolean(),\n kind: z.enum(['collectionType', 'singleType']),\n collectionName: z.string().optional(),\n attributes: z.record(z.string(), attributeSchema),\n visible: z.boolean(),\n restrictRelationsTo: z.array(z.string()).nullable(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n options: z.record(z.string(), z.unknown()).optional(),\n reviewWorkflows: z.boolean().optional(),\n populateCreatorFields: z.boolean().optional(),\n comment: z.string().optional(),\n version: z.string().optional(),\n});\n\nconst formattedContentTypeSchema = z.object({\n uid: z.string().regex(ctUIDRegexp),\n plugin: z.string().optional(),\n apiID: z.string(),\n schema: contentTypeSchemaBase,\n});\n\nconst componentSchemaBase = z.object({\n displayName: z.string(),\n description: z.string(),\n icon: z.string().optional(),\n connection: z.string().optional(),\n collectionName: z.string().optional(),\n attributes: z.record(z.string(), attributeSchema),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst formattedComponentSchema = z.object({\n uid: z.string().regex(componentUIDRegexp),\n category: z.string(),\n apiId: z.string(),\n schema: componentSchemaBase,\n});\n\nconst createRoutes = createContentApiRoutesFactory((): Core.RouterInput['routes'] => {\n return [\n {\n method: 'GET',\n path: '/content-types',\n handler: 'content-types.getContentTypes',\n request: {\n query: { kind: z.enum(['collectionType', 'singleType']) },\n },\n response: z.object({ data: z.array(formattedContentTypeSchema) }),\n },\n {\n method: 'GET',\n path: '/content-types/:uid',\n handler: 'content-types.getContentType',\n request: {\n params: {\n uid: z.string().regex(ctUIDRegexp),\n },\n },\n response: z.object({ data: formattedContentTypeSchema }),\n },\n {\n method: 'GET',\n path: '/components',\n handler: 'components.getComponents',\n response: z.object({ data: z.array(formattedComponentSchema) }),\n },\n {\n method: 'GET',\n path: '/components/:uid',\n handler: 'components.getComponent',\n request: {\n params: {\n uid: z.string().regex(componentUIDRegexp),\n },\n },\n response: z.object({ data: formattedComponentSchema }),\n },\n ];\n});\n\nexport default createRoutes;\n"],"names":["ctUIDRegexp","componentUIDRegexp","baseAttributeSchema","z","object","type","string","configurable","literal","optional","private","boolean","pluginOptions","record","unknown","mediaAttributeSchema","extend","multiple","required","allowedTypes","array","relationAttributeSchema","relation","target","regex","targetAttribute","nullable","autoPopulate","mappedBy","inversedBy","componentAttributeSchema","component","repeatable","min","number","max","dynamicZoneAttributeSchema","components","uidAttributeSchema","targetField","genericAttributeSchema","unique","default","union","minLength","maxLength","enum","attributeSchema","contentTypeSchemaBase","displayName","singularName","pluralName","description","draftAndPublish","kind","collectionName","attributes","visible","restrictRelationsTo","options","reviewWorkflows","populateCreatorFields","comment","version","formattedContentTypeSchema","uid","plugin","apiID","schema","componentSchemaBase","icon","connection","formattedComponentSchema","category","apiId","createRoutes","createContentApiRoutesFactory","method","path","handler","request","query","response","data","params"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import * as z from 'zod/v4';
2
+ import { createContentApiRoutesFactory } from '@strapi/utils';
2
3
 
3
4
  const ctUIDRegexp = /^((strapi|admin)::[\w-]+|(api|plugin)::[\w-]+\.[\w-]+)$/;
4
5
  const componentUIDRegexp = /^[\w-]+\.[\w-]+$/;
@@ -113,63 +114,60 @@ const formattedComponentSchema = z.object({
113
114
  apiId: z.string(),
114
115
  schema: componentSchemaBase
115
116
  });
116
- var contentApi = (()=>{
117
- return {
118
- type: 'content-api',
119
- routes: [
120
- {
121
- method: 'GET',
122
- path: '/content-types',
123
- handler: 'content-types.getContentTypes',
124
- request: {
125
- query: {
126
- kind: z.enum([
127
- 'collectionType',
128
- 'singleType'
129
- ])
130
- }
131
- },
132
- response: z.object({
133
- data: z.array(formattedContentTypeSchema)
134
- })
117
+ const createRoutes = createContentApiRoutesFactory(()=>{
118
+ return [
119
+ {
120
+ method: 'GET',
121
+ path: '/content-types',
122
+ handler: 'content-types.getContentTypes',
123
+ request: {
124
+ query: {
125
+ kind: z.enum([
126
+ 'collectionType',
127
+ 'singleType'
128
+ ])
129
+ }
135
130
  },
136
- {
137
- method: 'GET',
138
- path: '/content-types/:uid',
139
- handler: 'content-types.getContentType',
140
- request: {
141
- params: {
142
- uid: z.string().regex(ctUIDRegexp)
143
- }
144
- },
145
- response: z.object({
146
- data: formattedContentTypeSchema
147
- })
131
+ response: z.object({
132
+ data: z.array(formattedContentTypeSchema)
133
+ })
134
+ },
135
+ {
136
+ method: 'GET',
137
+ path: '/content-types/:uid',
138
+ handler: 'content-types.getContentType',
139
+ request: {
140
+ params: {
141
+ uid: z.string().regex(ctUIDRegexp)
142
+ }
148
143
  },
149
- {
150
- method: 'GET',
151
- path: '/components',
152
- handler: 'components.getComponents',
153
- response: z.object({
154
- data: z.array(formattedComponentSchema)
155
- })
144
+ response: z.object({
145
+ data: formattedContentTypeSchema
146
+ })
147
+ },
148
+ {
149
+ method: 'GET',
150
+ path: '/components',
151
+ handler: 'components.getComponents',
152
+ response: z.object({
153
+ data: z.array(formattedComponentSchema)
154
+ })
155
+ },
156
+ {
157
+ method: 'GET',
158
+ path: '/components/:uid',
159
+ handler: 'components.getComponent',
160
+ request: {
161
+ params: {
162
+ uid: z.string().regex(componentUIDRegexp)
163
+ }
156
164
  },
157
- {
158
- method: 'GET',
159
- path: '/components/:uid',
160
- handler: 'components.getComponent',
161
- request: {
162
- params: {
163
- uid: z.string().regex(componentUIDRegexp)
164
- }
165
- },
166
- response: z.object({
167
- data: formattedComponentSchema
168
- })
169
- }
170
- ]
171
- };
165
+ response: z.object({
166
+ data: formattedComponentSchema
167
+ })
168
+ }
169
+ ];
172
170
  });
173
171
 
174
- export { contentApi as default };
172
+ export { createRoutes as default };
175
173
  //# sourceMappingURL=content-api.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.mjs","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\n\nconst ctUIDRegexp = /^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$/;\nconst componentUIDRegexp = /^[\\w-]+\\.[\\w-]+$/;\n\nconst baseAttributeSchema = z.object({\n type: z.string(),\n configurable: z.literal(false).optional(),\n private: z.boolean().optional(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst mediaAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean(),\n required: z.boolean().optional(),\n allowedTypes: z.array(z.string()).optional(),\n});\n\nconst relationAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('relation'),\n relation: z.string(),\n target: z.string().regex(ctUIDRegexp),\n targetAttribute: z.string().nullable(),\n autoPopulate: z.boolean().optional(),\n mappedBy: z.string().optional(),\n inversedBy: z.string().optional(),\n});\n\nconst componentAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean(),\n required: z.boolean().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string().regex(componentUIDRegexp)),\n required: z.boolean().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst uidAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().optional(),\n});\n\nconst genericAttributeSchema = z.object({\n type: z.string(),\n required: z.boolean().optional(),\n unique: z.boolean().optional(),\n default: z.unknown().optional(),\n min: z.union([z.number(), z.string()]).optional(),\n max: z.union([z.number(), z.string()]).optional(),\n minLength: z.number().optional(),\n maxLength: z.number().optional(),\n enum: z.array(z.string()).optional(),\n regex: z.string().optional(),\n private: z.boolean().optional(),\n configurable: z.boolean().optional(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst attributeSchema = z.union([\n mediaAttributeSchema,\n relationAttributeSchema,\n componentAttributeSchema,\n dynamicZoneAttributeSchema,\n uidAttributeSchema,\n genericAttributeSchema,\n]);\n\nconst contentTypeSchemaBase = z.object({\n displayName: z.string(),\n singularName: z.string(),\n pluralName: z.string(),\n description: z.string(),\n draftAndPublish: z.boolean(),\n kind: z.enum(['collectionType', 'singleType']),\n collectionName: z.string().optional(),\n attributes: z.record(z.string(), attributeSchema),\n visible: z.boolean(),\n restrictRelationsTo: z.array(z.string()).nullable(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n options: z.record(z.string(), z.unknown()).optional(),\n reviewWorkflows: z.boolean().optional(),\n populateCreatorFields: z.boolean().optional(),\n comment: z.string().optional(),\n version: z.string().optional(),\n});\n\nconst formattedContentTypeSchema = z.object({\n uid: z.string().regex(ctUIDRegexp),\n plugin: z.string().optional(),\n apiID: z.string(),\n schema: contentTypeSchemaBase,\n});\n\nconst componentSchemaBase = z.object({\n displayName: z.string(),\n description: z.string(),\n icon: z.string().optional(),\n connection: z.string().optional(),\n collectionName: z.string().optional(),\n attributes: z.record(z.string(), attributeSchema),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst formattedComponentSchema = z.object({\n uid: z.string().regex(componentUIDRegexp),\n category: z.string(),\n apiId: z.string(),\n schema: componentSchemaBase,\n});\n\nexport default (): Core.RouterInput => {\n return {\n type: 'content-api',\n routes: [\n {\n method: 'GET',\n path: '/content-types',\n handler: 'content-types.getContentTypes',\n request: {\n query: { kind: z.enum(['collectionType', 'singleType']) },\n },\n response: z.object({ data: z.array(formattedContentTypeSchema) }),\n },\n {\n method: 'GET',\n path: '/content-types/:uid',\n handler: 'content-types.getContentType',\n request: {\n params: {\n uid: z.string().regex(ctUIDRegexp),\n },\n },\n response: z.object({ data: formattedContentTypeSchema }),\n },\n {\n method: 'GET',\n path: '/components',\n handler: 'components.getComponents',\n response: z.object({ data: z.array(formattedComponentSchema) }),\n },\n {\n method: 'GET',\n path: '/components/:uid',\n handler: 'components.getComponent',\n request: {\n params: {\n uid: z.string().regex(componentUIDRegexp),\n },\n },\n response: z.object({ data: formattedComponentSchema }),\n },\n ],\n };\n};\n"],"names":["ctUIDRegexp","componentUIDRegexp","baseAttributeSchema","z","object","type","string","configurable","literal","optional","private","boolean","pluginOptions","record","unknown","mediaAttributeSchema","extend","multiple","required","allowedTypes","array","relationAttributeSchema","relation","target","regex","targetAttribute","nullable","autoPopulate","mappedBy","inversedBy","componentAttributeSchema","component","repeatable","min","number","max","dynamicZoneAttributeSchema","components","uidAttributeSchema","targetField","genericAttributeSchema","unique","default","union","minLength","maxLength","enum","attributeSchema","contentTypeSchemaBase","displayName","singularName","pluralName","description","draftAndPublish","kind","collectionName","attributes","visible","restrictRelationsTo","options","reviewWorkflows","populateCreatorFields","comment","version","formattedContentTypeSchema","uid","plugin","apiID","schema","componentSchemaBase","icon","connection","formattedComponentSchema","category","apiId","routes","method","path","handler","request","query","response","data","params"],"mappings":"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"}
1
+ {"version":3,"file":"content-api.mjs","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\n\nimport { createContentApiRoutesFactory } from '@strapi/utils';\n\nconst ctUIDRegexp = /^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$/;\nconst componentUIDRegexp = /^[\\w-]+\\.[\\w-]+$/;\n\nconst baseAttributeSchema = z.object({\n type: z.string(),\n configurable: z.literal(false).optional(),\n private: z.boolean().optional(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst mediaAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean(),\n required: z.boolean().optional(),\n allowedTypes: z.array(z.string()).optional(),\n});\n\nconst relationAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('relation'),\n relation: z.string(),\n target: z.string().regex(ctUIDRegexp),\n targetAttribute: z.string().nullable(),\n autoPopulate: z.boolean().optional(),\n mappedBy: z.string().optional(),\n inversedBy: z.string().optional(),\n});\n\nconst componentAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean(),\n required: z.boolean().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string().regex(componentUIDRegexp)),\n required: z.boolean().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst uidAttributeSchema = baseAttributeSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().optional(),\n});\n\nconst genericAttributeSchema = z.object({\n type: z.string(),\n required: z.boolean().optional(),\n unique: z.boolean().optional(),\n default: z.unknown().optional(),\n min: z.union([z.number(), z.string()]).optional(),\n max: z.union([z.number(), z.string()]).optional(),\n minLength: z.number().optional(),\n maxLength: z.number().optional(),\n enum: z.array(z.string()).optional(),\n regex: z.string().optional(),\n private: z.boolean().optional(),\n configurable: z.boolean().optional(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst attributeSchema = z.union([\n mediaAttributeSchema,\n relationAttributeSchema,\n componentAttributeSchema,\n dynamicZoneAttributeSchema,\n uidAttributeSchema,\n genericAttributeSchema,\n]);\n\nconst contentTypeSchemaBase = z.object({\n displayName: z.string(),\n singularName: z.string(),\n pluralName: z.string(),\n description: z.string(),\n draftAndPublish: z.boolean(),\n kind: z.enum(['collectionType', 'singleType']),\n collectionName: z.string().optional(),\n attributes: z.record(z.string(), attributeSchema),\n visible: z.boolean(),\n restrictRelationsTo: z.array(z.string()).nullable(),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n options: z.record(z.string(), z.unknown()).optional(),\n reviewWorkflows: z.boolean().optional(),\n populateCreatorFields: z.boolean().optional(),\n comment: z.string().optional(),\n version: z.string().optional(),\n});\n\nconst formattedContentTypeSchema = z.object({\n uid: z.string().regex(ctUIDRegexp),\n plugin: z.string().optional(),\n apiID: z.string(),\n schema: contentTypeSchemaBase,\n});\n\nconst componentSchemaBase = z.object({\n displayName: z.string(),\n description: z.string(),\n icon: z.string().optional(),\n connection: z.string().optional(),\n collectionName: z.string().optional(),\n attributes: z.record(z.string(), attributeSchema),\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst formattedComponentSchema = z.object({\n uid: z.string().regex(componentUIDRegexp),\n category: z.string(),\n apiId: z.string(),\n schema: componentSchemaBase,\n});\n\nconst createRoutes = createContentApiRoutesFactory((): Core.RouterInput['routes'] => {\n return [\n {\n method: 'GET',\n path: '/content-types',\n handler: 'content-types.getContentTypes',\n request: {\n query: { kind: z.enum(['collectionType', 'singleType']) },\n },\n response: z.object({ data: z.array(formattedContentTypeSchema) }),\n },\n {\n method: 'GET',\n path: '/content-types/:uid',\n handler: 'content-types.getContentType',\n request: {\n params: {\n uid: z.string().regex(ctUIDRegexp),\n },\n },\n response: z.object({ data: formattedContentTypeSchema }),\n },\n {\n method: 'GET',\n path: '/components',\n handler: 'components.getComponents',\n response: z.object({ data: z.array(formattedComponentSchema) }),\n },\n {\n method: 'GET',\n path: '/components/:uid',\n handler: 'components.getComponent',\n request: {\n params: {\n uid: z.string().regex(componentUIDRegexp),\n },\n },\n response: z.object({ data: formattedComponentSchema }),\n },\n ];\n});\n\nexport default createRoutes;\n"],"names":["ctUIDRegexp","componentUIDRegexp","baseAttributeSchema","z","object","type","string","configurable","literal","optional","private","boolean","pluginOptions","record","unknown","mediaAttributeSchema","extend","multiple","required","allowedTypes","array","relationAttributeSchema","relation","target","regex","targetAttribute","nullable","autoPopulate","mappedBy","inversedBy","componentAttributeSchema","component","repeatable","min","number","max","dynamicZoneAttributeSchema","components","uidAttributeSchema","targetField","genericAttributeSchema","unique","default","union","minLength","maxLength","enum","attributeSchema","contentTypeSchemaBase","displayName","singularName","pluralName","description","draftAndPublish","kind","collectionName","attributes","visible","restrictRelationsTo","options","reviewWorkflows","populateCreatorFields","comment","version","formattedContentTypeSchema","uid","plugin","apiID","schema","componentSchemaBase","icon","connection","formattedComponentSchema","category","apiId","createRoutes","createContentApiRoutesFactory","method","path","handler","request","query","response","data","params"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import admin from './admin.mjs';
2
- import contentApi from './content-api.mjs';
2
+ import createRoutes from './content-api.mjs';
3
3
 
4
4
  var routes = {
5
5
  admin,
6
- 'content-api': contentApi
6
+ 'content-api': createRoutes
7
7
  };
8
8
 
9
9
  export { routes as default };
@@ -60,7 +60,10 @@ declare const _default: () => {
60
60
  };
61
61
  }[];
62
62
  };
63
- 'content-api': () => import("@strapi/types/dist/core").RouterInput;
63
+ 'content-api': () => {
64
+ type: "content-api";
65
+ routes: import("@strapi/types/dist/core").RouteInput[];
66
+ };
64
67
  };
65
68
  };
66
69
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQvB,wBAMG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQvB,wBAMG"}
@@ -1,4 +1,7 @@
1
1
  import type { Core } from '@strapi/types';
2
- declare const _default: () => Core.RouterInput;
3
- export default _default;
2
+ declare const createRoutes: () => {
3
+ type: "content-api";
4
+ routes: Core.RouteInput[];
5
+ };
6
+ export default createRoutes;
4
7
  //# sourceMappingURL=content-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;8BAwHvB,KAAK,WAAW;AAAnC,wBA2CE"}
1
+ {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA0H1C,QAAA,MAAM,YAAY;;;CAwChB,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -15,7 +15,10 @@ declare const _default: {
15
15
  };
16
16
  }[];
17
17
  };
18
- 'content-api': () => import("@strapi/types/dist/core").RouterInput;
18
+ 'content-api': () => {
19
+ type: "content-api";
20
+ routes: import("@strapi/types/dist/core").RouteInput[];
21
+ };
19
22
  };
20
23
  export default _default;
21
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAGA,wBAGE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAGA,wBAGE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/content-type-builder",
3
- "version": "5.22.0",
3
+ "version": "5.23.0",
4
4
  "description": "Create and manage content types",
5
5
  "repository": {
6
6
  "type": "git",
@@ -67,9 +67,9 @@
67
67
  "@reduxjs/toolkit": "1.9.7",
68
68
  "@sindresorhus/slugify": "1.1.0",
69
69
  "@strapi/design-system": "2.0.0-rc.29",
70
- "@strapi/generators": "5.22.0",
70
+ "@strapi/generators": "5.23.0",
71
71
  "@strapi/icons": "2.0.0-rc.29",
72
- "@strapi/utils": "5.22.0",
72
+ "@strapi/utils": "5.23.0",
73
73
  "date-fns": "2.30.0",
74
74
  "fs-extra": "11.2.0",
75
75
  "immer": "9.0.21",
@@ -82,8 +82,8 @@
82
82
  "zod": "3.25.67"
83
83
  },
84
84
  "devDependencies": {
85
- "@strapi/admin": "5.22.0",
86
- "@strapi/types": "5.22.0",
85
+ "@strapi/admin": "5.23.0",
86
+ "@strapi/types": "5.23.0",
87
87
  "@testing-library/dom": "10.1.0",
88
88
  "@testing-library/react": "15.0.7",
89
89
  "@testing-library/user-event": "14.5.2",