@strapi/content-type-builder 5.19.0 → 5.21.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.
- package/dist/admin/components/DataManager/DataManagerProvider.js +3 -6
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +4 -7
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.js +8 -6
- package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +8 -6
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
- package/dist/admin/components/PluralName.js +20 -17
- package/dist/admin/components/PluralName.js.map +1 -1
- package/dist/admin/components/PluralName.mjs +20 -17
- package/dist/admin/components/PluralName.mjs.map +1 -1
- package/dist/admin/components/SingularName.js +12 -4
- package/dist/admin/components/SingularName.js.map +1 -1
- package/dist/admin/components/SingularName.mjs +12 -4
- package/dist/admin/components/SingularName.mjs.map +1 -1
- package/dist/admin/pages/App/index.js +0 -7
- package/dist/admin/pages/App/index.js.map +1 -1
- package/dist/admin/pages/App/index.mjs +2 -9
- package/dist/admin/pages/App/index.mjs.map +1 -1
- package/dist/admin/pages/ListView/EmptyState.js +1 -1
- package/dist/admin/pages/ListView/EmptyState.js.map +1 -1
- package/dist/admin/pages/ListView/EmptyState.mjs +2 -2
- package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListView.js +1 -1
- package/dist/admin/pages/ListView/ListView.js.map +1 -1
- package/dist/admin/pages/ListView/ListView.mjs +2 -2
- package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
- package/dist/server/controllers/validation/schema.js +4 -2
- package/dist/server/controllers/validation/schema.js.map +1 -1
- package/dist/server/controllers/validation/schema.mjs +3 -3
- package/dist/server/controllers/validation/schema.mjs.map +1 -1
- package/dist/server/routes/content-api.js +191 -25
- package/dist/server/routes/content-api.js.map +1 -1
- package/dist/server/routes/content-api.mjs +172 -25
- package/dist/server/routes/content-api.mjs.map +1 -1
- package/dist/server/services/builder.js +1 -0
- package/dist/server/services/builder.js.map +1 -1
- package/dist/server/services/builder.mjs +1 -0
- package/dist/server/services/builder.mjs.map +1 -1
- package/dist/server/src/controllers/validation/schema.d.ts +2774 -3828
- package/dist/server/src/controllers/validation/schema.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +1 -8
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/content-api.d.ts +2 -8
- package/dist/server/src/routes/content-api.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +1 -8
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/builder.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -115,7 +115,7 @@ const ListView = ()=>{
|
|
|
115
115
|
});
|
|
116
116
|
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
117
117
|
children: [
|
|
118
|
-
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.
|
|
118
|
+
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.tours.contentTypeBuilder.Introduction, {
|
|
119
119
|
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
120
120
|
paddingTop: 5
|
|
121
121
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.js","sources":["../../../../admin/src/pages/ListView/ListView.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\nimport { useTracking, Layouts, unstable_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 <unstable_tours.contentTypeBuilder.Introduction>\n {/* Invisible Anchor */}\n <Box paddingTop={5} />\n </unstable_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","unstable_tours","contentTypeBuilder","Introduction","Box","paddingTop","background","justifyContent","padding","Information","fill","height","width","Typography","modelType","title","upperFirst","Content","shadow","hasRadius","overflow","borderColor","List","addComponentToDZ","isMain"],"mappings":";;;;;;;;;;;;;;;;AAkBA,MAAMA,mBAAsBC,GAAAA,uBAAAA,CAAOC,mBAAQC,CAAAA,MAAM,CAAC;;;;AAIlD,CAAC;AAED,MAAMC,QAAW,GAAA,IAAA;IACf,MAAM,EAAEC,mBAAmB,EAAEC,YAAY,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGC,6BAAAA,EAAAA;IACrE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,uBAAAA,EAAAA;AAEvB,IAAA,MAAM,EAAEC,cAAc,EAAEC,YAAY,EAAE,GAAGC,wBAAAA,EAAAA;AAKzC,IAAA,MAAM,EAAEC,4BAA4B,EAAEC,mBAAmB,EAAEC,qBAAqB,EAAE,GAChFC,6CAAAA,EAAAA;IAEF,MAAMC,IAAAA,GAAOP,cACTR,GAAAA,YAAY,CAACQ,cAAAA,CAAe,GAC5BC,YACER,GAAAA,UAAU,CAACQ,YAAAA,CAAa,GACxB,IAAA;AAEN,IAAA,IAAIP,SAAW,EAAA;QACb,OAAO,IAAA;AACT;AAEA,IAAA,IAAI,CAACa,IAAM,EAAA;QACT,MAAMC,gBAAAA,GAAmBC,MAAOC,CAAAA,MAAM,CAAClB,YAAAA,CAAAA,CACpCmB,MAAM,CAAC,CAACC,EAAOA,GAAAA,EAAAA,CAAGC,OAAO,KAAK,QAAQ,CAACD,EAAAA,CAAGE,MAAM,CAAA,CAChDC,GAAG,CAAC,CAACH,EAAOA,GAAAA,EAAAA,CAAGI,GAAG,CAAA,CAClBC,IAAI,EAAA;QAEP,IAAIT,gBAAAA,CAAiBU,MAAM,GAAG,CAAG,EAAA;AAC/B,YAAA,qBAAOC,cAACC,CAAAA,uBAAAA,EAAAA;AAASC,gBAAAA,EAAAA,EAAI,CAAC,4CAA4C,EAAEb,gBAAgB,CAAC,CAAA,CAAE,CAAC;;AAC1F;AAEA,QAAA,qBAAOW,cAACC,CAAAA,uBAAAA,EAAAA;YAASC,EAAG,EAAA;;AACtB;AAEA,IAAA,MAAMC,YAAe,GAAA,QAAA,IAAYf,IAAQA,IAAAA,IAAAA,EAAMO,MAAWS,KAAAA,SAAAA;IAE1D,MAAMC,SAAAA,GAAYxB,iBAAiB,aAAgB,GAAA,WAAA;IAEnD,MAAMyB,KAAAA,GAAQlB,IAAMmB,EAAAA,IAAAA,EAAMC,WAAe,IAAA,EAAA;IAEzC,MAAMC,OAAAA,GAAUrC,uBAAuB,CAAC+B,YAAAA;AAExC,IAAA,MAAMO,8BAA8B,CAACC,iBAAAA,GAAAA;QACnC3B,4BAA6B,CAAA;AAAE2B,YAAAA,iBAAAA;AAAmBC,YAAAA,SAAAA,EAAWxB,KAAKS;AAAI,SAAA,CAAA;AACxE,KAAA;AAEA,IAAA,MAAMgB,MAAS,GAAA,IAAA;AACb,QAAA,IAAI,UAAUzB,IAAM,EAAA;YAClB,IAAIA,IAAAA,EAAM0B,SAAS,gBAAkB,EAAA;gBACnCnC,UAAW,CAAA,2BAAA,CAAA;AACb;YAEA,IAAIS,IAAAA,EAAM0B,SAAS,YAAc,EAAA;gBAC/BnC,UAAW,CAAA,0BAAA,CAAA;AACb;YAEAO,qBAAsB,CAAA;gBACpB6B,SAAWV,EAAAA,SAAAA;gBACXA,SAAWA,EAAAA,SAAAA;AACXO,gBAAAA,SAAAA,EAAWxB,KAAKS,GAAG;AACnBiB,gBAAAA,IAAAA,EAAM1B,IAAM0B,EAAAA;AACd,aAAA,CAAA;AAEA,YAAA;AACF;QAEA5B,qBAAsB,CAAA;YACpB6B,SAAWV,EAAAA,SAAAA;YACXA,SAAWA,EAAAA,SAAAA;AACXO,YAAAA,SAAAA,EAAWxB,KAAKS;AAClB,SAAA,CAAA;AACF,KAAA;AAEA,IAAA,MAAMmB,mBAAmBvC,aAAc,CAAA;AACrCwC,QAAAA,EAAAA,EAAIC,eAAQ,CAAA,wBAAA,CAAA;QACZC,cAAgB,EAAA;AAClB,KAAA,CAAA;AAEA,IAAA,MAAMC,uBAAuB3C,aAAc,CAAA;AACzCwC,QAAAA,EAAAA,EAAIC,eAAQ,CAAA,+BAAA,CAAA;QACZC,cAAgB,EAAA;AAClB,KAAA,CAAA;IAEA,MAAME,SAAAA,GAAYjC,IAAKkC,CAAAA,MAAM,KAAK,SAAA;IAElC,MAAMC,aAAAA,GAAgBnD,qCACpBoD,eAACC,CAAAA,iBAAAA,EAAAA;QAAKC,GAAK,EAAA,CAAA;;0BACT1B,cAAC2B,CAAAA,yCAAAA,EAAAA;gBAECvC,IAAMA,EAAAA,IAAAA;gBACNwC,QAAUxC,EAAAA,IAAAA,CAAKkC,MAAM,KAAK,KAASD,IAAAA;AAF/B,aAAA,EAAA,0BAAA,CAAA;0BAINrB,cAAC6B,CAAAA,mBAAAA,EAAAA;AACCC,gBAAAA,SAAAA,gBAAW9B,cAAC+B,CAAAA,YAAAA,EAAAA,EAAAA,CAAAA;gBACZC,OAAQ,EAAA,UAAA;gBACRC,OAASpB,EAAAA,MAAAA;AACTe,gBAAAA,QAAAA,EAAU,CAACnB,OAAWY,IAAAA,SAAAA;0BAErB5C,aAAc,CAAA;oBACbwC,EAAI,EAAA,gBAAA;oBACJE,cAAgB,EAAA;AAClB,iBAAA;;0BAEFnB,cAAC6B,CAAAA,mBAAAA,EAAAA;AACCC,gBAAAA,SAAAA,gBAAW9B,cAACkC,CAAAA,UAAAA,EAAAA,EAAAA,CAAAA;gBACZF,OAAQ,EAAA,WAAA;gBACRG,QAAS,EAAA,aAAA;gBACTF,OAAS,EAAA,IAAA;oBACPhD,mBAAoB,CAAA;AAAEoB,wBAAAA,SAAAA;AAAWO,wBAAAA,SAAAA,EAAWxB,KAAKS;AAAI,qBAAA,CAAA;AACvD,iBAAA;gBACA+B,QAAUP,EAAAA,SAAAA;AAETjC,gBAAAA,QAAAA,EAAAA,IAAAA,CAAKgD,UAAU,CAACrC,MAAM,KAAK,IAAIiB,gBAAmBI,GAAAA;;;;IAKzD,qBACEI,eAAA,CAAAa,mBAAA,EAAA;;0BACErC,cAACsC,CAAAA,0BAAAA,CAAeC,kBAAkB,CAACC,YAAY,EAAA;AAE7C,gBAAA,QAAA,gBAAAxC,cAACyC,CAAAA,gBAAAA,EAAAA;oBAAIC,UAAY,EAAA;;;AAElBrB,YAAAA,SAAAA,kBACCrB,cAACyB,CAAAA,iBAAAA,EAAAA;gBAAKkB,UAAW,EAAA,WAAA;gBAAYC,cAAgB,EAAA,QAAA;gBAAUC,OAAS,EAAA,CAAA;AAC9D,gBAAA,QAAA,gBAAArB,eAACC,CAAAA,iBAAAA,EAAAA;oBAAKC,GAAK,EAAA,CAAA;;sCACT1B,cAAC8C,CAAAA,iBAAAA,EAAAA;4BAAYC,IAAK,EAAA,WAAA;4BAAYC,MAAO,EAAA,MAAA;4BAAOC,KAAM,EAAA;;sCAClDjD,cAACkD,CAAAA,uBAAAA,EAAAA;sCACEzE,aACC,CAAA;AACEwC,gCAAAA,EAAAA,EAAIC,eAAQ,CAAA,uBAAA,CAAA;gCACZC,cAAgB,EAAA,CAAC,4BAA4B;6BAE/C,EAAA;AACEL,gCAAAA,IAAAA,EAAM1B,IAAK+D,CAAAA,SAAS,KAAK,aAAA,GAAgB,cAAiB,GAAA;AAC5D,6BAAA;;;;;0BAMVnD,cAACjC,CAAAA,mBAAAA,EAAAA;gBAAoBkD,EAAG,EAAA,OAAA;gBAAQM,aAAeA,EAAAA,aAAAA;AAAe6B,gBAAAA,KAAAA,EAAOC,UAAW/C,CAAAA,KAAAA;;AAChF,0BAAAN,cAAA,CAAC/B,oBAAQqF,OAAO,EAAA;AACd,gBAAA,QAAA,gBAAAtD,cAACyC,CAAAA,gBAAAA,EAAAA;oBACCE,UAAW,EAAA,UAAA;oBACXY,MAAO,EAAA,cAAA;oBACPC,SAAS,EAAA,IAAA;oBACTC,QAAS,EAAA,MAAA;oBACTC,WAAY,EAAA,YAAA;AAEZ,oBAAA,QAAA,gBAAA1D,cAAC2D,CAAAA,SAAAA,EAAAA;wBAAKvE,IAAMA,EAAAA,IAAAA;wBAAMwE,gBAAkBlD,EAAAA,2BAAAA;wBAA6BmD,MAAM,EAAA;;;;;;AAKjF;;;;"}
|
|
1
|
+
{"version":3,"file":"ListView.js","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 paddingTop={5} />\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","paddingTop","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,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { Layouts, useTracking,
|
|
2
|
+
import { Layouts, useTracking, tours } from '@strapi/admin/strapi-admin';
|
|
3
3
|
import { Flex, Button, Box, Typography } from '@strapi/design-system';
|
|
4
4
|
import { Pencil, Plus, Information } from '@strapi/icons';
|
|
5
5
|
import upperFirst from 'lodash/upperFirst';
|
|
@@ -113,7 +113,7 @@ const ListView = ()=>{
|
|
|
113
113
|
});
|
|
114
114
|
return /*#__PURE__*/ jsxs(Fragment, {
|
|
115
115
|
children: [
|
|
116
|
-
/*#__PURE__*/ jsx(
|
|
116
|
+
/*#__PURE__*/ jsx(tours.contentTypeBuilder.Introduction, {
|
|
117
117
|
children: /*#__PURE__*/ jsx(Box, {
|
|
118
118
|
paddingTop: 5
|
|
119
119
|
})
|
|
@@ -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, unstable_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 <unstable_tours.contentTypeBuilder.Introduction>\n {/* Invisible Anchor */}\n <Box paddingTop={5} />\n </unstable_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","unstable_tours","contentTypeBuilder","Introduction","Box","paddingTop","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 <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 paddingTop={5} />\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","paddingTop","background","justifyContent","padding","Information","fill","height","width","Typography","modelType","title","upperFirst","Content","shadow","hasRadius","overflow","borderColor","List","addComponentToDZ","isMain"],"mappings":"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"}
|
|
@@ -58,7 +58,7 @@ const verifySingularAndPluralNames = (obj, ctx)=>{
|
|
|
58
58
|
};
|
|
59
59
|
const maxLengthGreaterThanMinLength = (value, ctx)=>{
|
|
60
60
|
if (!fp.isNil(value.maxLength) && !fp.isNil(value.minLength) && fp.isNumber(value.maxLength) && fp.isNumber(value.minLength)) {
|
|
61
|
-
if (value.maxLength
|
|
61
|
+
if (value.maxLength < value.minLength) {
|
|
62
62
|
ctx.addIssue({
|
|
63
63
|
code: zod.z.ZodIssueCode.custom,
|
|
64
64
|
message: 'maxLength must be greater or equal to minLength',
|
|
@@ -71,7 +71,7 @@ const maxLengthGreaterThanMinLength = (value, ctx)=>{
|
|
|
71
71
|
};
|
|
72
72
|
const maxGreaterThanMin = (value, ctx)=>{
|
|
73
73
|
if (!fp.isNil(value.max) && !fp.isNil(value.min) && fp.isNumber(value.max) && fp.isNumber(value.min)) {
|
|
74
|
-
if (value.max
|
|
74
|
+
if (value.max < value.min) {
|
|
75
75
|
ctx.addIssue({
|
|
76
76
|
code: zod.z.ZodIssueCode.custom,
|
|
77
77
|
message: 'max must be greater or equal to min',
|
|
@@ -620,5 +620,7 @@ const validateUpdateSchema = utils.validateZod(zod.z.object({
|
|
|
620
620
|
required_error: 'Schema is required'
|
|
621
621
|
}));
|
|
622
622
|
|
|
623
|
+
exports.maxGreaterThanMin = maxGreaterThanMin;
|
|
624
|
+
exports.maxLengthGreaterThanMinLength = maxLengthGreaterThanMinLength;
|
|
623
625
|
exports.validateUpdateSchema = validateUpdateSchema;
|
|
624
626
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sources":["../../../../server/src/controllers/validation/schema.ts"],"sourcesContent":["import { z } from 'zod';\nimport { strings, validateZod } from '@strapi/utils';\nimport type { Struct, UID } from '@strapi/types';\nimport { isArray, isNil, isNull, isNumber, isObject, isUndefined, snakeCase } from 'lodash/fp';\n\nimport { isReservedAttributeName, isReservedModelName } from '../../services/builder';\nimport { coreUids, typeKinds, VALID_UID_TARGETS } from '../../services/constants';\n\nimport {\n CATEGORY_NAME_REGEX,\n ICON_REGEX,\n COLLECTION_NAME_REGEX,\n KEBAB_BASE_REGEX,\n NAME_REGEX,\n} from './common';\n\ntype SchemaMeta =\n | {\n modelType: 'contentType';\n kind?: Struct.ContentTypeKind;\n }\n | {\n modelType: 'component';\n };\n\nconst uniqueAttributeName: z.SuperRefinement<{ name: string }[]> = (attributes, ctx) => {\n const names = new Set(attributes.map((attribute) => snakeCase(attribute.name)));\n if (names.size !== attributes.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Attributes must have unique names',\n });\n }\n};\n\nconst verifyUidTargetField: z.SuperRefinement<\n {\n action: 'create' | 'update' | 'delete';\n name: string;\n properties?: {\n type: unknown;\n targetField?: string | null;\n };\n }[]\n> = (attributes, ctx) => {\n attributes.forEach((attribute) => {\n if (!attribute.properties) {\n return;\n }\n\n const { properties, action } = attribute;\n\n if (properties.type === 'uid' && properties.targetField) {\n const targetAttr = attributes.find((attr) => attr.name === properties.targetField);\n\n if (!targetAttr) {\n // NOTE: on update we are setting it to undefined later in the process instead to handle renames\n if (action === 'create') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Target does not exist',\n });\n }\n } else if (\n !VALID_UID_TARGETS.some((validUIdTarget) => validUIdTarget === targetAttr.properties?.type)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Invalid target type',\n });\n }\n }\n });\n};\n\nconst verifySingularAndPluralNames: z.SuperRefinement<Record<string, unknown>> = (obj, ctx) => {\n // singular and plural can only be provided on creation\n if (obj.action !== 'create') {\n return;\n }\n\n if (obj.singularName === obj.pluralName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Singular and plural names must be different',\n path: ['singularName'],\n });\n }\n};\n\nconst maxLengthGreaterThanMinLength: z.SuperRefinement<Record<string, unknown>> = (value, ctx) => {\n if (\n !isNil(value.maxLength) &&\n !isNil(value.minLength) &&\n isNumber(value.maxLength) &&\n isNumber(value.minLength)\n ) {\n if (value.maxLength <= value.minLength) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'maxLength must be greater or equal to minLength',\n path: ['maxLength'],\n });\n }\n }\n};\n\nconst maxGreaterThanMin: z.SuperRefinement<Record<string, unknown>> = (value, ctx) => {\n if (!isNil(value.max) && !isNil(value.min) && isNumber(value.max) && isNumber(value.min)) {\n if (value.max <= value.min) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'max must be greater or equal to min',\n path: ['max'],\n });\n }\n }\n};\n\nconst checkUserTarget: z.SuperRefinement<{\n type: string;\n target?: string;\n relation?: string;\n targetAttribute?: string | null;\n}> = (value, ctx) => {\n if (value.type !== 'relation') {\n return;\n }\n\n if (isUndefined(value.target) || isUndefined(value.relation)) {\n return;\n }\n\n const { target, relation, targetAttribute } = value;\n\n if (\n target === coreUids.STRAPI_USER &&\n (!STRAPI_USER_RELATIONS.includes(relation) || !isUndefined(targetAttribute))\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['relation'],\n message: `Relations to ${coreUids.STRAPI_USER} must be one of the following values: ${STRAPI_USER_RELATIONS.join(', ')} without targetAttribute`,\n });\n }\n};\n\nconst uidRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n targetField?: string | null;\n}> = (value, ctx) => {\n if (!isNil(value.targetField) && !isNil(value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Cannot define a default UID if the targetField is set',\n path: ['default'],\n });\n }\n};\n\nconst enumRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n enum?: string[];\n}> = (value, ctx) => {\n if (value.type === 'enumeration' && !isNil(value.default) && !isNil(value.enum)) {\n if (value.default === '' || !value.enum.some((v) => v === value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Default value must be one of the enum values',\n path: ['default'],\n });\n }\n }\n};\n\nconst conditionSchema = z.object({\n visible: z.record(z.string(), z.array(z.any())),\n});\n\nconst basePropertiesSchema = z.object({\n type: z.enum([\n 'string',\n 'text',\n 'richtext',\n 'blocks',\n 'json',\n 'enumeration',\n 'password',\n 'email',\n 'integer',\n 'biginteger',\n 'float',\n 'decimal',\n 'time',\n 'datetime',\n 'date',\n 'timestamp',\n 'boolean',\n 'component',\n 'uid',\n 'customField',\n 'media',\n 'relation',\n 'dynamiczone',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst maxLengthSchema = z.number().int().positive().optional();\nconst minLengthSchema = z.number().int().positive().optional();\n\nconst requiredSchema = z.boolean().optional();\nconst uniqueSchema = z.boolean().optional();\n\nconst STRAPI_USER_RELATIONS = ['oneToOne', 'oneToMany'];\n\nconst baseRelationSchema = z.object({\n type: z.literal('relation'),\n relation: z.enum([\n 'oneToOne',\n 'oneToMany',\n 'manyToOne',\n 'manyToMany',\n 'morphOne',\n 'morphMany',\n 'morphToOne',\n 'morphToMany',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst oneToOneSchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst oneWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n});\n\nconst oneToManySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n});\n\nconst manyToOneSchema = baseRelationSchema.extend({\n relation: z.literal('manyToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyToManySchema = baseRelationSchema.extend({\n relation: z.literal('manyToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphManySchema = baseRelationSchema.extend({\n relation: z.literal('morphMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphToOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphToOne'),\n});\n\nconst morphToManySchema = baseRelationSchema.extend({\n relation: z.literal('morphToMany'),\n});\n\nconst createRelationSchema = (meta: SchemaMeta) => {\n switch (meta.modelType) {\n case 'contentType': {\n switch (meta.kind) {\n case 'singleType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n\n case 'collectionType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n manyToOneSchema,\n manyToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n default:\n throw new Error('Invalid content type kind');\n }\n }\n\n case 'component': {\n return z.discriminatedUnion('relation', [oneWaySchema, manyWaySchema]);\n }\n default:\n throw new Error('Invalid model type');\n }\n};\n\nconst richTextSchema = basePropertiesSchema.extend({\n type: z.literal('richtext'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().optional(),\n});\n\nconst blocksSchema = basePropertiesSchema.extend({\n type: z.literal('blocks'),\n required: requiredSchema,\n});\n\nconst jsonSchema = basePropertiesSchema.extend({\n type: z.literal('json'),\n required: requiredSchema,\n default: z\n .unknown()\n .optional()\n .refine((value) => {\n if (value === undefined) {\n return true;\n }\n\n if (isNumber(value) || isNull(value) || isObject(value) || isArray(value)) {\n return true;\n }\n\n try {\n JSON.parse(value as string);\n\n return true;\n } catch (err) {\n return false;\n }\n }),\n});\n\nconst enumerationSchema = basePropertiesSchema.extend({\n type: z.literal('enumeration'),\n required: requiredSchema,\n default: z.string().optional(),\n enumName: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || NAME_REGEX.test(value as string);\n }, 'Invalid enum name'),\n enum: z\n .array(\n z.string().refine((value) => {\n return value === '' || !strings.startsWithANumber(value as string);\n })\n )\n .min(1)\n .refine((values) => {\n const filtered = [...new Set(values)];\n return filtered.length === values.length;\n }),\n});\n\nconst textSchema = basePropertiesSchema.extend({\n type: z.literal('text'),\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n required: requiredSchema,\n unique: uniqueSchema,\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst stringSchema = textSchema.extend({\n type: z.literal('string'),\n});\n\nconst passwordSchema = basePropertiesSchema.extend({\n type: z.literal('password'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n});\n\nconst emailSchema = basePropertiesSchema.extend({\n type: z.literal('email'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().email().optional(),\n unique: uniqueSchema,\n});\n\nconst integerSchema = basePropertiesSchema.extend({\n type: z.literal('integer'),\n required: requiredSchema,\n default: z.number().int().optional(),\n unique: uniqueSchema,\n min: z.number().int().optional(),\n max: z.number().int().optional(),\n});\n\nconst bigIntegerSchema = basePropertiesSchema.extend({\n type: z.literal('biginteger'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().regex(/^\\d*$/).nullish(),\n min: z.string().regex(/^\\d*$/).nullish(),\n max: z.string().regex(/^\\d*$/).nullish(),\n});\n\nconst floatSchema = basePropertiesSchema.extend({\n type: z.literal('float'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst decimalSchema = basePropertiesSchema.extend({\n type: z.literal('decimal'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst timeSchema = basePropertiesSchema.extend({\n type: z.literal('time'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().optional(),\n});\n\nconst dateSchema = timeSchema.extend({\n type: z.literal('date'),\n});\n\nconst dateTimeSchema = timeSchema.extend({\n type: z.literal('datetime'),\n});\n\nconst timeStampSchema = basePropertiesSchema.extend({\n type: z.literal('timestamp'),\n});\n\nconst booleanSchema = basePropertiesSchema.extend({\n type: z.literal('boolean'),\n required: requiredSchema,\n default: z.boolean().optional(),\n});\n\nconst componentSchema = basePropertiesSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean().optional(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneSchema = basePropertiesSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string()).nonempty(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst mediaSchema = basePropertiesSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean().optional(),\n required: requiredSchema,\n allowedTypes: z\n .array(z.enum(['images', 'videos', 'files', 'audios']))\n .nonempty()\n .optional(),\n});\n\nconst uidSchema = basePropertiesSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().nullish(),\n required: requiredSchema,\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n options: z\n .object({\n separator: z.string().optional(),\n lowercase: z.boolean().optional(),\n decamelize: z.boolean().optional(),\n customReplacements: z.array(z.array(z.string()).length(2)).optional(),\n preserveLeadingUnderscore: z.boolean().optional(),\n })\n .optional(),\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst customFieldSchema = basePropertiesSchema.extend({\n type: z.literal('customField'),\n customField: z.string(),\n});\n\nconst attributePropertiesSchema = (meta: SchemaMeta) => {\n const relationSchema = createRelationSchema(meta);\n\n const base = z.union([\n mediaSchema,\n textSchema,\n stringSchema,\n richTextSchema,\n blocksSchema,\n jsonSchema,\n enumerationSchema,\n passwordSchema,\n emailSchema,\n integerSchema,\n bigIntegerSchema,\n floatSchema,\n decimalSchema,\n timeSchema,\n dateSchema,\n dateTimeSchema,\n timeStampSchema,\n booleanSchema,\n componentSchema,\n customFieldSchema.passthrough(),\n\n relationSchema,\n ]);\n\n if (meta.modelType === 'component') {\n return base\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n }\n\n return z\n .union([...base.options, uidSchema, dynamicZoneSchema])\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(uidRefinement)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n};\n\nconst createAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('create'),\n name: z\n .string()\n .regex(NAME_REGEX)\n .refine((value) => !isReservedAttributeName(value), 'Attribute name is reserved'),\n properties: attributePropertiesSchema(meta),\n });\n\nconst updateAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('update'),\n name: z.string(),\n properties: attributePropertiesSchema(meta),\n });\n\nconst deleteAttributeSchema = z.object({\n action: z.literal('delete'),\n name: z.string(),\n});\n\nconst contentTypeUIDSchema = z.custom<UID.ContentType>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst componentUIDSchema = z.custom<UID.Component>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst categorySchema = z.string().min(1).regex(CATEGORY_NAME_REGEX);\n\nconst baseComponentSchema = z.object({\n uid: componentUIDSchema,\n displayName: z.string().min(1),\n icon: z.string().regex(ICON_REGEX).optional(),\n description: z.string().optional(),\n category: categorySchema,\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createComponentSchema = baseComponentSchema.extend({\n action: z.literal('create'),\n config: z.record(z.string(), z.unknown()).optional().default({}),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'component',\n })\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst updateComponentSchema = baseComponentSchema.extend({\n action: z.literal('update'),\n category: categorySchema.optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'component',\n }),\n updateAttributeSchema({\n modelType: 'component',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst deleteComponentSchema = z.object({\n action: z.literal('delete'),\n uid: componentUIDSchema,\n});\n\nconst baseContentTypeSchema = z.object({\n uid: contentTypeUIDSchema,\n displayName: z.string().min(1),\n description: z.string().optional(),\n draftAndPublish: z.boolean(),\n options: z.record(z.unknown()).optional().default({}),\n pluginOptions: z.record(z.unknown()).optional().default({}),\n kind: z.enum([typeKinds.SINGLE_TYPE, typeKinds.COLLECTION_TYPE]).optional(),\n});\n\nconst baseCreateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('create'),\n collectionName: z.string().regex(COLLECTION_NAME_REGEX).optional(),\n singularName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n pluralName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n config: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createSingleTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst createCollectionTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst baseUpdateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('update'),\n});\n\nconst updateSingleTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE).optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst updateCollectionTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE).optional(),\n attributes: z\n .array(\n z.union([\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst deleteContentTypeSchema = z.object({\n action: z.literal('delete'),\n uid: contentTypeUIDSchema,\n});\n\nconst schemaSchema = z.object({\n components: z\n .array(z.union([createComponentSchema, updateComponentSchema, deleteComponentSchema]))\n .optional()\n .default([]),\n contentTypes: z\n .array(\n z\n .union([\n createSingleTypeSchema,\n createCollectionTypeSchema,\n updateSingleTypeSchema,\n updateCollectionTypeSchema,\n deleteContentTypeSchema,\n ])\n .superRefine(verifySingularAndPluralNames)\n )\n .optional()\n .default([]),\n});\n\ntype CreateComponentType = z.infer<typeof createComponentSchema>;\ntype UpdateComponentType = z.infer<typeof updateComponentSchema>;\ntype DeleteComponentType = z.infer<typeof deleteComponentSchema>;\ntype CreateCollectionType = z.infer<typeof createCollectionTypeSchema>;\ntype CreateSingleType = z.infer<typeof createSingleTypeSchema>;\ntype UpdateSingleType = z.infer<typeof updateSingleTypeSchema>;\ntype UpdateCollectionType = z.infer<typeof updateCollectionTypeSchema>;\ntype DeleteContentType = z.infer<typeof deleteContentTypeSchema>;\n\nexport type Schema = {\n components: Array<CreateComponentType | UpdateComponentType | DeleteComponentType>;\n contentTypes: Array<\n | CreateSingleType\n | CreateCollectionType\n | UpdateSingleType\n | UpdateCollectionType\n | DeleteContentType\n >;\n};\n\nexport const validateUpdateSchema = validateZod(\n z.object(\n {\n data: schemaSchema,\n },\n {\n invalid_type_error: 'Invalid schema, expected an object with a data property',\n required_error: 'Schema is required',\n }\n )\n);\n"],"names":["uniqueAttributeName","attributes","ctx","names","Set","map","attribute","snakeCase","name","size","length","addIssue","code","z","ZodIssueCode","custom","message","verifyUidTargetField","forEach","properties","action","type","targetField","targetAttr","find","attr","VALID_UID_TARGETS","some","validUIdTarget","verifySingularAndPluralNames","obj","singularName","pluralName","path","maxLengthGreaterThanMinLength","value","isNil","maxLength","minLength","isNumber","maxGreaterThanMin","max","min","checkUserTarget","isUndefined","target","relation","targetAttribute","coreUids","STRAPI_USER","STRAPI_USER_RELATIONS","includes","join","uidRefinement","default","enumRefinement","enum","v","conditionSchema","object","visible","record","string","array","any","basePropertiesSchema","configurable","boolean","nullish","private","pluginOptions","unknown","optional","conditions","preprocess","val","maxLengthSchema","number","int","positive","minLengthSchema","requiredSchema","uniqueSchema","baseRelationSchema","literal","oneToOneSchema","extend","oneWaySchema","oneToManySchema","manyWaySchema","manyToOneSchema","manyToManySchema","morphOneSchema","morphManySchema","morphToOneSchema","morphToManySchema","createRelationSchema","meta","modelType","kind","discriminatedUnion","Error","richTextSchema","required","blocksSchema","jsonSchema","refine","undefined","isNull","isObject","isArray","JSON","parse","err","enumerationSchema","enumName","NAME_REGEX","test","strings","startsWithANumber","values","filtered","textSchema","unique","regex","RegExp","stringSchema","passwordSchema","emailSchema","email","integerSchema","bigIntegerSchema","floatSchema","decimalSchema","timeSchema","dateSchema","dateTimeSchema","timeStampSchema","booleanSchema","componentSchema","component","repeatable","dynamicZoneSchema","components","nonempty","mediaSchema","multiple","allowedTypes","uidSchema","options","separator","lowercase","decamelize","customReplacements","preserveLeadingUnderscore","customFieldSchema","customField","attributePropertiesSchema","relationSchema","base","union","passthrough","superRefine","createAttributeSchema","isReservedAttributeName","updateAttributeSchema","deleteAttributeSchema","contentTypeUIDSchema","componentUIDSchema","categorySchema","CATEGORY_NAME_REGEX","baseComponentSchema","uid","displayName","icon","ICON_REGEX","description","category","createComponentSchema","config","updateComponentSchema","deleteComponentSchema","baseContentTypeSchema","draftAndPublish","typeKinds","SINGLE_TYPE","COLLECTION_TYPE","baseCreateContentTypeSchema","collectionName","COLLECTION_NAME_REGEX","KEBAB_BASE_REGEX","isReservedModelName","createSingleTypeSchema","createCollectionTypeSchema","baseUpdateContentTypeSchema","updateSingleTypeSchema","updateCollectionTypeSchema","deleteContentTypeSchema","schemaSchema","contentTypes","validateUpdateSchema","validateZod","data","invalid_type_error","required_error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sources":["../../../../server/src/controllers/validation/schema.ts"],"sourcesContent":["import { z } from 'zod';\nimport { strings, validateZod } from '@strapi/utils';\nimport type { Struct, UID } from '@strapi/types';\nimport { isArray, isNil, isNull, isNumber, isObject, isUndefined, snakeCase } from 'lodash/fp';\n\nimport { isReservedAttributeName, isReservedModelName } from '../../services/builder';\nimport { coreUids, typeKinds, VALID_UID_TARGETS } from '../../services/constants';\n\nimport {\n CATEGORY_NAME_REGEX,\n ICON_REGEX,\n COLLECTION_NAME_REGEX,\n KEBAB_BASE_REGEX,\n NAME_REGEX,\n} from './common';\n\ntype SchemaMeta =\n | {\n modelType: 'contentType';\n kind?: Struct.ContentTypeKind;\n }\n | {\n modelType: 'component';\n };\n\nconst uniqueAttributeName: z.SuperRefinement<{ name: string }[]> = (attributes, ctx) => {\n const names = new Set(attributes.map((attribute) => snakeCase(attribute.name)));\n if (names.size !== attributes.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Attributes must have unique names',\n });\n }\n};\n\nconst verifyUidTargetField: z.SuperRefinement<\n {\n action: 'create' | 'update' | 'delete';\n name: string;\n properties?: {\n type: unknown;\n targetField?: string | null;\n };\n }[]\n> = (attributes, ctx) => {\n attributes.forEach((attribute) => {\n if (!attribute.properties) {\n return;\n }\n\n const { properties, action } = attribute;\n\n if (properties.type === 'uid' && properties.targetField) {\n const targetAttr = attributes.find((attr) => attr.name === properties.targetField);\n\n if (!targetAttr) {\n // NOTE: on update we are setting it to undefined later in the process instead to handle renames\n if (action === 'create') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Target does not exist',\n });\n }\n } else if (\n !VALID_UID_TARGETS.some((validUIdTarget) => validUIdTarget === targetAttr.properties?.type)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Invalid target type',\n });\n }\n }\n });\n};\n\nconst verifySingularAndPluralNames: z.SuperRefinement<Record<string, unknown>> = (obj, ctx) => {\n // singular and plural can only be provided on creation\n if (obj.action !== 'create') {\n return;\n }\n\n if (obj.singularName === obj.pluralName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Singular and plural names must be different',\n path: ['singularName'],\n });\n }\n};\n\nexport const maxLengthGreaterThanMinLength: z.SuperRefinement<Record<string, unknown>> = (\n value,\n ctx\n) => {\n if (\n !isNil(value.maxLength) &&\n !isNil(value.minLength) &&\n isNumber(value.maxLength) &&\n isNumber(value.minLength)\n ) {\n if (value.maxLength < value.minLength) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'maxLength must be greater or equal to minLength',\n path: ['maxLength'],\n });\n }\n }\n};\n\nexport const maxGreaterThanMin: z.SuperRefinement<Record<string, unknown>> = (value, ctx) => {\n if (!isNil(value.max) && !isNil(value.min) && isNumber(value.max) && isNumber(value.min)) {\n if (value.max < value.min) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'max must be greater or equal to min',\n path: ['max'],\n });\n }\n }\n};\n\nconst checkUserTarget: z.SuperRefinement<{\n type: string;\n target?: string;\n relation?: string;\n targetAttribute?: string | null;\n}> = (value, ctx) => {\n if (value.type !== 'relation') {\n return;\n }\n\n if (isUndefined(value.target) || isUndefined(value.relation)) {\n return;\n }\n\n const { target, relation, targetAttribute } = value;\n\n if (\n target === coreUids.STRAPI_USER &&\n (!STRAPI_USER_RELATIONS.includes(relation) || !isUndefined(targetAttribute))\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['relation'],\n message: `Relations to ${coreUids.STRAPI_USER} must be one of the following values: ${STRAPI_USER_RELATIONS.join(', ')} without targetAttribute`,\n });\n }\n};\n\nconst uidRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n targetField?: string | null;\n}> = (value, ctx) => {\n if (!isNil(value.targetField) && !isNil(value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Cannot define a default UID if the targetField is set',\n path: ['default'],\n });\n }\n};\n\nconst enumRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n enum?: string[];\n}> = (value, ctx) => {\n if (value.type === 'enumeration' && !isNil(value.default) && !isNil(value.enum)) {\n if (value.default === '' || !value.enum.some((v) => v === value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Default value must be one of the enum values',\n path: ['default'],\n });\n }\n }\n};\n\nconst conditionSchema = z.object({\n visible: z.record(z.string(), z.array(z.any())),\n});\n\nconst basePropertiesSchema = z.object({\n type: z.enum([\n 'string',\n 'text',\n 'richtext',\n 'blocks',\n 'json',\n 'enumeration',\n 'password',\n 'email',\n 'integer',\n 'biginteger',\n 'float',\n 'decimal',\n 'time',\n 'datetime',\n 'date',\n 'timestamp',\n 'boolean',\n 'component',\n 'uid',\n 'customField',\n 'media',\n 'relation',\n 'dynamiczone',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst maxLengthSchema = z.number().int().positive().optional();\nconst minLengthSchema = z.number().int().positive().optional();\n\nconst requiredSchema = z.boolean().optional();\nconst uniqueSchema = z.boolean().optional();\n\nconst STRAPI_USER_RELATIONS = ['oneToOne', 'oneToMany'];\n\nconst baseRelationSchema = z.object({\n type: z.literal('relation'),\n relation: z.enum([\n 'oneToOne',\n 'oneToMany',\n 'manyToOne',\n 'manyToMany',\n 'morphOne',\n 'morphMany',\n 'morphToOne',\n 'morphToMany',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst oneToOneSchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst oneWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n});\n\nconst oneToManySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n});\n\nconst manyToOneSchema = baseRelationSchema.extend({\n relation: z.literal('manyToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyToManySchema = baseRelationSchema.extend({\n relation: z.literal('manyToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphManySchema = baseRelationSchema.extend({\n relation: z.literal('morphMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphToOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphToOne'),\n});\n\nconst morphToManySchema = baseRelationSchema.extend({\n relation: z.literal('morphToMany'),\n});\n\nconst createRelationSchema = (meta: SchemaMeta) => {\n switch (meta.modelType) {\n case 'contentType': {\n switch (meta.kind) {\n case 'singleType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n\n case 'collectionType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n manyToOneSchema,\n manyToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n default:\n throw new Error('Invalid content type kind');\n }\n }\n\n case 'component': {\n return z.discriminatedUnion('relation', [oneWaySchema, manyWaySchema]);\n }\n default:\n throw new Error('Invalid model type');\n }\n};\n\nconst richTextSchema = basePropertiesSchema.extend({\n type: z.literal('richtext'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().optional(),\n});\n\nconst blocksSchema = basePropertiesSchema.extend({\n type: z.literal('blocks'),\n required: requiredSchema,\n});\n\nconst jsonSchema = basePropertiesSchema.extend({\n type: z.literal('json'),\n required: requiredSchema,\n default: z\n .unknown()\n .optional()\n .refine((value) => {\n if (value === undefined) {\n return true;\n }\n\n if (isNumber(value) || isNull(value) || isObject(value) || isArray(value)) {\n return true;\n }\n\n try {\n JSON.parse(value as string);\n\n return true;\n } catch (err) {\n return false;\n }\n }),\n});\n\nconst enumerationSchema = basePropertiesSchema.extend({\n type: z.literal('enumeration'),\n required: requiredSchema,\n default: z.string().optional(),\n enumName: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || NAME_REGEX.test(value as string);\n }, 'Invalid enum name'),\n enum: z\n .array(\n z.string().refine((value) => {\n return value === '' || !strings.startsWithANumber(value as string);\n })\n )\n .min(1)\n .refine((values) => {\n const filtered = [...new Set(values)];\n return filtered.length === values.length;\n }),\n});\n\nconst textSchema = basePropertiesSchema.extend({\n type: z.literal('text'),\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n required: requiredSchema,\n unique: uniqueSchema,\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst stringSchema = textSchema.extend({\n type: z.literal('string'),\n});\n\nconst passwordSchema = basePropertiesSchema.extend({\n type: z.literal('password'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n});\n\nconst emailSchema = basePropertiesSchema.extend({\n type: z.literal('email'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().email().optional(),\n unique: uniqueSchema,\n});\n\nconst integerSchema = basePropertiesSchema.extend({\n type: z.literal('integer'),\n required: requiredSchema,\n default: z.number().int().optional(),\n unique: uniqueSchema,\n min: z.number().int().optional(),\n max: z.number().int().optional(),\n});\n\nconst bigIntegerSchema = basePropertiesSchema.extend({\n type: z.literal('biginteger'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().regex(/^\\d*$/).nullish(),\n min: z.string().regex(/^\\d*$/).nullish(),\n max: z.string().regex(/^\\d*$/).nullish(),\n});\n\nconst floatSchema = basePropertiesSchema.extend({\n type: z.literal('float'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst decimalSchema = basePropertiesSchema.extend({\n type: z.literal('decimal'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst timeSchema = basePropertiesSchema.extend({\n type: z.literal('time'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().optional(),\n});\n\nconst dateSchema = timeSchema.extend({\n type: z.literal('date'),\n});\n\nconst dateTimeSchema = timeSchema.extend({\n type: z.literal('datetime'),\n});\n\nconst timeStampSchema = basePropertiesSchema.extend({\n type: z.literal('timestamp'),\n});\n\nconst booleanSchema = basePropertiesSchema.extend({\n type: z.literal('boolean'),\n required: requiredSchema,\n default: z.boolean().optional(),\n});\n\nconst componentSchema = basePropertiesSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean().optional(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneSchema = basePropertiesSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string()).nonempty(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst mediaSchema = basePropertiesSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean().optional(),\n required: requiredSchema,\n allowedTypes: z\n .array(z.enum(['images', 'videos', 'files', 'audios']))\n .nonempty()\n .optional(),\n});\n\nconst uidSchema = basePropertiesSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().nullish(),\n required: requiredSchema,\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n options: z\n .object({\n separator: z.string().optional(),\n lowercase: z.boolean().optional(),\n decamelize: z.boolean().optional(),\n customReplacements: z.array(z.array(z.string()).length(2)).optional(),\n preserveLeadingUnderscore: z.boolean().optional(),\n })\n .optional(),\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst customFieldSchema = basePropertiesSchema.extend({\n type: z.literal('customField'),\n customField: z.string(),\n});\n\nconst attributePropertiesSchema = (meta: SchemaMeta) => {\n const relationSchema = createRelationSchema(meta);\n\n const base = z.union([\n mediaSchema,\n textSchema,\n stringSchema,\n richTextSchema,\n blocksSchema,\n jsonSchema,\n enumerationSchema,\n passwordSchema,\n emailSchema,\n integerSchema,\n bigIntegerSchema,\n floatSchema,\n decimalSchema,\n timeSchema,\n dateSchema,\n dateTimeSchema,\n timeStampSchema,\n booleanSchema,\n componentSchema,\n customFieldSchema.passthrough(),\n\n relationSchema,\n ]);\n\n if (meta.modelType === 'component') {\n return base\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n }\n\n return z\n .union([...base.options, uidSchema, dynamicZoneSchema])\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(uidRefinement)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n};\n\nconst createAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('create'),\n name: z\n .string()\n .regex(NAME_REGEX)\n .refine((value) => !isReservedAttributeName(value), 'Attribute name is reserved'),\n properties: attributePropertiesSchema(meta),\n });\n\nconst updateAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('update'),\n name: z.string(),\n properties: attributePropertiesSchema(meta),\n });\n\nconst deleteAttributeSchema = z.object({\n action: z.literal('delete'),\n name: z.string(),\n});\n\nconst contentTypeUIDSchema = z.custom<UID.ContentType>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst componentUIDSchema = z.custom<UID.Component>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst categorySchema = z.string().min(1).regex(CATEGORY_NAME_REGEX);\n\nconst baseComponentSchema = z.object({\n uid: componentUIDSchema,\n displayName: z.string().min(1),\n icon: z.string().regex(ICON_REGEX).optional(),\n description: z.string().optional(),\n category: categorySchema,\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createComponentSchema = baseComponentSchema.extend({\n action: z.literal('create'),\n config: z.record(z.string(), z.unknown()).optional().default({}),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'component',\n })\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst updateComponentSchema = baseComponentSchema.extend({\n action: z.literal('update'),\n category: categorySchema.optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'component',\n }),\n updateAttributeSchema({\n modelType: 'component',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst deleteComponentSchema = z.object({\n action: z.literal('delete'),\n uid: componentUIDSchema,\n});\n\nconst baseContentTypeSchema = z.object({\n uid: contentTypeUIDSchema,\n displayName: z.string().min(1),\n description: z.string().optional(),\n draftAndPublish: z.boolean(),\n options: z.record(z.unknown()).optional().default({}),\n pluginOptions: z.record(z.unknown()).optional().default({}),\n kind: z.enum([typeKinds.SINGLE_TYPE, typeKinds.COLLECTION_TYPE]).optional(),\n});\n\nconst baseCreateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('create'),\n collectionName: z.string().regex(COLLECTION_NAME_REGEX).optional(),\n singularName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n pluralName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n config: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createSingleTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst createCollectionTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst baseUpdateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('update'),\n});\n\nconst updateSingleTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE).optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst updateCollectionTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE).optional(),\n attributes: z\n .array(\n z.union([\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst deleteContentTypeSchema = z.object({\n action: z.literal('delete'),\n uid: contentTypeUIDSchema,\n});\n\nconst schemaSchema = z.object({\n components: z\n .array(z.union([createComponentSchema, updateComponentSchema, deleteComponentSchema]))\n .optional()\n .default([]),\n contentTypes: z\n .array(\n z\n .union([\n createSingleTypeSchema,\n createCollectionTypeSchema,\n updateSingleTypeSchema,\n updateCollectionTypeSchema,\n deleteContentTypeSchema,\n ])\n .superRefine(verifySingularAndPluralNames)\n )\n .optional()\n .default([]),\n});\n\ntype CreateComponentType = z.infer<typeof createComponentSchema>;\ntype UpdateComponentType = z.infer<typeof updateComponentSchema>;\ntype DeleteComponentType = z.infer<typeof deleteComponentSchema>;\ntype CreateCollectionType = z.infer<typeof createCollectionTypeSchema>;\ntype CreateSingleType = z.infer<typeof createSingleTypeSchema>;\ntype UpdateSingleType = z.infer<typeof updateSingleTypeSchema>;\ntype UpdateCollectionType = z.infer<typeof updateCollectionTypeSchema>;\ntype DeleteContentType = z.infer<typeof deleteContentTypeSchema>;\n\nexport type Schema = {\n components: Array<CreateComponentType | UpdateComponentType | DeleteComponentType>;\n contentTypes: Array<\n | CreateSingleType\n | CreateCollectionType\n | UpdateSingleType\n | UpdateCollectionType\n | DeleteContentType\n >;\n};\n\nexport const validateUpdateSchema = validateZod(\n z.object(\n {\n data: schemaSchema,\n },\n {\n invalid_type_error: 'Invalid schema, expected an object with a data property',\n required_error: 'Schema is required',\n }\n )\n);\n"],"names":["uniqueAttributeName","attributes","ctx","names","Set","map","attribute","snakeCase","name","size","length","addIssue","code","z","ZodIssueCode","custom","message","verifyUidTargetField","forEach","properties","action","type","targetField","targetAttr","find","attr","VALID_UID_TARGETS","some","validUIdTarget","verifySingularAndPluralNames","obj","singularName","pluralName","path","maxLengthGreaterThanMinLength","value","isNil","maxLength","minLength","isNumber","maxGreaterThanMin","max","min","checkUserTarget","isUndefined","target","relation","targetAttribute","coreUids","STRAPI_USER","STRAPI_USER_RELATIONS","includes","join","uidRefinement","default","enumRefinement","enum","v","conditionSchema","object","visible","record","string","array","any","basePropertiesSchema","configurable","boolean","nullish","private","pluginOptions","unknown","optional","conditions","preprocess","val","maxLengthSchema","number","int","positive","minLengthSchema","requiredSchema","uniqueSchema","baseRelationSchema","literal","oneToOneSchema","extend","oneWaySchema","oneToManySchema","manyWaySchema","manyToOneSchema","manyToManySchema","morphOneSchema","morphManySchema","morphToOneSchema","morphToManySchema","createRelationSchema","meta","modelType","kind","discriminatedUnion","Error","richTextSchema","required","blocksSchema","jsonSchema","refine","undefined","isNull","isObject","isArray","JSON","parse","err","enumerationSchema","enumName","NAME_REGEX","test","strings","startsWithANumber","values","filtered","textSchema","unique","regex","RegExp","stringSchema","passwordSchema","emailSchema","email","integerSchema","bigIntegerSchema","floatSchema","decimalSchema","timeSchema","dateSchema","dateTimeSchema","timeStampSchema","booleanSchema","componentSchema","component","repeatable","dynamicZoneSchema","components","nonempty","mediaSchema","multiple","allowedTypes","uidSchema","options","separator","lowercase","decamelize","customReplacements","preserveLeadingUnderscore","customFieldSchema","customField","attributePropertiesSchema","relationSchema","base","union","passthrough","superRefine","createAttributeSchema","isReservedAttributeName","updateAttributeSchema","deleteAttributeSchema","contentTypeUIDSchema","componentUIDSchema","categorySchema","CATEGORY_NAME_REGEX","baseComponentSchema","uid","displayName","icon","ICON_REGEX","description","category","createComponentSchema","config","updateComponentSchema","deleteComponentSchema","baseContentTypeSchema","draftAndPublish","typeKinds","SINGLE_TYPE","COLLECTION_TYPE","baseCreateContentTypeSchema","collectionName","COLLECTION_NAME_REGEX","KEBAB_BASE_REGEX","isReservedModelName","createSingleTypeSchema","createCollectionTypeSchema","baseUpdateContentTypeSchema","updateSingleTypeSchema","updateCollectionTypeSchema","deleteContentTypeSchema","schemaSchema","contentTypes","validateUpdateSchema","validateZod","data","invalid_type_error","required_error"],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ const verifySingularAndPluralNames = (obj, ctx)=>{
|
|
|
56
56
|
};
|
|
57
57
|
const maxLengthGreaterThanMinLength = (value, ctx)=>{
|
|
58
58
|
if (!isNil(value.maxLength) && !isNil(value.minLength) && isNumber(value.maxLength) && isNumber(value.minLength)) {
|
|
59
|
-
if (value.maxLength
|
|
59
|
+
if (value.maxLength < value.minLength) {
|
|
60
60
|
ctx.addIssue({
|
|
61
61
|
code: z.ZodIssueCode.custom,
|
|
62
62
|
message: 'maxLength must be greater or equal to minLength',
|
|
@@ -69,7 +69,7 @@ const maxLengthGreaterThanMinLength = (value, ctx)=>{
|
|
|
69
69
|
};
|
|
70
70
|
const maxGreaterThanMin = (value, ctx)=>{
|
|
71
71
|
if (!isNil(value.max) && !isNil(value.min) && isNumber(value.max) && isNumber(value.min)) {
|
|
72
|
-
if (value.max
|
|
72
|
+
if (value.max < value.min) {
|
|
73
73
|
ctx.addIssue({
|
|
74
74
|
code: z.ZodIssueCode.custom,
|
|
75
75
|
message: 'max must be greater or equal to min',
|
|
@@ -618,5 +618,5 @@ const validateUpdateSchema = validateZod(z.object({
|
|
|
618
618
|
required_error: 'Schema is required'
|
|
619
619
|
}));
|
|
620
620
|
|
|
621
|
-
export { validateUpdateSchema };
|
|
621
|
+
export { maxGreaterThanMin, maxLengthGreaterThanMinLength, validateUpdateSchema };
|
|
622
622
|
//# sourceMappingURL=schema.mjs.map
|