@strapi/content-type-builder 5.18.1 → 5.20.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 (41) hide show
  1. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +1 -0
  2. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  3. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +1 -0
  4. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  5. package/dist/admin/components/DataManager/DataManagerProvider.js +0 -3
  6. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
  7. package/dist/admin/components/DataManager/DataManagerProvider.mjs +1 -4
  8. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
  9. package/dist/admin/components/FormModal/attributes/ConditionForm.js +8 -6
  10. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  11. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +8 -6
  12. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  13. package/dist/admin/pages/App/index.js +0 -7
  14. package/dist/admin/pages/App/index.js.map +1 -1
  15. package/dist/admin/pages/App/index.mjs +2 -9
  16. package/dist/admin/pages/App/index.mjs.map +1 -1
  17. package/dist/admin/pages/ListView/EmptyState.js +1 -1
  18. package/dist/admin/pages/ListView/EmptyState.js.map +1 -1
  19. package/dist/admin/pages/ListView/EmptyState.mjs +2 -2
  20. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -1
  21. package/dist/admin/pages/ListView/ListView.js +5 -0
  22. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  23. package/dist/admin/pages/ListView/ListView.mjs +7 -2
  24. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  25. package/dist/server/controllers/validation/schema.js +4 -2
  26. package/dist/server/controllers/validation/schema.js.map +1 -1
  27. package/dist/server/controllers/validation/schema.mjs +3 -3
  28. package/dist/server/controllers/validation/schema.mjs.map +1 -1
  29. package/dist/server/routes/content-api.js +191 -25
  30. package/dist/server/routes/content-api.js.map +1 -1
  31. package/dist/server/routes/content-api.mjs +172 -25
  32. package/dist/server/routes/content-api.mjs.map +1 -1
  33. package/dist/server/src/controllers/validation/schema.d.ts +2774 -3828
  34. package/dist/server/src/controllers/validation/schema.d.ts.map +1 -1
  35. package/dist/server/src/index.d.ts +1 -8
  36. package/dist/server/src/index.d.ts.map +1 -1
  37. package/dist/server/src/routes/content-api.d.ts +2 -8
  38. package/dist/server/src/routes/content-api.d.ts.map +1 -1
  39. package/dist/server/src/routes/index.d.ts +1 -8
  40. package/dist/server/src/routes/index.d.ts.map +1 -1
  41. package/package.json +6 -6
@@ -1,28 +1,175 @@
1
- var contentApi = {
2
- type: 'content-api',
3
- routes: [
4
- {
5
- method: 'GET',
6
- path: '/content-types',
7
- handler: 'content-types.getContentTypes'
8
- },
9
- {
10
- method: 'GET',
11
- path: '/content-types/:uid',
12
- handler: 'content-types.getContentType'
13
- },
14
- {
15
- method: 'GET',
16
- path: '/components',
17
- handler: 'components.getComponents'
18
- },
19
- {
20
- method: 'GET',
21
- path: '/components/:uid',
22
- handler: 'components.getComponent'
23
- }
24
- ]
25
- };
1
+ import * as z from 'zod/v4';
2
+
3
+ const ctUIDRegexp = /^((strapi|admin)::[\w-]+|(api|plugin)::[\w-]+\.[\w-]+)$/;
4
+ const componentUIDRegexp = /^[\w-]+\.[\w-]+$/;
5
+ const baseAttributeSchema = z.object({
6
+ type: z.string(),
7
+ configurable: z.literal(false).optional(),
8
+ private: z.boolean().optional(),
9
+ pluginOptions: z.record(z.string(), z.unknown()).optional()
10
+ });
11
+ const mediaAttributeSchema = baseAttributeSchema.extend({
12
+ type: z.literal('media'),
13
+ multiple: z.boolean(),
14
+ required: z.boolean().optional(),
15
+ allowedTypes: z.array(z.string()).optional()
16
+ });
17
+ const relationAttributeSchema = baseAttributeSchema.extend({
18
+ type: z.literal('relation'),
19
+ relation: z.string(),
20
+ target: z.string().regex(ctUIDRegexp),
21
+ targetAttribute: z.string().nullable(),
22
+ autoPopulate: z.boolean().optional(),
23
+ mappedBy: z.string().optional(),
24
+ inversedBy: z.string().optional()
25
+ });
26
+ const componentAttributeSchema = baseAttributeSchema.extend({
27
+ type: z.literal('component'),
28
+ component: z.string(),
29
+ repeatable: z.boolean(),
30
+ required: z.boolean().optional(),
31
+ min: z.number().optional(),
32
+ max: z.number().optional()
33
+ });
34
+ const dynamicZoneAttributeSchema = baseAttributeSchema.extend({
35
+ type: z.literal('dynamiczone'),
36
+ components: z.array(z.string().regex(componentUIDRegexp)),
37
+ required: z.boolean().optional(),
38
+ min: z.number().optional(),
39
+ max: z.number().optional()
40
+ });
41
+ const uidAttributeSchema = baseAttributeSchema.extend({
42
+ type: z.literal('uid'),
43
+ targetField: z.string().optional()
44
+ });
45
+ const genericAttributeSchema = z.object({
46
+ type: z.string(),
47
+ required: z.boolean().optional(),
48
+ unique: z.boolean().optional(),
49
+ default: z.unknown().optional(),
50
+ min: z.union([
51
+ z.number(),
52
+ z.string()
53
+ ]).optional(),
54
+ max: z.union([
55
+ z.number(),
56
+ z.string()
57
+ ]).optional(),
58
+ minLength: z.number().optional(),
59
+ maxLength: z.number().optional(),
60
+ enum: z.array(z.string()).optional(),
61
+ regex: z.string().optional(),
62
+ private: z.boolean().optional(),
63
+ configurable: z.boolean().optional(),
64
+ pluginOptions: z.record(z.string(), z.unknown()).optional()
65
+ });
66
+ const attributeSchema = z.union([
67
+ mediaAttributeSchema,
68
+ relationAttributeSchema,
69
+ componentAttributeSchema,
70
+ dynamicZoneAttributeSchema,
71
+ uidAttributeSchema,
72
+ genericAttributeSchema
73
+ ]);
74
+ const contentTypeSchemaBase = z.object({
75
+ displayName: z.string(),
76
+ singularName: z.string(),
77
+ pluralName: z.string(),
78
+ description: z.string(),
79
+ draftAndPublish: z.boolean(),
80
+ kind: z.enum([
81
+ 'collectionType',
82
+ 'singleType'
83
+ ]),
84
+ collectionName: z.string().optional(),
85
+ attributes: z.record(z.string(), attributeSchema),
86
+ visible: z.boolean(),
87
+ restrictRelationsTo: z.array(z.string()).nullable(),
88
+ pluginOptions: z.record(z.string(), z.unknown()).optional(),
89
+ options: z.record(z.string(), z.unknown()).optional(),
90
+ reviewWorkflows: z.boolean().optional(),
91
+ populateCreatorFields: z.boolean().optional(),
92
+ comment: z.string().optional(),
93
+ version: z.string().optional()
94
+ });
95
+ const formattedContentTypeSchema = z.object({
96
+ uid: z.string().regex(ctUIDRegexp),
97
+ plugin: z.string().optional(),
98
+ apiID: z.string(),
99
+ schema: contentTypeSchemaBase
100
+ });
101
+ const componentSchemaBase = z.object({
102
+ displayName: z.string(),
103
+ description: z.string(),
104
+ icon: z.string().optional(),
105
+ connection: z.string().optional(),
106
+ collectionName: z.string().optional(),
107
+ attributes: z.record(z.string(), attributeSchema),
108
+ pluginOptions: z.record(z.string(), z.unknown()).optional()
109
+ });
110
+ const formattedComponentSchema = z.object({
111
+ uid: z.string().regex(componentUIDRegexp),
112
+ category: z.string(),
113
+ apiId: z.string(),
114
+ schema: componentSchemaBase
115
+ });
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
+ })
135
+ },
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
+ })
148
+ },
149
+ {
150
+ method: 'GET',
151
+ path: '/components',
152
+ handler: 'components.getComponents',
153
+ response: z.object({
154
+ data: z.array(formattedComponentSchema)
155
+ })
156
+ },
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
+ };
172
+ });
26
173
 
27
174
  export { contentApi as default };
28
175
  //# sourceMappingURL=content-api.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.mjs","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["export default {\n type: 'content-api',\n routes: [\n {\n method: 'GET',\n path: '/content-types',\n handler: 'content-types.getContentTypes',\n },\n {\n method: 'GET',\n path: '/content-types/:uid',\n handler: 'content-types.getContentType',\n },\n {\n method: 'GET',\n path: '/components',\n handler: 'components.getComponents',\n },\n {\n method: 'GET',\n path: '/components/:uid',\n handler: 'components.getComponent',\n },\n ],\n};\n"],"names":["type","routes","method","path","handler"],"mappings":"AAAA,iBAAe;IACbA,IAAM,EAAA,aAAA;IACNC,MAAQ,EAAA;AACN,QAAA;YACEC,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,gBAAA;YACNC,OAAS,EAAA;AACX,SAAA;AACA,QAAA;YACEF,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,qBAAA;YACNC,OAAS,EAAA;AACX,SAAA;AACA,QAAA;YACEF,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,aAAA;YACNC,OAAS,EAAA;AACX,SAAA;AACA,QAAA;YACEF,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,kBAAA;YACNC,OAAS,EAAA;AACX;AACD;AACH,CAAE;;;;"}
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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"}