@strapi/content-type-builder 5.56.0 → 5.58.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/AIChat/lib/transforms/schemas/toCTB.js +117 -13
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +118 -13
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.js +31 -19
- package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +31 -19
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.js +166 -6
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +165 -7
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
- package/dist/admin/components/DataManager/RenameMigrationModal.js +285 -0
- package/dist/admin/components/DataManager/RenameMigrationModal.js.map +1 -0
- package/dist/admin/components/DataManager/RenameMigrationModal.mjs +257 -0
- package/dist/admin/components/DataManager/RenameMigrationModal.mjs.map +1 -0
- package/dist/admin/components/DataManager/reducer.js +129 -2
- package/dist/admin/components/DataManager/reducer.js.map +1 -1
- package/dist/admin/components/DataManager/reducer.mjs +128 -2
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
- package/dist/admin/components/DataManager/utils/cleanData.js +8 -1
- package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
- package/dist/admin/components/DataManager/utils/cleanData.mjs +8 -1
- package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -1
- package/dist/admin/components/DataManager/utils/groupRenameChains.js +86 -0
- package/dist/admin/components/DataManager/utils/groupRenameChains.js.map +1 -0
- package/dist/admin/components/DataManager/utils/groupRenameChains.mjs +84 -0
- package/dist/admin/components/DataManager/utils/groupRenameChains.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/isStorageCompatibleRename.js +29 -0
- package/dist/admin/components/DataManager/utils/isStorageCompatibleRename.js.map +1 -0
- package/dist/admin/components/DataManager/utils/isStorageCompatibleRename.mjs +27 -0
- package/dist/admin/components/DataManager/utils/isStorageCompatibleRename.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/resolveAfterEditRenameConsent.js +35 -0
- package/dist/admin/components/DataManager/utils/resolveAfterEditRenameConsent.js.map +1 -0
- package/dist/admin/components/DataManager/utils/resolveAfterEditRenameConsent.mjs +33 -0
- package/dist/admin/components/DataManager/utils/resolveAfterEditRenameConsent.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/splitChainsByInheritedConsent.js +48 -0
- package/dist/admin/components/DataManager/utils/splitChainsByInheritedConsent.js.map +1 -0
- package/dist/admin/components/DataManager/utils/splitChainsByInheritedConsent.mjs +45 -0
- package/dist/admin/components/DataManager/utils/splitChainsByInheritedConsent.mjs.map +1 -0
- package/dist/admin/components/FormModal/FormModal.js +178 -70
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs +179 -71
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.js +6 -5
- package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.mjs +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.js +10 -7
- package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js +24 -21
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js +3 -2
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/getRenameStorageChange.js +73 -0
- package/dist/admin/components/FormModal/utils/getRenameStorageChange.js.map +1 -0
- package/dist/admin/components/FormModal/utils/getRenameStorageChange.mjs +70 -0
- package/dist/admin/components/FormModal/utils/getRenameStorageChange.mjs.map +1 -0
- package/dist/admin/src/components/AIChat/lib/transforms/schemas/toCTB.d.ts +4 -3
- package/dist/admin/src/components/AIChat/lib/types/schema.d.ts +6 -1
- package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +28 -2
- package/dist/admin/src/components/DataManager/RenameMigrationModal.d.ts +73 -0
- package/dist/admin/src/components/DataManager/reducer.d.ts +17 -2
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +24 -8
- package/dist/admin/src/components/DataManager/utils/groupRenameChains.d.ts +31 -0
- package/dist/admin/src/components/DataManager/utils/isStorageCompatibleRename.d.ts +10 -0
- package/dist/admin/src/components/DataManager/utils/resolveAfterEditRenameConsent.d.ts +24 -0
- package/dist/admin/src/components/DataManager/utils/splitChainsByInheritedConsent.d.ts +26 -0
- package/dist/admin/src/components/FormModal/utils/getRenameStorageChange.d.ts +40 -0
- package/dist/admin/src/types.d.ts +23 -0
- package/dist/admin/translations/cs.json.js +0 -2
- package/dist/admin/translations/cs.json.js.map +1 -1
- package/dist/admin/translations/cs.json.mjs +0 -2
- package/dist/admin/translations/cs.json.mjs.map +1 -1
- package/dist/admin/translations/de.json.js +0 -2
- package/dist/admin/translations/de.json.js.map +1 -1
- package/dist/admin/translations/de.json.mjs +0 -2
- package/dist/admin/translations/de.json.mjs.map +1 -1
- package/dist/admin/translations/en.json.js +12 -2
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +12 -2
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/ja.json.js +0 -2
- package/dist/admin/translations/ja.json.js.map +1 -1
- package/dist/admin/translations/ja.json.mjs +0 -2
- package/dist/admin/translations/ja.json.mjs.map +1 -1
- package/dist/admin/translations/ko.json.js +0 -2
- package/dist/admin/translations/ko.json.js.map +1 -1
- package/dist/admin/translations/ko.json.mjs +0 -2
- package/dist/admin/translations/ko.json.mjs.map +1 -1
- package/dist/admin/translations/nl.json.js +0 -2
- package/dist/admin/translations/nl.json.js.map +1 -1
- package/dist/admin/translations/nl.json.mjs +0 -2
- package/dist/admin/translations/nl.json.mjs.map +1 -1
- package/dist/admin/translations/pl.json.js +0 -2
- package/dist/admin/translations/pl.json.js.map +1 -1
- package/dist/admin/translations/pl.json.mjs +0 -2
- package/dist/admin/translations/pl.json.mjs.map +1 -1
- package/dist/admin/translations/ru.json.js +0 -2
- package/dist/admin/translations/ru.json.js.map +1 -1
- package/dist/admin/translations/ru.json.mjs +0 -2
- package/dist/admin/translations/ru.json.mjs.map +1 -1
- package/dist/admin/translations/sk.json.js +0 -2
- package/dist/admin/translations/sk.json.js.map +1 -1
- package/dist/admin/translations/sk.json.mjs +0 -2
- package/dist/admin/translations/sk.json.mjs.map +1 -1
- package/dist/server/config.js +24 -3
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs +21 -3
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/schema.js +2 -2
- package/dist/server/controllers/schema.js.map +1 -1
- package/dist/server/controllers/schema.mjs +1 -1
- package/dist/server/controllers/schema.mjs.map +1 -1
- package/dist/server/controllers/validation/content-type.js +9 -11
- package/dist/server/controllers/validation/content-type.js.map +1 -1
- package/dist/server/controllers/validation/content-type.mjs +7 -9
- package/dist/server/controllers/validation/content-type.mjs.map +1 -1
- package/dist/server/controllers/validation/model-schema.js +2 -3
- package/dist/server/controllers/validation/model-schema.js.map +1 -1
- package/dist/server/controllers/validation/model-schema.mjs +1 -2
- package/dist/server/controllers/validation/model-schema.mjs.map +1 -1
- package/dist/server/controllers/validation/relations.js +1 -2
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs +1 -2
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/controllers/validation/schema.js +42 -23
- package/dist/server/controllers/validation/schema.js.map +1 -1
- package/dist/server/controllers/validation/schema.mjs +43 -24
- package/dist/server/controllers/validation/schema.mjs.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/services/content-types.js +1 -2
- package/dist/server/services/content-types.js.map +1 -1
- package/dist/server/services/content-types.mjs +2 -3
- package/dist/server/services/content-types.mjs.map +1 -1
- package/dist/server/services/migration-builder/index.js +580 -0
- package/dist/server/services/migration-builder/index.js.map +1 -0
- package/dist/server/services/migration-builder/index.mjs +573 -0
- package/dist/server/services/migration-builder/index.mjs.map +1 -0
- package/dist/server/services/schema-builder/content-type-builder.js +31 -1
- package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.mjs +31 -1
- package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
- package/dist/server/services/schema-mutation.js +30 -2
- package/dist/server/services/schema-mutation.js.map +1 -1
- package/dist/server/services/schema-mutation.mjs +10 -2
- package/dist/server/services/schema-mutation.mjs.map +1 -1
- package/dist/server/services/schema.js +312 -15
- package/dist/server/services/schema.js.map +1 -1
- package/dist/server/services/schema.mjs +305 -9
- package/dist/server/services/schema.mjs.map +1 -1
- package/dist/server/src/config.d.ts +23 -2
- package/dist/server/src/config.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-type.d.ts +0 -1
- package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/schema.d.ts +28 -0
- package/dist/server/src/controllers/validation/schema.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +10 -2
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/services/content-types.d.ts.map +1 -1
- package/dist/server/src/services/migration-builder/index.d.ts +83 -0
- package/dist/server/src/services/migration-builder/index.d.ts.map +1 -0
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-mutation.d.ts +4 -2
- package/dist/server/src/services/schema-mutation.d.ts.map +1 -1
- package/dist/server/src/services/schema.d.ts +19 -0
- package/dist/server/src/services/schema.d.ts.map +1 -1
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.mjs","sources":["../../../server/src/services/schema.ts"],"sourcesContent":["import { contentTypes as contentTypesUtils, errors } from '@strapi/utils';\nimport { mapValues } from 'lodash/fp';\n\nimport type { Schema } from '@strapi/types';\n\nimport createBuilder from './schema-builder';\nimport { finalizeSchemaMutation, rollbackSchemaMutation } from './schema-mutation';\nimport { getService } from '../utils';\nimport type { Schema as CTBSchema } from '../controllers/validation/schema';\nimport {\n assertCTBOwnedApplicationContentType,\n getRestrictRelationsTo,\n isContentTypeVisible,\n} from './content-types';\nimport type { CoreContentStructureService } from './content-structure';\n\ntype ContentTypeKind = 'collectionType' | 'singleType';\n\nconst removeEmptyDefaultsOnUpdates = (schema: CTBSchema) => {\n schema.components.forEach((component) => {\n if (component.action === 'delete') {\n return;\n }\n\n component.attributes.forEach((attribute) => {\n if (attribute.action === 'update') {\n const { properties } = attribute;\n\n if ('default' in properties && properties.default === '') {\n properties.default = undefined;\n }\n }\n });\n });\n\n schema.contentTypes.forEach((contentType) => {\n if (contentType.action === 'delete') {\n return;\n }\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.action === 'update') {\n const { properties } = attribute;\n\n if ('default' in properties && properties.default === '') {\n properties.default = undefined;\n }\n }\n });\n });\n};\n\nconst removeDeletedUIDTargetFieldsOnUpdates = (schema: CTBSchema) => {\n schema.contentTypes.forEach((contentType) => {\n if (contentType.action === 'delete') {\n return;\n }\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.action === 'update') {\n const { properties } = attribute;\n\n if (\n properties.type === 'uid' &&\n properties.targetField &&\n !contentType.attributes.find((attr) => attr.name === properties.targetField)\n ) {\n properties.targetField = undefined;\n }\n }\n });\n });\n};\n\nconst formatAttributes = (model: any) => {\n const { getVisibleAttributes } = contentTypesUtils;\n\n // only get attributes that can be seen in the CTB\n return getVisibleAttributes(model).map((key) => {\n return { ...formatAttribute(model.attributes[key]), name: key };\n });\n};\n\nexport const formatAttribute = (attribute: Schema.Attribute.AnyAttribute & Record<string, any>) => {\n if (attribute.type === 'relation') {\n return {\n ...attribute,\n targetAttribute: attribute.inversedBy || attribute.mappedBy || null,\n // Explicitly preserve conditions if they exist\n ...(attribute.conditions && { conditions: attribute.conditions }),\n };\n }\n\n return attribute;\n};\n\nexport const getSchema = async () => {\n const contentTypes = mapValues((contentType) => {\n const {\n uid,\n options,\n globalId,\n pluginOptions,\n kind,\n modelName,\n plugin,\n collectionName,\n info,\n modelType,\n } = contentType;\n\n return {\n uid,\n modelName,\n kind,\n globalId,\n options,\n pluginOptions,\n plugin,\n collectionName,\n info,\n modelType,\n attributes: formatAttributes(contentType),\n visible: isContentTypeVisible(contentType),\n restrictRelationsTo: getRestrictRelationsTo(contentType),\n };\n }, strapi.contentTypes);\n\n const components = mapValues((component) => {\n const { uid, globalId, modelName, collectionName, info, category, modelType } = component;\n\n return {\n uid,\n modelName,\n globalId,\n modelType,\n collectionName,\n category,\n info,\n attributes: formatAttributes(component),\n };\n }, strapi.components);\n\n const coreContentStructure: CoreContentStructureService = strapi.get('content-structure');\n const contentStructure = await coreContentStructure.getCleanedFile();\n\n return {\n contentStructure,\n contentTypes,\n components,\n };\n};\n\nexport const updateSchema = async (schema: CTBSchema) => {\n const builder = createBuilder();\n const apiHandler = getService('api-handler') as typeof import('./api-handler');\n\n const { components, contentTypes, contentStructure } = schema;\n\n // Reject protected/plugin deletes before builders, API backups, or folder reconciliation can\n // mutate anything. This is the server-side invariant for crafted update requests.\n contentTypes\n .filter((contentType) => contentType.action === 'delete')\n .forEach((contentType) => assertCTBOwnedApplicationContentType(contentType.uid));\n\n // pre-process data\n removeEmptyDefaultsOnUpdates(schema);\n removeDeletedUIDTargetFieldsOnUpdates(schema);\n\n const upsertedUids = new Map<string, ContentTypeKind>();\n const deletedUids = new Set<string>();\n const generatedApiNames: string[] = [];\n const backedUpApiUids: string[] = [];\n let schemaAlreadyRolledBack = false;\n const APIsToDelete = contentTypes\n .filter((contentType) => contentType.action === 'delete')\n .map((contentType) => contentType.uid);\n\n try {\n for (const contentType of contentTypes) {\n if (contentType.action === 'create') {\n upsertedUids.set(contentType.uid, contentType.kind ?? 'collectionType');\n } else if (contentType.action === 'update' && contentType.kind) {\n // A kind switch in the same save must override the registry's stale kind,\n // otherwise a folder assignment into the new section fails validation.\n upsertedUids.set(contentType.uid, contentType.kind);\n } else if (contentType.action === 'delete') {\n deletedUids.add(contentType.uid);\n }\n }\n\n // Validate folder references before anything is written. This will throw if invalid.\n getService('content-structure').validateFromUpdate({\n incomingStructure: contentStructure,\n upsertedUids,\n deletedUids,\n });\n\n // we pre create empty typesk\n for (const contentType of contentTypes) {\n if (contentType.action === 'create') {\n builder.createContentType({\n ...contentType,\n attributes: {},\n });\n }\n }\n\n // we pre create empty types\n for (const component of components) {\n if (component.action === 'create') {\n builder.createComponent({\n ...component,\n attributes: {},\n });\n }\n }\n\n for (const contentType of contentTypes) {\n const { action, uid } = contentType;\n\n if (action === 'create') {\n builder.createContentTypeAttributes(\n uid,\n contentType.attributes.reduce((acc: any, attr: any) => {\n acc[attr.name] = attr.properties;\n return acc;\n }, {})\n );\n\n if (!contentType.plugin) {\n // Track before generation because a generator failure can leave a partial skeleton.\n generatedApiNames.push(contentType.singularName);\n await getService('content-types').generateAPI({\n displayName: contentType!.displayName,\n singularName: contentType!.singularName,\n pluralName: contentType!.pluralName,\n kind: contentType!.kind,\n });\n }\n }\n\n if (action === 'update') {\n builder.editContentType({\n ...contentType,\n attributes: contentType.attributes.reduce((acc: any, attr: any) => {\n // NOTE: handle renaming migrations here by comparing attr name & attr.properties.name\n\n if (attr.action === 'delete') {\n return acc;\n }\n\n acc[attr.name] = attr.properties;\n return acc;\n }, {}),\n });\n }\n\n if (action === 'delete') {\n builder.deleteContentType(uid);\n await apiHandler.backup(uid);\n backedUpApiUids.push(uid);\n }\n }\n\n for (const component of components) {\n const { action, uid } = component;\n\n if (action === 'create') {\n builder.createComponentAttributes(\n uid,\n component.attributes.reduce((acc: any, attr: any) => {\n acc[attr.name] = attr.properties;\n return acc;\n }, {})\n );\n }\n\n if (action === 'update') {\n builder.editComponent({\n ...component,\n attributes: component.attributes.reduce((acc: any, attr: any) => {\n if (attr.action === 'delete') {\n return acc;\n }\n\n acc[attr.name] = attr.properties;\n return acc;\n }, {}),\n });\n }\n\n if (action === 'delete') {\n builder.deleteComponent(uid);\n }\n }\n\n // run sanity checks on the schema\n // Relations target existing types\n // Bidirectional relation have their counterpart in the schema\n // Components target existing components\n // Nested components target existing components\n // Dynamic zones target existing components\n\n const schemaFilesWritten = await builder.writeFiles();\n\n if (!schemaFilesWritten) {\n schemaAlreadyRolledBack = true;\n throw new errors.ApplicationError('Invalid schema edition');\n }\n\n for (const uid of APIsToDelete) {\n await apiHandler.clear(uid, { preserveBackup: true });\n }\n\n // Commit the single folder file last. Every preceding filesystem mutation can be restored.\n await getService('content-structure').commitFromUpdate({\n incomingStructure: contentStructure,\n deletedUids,\n });\n } catch (error) {\n await rollbackSchemaMutation({\n builder,\n apiHandler,\n backedUpApiUids,\n generatedApiNames,\n schemaAlreadyRolledBack,\n });\n\n throw error;\n }\n\n // Backup cleanup is deliberately outside the compensating boundary: at this point all\n // user-visible artifacts, including groups.json, have committed.\n for (const error of await finalizeSchemaMutation({ apiHandler, backedUpApiUids })) {\n strapi.log.error(error);\n }\n\n for (const contentType of contentTypes) {\n if (contentType.action === 'delete') {\n strapi.eventHub.emit('content-type.delete', {\n contentType: builder.contentTypes.get(contentType.uid),\n });\n }\n\n if (contentType.action === 'update') {\n strapi.eventHub.emit('content-type.update', {\n contentType: builder.contentTypes.get(contentType.uid),\n });\n }\n\n if (contentType.action === 'create') {\n strapi.eventHub.emit('content-type.create', {\n contentType: builder.contentTypes.get(contentType.uid),\n });\n }\n }\n\n for (const component of components) {\n if (component.action === 'delete') {\n strapi.eventHub.emit('component.delete', {\n component: builder.components.get(component.uid),\n });\n }\n\n if (component.action === 'update') {\n strapi.eventHub.emit('component.update', {\n component: builder.components.get(component.uid),\n });\n }\n\n if (component.action === 'create') {\n strapi.eventHub.emit('component.create', {\n component: builder.components.get(component.uid),\n });\n }\n }\n};\n"],"names":["removeEmptyDefaultsOnUpdates","schema","components","forEach","component","action","attributes","attribute","properties","default","undefined","contentTypes","contentType","removeDeletedUIDTargetFieldsOnUpdates","type","targetField","find","attr","name","formatAttributes","model","getVisibleAttributes","contentTypesUtils","map","key","formatAttribute","targetAttribute","inversedBy","mappedBy","conditions","getSchema","mapValues","uid","options","globalId","pluginOptions","kind","modelName","plugin","collectionName","info","modelType","visible","isContentTypeVisible","restrictRelationsTo","getRestrictRelationsTo","strapi","category","coreContentStructure","get","contentStructure","getCleanedFile","updateSchema","builder","createBuilder","apiHandler","getService","filter","assertCTBOwnedApplicationContentType","upsertedUids","Map","deletedUids","Set","generatedApiNames","backedUpApiUids","schemaAlreadyRolledBack","APIsToDelete","set","add","validateFromUpdate","incomingStructure","createContentType","createComponent","createContentTypeAttributes","reduce","acc","push","singularName","generateAPI","displayName","pluralName","editContentType","deleteContentType","backup","createComponentAttributes","editComponent","deleteComponent","schemaFilesWritten","writeFiles","errors","ApplicationError","clear","preserveBackup","commitFromUpdate","error","rollbackSchemaMutation","finalizeSchemaMutation","log","eventHub","emit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.mjs","sources":["../../../server/src/services/schema.ts"],"sourcesContent":["import { contentTypes as contentTypesUtils, errors } from '@strapi/utils';\nimport { mapValues } from 'lodash';\n\nimport type { Schema } from '@strapi/types';\n\nimport createBuilder from './schema-builder';\nimport { createMigrationBuilder } from './migration-builder';\nimport type {\n AttributeRenamesMapping,\n RenameAttributeDefinition,\n UnsupportedRename,\n} from './migration-builder';\nimport { finalizeSchemaMutation, rollbackSchemaMutation } from './schema-mutation';\nimport { getService } from '../utils';\nimport { validateUpdateSchema } from '../controllers/validation/schema';\nimport type { Schema as CTBSchema } from '../controllers/validation/schema';\nimport type { AttributeRenameMigrationMode } from '../config';\nimport {\n assertCTBOwnedApplicationContentType,\n getRestrictRelationsTo,\n isContentTypeVisible,\n} from './content-types';\nimport type { CoreContentStructureService } from './content-structure';\n\ntype ContentTypeKind = 'collectionType' | 'singleType';\n\nconst removeEmptyDefaultsOnUpdates = (schema: CTBSchema) => {\n schema.components.forEach((component) => {\n if (component.action === 'delete') {\n return;\n }\n\n component.attributes.forEach((attribute) => {\n if (attribute.action === 'update') {\n const { properties } = attribute;\n\n if ('default' in properties && properties.default === '') {\n properties.default = undefined;\n }\n }\n });\n });\n\n schema.contentTypes.forEach((contentType) => {\n if (contentType.action === 'delete') {\n return;\n }\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.action === 'update') {\n const { properties } = attribute;\n\n if ('default' in properties && properties.default === '') {\n properties.default = undefined;\n }\n }\n });\n });\n};\n\nconst removeDeletedUIDTargetFieldsOnUpdates = (schema: CTBSchema) => {\n schema.contentTypes.forEach((contentType) => {\n if (contentType.action === 'delete') {\n return;\n }\n\n contentType.attributes.forEach((attribute) => {\n if (attribute.action === 'update') {\n const { properties } = attribute;\n\n if (\n properties.type === 'uid' &&\n properties.targetField &&\n !contentType.attributes.find((attr) => attr.name === properties.targetField)\n ) {\n properties.targetField = undefined;\n }\n }\n });\n });\n};\n\n/**\n * Composes the ordered rename hops of an updated type into an origin -> final\n * name map (`a -> b, b -> c` gives `a -> c`).\n */\nconst composeRenames = (hops: { oldName?: string; newName?: string }[]): Map<string, string> => {\n const originByName = new Map<string, string>();\n\n hops.forEach(({ oldName, newName }) => {\n if (!oldName || !newName || oldName === newName) {\n return;\n }\n\n const origin = originByName.get(oldName) ?? oldName;\n originByName.delete(oldName);\n originByName.set(newName, origin);\n });\n\n return new Map([...originByName].map(([name, origin]) => [origin, name]));\n};\n\n/**\n * Makes field conditions follow the renames of this save: a condition whose\n * `var` still names the origin of a rename is pointed at the field's final name.\n *\n * A `var` that names an attribute of the saved type is left alone: the caller\n * already rewrote it, or (in a swap) it cannot be told apart from one that was.\n */\nconst renameConditionVarsOnUpdates = (schema: CTBSchema) => {\n type AttributeEntry = {\n action?: string;\n name?: string;\n properties?: { conditions?: { visible?: Record<string, unknown> } };\n };\n type Entry = {\n action?: string;\n renames?: { oldName?: string; newName?: string }[];\n attributes?: AttributeEntry[];\n };\n\n const entries = [\n ...(schema.contentTypes as unknown as Entry[]),\n ...(schema.components as unknown as Entry[]),\n ];\n\n entries.forEach((entry) => {\n if (entry.action !== 'update' || !Array.isArray(entry.renames)) {\n return;\n }\n\n const renames = composeRenames(entry.renames);\n const savedAttributes = (entry.attributes ?? []).filter(\n (attribute) => attribute.action !== 'delete'\n );\n const saved = new Set(savedAttributes.map((attribute) => attribute.name));\n\n savedAttributes.forEach((attribute) => {\n Object.values(attribute.properties?.conditions?.visible ?? {}).forEach((rule) => {\n const fieldVar: unknown = Array.isArray(rule) ? rule[0] : undefined;\n\n if (\n typeof fieldVar !== 'object' ||\n fieldVar === null ||\n !('var' in fieldVar) ||\n typeof fieldVar.var !== 'string' ||\n saved.has(fieldVar.var)\n ) {\n return;\n }\n\n const finalName = renames.get(fieldVar.var);\n\n if (finalName !== undefined && saved.has(finalName)) {\n fieldVar.var = finalName;\n }\n });\n });\n });\n};\n\ninterface CollectedRename {\n uid: string;\n oldName: string;\n newName: string;\n newAttribute?: RenameAttributeDefinition;\n}\n\nconst getAttributeRenameMigrationMode = (): AttributeRenameMigrationMode => {\n return strapi\n .plugin('content-type-builder')\n .config('renameMigrations.attributes', 'prompt-before-save');\n};\n\n/**\n * Collects attribute renames from the update-schema payload. The admin sends an\n * ordered `renames` array per updated content-type / component: the exact path\n * of rename hops the user performed (e.g. `a -> tmp`, `b -> a`, `tmp -> b` for a\n * swap). Order is preserved so the generated migration can replay each hop\n * verbatim — which is inherently collision-free because the Content-Type Builder\n * never allows two fields to share a name at any instant.\n */\nconst collectRenames = (schema: CTBSchema): CollectedRename[] => {\n const renames: CollectedRename[] = [];\n\n type RenameHop = { oldName?: string; newName?: string };\n type AttributeEntry = { action?: string; name?: string; properties?: RenameAttributeDefinition };\n type RenameAwareEntry = {\n action?: string;\n uid: string;\n renames?: RenameHop[];\n attributes?: AttributeEntry[];\n };\n\n const collectFrom = (entries: RenameAwareEntry[]) => {\n entries\n .filter((entry) => entry.action === 'update' && Array.isArray(entry.renames))\n .forEach((entry) => {\n // Only the last hop onto a name produces the field that carries the\n // final definition: in `a -> b, b -> c, x -> b` the first `b` is `a`'s\n // intermediate name and the final `b` is `x`'s field.\n const lastHopByNewName = new Map<string, number>();\n entry.renames!.forEach((hop, index) => {\n if (hop.newName) {\n lastHopByNewName.set(hop.newName, index);\n }\n });\n\n entry.renames!.forEach((hop, index) => {\n if (hop.oldName && hop.newName && hop.oldName !== hop.newName) {\n // The definition the field ends up with in this save, so the builder\n // can refuse hops that also change the field's storage (type,\n // relation target, component…). Intermediate hops of a chain get no\n // definition and are checked when the chain completes.\n const newAttribute =\n lastHopByNewName.get(hop.newName) === index\n ? entry.attributes?.find(\n (attribute) => attribute.action !== 'delete' && attribute.name === hop.newName\n )?.properties\n : undefined;\n\n renames.push({\n uid: entry.uid,\n oldName: hop.oldName,\n newName: hop.newName,\n newAttribute,\n });\n }\n });\n });\n };\n\n collectFrom(schema.contentTypes as unknown as RenameAwareEntry[]);\n collectFrom(schema.components as unknown as RenameAwareEntry[]);\n\n return renames;\n};\n\n/**\n * Drops renames whose final name is not an attribute after this save (it was\n * deleted in the same save), so no store is pointed at a field that is gone.\n */\nconst keepSavedAttributes = (\n schema: CTBSchema,\n mapping: AttributeRenamesMapping\n): AttributeRenamesMapping => {\n type Entry = { action?: string; uid: string; attributes?: { action?: string; name?: string }[] };\n const entries = [\n ...(schema.contentTypes as unknown as Entry[]),\n ...(schema.components as unknown as Entry[]),\n ];\n\n const result: AttributeRenamesMapping = {};\n\n for (const [uid, renames] of Object.entries(mapping)) {\n const entry = entries.find((candidate) => candidate.uid === uid);\n const saved = new Set(\n (entry?.attributes ?? [])\n .filter((attribute) => attribute.action !== 'delete' && attribute.name)\n .map((attribute) => attribute.name as string)\n );\n\n for (const [origin, final] of Object.entries(renames)) {\n if (saved.has(final)) {\n result[uid] ??= {};\n result[uid][origin] = final;\n }\n }\n }\n\n return result;\n};\n\nconst describeUnsupportedReason = (reason: UnsupportedRename['reason']): string => {\n switch (reason) {\n case 'type-changed':\n return 'the field type, relation or component also changed';\n case 'unsupported-type':\n return 'the field type cannot be migrated (e.g. polymorphic relation)';\n case 'attribute-not-found':\n return 'the field is not in the current schema';\n case 'target-occupied':\n return 'the target field still exists in the current schema';\n case 'model-not-found':\n default:\n return 'the type is not in the current schema';\n }\n};\n\n/**\n * Generates a single data-preserving rename migration for the accepted renames\n * in this save. Must run before the server reloads, while `strapi.db.metadata`\n * still reflects the old (pre-rename) schema. Resolves to the written file's\n * path (so a failed save can remove it), or `null` when nothing was written.\n */\nconst generateRenameMigrations = async (schema: CTBSchema): Promise<string | null> => {\n // In prompt modes the admin strips refused renames before sending the payload.\n if (getAttributeRenameMigrationMode() === 'never') {\n return null;\n }\n\n const renames = collectRenames(schema);\n if (renames.length === 0) {\n return null;\n }\n\n const migrationBuilder = createMigrationBuilder({ strapi });\n\n for (const { uid, oldName, newName, newAttribute } of renames) {\n migrationBuilder.addRenameAttribute(uid, { oldName, newName, newAttribute });\n }\n\n const attributeRenames = keepSavedAttributes(schema, migrationBuilder.attributeRenamesMapping());\n if (Object.keys(attributeRenames).length > 0) {\n migrationBuilder.addAttributeRenames(attributeRenames);\n }\n\n const unsupported = migrationBuilder.getUnsupported();\n if (unsupported.length > 0) {\n const fields = unsupported\n .map((u) => `${u.uid}.${u.oldName} (${describeUnsupportedReason(u.reason)})`)\n .join(', ');\n strapi.log.warn(\n `[content-type-builder] Could not generate a rename migration for ${unsupported.length} field(s): ${fields}. Data in these fields may not be preserved.`\n );\n }\n\n if (migrationBuilder.hasChanges()) {\n return migrationBuilder.writeFiles();\n }\n\n return null;\n};\n\n/**\n * Renames a single attribute on a content-type or component and generates the\n * data-preserving migration in one step. Used by the `strapi rename:field` CLI\n * command so scripted / non-UI workflows get the same behaviour as the admin.\n *\n * It reuses the regular `updateSchema` path (and therefore the same rename\n * resolver via `generateRenameMigrations`), so the migration is resolved against\n * the pre-reload `strapi.db.metadata` exactly like the admin save. The caller is\n * responsible for not reloading before this resolves (the CLI simply exits).\n *\n * Unlike the admin, there is no one to confirm a data-losing rename, so it\n * refuses before touching the schema when the rename cannot be migrated.\n */\nexport const renameAttribute = async (\n uid: string,\n oldName: string,\n newName: string\n): Promise<void> => {\n const { ApplicationError } = errors;\n\n if (!oldName || !newName) {\n throw new ApplicationError('Both an old and a new attribute name are required');\n }\n\n if (oldName === newName) {\n throw new ApplicationError(`Cannot rename \"${oldName}\" to itself`);\n }\n\n if (getAttributeRenameMigrationMode() === 'never') {\n throw new ApplicationError(\n 'Rename migrations are disabled (`renameMigrations.attributes: never`); rename the field in the Content-Type Builder instead'\n );\n }\n\n const contentType = (strapi.contentTypes as Record<string, any>)[uid];\n const component = (strapi.components as Record<string, any>)[uid];\n const model = contentType ?? component;\n\n if (!model) {\n throw new ApplicationError(`No content-type or component found for uid \"${uid}\"`);\n }\n\n if (!model.attributes?.[oldName]) {\n throw new ApplicationError(`Attribute \"${oldName}\" does not exist on \"${uid}\"`);\n }\n\n if (model.attributes?.[newName]) {\n throw new ApplicationError(`Attribute \"${newName}\" already exists on \"${uid}\"`);\n }\n\n // Reuse the formatted, CTB-visible attributes (same shape the admin sends) so\n // the schema edit matches an admin save and the renamed key is the only change.\n const formattedSchema = await getSchema();\n const isComponent = Boolean(component);\n const entry = isComponent\n ? (formattedSchema.components as Record<string, any>)[uid]\n : (formattedSchema.contentTypes as Record<string, any>)[uid];\n\n // Custom fields are exposed with their underlying type; the admin sends them\n // back as `customField` so the schema file keeps them as custom fields.\n const toPayloadProperties = (properties: Record<string, any>) =>\n properties.customField ? { ...properties, type: 'customField' } : properties;\n\n const attributes = entry.attributes.map(({ name, ...properties }: Record<string, any>) => ({\n action: 'update',\n name: name === oldName ? newName : name,\n properties: toPayloadProperties(properties),\n }));\n\n // Dry run: the field keeps its definition, so only the rename itself can be\n // refused (system attribute, unsupported relation, occupied target…).\n const { name: _name, ...oldProperties } = entry.attributes.find(\n (attribute: Record<string, any>) => attribute.name === oldName\n ) ?? { name: oldName };\n const probe = createMigrationBuilder({ strapi });\n probe.addRenameAttribute(uid, {\n oldName,\n newName,\n newAttribute: toPayloadProperties(oldProperties),\n });\n\n const refused = probe.getUnsupported();\n if (refused.length > 0) {\n throw new ApplicationError(\n `Cannot rename \"${oldName}\" on \"${uid}\" without losing its data: ${refused\n .map(({ reason }) => describeUnsupportedReason(reason))\n .join(', ')}`\n );\n }\n\n const renames = [{ oldName, newName }];\n\n const payload = isComponent\n ? {\n contentTypes: [],\n components: [\n {\n action: 'update',\n uid,\n category: model.category,\n displayName: model.info?.displayName,\n icon: model.info?.icon,\n description: model.info?.description,\n pluginOptions: model.pluginOptions,\n renames,\n attributes,\n },\n ],\n }\n : {\n contentTypes: [\n {\n action: 'update',\n uid,\n kind: model.kind,\n displayName: model.info?.displayName,\n description: model.info?.description,\n draftAndPublish: Boolean(model.options?.draftAndPublish),\n options: model.options,\n pluginOptions: model.pluginOptions,\n renames,\n attributes,\n },\n ],\n components: [],\n };\n\n // Same checks as an admin save (name rules, reserved names, snake-case\n // uniqueness: `fooBar` next to an existing `foo_bar` would share a column).\n const { data } = await validateUpdateSchema({ data: payload });\n\n await updateSchema(data as CTBSchema);\n};\n\nconst formatAttributes = (model: any) => {\n const { getVisibleAttributes } = contentTypesUtils;\n\n // only get attributes that can be seen in the CTB\n return getVisibleAttributes(model).map((key) => {\n return { ...formatAttribute(model.attributes[key]), name: key };\n });\n};\n\nexport const formatAttribute = (attribute: Schema.Attribute.AnyAttribute & Record<string, any>) => {\n if (attribute.type === 'relation') {\n return {\n ...attribute,\n targetAttribute: attribute.inversedBy || attribute.mappedBy || null,\n // Explicitly preserve conditions if they exist\n ...(attribute.conditions && { conditions: attribute.conditions }),\n };\n }\n\n return attribute;\n};\n\nexport const getSchema = async () => {\n const contentTypes = mapValues(strapi.contentTypes, (contentType) => {\n const {\n uid,\n options,\n globalId,\n pluginOptions,\n kind,\n modelName,\n plugin,\n collectionName,\n info,\n modelType,\n } = contentType;\n\n return {\n uid,\n modelName,\n kind,\n globalId,\n options,\n pluginOptions,\n plugin,\n collectionName,\n info,\n modelType,\n attributes: formatAttributes(contentType),\n visible: isContentTypeVisible(contentType),\n restrictRelationsTo: getRestrictRelationsTo(contentType),\n };\n });\n\n const components = mapValues(strapi.components, (component) => {\n const { uid, globalId, modelName, collectionName, info, category, modelType } = component;\n\n return {\n uid,\n modelName,\n globalId,\n modelType,\n collectionName,\n category,\n info,\n attributes: formatAttributes(component),\n };\n });\n\n const coreContentStructure: CoreContentStructureService = strapi.get('content-structure');\n const contentStructure = await coreContentStructure.getCleanedFile();\n\n return {\n contentStructure,\n contentTypes,\n components,\n settings: {\n renameMigrations: {\n attributes: getAttributeRenameMigrationMode(),\n },\n },\n };\n};\n\nexport const updateSchema = async (schema: CTBSchema) => {\n const builder = createBuilder();\n const apiHandler = getService('api-handler') as typeof import('./api-handler');\n\n const { components, contentTypes, contentStructure } = schema;\n\n // Reject protected/plugin deletes before builders, API backups, or folder reconciliation can\n // mutate anything. This is the server-side invariant for crafted update requests.\n contentTypes\n .filter((contentType) => contentType.action === 'delete')\n .forEach((contentType) => assertCTBOwnedApplicationContentType(contentType.uid));\n\n // pre-process data\n removeEmptyDefaultsOnUpdates(schema);\n removeDeletedUIDTargetFieldsOnUpdates(schema);\n renameConditionVarsOnUpdates(schema);\n\n const upsertedUids = new Map<string, ContentTypeKind>();\n const deletedUids = new Set<string>();\n const generatedApiNames: string[] = [];\n const backedUpApiUids: string[] = [];\n let schemaAlreadyRolledBack = false;\n let migrationFilePath: string | null = null;\n const APIsToDelete = contentTypes\n .filter((contentType) => contentType.action === 'delete')\n .map((contentType) => contentType.uid);\n\n try {\n for (const contentType of contentTypes) {\n if (contentType.action === 'create') {\n upsertedUids.set(contentType.uid, contentType.kind ?? 'collectionType');\n } else if (contentType.action === 'update' && contentType.kind) {\n // A kind switch in the same save must override the registry's stale kind,\n // otherwise a folder assignment into the new section fails validation.\n upsertedUids.set(contentType.uid, contentType.kind);\n } else if (contentType.action === 'delete') {\n deletedUids.add(contentType.uid);\n }\n }\n\n // Validate folder references before anything is written. This will throw if invalid.\n getService('content-structure').validateFromUpdate({\n incomingStructure: contentStructure,\n upsertedUids,\n deletedUids,\n });\n\n // we pre create empty typesk\n for (const contentType of contentTypes) {\n if (contentType.action === 'create') {\n builder.createContentType({\n ...contentType,\n attributes: {},\n });\n }\n }\n\n // we pre create empty types\n for (const component of components) {\n if (component.action === 'create') {\n builder.createComponent({\n ...component,\n attributes: {},\n });\n }\n }\n\n for (const contentType of contentTypes) {\n const { action, uid } = contentType;\n\n if (action === 'create') {\n builder.createContentTypeAttributes(\n uid,\n contentType.attributes.reduce((acc: any, attr: any) => {\n acc[attr.name] = attr.properties;\n return acc;\n }, {})\n );\n\n if (!contentType.plugin) {\n // Track before generation because a generator failure can leave a partial skeleton.\n generatedApiNames.push(contentType.singularName);\n await getService('content-types').generateAPI({\n displayName: contentType!.displayName,\n singularName: contentType!.singularName,\n pluralName: contentType!.pluralName,\n kind: contentType!.kind,\n });\n }\n }\n\n if (action === 'update') {\n builder.editContentType({\n ...contentType,\n attributes: contentType.attributes.reduce((acc: any, attr: any) => {\n if (attr.action === 'delete') {\n return acc;\n }\n\n acc[attr.name] = attr.properties;\n return acc;\n }, {}),\n });\n }\n\n if (action === 'delete') {\n builder.deleteContentType(uid);\n await apiHandler.backup(uid);\n backedUpApiUids.push(uid);\n }\n }\n\n for (const component of components) {\n const { action, uid } = component;\n\n if (action === 'create') {\n builder.createComponentAttributes(\n uid,\n component.attributes.reduce((acc: any, attr: any) => {\n acc[attr.name] = attr.properties;\n return acc;\n }, {})\n );\n }\n\n if (action === 'update') {\n builder.editComponent({\n ...component,\n attributes: component.attributes.reduce((acc: any, attr: any) => {\n if (attr.action === 'delete') {\n return acc;\n }\n\n acc[attr.name] = attr.properties;\n return acc;\n }, {}),\n });\n }\n\n if (action === 'delete') {\n builder.deleteComponent(uid);\n }\n }\n\n // run sanity checks on the schema\n // Relations target existing types\n // Bidirectional relation have their counterpart in the schema\n // Components target existing components\n // Nested components target existing components\n // Dynamic zones target existing components\n\n // Generate rename migrations before reloading, while strapi.db.metadata still\n // reflects the pre-rename schema (the controller triggers the reload after this).\n migrationFilePath = await generateRenameMigrations(schema);\n\n const schemaFilesWritten = await builder.writeFiles();\n\n if (!schemaFilesWritten) {\n schemaAlreadyRolledBack = true;\n throw new errors.ApplicationError('Invalid schema edition');\n }\n\n for (const uid of APIsToDelete) {\n await apiHandler.clear(uid, { preserveBackup: true });\n }\n\n // Commit the single folder file last. Every preceding filesystem mutation can be restored.\n await getService('content-structure').commitFromUpdate({\n incomingStructure: contentStructure,\n deletedUids,\n });\n } catch (error) {\n await rollbackSchemaMutation({\n builder,\n apiHandler,\n backedUpApiUids,\n generatedApiNames,\n schemaAlreadyRolledBack,\n migrationFilePath,\n });\n\n throw error;\n }\n\n // Backup cleanup is deliberately outside the compensating boundary: at this point all\n // user-visible artifacts, including groups.json, have committed.\n for (const error of await finalizeSchemaMutation({ apiHandler, backedUpApiUids })) {\n strapi.log.error(error);\n }\n\n for (const contentType of contentTypes) {\n if (contentType.action === 'delete') {\n strapi.eventHub.emit('content-type.delete', {\n contentType: builder.contentTypes.get(contentType.uid),\n });\n }\n\n if (contentType.action === 'update') {\n strapi.eventHub.emit('content-type.update', {\n contentType: builder.contentTypes.get(contentType.uid),\n });\n }\n\n if (contentType.action === 'create') {\n strapi.eventHub.emit('content-type.create', {\n contentType: builder.contentTypes.get(contentType.uid),\n });\n }\n }\n\n for (const component of components) {\n if (component.action === 'delete') {\n strapi.eventHub.emit('component.delete', {\n component: builder.components.get(component.uid),\n });\n }\n\n if (component.action === 'update') {\n strapi.eventHub.emit('component.update', {\n component: builder.components.get(component.uid),\n });\n }\n\n if (component.action === 'create') {\n strapi.eventHub.emit('component.create', {\n component: builder.components.get(component.uid),\n });\n }\n }\n};\n"],"names":["removeEmptyDefaultsOnUpdates","schema","components","forEach","component","action","attributes","attribute","properties","default","undefined","contentTypes","contentType","removeDeletedUIDTargetFieldsOnUpdates","type","targetField","find","attr","name","composeRenames","hops","originByName","Map","oldName","newName","origin","get","delete","set","map","renameConditionVarsOnUpdates","entries","entry","Array","isArray","renames","savedAttributes","filter","saved","Set","Object","values","conditions","visible","rule","fieldVar","var","has","finalName","getAttributeRenameMigrationMode","strapi","plugin","config","collectRenames","collectFrom","lastHopByNewName","hop","index","newAttribute","push","uid","keepSavedAttributes","mapping","result","candidate","final","describeUnsupportedReason","reason","generateRenameMigrations","length","migrationBuilder","createMigrationBuilder","addRenameAttribute","attributeRenames","attributeRenamesMapping","keys","addAttributeRenames","unsupported","getUnsupported","fields","u","join","log","warn","hasChanges","writeFiles","renameAttribute","ApplicationError","errors","model","formattedSchema","getSchema","isComponent","Boolean","toPayloadProperties","customField","_name","oldProperties","probe","refused","payload","category","displayName","info","icon","description","pluginOptions","kind","draftAndPublish","options","data","validateUpdateSchema","updateSchema","formatAttributes","getVisibleAttributes","contentTypesUtils","key","formatAttribute","targetAttribute","inversedBy","mappedBy","mapValues","globalId","modelName","collectionName","modelType","isContentTypeVisible","restrictRelationsTo","getRestrictRelationsTo","coreContentStructure","contentStructure","getCleanedFile","settings","renameMigrations","builder","createBuilder","apiHandler","getService","assertCTBOwnedApplicationContentType","upsertedUids","deletedUids","generatedApiNames","backedUpApiUids","schemaAlreadyRolledBack","migrationFilePath","APIsToDelete","add","validateFromUpdate","incomingStructure","createContentType","createComponent","createContentTypeAttributes","reduce","acc","singularName","generateAPI","pluralName","editContentType","deleteContentType","backup","createComponentAttributes","editComponent","deleteComponent","schemaFilesWritten","clear","preserveBackup","commitFromUpdate","error","rollbackSchemaMutation","finalizeSchemaMutation","eventHub","emit"],"mappings":";;;;;;;;;AA0BA,MAAMA,+BAA+B,CAACC,MAAAA,GAAAA;AACpCA,IAAAA,MAAAA,CAAOC,UAAU,CAACC,OAAO,CAAC,CAACC,SAAAA,GAAAA;QACzB,IAAIA,SAAAA,CAAUC,MAAM,KAAK,QAAA,EAAU;AACjC,YAAA;AACF,QAAA;AAEAD,QAAAA,SAAAA,CAAUE,UAAU,CAACH,OAAO,CAAC,CAACI,SAAAA,GAAAA;YAC5B,IAAIA,SAAAA,CAAUF,MAAM,KAAK,QAAA,EAAU;gBACjC,MAAM,EAAEG,UAAU,EAAE,GAAGD,SAAAA;AAEvB,gBAAA,IAAI,SAAA,IAAaC,UAAAA,IAAcA,UAAAA,CAAWC,OAAO,KAAK,EAAA,EAAI;AACxDD,oBAAAA,UAAAA,CAAWC,OAAO,GAAGC,SAAAA;AACvB,gBAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;AAEAT,IAAAA,MAAAA,CAAOU,YAAY,CAACR,OAAO,CAAC,CAACS,WAAAA,GAAAA;QAC3B,IAAIA,WAAAA,CAAYP,MAAM,KAAK,QAAA,EAAU;AACnC,YAAA;AACF,QAAA;AAEAO,QAAAA,WAAAA,CAAYN,UAAU,CAACH,OAAO,CAAC,CAACI,SAAAA,GAAAA;YAC9B,IAAIA,SAAAA,CAAUF,MAAM,KAAK,QAAA,EAAU;gBACjC,MAAM,EAAEG,UAAU,EAAE,GAAGD,SAAAA;AAEvB,gBAAA,IAAI,SAAA,IAAaC,UAAAA,IAAcA,UAAAA,CAAWC,OAAO,KAAK,EAAA,EAAI;AACxDD,oBAAAA,UAAAA,CAAWC,OAAO,GAAGC,SAAAA;AACvB,gBAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;AACF,CAAA;AAEA,MAAMG,wCAAwC,CAACZ,MAAAA,GAAAA;AAC7CA,IAAAA,MAAAA,CAAOU,YAAY,CAACR,OAAO,CAAC,CAACS,WAAAA,GAAAA;QAC3B,IAAIA,WAAAA,CAAYP,MAAM,KAAK,QAAA,EAAU;AACnC,YAAA;AACF,QAAA;AAEAO,QAAAA,WAAAA,CAAYN,UAAU,CAACH,OAAO,CAAC,CAACI,SAAAA,GAAAA;YAC9B,IAAIA,SAAAA,CAAUF,MAAM,KAAK,QAAA,EAAU;gBACjC,MAAM,EAAEG,UAAU,EAAE,GAAGD,SAAAA;gBAEvB,IACEC,UAAAA,CAAWM,IAAI,KAAK,KAAA,IACpBN,WAAWO,WAAW,IACtB,CAACH,WAAAA,CAAYN,UAAU,CAACU,IAAI,CAAC,CAACC,IAAAA,GAASA,IAAAA,CAAKC,IAAI,KAAKV,UAAAA,CAAWO,WAAW,CAAA,EAC3E;AACAP,oBAAAA,UAAAA,CAAWO,WAAW,GAAGL,SAAAA;AAC3B,gBAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;AACF,CAAA;AAEA;;;IAIA,MAAMS,iBAAiB,CAACC,IAAAA,GAAAA;AACtB,IAAA,MAAMC,eAAe,IAAIC,GAAAA,EAAAA;AAEzBF,IAAAA,IAAAA,CAAKjB,OAAO,CAAC,CAAC,EAAEoB,OAAO,EAAEC,OAAO,EAAE,GAAA;AAChC,QAAA,IAAI,CAACD,OAAAA,IAAW,CAACC,OAAAA,IAAWD,YAAYC,OAAAA,EAAS;AAC/C,YAAA;AACF,QAAA;AAEA,QAAA,MAAMC,MAAAA,GAASJ,YAAAA,CAAaK,GAAG,CAACH,OAAAA,CAAAA,IAAYA,OAAAA;AAC5CF,QAAAA,YAAAA,CAAaM,MAAM,CAACJ,OAAAA,CAAAA;QACpBF,YAAAA,CAAaO,GAAG,CAACJ,OAAAA,EAASC,MAAAA,CAAAA;AAC5B,IAAA,CAAA,CAAA;AAEA,IAAA,OAAO,IAAIH,GAAAA,CAAI;AAAID,QAAAA,GAAAA;AAAa,KAAA,CAACQ,GAAG,CAAC,CAAC,CAACX,IAAAA,EAAMO,OAAO,GAAK;AAACA,YAAAA,MAAAA;AAAQP,YAAAA;AAAK,SAAA,CAAA,CAAA;AACzE,CAAA;AAEA;;;;;;IAOA,MAAMY,+BAA+B,CAAC7B,MAAAA,GAAAA;AAYpC,IAAA,MAAM8B,OAAAA,GAAU;AACV9B,QAAAA,GAAAA,MAAAA,CAAOU,YAAY;AACnBV,QAAAA,GAAAA,MAAAA,CAAOC;AACZ,KAAA;IAED6B,OAAAA,CAAQ5B,OAAO,CAAC,CAAC6B,KAAAA,GAAAA;QACf,IAAIA,KAAAA,CAAM3B,MAAM,KAAK,QAAA,IAAY,CAAC4B,MAAMC,OAAO,CAACF,KAAAA,CAAMG,OAAO,CAAA,EAAG;AAC9D,YAAA;AACF,QAAA;QAEA,MAAMA,OAAAA,GAAUhB,cAAAA,CAAea,KAAAA,CAAMG,OAAO,CAAA;AAC5C,QAAA,MAAMC,eAAAA,GAAmBJ,CAAAA,KAAAA,CAAM1B,UAAU,IAAI,EAAE,EAAE+B,MAAM,CACrD,CAAC9B,SAAAA,GAAcA,SAAAA,CAAUF,MAAM,KAAK,QAAA,CAAA;QAEtC,MAAMiC,KAAAA,GAAQ,IAAIC,GAAAA,CAAIH,eAAAA,CAAgBP,GAAG,CAAC,CAACtB,SAAAA,GAAcA,SAAAA,CAAUW,IAAI,CAAA,CAAA;QAEvEkB,eAAAA,CAAgBjC,OAAO,CAAC,CAACI,SAAAA,GAAAA;YACvBiC,MAAAA,CAAOC,MAAM,CAAClC,SAAAA,CAAUC,UAAU,EAAEkC,UAAAA,EAAYC,OAAAA,IAAW,EAAC,CAAA,CAAGxC,OAAO,CAAC,CAACyC,IAAAA,GAAAA;gBACtE,MAAMC,QAAAA,GAAoBZ,MAAMC,OAAO,CAACU,QAAQA,IAAI,CAAC,EAAE,GAAGlC,SAAAA;gBAE1D,IACE,OAAOmC,aAAa,QAAA,IACpBA,QAAAA,KAAa,QACb,EAAE,SAASA,QAAO,CAAA,IAClB,OAAOA,QAAAA,CAASC,GAAG,KAAK,QAAA,IACxBR,KAAAA,CAAMS,GAAG,CAACF,QAAAA,CAASC,GAAG,CAAA,EACtB;AACA,oBAAA;AACF,gBAAA;AAEA,gBAAA,MAAME,SAAAA,GAAYb,OAAAA,CAAQT,GAAG,CAACmB,SAASC,GAAG,CAAA;AAE1C,gBAAA,IAAIE,SAAAA,KAActC,SAAAA,IAAa4B,KAAAA,CAAMS,GAAG,CAACC,SAAAA,CAAAA,EAAY;AACnDH,oBAAAA,QAAAA,CAASC,GAAG,GAAGE,SAAAA;AACjB,gBAAA;AACF,YAAA,CAAA,CAAA;AACF,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;AACF,CAAA;AASA,MAAMC,+BAAAA,GAAkC,IAAA;AACtC,IAAA,OAAOC,OACJC,MAAM,CAAC,sBAAA,CAAA,CACPC,MAAM,CAAC,6BAAA,EAA+B,oBAAA,CAAA;AAC3C,CAAA;AAEA;;;;;;;IAQA,MAAMC,iBAAiB,CAACpD,MAAAA,GAAAA;AACtB,IAAA,MAAMkC,UAA6B,EAAE;AAWrC,IAAA,MAAMmB,cAAc,CAACvB,OAAAA,GAAAA;AACnBA,QAAAA,OAAAA,CACGM,MAAM,CAAC,CAACL,KAAAA,GAAUA,KAAAA,CAAM3B,MAAM,KAAK,QAAA,IAAY4B,KAAAA,CAAMC,OAAO,CAACF,KAAAA,CAAMG,OAAO,CAAA,CAAA,CAC1EhC,OAAO,CAAC,CAAC6B,KAAAA,GAAAA;;;;AAIR,YAAA,MAAMuB,mBAAmB,IAAIjC,GAAAA,EAAAA;AAC7BU,YAAAA,KAAAA,CAAMG,OAAO,CAAEhC,OAAO,CAAC,CAACqD,GAAAA,EAAKC,KAAAA,GAAAA;gBAC3B,IAAID,GAAAA,CAAIhC,OAAO,EAAE;AACf+B,oBAAAA,gBAAAA,CAAiB3B,GAAG,CAAC4B,GAAAA,CAAIhC,OAAO,EAAEiC,KAAAA,CAAAA;AACpC,gBAAA;AACF,YAAA,CAAA,CAAA;AAEAzB,YAAAA,KAAAA,CAAMG,OAAO,CAAEhC,OAAO,CAAC,CAACqD,GAAAA,EAAKC,KAAAA,GAAAA;gBAC3B,IAAID,GAAAA,CAAIjC,OAAO,IAAIiC,GAAAA,CAAIhC,OAAO,IAAIgC,GAAAA,CAAIjC,OAAO,KAAKiC,GAAAA,CAAIhC,OAAO,EAAE;;;;;oBAK7D,MAAMkC,YAAAA,GACJH,gBAAAA,CAAiB7B,GAAG,CAAC8B,GAAAA,CAAIhC,OAAO,CAAA,KAAMiC,KAAAA,GAClCzB,KAAAA,CAAM1B,UAAU,EAAEU,IAAAA,CAChB,CAACT,SAAAA,GAAcA,SAAAA,CAAUF,MAAM,KAAK,QAAA,IAAYE,SAAAA,CAAUW,IAAI,KAAKsC,GAAAA,CAAIhC,OAAO,CAAA,EAC7EhB,UAAAA,GACHE,SAAAA;AAENyB,oBAAAA,OAAAA,CAAQwB,IAAI,CAAC;AACXC,wBAAAA,GAAAA,EAAK5B,MAAM4B,GAAG;AACdrC,wBAAAA,OAAAA,EAASiC,IAAIjC,OAAO;AACpBC,wBAAAA,OAAAA,EAASgC,IAAIhC,OAAO;AACpBkC,wBAAAA;AACF,qBAAA,CAAA;AACF,gBAAA;AACF,YAAA,CAAA,CAAA;AACF,QAAA,CAAA,CAAA;AACJ,IAAA,CAAA;AAEAJ,IAAAA,WAAAA,CAAYrD,OAAOU,YAAY,CAAA;AAC/B2C,IAAAA,WAAAA,CAAYrD,OAAOC,UAAU,CAAA;IAE7B,OAAOiC,OAAAA;AACT,CAAA;AAEA;;;IAIA,MAAM0B,mBAAAA,GAAsB,CAC1B5D,MAAAA,EACA6D,OAAAA,GAAAA;AAGA,IAAA,MAAM/B,OAAAA,GAAU;AACV9B,QAAAA,GAAAA,MAAAA,CAAOU,YAAY;AACnBV,QAAAA,GAAAA,MAAAA,CAAOC;AACZ,KAAA;AAED,IAAA,MAAM6D,SAAkC,EAAC;IAEzC,KAAK,MAAM,CAACH,GAAAA,EAAKzB,OAAAA,CAAQ,IAAIK,MAAAA,CAAOT,OAAO,CAAC+B,OAAAA,CAAAA,CAAU;QACpD,MAAM9B,KAAAA,GAAQD,QAAQf,IAAI,CAAC,CAACgD,SAAAA,GAAcA,SAAAA,CAAUJ,GAAG,KAAKA,GAAAA,CAAAA;QAC5D,MAAMtB,KAAAA,GAAQ,IAAIC,GAAAA,CAChB,CAACP,KAAAA,EAAO1B,UAAAA,IAAc,EAAC,EACpB+B,MAAM,CAAC,CAAC9B,YAAcA,SAAAA,CAAUF,MAAM,KAAK,QAAA,IAAYE,SAAAA,CAAUW,IAAI,CAAA,CACrEW,GAAG,CAAC,CAACtB,SAAAA,GAAcA,SAAAA,CAAUW,IAAI,CAAA,CAAA;QAGtC,KAAK,MAAM,CAACO,MAAAA,EAAQwC,KAAAA,CAAM,IAAIzB,MAAAA,CAAOT,OAAO,CAACI,OAAAA,CAAAA,CAAU;YACrD,IAAIG,KAAAA,CAAMS,GAAG,CAACkB,KAAAA,CAAAA,EAAQ;oBACpBF,OAAAA,EAAOH,IAAAA;gBAAPG,CAAAA,OAAAA,GAAAA,MAAAA,EAAOH,IAAAA,GAAAA,GAAAA,CAAI,KAAXG,OAAM,CAACH,IAAAA,CAAI,GAAK,EAAC,CAAA;AACjBG,gBAAAA,MAAM,CAACH,GAAAA,CAAI,CAACnC,MAAAA,CAAO,GAAGwC,KAAAA;AACxB,YAAA;AACF,QAAA;AACF,IAAA;IAEA,OAAOF,MAAAA;AACT,CAAA;AAEA,MAAMG,4BAA4B,CAACC,MAAAA,GAAAA;IACjC,OAAQA,MAAAA;QACN,KAAK,cAAA;YACH,OAAO,oDAAA;QACT,KAAK,kBAAA;YACH,OAAO,+DAAA;QACT,KAAK,qBAAA;YACH,OAAO,wCAAA;QACT,KAAK,iBAAA;YACH,OAAO,qDAAA;QACT,KAAK,iBAAA;AACL,QAAA;YACE,OAAO,uCAAA;AACX;AACF,CAAA;AAEA;;;;;IAMA,MAAMC,2BAA2B,OAAOnE,MAAAA,GAAAA;;AAEtC,IAAA,IAAIgD,sCAAsC,OAAA,EAAS;QACjD,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,MAAMd,UAAUkB,cAAAA,CAAepD,MAAAA,CAAAA;IAC/B,IAAIkC,OAAAA,CAAQkC,MAAM,KAAK,CAAA,EAAG;QACxB,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,MAAMC,mBAAmBC,sBAAAA,CAAuB;AAAErB,QAAAA;AAAO,KAAA,CAAA;IAEzD,KAAK,MAAM,EAAEU,GAAG,EAAErC,OAAO,EAAEC,OAAO,EAAEkC,YAAY,EAAE,IAAIvB,OAAAA,CAAS;QAC7DmC,gBAAAA,CAAiBE,kBAAkB,CAACZ,GAAAA,EAAK;AAAErC,YAAAA,OAAAA;AAASC,YAAAA,OAAAA;AAASkC,YAAAA;AAAa,SAAA,CAAA;AAC5E,IAAA;AAEA,IAAA,MAAMe,gBAAAA,GAAmBZ,mBAAAA,CAAoB5D,MAAAA,EAAQqE,gBAAAA,CAAiBI,uBAAuB,EAAA,CAAA;AAC7F,IAAA,IAAIlC,OAAOmC,IAAI,CAACF,gBAAAA,CAAAA,CAAkBJ,MAAM,GAAG,CAAA,EAAG;AAC5CC,QAAAA,gBAAAA,CAAiBM,mBAAmB,CAACH,gBAAAA,CAAAA;AACvC,IAAA;IAEA,MAAMI,WAAAA,GAAcP,iBAAiBQ,cAAc,EAAA;IACnD,IAAID,WAAAA,CAAYR,MAAM,GAAG,CAAA,EAAG;QAC1B,MAAMU,MAAAA,GAASF,WAAAA,CACZhD,GAAG,CAAC,CAACmD,IAAM,CAAA,EAAGA,CAAAA,CAAEpB,GAAG,CAAC,CAAC,EAAEoB,EAAEzD,OAAO,CAAC,EAAE,EAAE2C,yBAAAA,CAA0Bc,CAAAA,CAAEb,MAAM,CAAA,CAAE,CAAC,CAAC,CAAA,CAC3Ec,IAAI,CAAC,IAAA,CAAA;AACR/B,QAAAA,MAAAA,CAAOgC,GAAG,CAACC,IAAI,CACb,CAAC,iEAAiE,EAAEN,WAAAA,CAAYR,MAAM,CAAC,WAAW,EAAEU,MAAAA,CAAO,4CAA4C,CAAC,CAAA;AAE5J,IAAA;IAEA,IAAIT,gBAAAA,CAAiBc,UAAU,EAAA,EAAI;AACjC,QAAA,OAAOd,iBAAiBe,UAAU,EAAA;AACpC,IAAA;IAEA,OAAO,IAAA;AACT,CAAA;AAEA;;;;;;;;;;;;AAYC,IACM,MAAMC,eAAAA,GAAkB,OAC7B1B,KACArC,OAAAA,EACAC,OAAAA,GAAAA;IAEA,MAAM,EAAE+D,gBAAgB,EAAE,GAAGC,MAAAA;IAE7B,IAAI,CAACjE,OAAAA,IAAW,CAACC,OAAAA,EAAS;AACxB,QAAA,MAAM,IAAI+D,gBAAAA,CAAiB,mDAAA,CAAA;AAC7B,IAAA;AAEA,IAAA,IAAIhE,YAAYC,OAAAA,EAAS;AACvB,QAAA,MAAM,IAAI+D,gBAAAA,CAAiB,CAAC,eAAe,EAAEhE,OAAAA,CAAQ,WAAW,CAAC,CAAA;AACnE,IAAA;AAEA,IAAA,IAAI0B,sCAAsC,OAAA,EAAS;AACjD,QAAA,MAAM,IAAIsC,gBAAAA,CACR,6HAAA,CAAA;AAEJ,IAAA;AAEA,IAAA,MAAM3E,cAAc,MAACsC,CAAOvC,YAAoC,CAACiD,GAAAA,CAAI;AACrE,IAAA,MAAMxD,YAAY,MAAC8C,CAAOhD,UAAkC,CAAC0D,GAAAA,CAAI;AACjE,IAAA,MAAM6B,QAAQ7E,WAAAA,IAAeR,SAAAA;AAE7B,IAAA,IAAI,CAACqF,KAAAA,EAAO;AACV,QAAA,MAAM,IAAIF,gBAAAA,CAAiB,CAAC,4CAA4C,EAAE3B,GAAAA,CAAI,CAAC,CAAC,CAAA;AAClF,IAAA;AAEA,IAAA,IAAI,CAAC6B,KAAAA,CAAMnF,UAAU,GAAGiB,QAAQ,EAAE;QAChC,MAAM,IAAIgE,gBAAAA,CAAiB,CAAC,WAAW,EAAEhE,QAAQ,qBAAqB,EAAEqC,GAAAA,CAAI,CAAC,CAAC,CAAA;AAChF,IAAA;AAEA,IAAA,IAAI6B,KAAAA,CAAMnF,UAAU,GAAGkB,QAAQ,EAAE;QAC/B,MAAM,IAAI+D,gBAAAA,CAAiB,CAAC,WAAW,EAAE/D,QAAQ,qBAAqB,EAAEoC,GAAAA,CAAI,CAAC,CAAC,CAAA;AAChF,IAAA;;;AAIA,IAAA,MAAM8B,kBAAkB,MAAMC,SAAAA,EAAAA;AAC9B,IAAA,MAAMC,cAAcC,OAAAA,CAAQzF,SAAAA,CAAAA;AAC5B,IAAA,MAAM4B,KAAAA,GAAQ4D,WAAAA,GACV,eAACF,CAAgBxF,UAAU,CAAyB0D,GAAAA,CAAI,GACxD,eAAC8B,CAAgB/E,YAAoC,CAACiD,GAAAA,CAAI;;;AAI9D,IAAA,MAAMkC,mBAAAA,GAAsB,CAACtF,UAAAA,GAC3BA,UAAAA,CAAWuF,WAAW,GAAG;AAAE,YAAA,GAAGvF,UAAU;YAAEM,IAAAA,EAAM;SAAc,GAAIN,UAAAA;AAEpE,IAAA,MAAMF,UAAAA,GAAa0B,KAAAA,CAAM1B,UAAU,CAACuB,GAAG,CAAC,CAAC,EAAEX,IAAI,EAAE,GAAGV,UAAAA,EAAiC,IAAM;YACzFH,MAAAA,EAAQ,QAAA;YACRa,IAAAA,EAAMA,IAAAA,KAASK,UAAUC,OAAAA,GAAUN,IAAAA;AACnCV,YAAAA,UAAAA,EAAYsF,mBAAAA,CAAoBtF,UAAAA;SAClC,CAAA,CAAA;;;AAIA,IAAA,MAAM,EAAEU,IAAAA,EAAM8E,KAAK,EAAE,GAAGC,eAAe,GAAGjE,KAAAA,CAAM1B,UAAU,CAACU,IAAI,CAC7D,CAACT,YAAmCA,SAAAA,CAAUW,IAAI,KAAKK,OAAAA,CAAAA,IACpD;QAAEL,IAAAA,EAAMK;AAAQ,KAAA;AACrB,IAAA,MAAM2E,QAAQ3B,sBAAAA,CAAuB;AAAErB,QAAAA;AAAO,KAAA,CAAA;IAC9CgD,KAAAA,CAAM1B,kBAAkB,CAACZ,GAAAA,EAAK;AAC5BrC,QAAAA,OAAAA;AACAC,QAAAA,OAAAA;AACAkC,QAAAA,YAAAA,EAAcoC,mBAAAA,CAAoBG,aAAAA;AACpC,KAAA,CAAA;IAEA,MAAME,OAAAA,GAAUD,MAAMpB,cAAc,EAAA;IACpC,IAAIqB,OAAAA,CAAQ9B,MAAM,GAAG,CAAA,EAAG;QACtB,MAAM,IAAIkB,iBACR,CAAC,eAAe,EAAEhE,OAAAA,CAAQ,MAAM,EAAEqC,GAAAA,CAAI,2BAA2B,EAAEuC,QAChEtE,GAAG,CAAC,CAAC,EAAEsC,MAAM,EAAE,GAAKD,yBAAAA,CAA0BC,MAAAA,CAAAA,CAAAA,CAC9Cc,IAAI,CAAC,IAAA,CAAA,CAAA,CAAO,CAAA;AAEnB,IAAA;AAEA,IAAA,MAAM9C,OAAAA,GAAU;AAAC,QAAA;AAAEZ,YAAAA,OAAAA;AAASC,YAAAA;AAAQ;AAAE,KAAA;AAEtC,IAAA,MAAM4E,UAAUR,WAAAA,GACZ;AACEjF,QAAAA,YAAAA,EAAc,EAAE;QAChBT,UAAAA,EAAY;AACV,YAAA;gBACEG,MAAAA,EAAQ,QAAA;AACRuD,gBAAAA,GAAAA;AACAyC,gBAAAA,QAAAA,EAAUZ,MAAMY,QAAQ;gBACxBC,WAAAA,EAAab,KAAAA,CAAMc,IAAI,EAAED,WAAAA;gBACzBE,IAAAA,EAAMf,KAAAA,CAAMc,IAAI,EAAEC,IAAAA;gBAClBC,WAAAA,EAAahB,KAAAA,CAAMc,IAAI,EAAEE,WAAAA;AACzBC,gBAAAA,aAAAA,EAAejB,MAAMiB,aAAa;AAClCvE,gBAAAA,OAAAA;AACA7B,gBAAAA;AACF;AACD;KACH,GACA;QACEK,YAAAA,EAAc;AACZ,YAAA;gBACEN,MAAAA,EAAQ,QAAA;AACRuD,gBAAAA,GAAAA;AACA+C,gBAAAA,IAAAA,EAAMlB,MAAMkB,IAAI;gBAChBL,WAAAA,EAAab,KAAAA,CAAMc,IAAI,EAAED,WAAAA;gBACzBG,WAAAA,EAAahB,KAAAA,CAAMc,IAAI,EAAEE,WAAAA;gBACzBG,eAAAA,EAAiBf,OAAAA,CAAQJ,KAAAA,CAAMoB,OAAO,EAAED,eAAAA,CAAAA;AACxCC,gBAAAA,OAAAA,EAASpB,MAAMoB,OAAO;AACtBH,gBAAAA,aAAAA,EAAejB,MAAMiB,aAAa;AAClCvE,gBAAAA,OAAAA;AACA7B,gBAAAA;AACF;AACD,SAAA;AACDJ,QAAAA,UAAAA,EAAY;AACd,KAAA;;;AAIJ,IAAA,MAAM,EAAE4G,IAAI,EAAE,GAAG,MAAMC,oBAAAA,CAAqB;QAAED,IAAAA,EAAMV;AAAQ,KAAA,CAAA;AAE5D,IAAA,MAAMY,YAAAA,CAAaF,IAAAA,CAAAA;AACrB;AAEA,MAAMG,mBAAmB,CAACxB,KAAAA,GAAAA;IACxB,MAAM,EAAEyB,oBAAoB,EAAE,GAAGC,YAAAA;;AAGjC,IAAA,OAAOD,oBAAAA,CAAqBzB,KAAAA,CAAAA,CAAO5D,GAAG,CAAC,CAACuF,GAAAA,GAAAA;QACtC,OAAO;AAAE,YAAA,GAAGC,eAAAA,CAAgB5B,KAAAA,CAAMnF,UAAU,CAAC8G,IAAI,CAAC;YAAElG,IAAAA,EAAMkG;AAAI,SAAA;AAChE,IAAA,CAAA,CAAA;AACF,CAAA;AAEO,MAAMC,kBAAkB,CAAC9G,SAAAA,GAAAA;IAC9B,IAAIA,SAAAA,CAAUO,IAAI,KAAK,UAAA,EAAY;QACjC,OAAO;AACL,YAAA,GAAGP,SAAS;AACZ+G,YAAAA,eAAAA,EAAiB/G,SAAAA,CAAUgH,UAAU,IAAIhH,SAAAA,CAAUiH,QAAQ,IAAI,IAAA;;YAE/D,GAAIjH,SAAAA,CAAUmC,UAAU,IAAI;AAAEA,gBAAAA,UAAAA,EAAYnC,UAAUmC;;AACtD,SAAA;AACF,IAAA;IAEA,OAAOnC,SAAAA;AACT;MAEaoF,SAAAA,GAAY,UAAA;AACvB,IAAA,MAAMhF,YAAAA,GAAe8G,SAAAA,CAAUvE,MAAAA,CAAOvC,YAAY,EAAE,CAACC,WAAAA,GAAAA;QACnD,MAAM,EACJgD,GAAG,EACHiD,OAAO,EACPa,QAAQ,EACRhB,aAAa,EACbC,IAAI,EACJgB,SAAS,EACTxE,MAAM,EACNyE,cAAc,EACdrB,IAAI,EACJsB,SAAS,EACV,GAAGjH,WAAAA;QAEJ,OAAO;AACLgD,YAAAA,GAAAA;AACA+D,YAAAA,SAAAA;AACAhB,YAAAA,IAAAA;AACAe,YAAAA,QAAAA;AACAb,YAAAA,OAAAA;AACAH,YAAAA,aAAAA;AACAvD,YAAAA,MAAAA;AACAyE,YAAAA,cAAAA;AACArB,YAAAA,IAAAA;AACAsB,YAAAA,SAAAA;AACAvH,YAAAA,UAAAA,EAAY2G,gBAAAA,CAAiBrG,WAAAA,CAAAA;AAC7B+B,YAAAA,OAAAA,EAASmF,oBAAAA,CAAqBlH,WAAAA,CAAAA;AAC9BmH,YAAAA,mBAAAA,EAAqBC,sBAAAA,CAAuBpH,WAAAA;AAC9C,SAAA;AACF,IAAA,CAAA,CAAA;AAEA,IAAA,MAAMV,UAAAA,GAAauH,SAAAA,CAAUvE,MAAAA,CAAOhD,UAAU,EAAE,CAACE,SAAAA,GAAAA;AAC/C,QAAA,MAAM,EAAEwD,GAAG,EAAE8D,QAAQ,EAAEC,SAAS,EAAEC,cAAc,EAAErB,IAAI,EAAEF,QAAQ,EAAEwB,SAAS,EAAE,GAAGzH,SAAAA;QAEhF,OAAO;AACLwD,YAAAA,GAAAA;AACA+D,YAAAA,SAAAA;AACAD,YAAAA,QAAAA;AACAG,YAAAA,SAAAA;AACAD,YAAAA,cAAAA;AACAvB,YAAAA,QAAAA;AACAE,YAAAA,IAAAA;AACAjG,YAAAA,UAAAA,EAAY2G,gBAAAA,CAAiB7G,SAAAA;AAC/B,SAAA;AACF,IAAA,CAAA,CAAA;IAEA,MAAM6H,oBAAAA,GAAoD/E,MAAAA,CAAOxB,GAAG,CAAC,mBAAA,CAAA;IACrE,MAAMwG,gBAAAA,GAAmB,MAAMD,oBAAAA,CAAqBE,cAAc,EAAA;IAElE,OAAO;AACLD,QAAAA,gBAAAA;AACAvH,QAAAA,YAAAA;AACAT,QAAAA,UAAAA;QACAkI,QAAAA,EAAU;YACRC,gBAAAA,EAAkB;gBAChB/H,UAAAA,EAAY2C,+BAAAA;AACd;AACF;AACF,KAAA;AACF;AAEO,MAAM+D,eAAe,OAAO/G,MAAAA,GAAAA;AACjC,IAAA,MAAMqI,OAAAA,GAAUC,aAAAA,EAAAA;AAChB,IAAA,MAAMC,aAAaC,UAAAA,CAAW,aAAA,CAAA;AAE9B,IAAA,MAAM,EAAEvI,UAAU,EAAES,YAAY,EAAEuH,gBAAgB,EAAE,GAAGjI,MAAAA;;;AAIvDU,IAAAA,YAAAA,CACG0B,MAAM,CAAC,CAACzB,WAAAA,GAAgBA,YAAYP,MAAM,KAAK,QAAA,CAAA,CAC/CF,OAAO,CAAC,CAACS,WAAAA,GAAgB8H,oCAAAA,CAAqC9H,YAAYgD,GAAG,CAAA,CAAA;;IAGhF5D,4BAAAA,CAA6BC,MAAAA,CAAAA;IAC7BY,qCAAAA,CAAsCZ,MAAAA,CAAAA;IACtC6B,4BAAAA,CAA6B7B,MAAAA,CAAAA;AAE7B,IAAA,MAAM0I,eAAe,IAAIrH,GAAAA,EAAAA;AACzB,IAAA,MAAMsH,cAAc,IAAIrG,GAAAA,EAAAA;AACxB,IAAA,MAAMsG,oBAA8B,EAAE;AACtC,IAAA,MAAMC,kBAA4B,EAAE;AACpC,IAAA,IAAIC,uBAAAA,GAA0B,KAAA;AAC9B,IAAA,IAAIC,iBAAAA,GAAmC,IAAA;AACvC,IAAA,MAAMC,YAAAA,GAAetI,YAAAA,CAClB0B,MAAM,CAAC,CAACzB,WAAAA,GAAgBA,WAAAA,CAAYP,MAAM,KAAK,UAC/CwB,GAAG,CAAC,CAACjB,WAAAA,GAAgBA,YAAYgD,GAAG,CAAA;IAEvC,IAAI;QACF,KAAK,MAAMhD,eAAeD,YAAAA,CAAc;YACtC,IAAIC,WAAAA,CAAYP,MAAM,KAAK,QAAA,EAAU;AACnCsI,gBAAAA,YAAAA,CAAa/G,GAAG,CAAChB,WAAAA,CAAYgD,GAAG,EAAEhD,WAAAA,CAAY+F,IAAI,IAAI,gBAAA,CAAA;AACxD,YAAA,CAAA,MAAO,IAAI/F,WAAAA,CAAYP,MAAM,KAAK,QAAA,IAAYO,WAAAA,CAAY+F,IAAI,EAAE;;;AAG9DgC,gBAAAA,YAAAA,CAAa/G,GAAG,CAAChB,WAAAA,CAAYgD,GAAG,EAAEhD,YAAY+F,IAAI,CAAA;AACpD,YAAA,CAAA,MAAO,IAAI/F,WAAAA,CAAYP,MAAM,KAAK,QAAA,EAAU;gBAC1CuI,WAAAA,CAAYM,GAAG,CAACtI,WAAAA,CAAYgD,GAAG,CAAA;AACjC,YAAA;AACF,QAAA;;QAGA6E,UAAAA,CAAW,mBAAA,CAAA,CAAqBU,kBAAkB,CAAC;YACjDC,iBAAAA,EAAmBlB,gBAAAA;AACnBS,YAAAA,YAAAA;AACAC,YAAAA;AACF,SAAA,CAAA;;QAGA,KAAK,MAAMhI,eAAeD,YAAAA,CAAc;YACtC,IAAIC,WAAAA,CAAYP,MAAM,KAAK,QAAA,EAAU;AACnCiI,gBAAAA,OAAAA,CAAQe,iBAAiB,CAAC;AACxB,oBAAA,GAAGzI,WAAW;AACdN,oBAAAA,UAAAA,EAAY;AACd,iBAAA,CAAA;AACF,YAAA;AACF,QAAA;;QAGA,KAAK,MAAMF,aAAaF,UAAAA,CAAY;YAClC,IAAIE,SAAAA,CAAUC,MAAM,KAAK,QAAA,EAAU;AACjCiI,gBAAAA,OAAAA,CAAQgB,eAAe,CAAC;AACtB,oBAAA,GAAGlJ,SAAS;AACZE,oBAAAA,UAAAA,EAAY;AACd,iBAAA,CAAA;AACF,YAAA;AACF,QAAA;QAEA,KAAK,MAAMM,eAAeD,YAAAA,CAAc;AACtC,YAAA,MAAM,EAAEN,MAAM,EAAEuD,GAAG,EAAE,GAAGhD,WAAAA;AAExB,YAAA,IAAIP,WAAW,QAAA,EAAU;gBACvBiI,OAAAA,CAAQiB,2BAA2B,CACjC3F,GAAAA,EACAhD,WAAAA,CAAYN,UAAU,CAACkJ,MAAM,CAAC,CAACC,GAAAA,EAAUxI,IAAAA,GAAAA;AACvCwI,oBAAAA,GAAG,CAACxI,IAAAA,CAAKC,IAAI,CAAC,GAAGD,KAAKT,UAAU;oBAChC,OAAOiJ,GAAAA;AACT,gBAAA,CAAA,EAAG,EAAC,CAAA,CAAA;gBAGN,IAAI,CAAC7I,WAAAA,CAAYuC,MAAM,EAAE;;oBAEvB0F,iBAAAA,CAAkBlF,IAAI,CAAC/C,WAAAA,CAAY8I,YAAY,CAAA;oBAC/C,MAAMjB,UAAAA,CAAW,eAAA,CAAA,CAAiBkB,WAAW,CAAC;AAC5CrD,wBAAAA,WAAAA,EAAa1F,YAAa0F,WAAW;AACrCoD,wBAAAA,YAAAA,EAAc9I,YAAa8I,YAAY;AACvCE,wBAAAA,UAAAA,EAAYhJ,YAAagJ,UAAU;AACnCjD,wBAAAA,IAAAA,EAAM/F,YAAa+F;AACrB,qBAAA,CAAA;AACF,gBAAA;AACF,YAAA;AAEA,YAAA,IAAItG,WAAW,QAAA,EAAU;AACvBiI,gBAAAA,OAAAA,CAAQuB,eAAe,CAAC;AACtB,oBAAA,GAAGjJ,WAAW;AACdN,oBAAAA,UAAAA,EAAYM,YAAYN,UAAU,CAACkJ,MAAM,CAAC,CAACC,GAAAA,EAAUxI,IAAAA,GAAAA;wBACnD,IAAIA,IAAAA,CAAKZ,MAAM,KAAK,QAAA,EAAU;4BAC5B,OAAOoJ,GAAAA;AACT,wBAAA;AAEAA,wBAAAA,GAAG,CAACxI,IAAAA,CAAKC,IAAI,CAAC,GAAGD,KAAKT,UAAU;wBAChC,OAAOiJ,GAAAA;AACT,oBAAA,CAAA,EAAG,EAAC;AACN,iBAAA,CAAA;AACF,YAAA;AAEA,YAAA,IAAIpJ,WAAW,QAAA,EAAU;AACvBiI,gBAAAA,OAAAA,CAAQwB,iBAAiB,CAAClG,GAAAA,CAAAA;gBAC1B,MAAM4E,UAAAA,CAAWuB,MAAM,CAACnG,GAAAA,CAAAA;AACxBkF,gBAAAA,eAAAA,CAAgBnF,IAAI,CAACC,GAAAA,CAAAA;AACvB,YAAA;AACF,QAAA;QAEA,KAAK,MAAMxD,aAAaF,UAAAA,CAAY;AAClC,YAAA,MAAM,EAAEG,MAAM,EAAEuD,GAAG,EAAE,GAAGxD,SAAAA;AAExB,YAAA,IAAIC,WAAW,QAAA,EAAU;gBACvBiI,OAAAA,CAAQ0B,yBAAyB,CAC/BpG,GAAAA,EACAxD,SAAAA,CAAUE,UAAU,CAACkJ,MAAM,CAAC,CAACC,GAAAA,EAAUxI,IAAAA,GAAAA;AACrCwI,oBAAAA,GAAG,CAACxI,IAAAA,CAAKC,IAAI,CAAC,GAAGD,KAAKT,UAAU;oBAChC,OAAOiJ,GAAAA;AACT,gBAAA,CAAA,EAAG,EAAC,CAAA,CAAA;AAER,YAAA;AAEA,YAAA,IAAIpJ,WAAW,QAAA,EAAU;AACvBiI,gBAAAA,OAAAA,CAAQ2B,aAAa,CAAC;AACpB,oBAAA,GAAG7J,SAAS;AACZE,oBAAAA,UAAAA,EAAYF,UAAUE,UAAU,CAACkJ,MAAM,CAAC,CAACC,GAAAA,EAAUxI,IAAAA,GAAAA;wBACjD,IAAIA,IAAAA,CAAKZ,MAAM,KAAK,QAAA,EAAU;4BAC5B,OAAOoJ,GAAAA;AACT,wBAAA;AAEAA,wBAAAA,GAAG,CAACxI,IAAAA,CAAKC,IAAI,CAAC,GAAGD,KAAKT,UAAU;wBAChC,OAAOiJ,GAAAA;AACT,oBAAA,CAAA,EAAG,EAAC;AACN,iBAAA,CAAA;AACF,YAAA;AAEA,YAAA,IAAIpJ,WAAW,QAAA,EAAU;AACvBiI,gBAAAA,OAAAA,CAAQ4B,eAAe,CAACtG,GAAAA,CAAAA;AAC1B,YAAA;AACF,QAAA;;;;;;;;;AAWAoF,QAAAA,iBAAAA,GAAoB,MAAM5E,wBAAAA,CAAyBnE,MAAAA,CAAAA;QAEnD,MAAMkK,kBAAAA,GAAqB,MAAM7B,OAAAA,CAAQjD,UAAU,EAAA;AAEnD,QAAA,IAAI,CAAC8E,kBAAAA,EAAoB;YACvBpB,uBAAAA,GAA0B,IAAA;YAC1B,MAAM,IAAIvD,MAAAA,CAAOD,gBAAgB,CAAC,wBAAA,CAAA;AACpC,QAAA;QAEA,KAAK,MAAM3B,OAAOqF,YAAAA,CAAc;YAC9B,MAAMT,UAAAA,CAAW4B,KAAK,CAACxG,GAAAA,EAAK;gBAAEyG,cAAAA,EAAgB;AAAK,aAAA,CAAA;AACrD,QAAA;;QAGA,MAAM5B,UAAAA,CAAW,mBAAA,CAAA,CAAqB6B,gBAAgB,CAAC;YACrDlB,iBAAAA,EAAmBlB,gBAAAA;AACnBU,YAAAA;AACF,SAAA,CAAA;AACF,IAAA,CAAA,CAAE,OAAO2B,KAAAA,EAAO;AACd,QAAA,MAAMC,sBAAAA,CAAuB;AAC3BlC,YAAAA,OAAAA;AACAE,YAAAA,UAAAA;AACAM,YAAAA,eAAAA;AACAD,YAAAA,iBAAAA;AACAE,YAAAA,uBAAAA;AACAC,YAAAA;AACF,SAAA,CAAA;QAEA,MAAMuB,KAAAA;AACR,IAAA;;;AAIA,IAAA,KAAK,MAAMA,KAAAA,KAAS,MAAME,sBAAAA,CAAuB;AAAEjC,QAAAA,UAAAA;AAAYM,QAAAA;AAAgB,KAAA,CAAC,EAAG;QACjF5F,MAAAA,CAAOgC,GAAG,CAACqF,KAAK,CAACA,KAAAA,CAAAA;AACnB,IAAA;IAEA,KAAK,MAAM3J,eAAeD,YAAAA,CAAc;QACtC,IAAIC,WAAAA,CAAYP,MAAM,KAAK,QAAA,EAAU;AACnC6C,YAAAA,MAAAA,CAAOwH,QAAQ,CAACC,IAAI,CAAC,qBAAA,EAAuB;AAC1C/J,gBAAAA,WAAAA,EAAa0H,QAAQ3H,YAAY,CAACe,GAAG,CAACd,YAAYgD,GAAG;AACvD,aAAA,CAAA;AACF,QAAA;QAEA,IAAIhD,WAAAA,CAAYP,MAAM,KAAK,QAAA,EAAU;AACnC6C,YAAAA,MAAAA,CAAOwH,QAAQ,CAACC,IAAI,CAAC,qBAAA,EAAuB;AAC1C/J,gBAAAA,WAAAA,EAAa0H,QAAQ3H,YAAY,CAACe,GAAG,CAACd,YAAYgD,GAAG;AACvD,aAAA,CAAA;AACF,QAAA;QAEA,IAAIhD,WAAAA,CAAYP,MAAM,KAAK,QAAA,EAAU;AACnC6C,YAAAA,MAAAA,CAAOwH,QAAQ,CAACC,IAAI,CAAC,qBAAA,EAAuB;AAC1C/J,gBAAAA,WAAAA,EAAa0H,QAAQ3H,YAAY,CAACe,GAAG,CAACd,YAAYgD,GAAG;AACvD,aAAA,CAAA;AACF,QAAA;AACF,IAAA;IAEA,KAAK,MAAMxD,aAAaF,UAAAA,CAAY;QAClC,IAAIE,SAAAA,CAAUC,MAAM,KAAK,QAAA,EAAU;AACjC6C,YAAAA,MAAAA,CAAOwH,QAAQ,CAACC,IAAI,CAAC,kBAAA,EAAoB;AACvCvK,gBAAAA,SAAAA,EAAWkI,QAAQpI,UAAU,CAACwB,GAAG,CAACtB,UAAUwD,GAAG;AACjD,aAAA,CAAA;AACF,QAAA;QAEA,IAAIxD,SAAAA,CAAUC,MAAM,KAAK,QAAA,EAAU;AACjC6C,YAAAA,MAAAA,CAAOwH,QAAQ,CAACC,IAAI,CAAC,kBAAA,EAAoB;AACvCvK,gBAAAA,SAAAA,EAAWkI,QAAQpI,UAAU,CAACwB,GAAG,CAACtB,UAAUwD,GAAG;AACjD,aAAA,CAAA;AACF,QAAA;QAEA,IAAIxD,SAAAA,CAAUC,MAAM,KAAK,QAAA,EAAU;AACjC6C,YAAAA,MAAAA,CAAOwH,QAAQ,CAACC,IAAI,CAAC,kBAAA,EAAoB;AACvCvK,gBAAAA,SAAAA,EAAWkI,QAAQpI,UAAU,CAACwB,GAAG,CAACtB,UAAUwD,GAAG;AACjD,aAAA,CAAA;AACF,QAAA;AACF,IAAA;AACF;;;;"}
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
+
export declare const ATTRIBUTE_RENAME_MIGRATION_MODES: readonly ["always", "never", "prompt-after-edit", "prompt-before-save"];
|
|
2
|
+
export type AttributeRenameMigrationMode = (typeof ATTRIBUTE_RENAME_MIGRATION_MODES)[number];
|
|
3
|
+
export interface RenameMigrationsConfig {
|
|
4
|
+
/**
|
|
5
|
+
* Attribute rename behavior. A contentTypes setting can be added alongside
|
|
6
|
+
* this later without changing the public configuration shape.
|
|
7
|
+
*/
|
|
8
|
+
attributes: AttributeRenameMigrationMode;
|
|
9
|
+
}
|
|
10
|
+
export interface ContentTypeBuilderConfig {
|
|
11
|
+
renameMigrations: RenameMigrationsConfig;
|
|
12
|
+
}
|
|
13
|
+
type ContentTypeBuilderUserConfig = {
|
|
14
|
+
renameMigrations?: {
|
|
15
|
+
attributes?: AttributeRenameMigrationMode;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
1
18
|
declare const _default: {
|
|
2
|
-
default: {
|
|
3
|
-
|
|
19
|
+
default: {
|
|
20
|
+
renameMigrations: {
|
|
21
|
+
attributes: "prompt-before-save";
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
validator(config: ContentTypeBuilderUserConfig): void;
|
|
4
25
|
};
|
|
5
26
|
export default _default;
|
|
6
27
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../server/src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../server/src/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC,yEAKnC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7F,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,UAAU,EAAE,4BAA4B,CAAC;CAC1C;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,sBAAsB,CAAC;CAC1C;AAED,KAAK,4BAA4B,GAAG;IAClC,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,4BAA4B,CAAC;KAC3C,CAAC;CACH,CAAC;;;;;;;sBAQkB,4BAA4B;;AANhD,wBAuBE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-type.d.ts","sourceRoot":"","sources":["../../../../../server/src/controllers/validation/content-type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content-type.d.ts","sourceRoot":"","sources":["../../../../../server/src/controllers/validation/content-type.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAqB,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAS3D,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACxF,UAAU,CAAC,EAAE,KAAK,CAChB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAC7B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAA;KAAE,CACnE,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC3D,UAAU,EAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAkFF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,sBAAsB;;;GAEpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,GAAI,MAAM,sBAAsB;;;GAe1E,CAAC;AAqEF,eAAO,MAAM,YAAY,uEAAgC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../../server/src/controllers/validation/relations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../../server/src/controllers/validation/relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAO,MAAM,eAAe,CAAC;AA8BjD,eAAO,MAAM,oBAAoB,GAC/B,WAAW,MAAM,CAAC,SAAS,CAAC,QAAQ,EACpC,kBAAkB,aAAa,CAAC,MAAM,CAAC;;;;;;;;;;;;;;GAmCxC,CAAC"}
|
|
@@ -6,6 +6,10 @@ type ContentTypeSchemaAction = {
|
|
|
6
6
|
action: 'create' | 'update' | 'delete';
|
|
7
7
|
draftAndPublish?: boolean;
|
|
8
8
|
uid?: UID.ContentType;
|
|
9
|
+
renames?: Array<{
|
|
10
|
+
oldName: string;
|
|
11
|
+
newName: string;
|
|
12
|
+
}>;
|
|
9
13
|
attributes?: Array<{
|
|
10
14
|
action: 'create' | 'update' | 'delete';
|
|
11
15
|
name: string;
|
|
@@ -948,6 +952,10 @@ declare const updateComponentSchema: z.ZodObject<{
|
|
|
948
952
|
pluginOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
949
953
|
action: z.ZodLiteral<"update">;
|
|
950
954
|
category: z.ZodOptional<z.ZodString>;
|
|
955
|
+
renames: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
956
|
+
oldName: z.ZodString;
|
|
957
|
+
newName: z.ZodString;
|
|
958
|
+
}, z.core.$strip>>>;
|
|
951
959
|
attributes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
952
960
|
action: z.ZodLiteral<"create">;
|
|
953
961
|
name: z.ZodString;
|
|
@@ -4657,6 +4665,10 @@ declare const updateSingleTypeSchema: z.ZodObject<{
|
|
|
4657
4665
|
options: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
4658
4666
|
pluginOptions: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
4659
4667
|
action: z.ZodLiteral<"update">;
|
|
4668
|
+
renames: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
4669
|
+
oldName: z.ZodString;
|
|
4670
|
+
newName: z.ZodString;
|
|
4671
|
+
}, z.core.$strip>>>;
|
|
4660
4672
|
kind: z.ZodOptional<z.ZodLiteral<"singleType">>;
|
|
4661
4673
|
attributes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
4662
4674
|
action: z.ZodLiteral<"create">;
|
|
@@ -6501,6 +6513,10 @@ declare const updateCollectionTypeSchema: z.ZodObject<{
|
|
|
6501
6513
|
options: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6502
6514
|
pluginOptions: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6503
6515
|
action: z.ZodLiteral<"update">;
|
|
6516
|
+
renames: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6517
|
+
oldName: z.ZodString;
|
|
6518
|
+
newName: z.ZodString;
|
|
6519
|
+
}, z.core.$strip>>>;
|
|
6504
6520
|
kind: z.ZodOptional<z.ZodLiteral<"collectionType">>;
|
|
6505
6521
|
attributes: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
6506
6522
|
action: z.ZodLiteral<"create">;
|
|
@@ -9593,6 +9609,10 @@ export declare const validateUpdateSchema: (data: unknown, errorMessage?: string
|
|
|
9593
9609
|
description?: string | undefined;
|
|
9594
9610
|
pluginOptions?: Record<string, unknown> | undefined;
|
|
9595
9611
|
category?: string | undefined;
|
|
9612
|
+
renames?: {
|
|
9613
|
+
oldName: string;
|
|
9614
|
+
newName: string;
|
|
9615
|
+
}[] | undefined;
|
|
9596
9616
|
} | {
|
|
9597
9617
|
action: "delete";
|
|
9598
9618
|
uid: `${string}.${string}`;
|
|
@@ -11259,6 +11279,10 @@ export declare const validateUpdateSchema: (data: unknown, errorMessage?: string
|
|
|
11259
11279
|
name: string;
|
|
11260
11280
|
})[];
|
|
11261
11281
|
description?: string | undefined;
|
|
11282
|
+
renames?: {
|
|
11283
|
+
oldName: string;
|
|
11284
|
+
newName: string;
|
|
11285
|
+
}[] | undefined;
|
|
11262
11286
|
kind?: "singleType" | undefined;
|
|
11263
11287
|
} | {
|
|
11264
11288
|
uid: UID.ContentType;
|
|
@@ -12082,6 +12106,10 @@ export declare const validateUpdateSchema: (data: unknown, errorMessage?: string
|
|
|
12082
12106
|
name: string;
|
|
12083
12107
|
})[];
|
|
12084
12108
|
description?: string | undefined;
|
|
12109
|
+
renames?: {
|
|
12110
|
+
oldName: string;
|
|
12111
|
+
newName: string;
|
|
12112
|
+
}[] | undefined;
|
|
12085
12113
|
kind?: "collectionType" | undefined;
|
|
12086
12114
|
} | {
|
|
12087
12115
|
action: "delete";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../server/src/controllers/validation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAU,GAAG,EAAE,MAAM,eAAe,CAAC;AAajD,OAAO,EAA8B,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAWjG,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAmEnF,KAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9E,CAAC;AA2BF,eAAO,MAAM,uCAAuC,EAAE,eAAe,CAAC,uBAAuB,CAmB5F,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBlF,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUtE,CAAC;AAwgBF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUzB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBzB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;iBAGzB,CAAC;AA6BH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW1B,CAAC;AAEH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW9B,CAAC;AAMH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkB1B,CAAC;AAEH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../server/src/controllers/validation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAU,GAAG,EAAE,MAAM,eAAe,CAAC;AAcjD,OAAO,EAA8B,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAWjG,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAmEnF,KAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9E,CAAC;AA2BF,eAAO,MAAM,uCAAuC,EAAE,eAAe,CAAC,uBAAuB,CAmB5F,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBlF,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUtE,CAAC;AAwiBF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUzB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBzB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;iBAGzB,CAAC;AA6BH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW1B,CAAC;AAEH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW9B,CAAC;AAOH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkB1B,CAAC;AAEH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAuC,CAAC"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import * as middlewares from './middlewares';
|
|
2
2
|
declare const _default: () => {
|
|
3
3
|
config: {
|
|
4
|
-
default: {
|
|
5
|
-
|
|
4
|
+
default: {
|
|
5
|
+
renameMigrations: {
|
|
6
|
+
attributes: "prompt-before-save";
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
validator(config: {
|
|
10
|
+
renameMigrations?: {
|
|
11
|
+
attributes?: import("./config").AttributeRenameMigrationMode;
|
|
12
|
+
};
|
|
13
|
+
}): void;
|
|
6
14
|
};
|
|
7
15
|
bootstrap: ({ strapi }: {
|
|
8
16
|
strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;;;;;;;;;;0BAW6N,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAT3Q,wBAQG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../../../server/src/services/content-types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AASjD,eAAO,MAAM,gCAAgC,GAAI,KAAK,GAAG,CAAC,WAAW,KAAG,OAC/C,CAAC;AAE1B,eAAO,MAAM,oCAAoC,GAAI,KAAK,GAAG,CAAC,WAAW,KAAG,IAI3E,CAAC;AAMF,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../../../server/src/services/content-types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AASjD,eAAO,MAAM,gCAAgC,GAAI,KAAK,GAAG,CAAC,WAAW,KAAG,OAC/C,CAAC;AAE1B,eAAO,MAAM,oCAAoC,GAAI,KAAK,GAAG,CAAC,WAAW,KAAG,IAI3E,CAAC;AAMF,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,CAAC,iBAAiB,YACK,CAAC;AAE1E,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,CAAC,iBAAiB,oBAgB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBjD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,cAAc,GAAG,EAAE,mBAyC3D,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,6BAA6B,GAAG,EAChC,UAAS,wBAA6B,iBA2EvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,kDAKzB,GAAG,QAiBL,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,GAAG,CAAC,WAAW,EACpB,6BAAkC,GAAG,iBAgGtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,MAAM,GAAG,CAAC,WAAW,EAAE,kBAgD/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAU,KAAK,GAAG,CAAC,WAAW,EAAE,iBAAgB,GAAe,iBA8C5F,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
/**
|
|
3
|
+
* The CTB-level attribute definition of the *new* side of a rename hop (the
|
|
4
|
+
* `properties` the admin sends for `newName`). Only the storage-relevant keys
|
|
5
|
+
* are inspected; see `isCompatibleRename`.
|
|
6
|
+
*/
|
|
7
|
+
export interface RenameAttributeDefinition {
|
|
8
|
+
type?: string;
|
|
9
|
+
relation?: string;
|
|
10
|
+
target?: string;
|
|
11
|
+
component?: string;
|
|
12
|
+
repeatable?: boolean;
|
|
13
|
+
customField?: string;
|
|
14
|
+
targetAttribute?: string | null;
|
|
15
|
+
inversedBy?: string;
|
|
16
|
+
mappedBy?: string;
|
|
17
|
+
configurable?: boolean;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface RenameNames {
|
|
21
|
+
oldName: string;
|
|
22
|
+
newName: string;
|
|
23
|
+
/**
|
|
24
|
+
* Definition of the attribute under its new name, when known. Used to refuse
|
|
25
|
+
* hops that also change the attribute's storage (e.g. `string` -> `integer`,
|
|
26
|
+
* or a relation retargeted): renaming the column and letting schema sync
|
|
27
|
+
* alter its type in place can fail on Postgres/MySQL, whereas the legacy
|
|
28
|
+
* drop-and-recreate path is always safe.
|
|
29
|
+
*/
|
|
30
|
+
newAttribute?: RenameAttributeDefinition;
|
|
31
|
+
}
|
|
32
|
+
export type UnsupportedRenameReason = 'model-not-found' | 'attribute-not-found' | 'unsupported-type' | 'type-changed' | 'target-occupied';
|
|
33
|
+
export interface UnsupportedRename {
|
|
34
|
+
uid: string;
|
|
35
|
+
oldName: string;
|
|
36
|
+
newName: string;
|
|
37
|
+
reason: UnsupportedRenameReason;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Whether the storage of `oldAttribute` can host `newAttribute` after a plain
|
|
41
|
+
* rename of its physical artifact. Anything else must go through the legacy
|
|
42
|
+
* drop-and-recreate path, so the hop is reported as `type-changed`.
|
|
43
|
+
*
|
|
44
|
+
* `resolveType` maps a definition to its storage type. The builder passes one
|
|
45
|
+
* that resolves custom fields (sent as `type: 'customField'` by the admin, but
|
|
46
|
+
* already converted to their underlying type in the live schema).
|
|
47
|
+
*/
|
|
48
|
+
export declare const isCompatibleRename: (oldAttribute: RenameAttributeDefinition | undefined, newAttribute: RenameAttributeDefinition | undefined, resolveType?: (attribute: RenameAttributeDefinition) => string | undefined) => boolean;
|
|
49
|
+
export interface BuiltMigration {
|
|
50
|
+
filename: string;
|
|
51
|
+
content: string;
|
|
52
|
+
}
|
|
53
|
+
interface MigrationBuilderDeps {
|
|
54
|
+
strapi: Core.Strapi;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Per-uid `origin -> current name` of every received hop, accepted or refused:
|
|
58
|
+
* the logical field is the same field even when its data cannot be carried.
|
|
59
|
+
*/
|
|
60
|
+
export type AttributeRenamesMapping = Record<string, Record<string, string>>;
|
|
61
|
+
export declare const createMigrationBuilder: ({ strapi }: MigrationBuilderDeps) => {
|
|
62
|
+
addRenameAttribute(uid: string, names: RenameNames): void;
|
|
63
|
+
/**
|
|
64
|
+
* The composed `origin -> final` name of every schema attribute that
|
|
65
|
+
* received hops in this save, per uid. Identity entries (`a -> b -> a`) and
|
|
66
|
+
* origins that are not schema attributes are left out.
|
|
67
|
+
*/
|
|
68
|
+
attributeRenamesMapping(): AttributeRenamesMapping;
|
|
69
|
+
/**
|
|
70
|
+
* Adds the logical op that carries this save's renames to the stores keyed
|
|
71
|
+
* by attribute name (admin field permissions, via handlers registered on
|
|
72
|
+
* the database). Call it after every hop so it is the last operation.
|
|
73
|
+
*/
|
|
74
|
+
addAttributeRenames(renames: AttributeRenamesMapping): void;
|
|
75
|
+
hasChanges(): boolean;
|
|
76
|
+
getUnsupported(): UnsupportedRename[];
|
|
77
|
+
getOperations(): import("@strapi/database").MigrationFileOperation[];
|
|
78
|
+
build(): BuiltMigration | null;
|
|
79
|
+
writeFiles(): Promise<string | null>;
|
|
80
|
+
};
|
|
81
|
+
export type MigrationBuilder = ReturnType<typeof createMigrationBuilder>;
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/migration-builder/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,qBAAqB,GACrB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAUD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,yBAAyB,GAAG,SAAS,EACnD,cAAc,yBAAyB,GAAG,SAAS,EACnD,cAAa,CAAC,SAAS,EAAE,yBAAyB,KAAK,MAAM,GAAG,SAChD,KACf,OAwCF,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAsCD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACrB;AA4BD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAI7E,eAAO,MAAM,sBAAsB,GAAI,YAAY,oBAAoB;4BAwd3C,MAAM,SAAS,WAAW,GAAG,IAAI;IAIzD;;;;OAIG;+BACwB,uBAAuB;IAgBlD;;;;OAIG;iCAC0B,uBAAuB,GAAG,IAAI;kBAY7C,OAAO;sBAIH,iBAAiB,EAAE;;aAQ5B,cAAc,GAAG,IAAI;kBAIV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAU7C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-type-builder.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/schema-builder/content-type-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAItD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"content-type-builder.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/schema-builder/content-type-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAItD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,SAAS,CAAC;AAgD5E,MAAM,CAAC,OAAO,UAAU,sBAAsB;sBAGlC,GAAG,2BACgB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,yBAAyB,CAAA;KAAE;wBA+BrF,GAAG,aACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;sCAkBjE,GAAG,OACJ,MAAM,cACC,sBAAsB,CAAC,YAAY,CAAC;IAsDlD;;OAEG;4BACqB,GAAG,SAAS,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;0BAkDpC,GAAG,SAAS,GAAG;4BAyKb,GAAG,OAAO,MAAM;EAgB3C"}
|
|
@@ -11,16 +11,18 @@ export declare const finalizeSchemaMutation: ({ apiHandler, backedUpApiUids, }:
|
|
|
11
11
|
backedUpApiUids?: string[];
|
|
12
12
|
}) => Promise<unknown[]>;
|
|
13
13
|
/**
|
|
14
|
-
* Restores the filesystem artifacts touched before content-structure reconciliation
|
|
14
|
+
* Restores the filesystem artifacts touched before content-structure reconciliation: the
|
|
15
|
+
* generated rename migration, generated APIs, the schema files and API backups.
|
|
15
16
|
* Folder reconciliation is deliberately the final mutation, so groups.json never needs a
|
|
16
17
|
* compensating write when an earlier schema or API operation fails.
|
|
17
18
|
*/
|
|
18
|
-
export declare const rollbackSchemaMutation: ({ builder, apiHandler, backedUpApiUids, generatedApiNames, schemaAlreadyRolledBack, }: {
|
|
19
|
+
export declare const rollbackSchemaMutation: ({ builder, apiHandler, backedUpApiUids, generatedApiNames, schemaAlreadyRolledBack, migrationFilePath, }: {
|
|
19
20
|
builder: SchemaBuilder;
|
|
20
21
|
apiHandler: ApiHandler;
|
|
21
22
|
backedUpApiUids?: string[];
|
|
22
23
|
generatedApiNames?: string[];
|
|
23
24
|
schemaAlreadyRolledBack?: boolean;
|
|
25
|
+
migrationFilePath?: string | null;
|
|
24
26
|
}) => Promise<void>;
|
|
25
27
|
export {};
|
|
26
28
|
//# sourceMappingURL=schema-mutation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-mutation.d.ts","sourceRoot":"","sources":["../../../../server/src/services/schema-mutation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema-mutation.d.ts","sourceRoot":"","sources":["../../../../server/src/services/schema-mutation.ts"],"names":[],"mappings":"AAEA,KAAK,aAAa,GAAG;IACnB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9B,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAU,kCAG1C;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,uBAYA,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAU,0GAO1C;IACD,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,kBAkCA,CAAC"}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import type { Schema } from '@strapi/types';
|
|
2
2
|
import type { Schema as CTBSchema } from '../controllers/validation/schema';
|
|
3
|
+
/**
|
|
4
|
+
* Renames a single attribute on a content-type or component and generates the
|
|
5
|
+
* data-preserving migration in one step. Used by the `strapi rename:field` CLI
|
|
6
|
+
* command so scripted / non-UI workflows get the same behaviour as the admin.
|
|
7
|
+
*
|
|
8
|
+
* It reuses the regular `updateSchema` path (and therefore the same rename
|
|
9
|
+
* resolver via `generateRenameMigrations`), so the migration is resolved against
|
|
10
|
+
* the pre-reload `strapi.db.metadata` exactly like the admin save. The caller is
|
|
11
|
+
* responsible for not reloading before this resolves (the CLI simply exits).
|
|
12
|
+
*
|
|
13
|
+
* Unlike the admin, there is no one to confirm a data-losing rename, so it
|
|
14
|
+
* refuses before touching the schema when the rename cannot be migrated.
|
|
15
|
+
*/
|
|
16
|
+
export declare const renameAttribute: (uid: string, oldName: string, newName: string) => Promise<void>;
|
|
3
17
|
export declare const formatAttribute: (attribute: Schema.Attribute.AnyAttribute & Record<string, any>) => ({
|
|
4
18
|
type: "biginteger";
|
|
5
19
|
pluginOptions?: object | undefined;
|
|
@@ -4060,6 +4074,11 @@ export declare const getSchema: () => Promise<{
|
|
|
4060
4074
|
})[];
|
|
4061
4075
|
};
|
|
4062
4076
|
};
|
|
4077
|
+
settings: {
|
|
4078
|
+
renameMigrations: {
|
|
4079
|
+
attributes: "always" | "never" | "prompt-after-edit" | "prompt-before-save";
|
|
4080
|
+
};
|
|
4081
|
+
};
|
|
4063
4082
|
}>;
|
|
4064
4083
|
export declare const updateSchema: (schema: CTBSchema) => Promise<void>;
|
|
4065
4084
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../server/src/services/schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../server/src/services/schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAY5C,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AA+T5E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,MAAM,EACX,SAAS,MAAM,EACf,SAAS,MAAM,KACd,OAAO,CAAC,IAAI,CAmHd,CAAC;AAWF,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW7F,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DrB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,QAAQ,SAAS,kBAqOnD,CAAC"}
|