@strapi/content-manager 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/ConfigurationForm/Form.js +3 -3
- package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.mjs +2 -2
- package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
- package/dist/admin/components/RelativeTime.js +9 -0
- package/dist/admin/components/RelativeTime.js.map +1 -1
- package/dist/admin/components/RelativeTime.mjs +10 -1
- package/dist/admin/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/features/DocumentRBAC.js +0 -3
- package/dist/admin/features/DocumentRBAC.js.map +1 -1
- package/dist/admin/features/DocumentRBAC.mjs +1 -4
- package/dist/admin/features/DocumentRBAC.mjs.map +1 -1
- package/dist/admin/history/components/VersionContent.js +3 -3
- package/dist/admin/history/components/VersionContent.js.map +1 -1
- package/dist/admin/history/components/VersionContent.mjs +2 -2
- package/dist/admin/history/components/VersionContent.mjs.map +1 -1
- package/dist/admin/history/pages/History.js +2 -1
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +3 -2
- package/dist/admin/history/pages/History.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js +2 -2
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +2 -2
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +37 -2
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +37 -3
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +3 -3
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +30 -2
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +31 -4
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +40 -8
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +41 -9
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/data.js +3 -3
- package/dist/admin/pages/EditView/utils/data.js.map +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs +2 -2
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js +4 -3
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +4 -3
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js +2 -1
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs +3 -2
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/services/documents.js +3 -2
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs +2 -2
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/services/relations.js +3 -0
- package/dist/admin/services/relations.js.map +1 -1
- package/dist/admin/services/relations.mjs +3 -0
- package/dist/admin/services/relations.mjs.map +1 -1
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +19 -2
- package/dist/admin/src/services/documents.d.ts +10 -2
- package/dist/admin/translations/en.json.js +2 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +2 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/utils/validation.js +3 -3
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +2 -2
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/controllers/collection-types.js +4 -4
- package/dist/server/controllers/collection-types.js.map +1 -1
- package/dist/server/controllers/collection-types.mjs +4 -4
- package/dist/server/controllers/collection-types.mjs.map +1 -1
- package/dist/server/controllers/content-types.js +5 -7
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs +5 -7
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/relations.js +19 -15
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +17 -13
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/utils/clone.js +3 -4
- package/dist/server/controllers/utils/clone.js.map +1 -1
- package/dist/server/controllers/utils/clone.mjs +4 -5
- package/dist/server/controllers/utils/clone.mjs.map +1 -1
- package/dist/server/controllers/validation/index.js +1 -1
- package/dist/server/controllers/validation/index.mjs +1 -1
- package/dist/server/history/controllers/history-version.js +3 -3
- package/dist/server/history/controllers/history-version.js.map +1 -1
- package/dist/server/history/controllers/history-version.mjs +3 -3
- package/dist/server/history/controllers/history-version.mjs.map +1 -1
- package/dist/server/history/entitlements.js +26 -0
- package/dist/server/history/entitlements.js.map +1 -0
- package/dist/server/history/entitlements.mjs +24 -0
- package/dist/server/history/entitlements.mjs.map +1 -0
- package/dist/server/history/index.js +3 -0
- package/dist/server/history/index.js.map +1 -1
- package/dist/server/history/index.mjs +3 -0
- package/dist/server/history/index.mjs.map +1 -1
- package/dist/server/history/services/history.js +4 -4
- package/dist/server/history/services/history.js.map +1 -1
- package/dist/server/history/services/history.mjs +4 -4
- package/dist/server/history/services/history.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js +8 -8
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs +3 -3
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/history/services/utils.js +26 -18
- package/dist/server/history/services/utils.js.map +1 -1
- package/dist/server/history/services/utils.mjs +23 -17
- package/dist/server/history/services/utils.mjs.map +1 -1
- package/dist/server/mcp/permissions.js +2 -2
- package/dist/server/mcp/permissions.js.map +1 -1
- package/dist/server/mcp/permissions.mjs +2 -2
- package/dist/server/mcp/permissions.mjs.map +1 -1
- package/dist/server/mcp/register-content-manager-mcp-tools.js +7 -5
- package/dist/server/mcp/register-content-manager-mcp-tools.js.map +1 -1
- package/dist/server/mcp/register-content-manager-mcp-tools.mjs +7 -5
- package/dist/server/mcp/register-content-manager-mcp-tools.mjs.map +1 -1
- package/dist/server/preview/controllers/previewScript.js +30 -15
- package/dist/server/preview/controllers/validation/preview.js +3 -3
- package/dist/server/preview/controllers/validation/preview.js.map +1 -1
- package/dist/server/preview/controllers/validation/preview.mjs +3 -3
- package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
- package/dist/server/services/components.js +3 -3
- package/dist/server/services/components.js.map +1 -1
- package/dist/server/services/components.mjs +3 -3
- package/dist/server/services/components.mjs.map +1 -1
- package/dist/server/services/content-structure.js +2 -2
- package/dist/server/services/content-structure.js.map +1 -1
- package/dist/server/services/content-structure.mjs +2 -2
- package/dist/server/services/content-structure.mjs.map +1 -1
- package/dist/server/services/content-types.js +3 -3
- package/dist/server/services/content-types.js.map +1 -1
- package/dist/server/services/content-types.mjs +3 -3
- package/dist/server/services/content-types.mjs.map +1 -1
- package/dist/server/services/data-mapper.js +3 -3
- package/dist/server/services/data-mapper.js.map +1 -1
- package/dist/server/services/data-mapper.mjs +3 -3
- package/dist/server/services/data-mapper.mjs.map +1 -1
- package/dist/server/services/document-manager.js +6 -6
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +6 -6
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/document-metadata.js +29 -31
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +29 -31
- package/dist/server/services/document-metadata.mjs.map +1 -1
- package/dist/server/services/metrics.js +3 -3
- package/dist/server/services/metrics.js.map +1 -1
- package/dist/server/services/metrics.mjs +3 -3
- package/dist/server/services/metrics.mjs.map +1 -1
- package/dist/server/services/permission-checker.js +2 -2
- package/dist/server/services/permission-checker.js.map +1 -1
- package/dist/server/services/permission-checker.mjs +1 -1
- package/dist/server/services/permission-checker.mjs.map +1 -1
- package/dist/server/services/permission.js +2 -3
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs +2 -3
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/services/populate-builder.js +4 -4
- package/dist/server/services/populate-builder.js.map +1 -1
- package/dist/server/services/populate-builder.mjs +4 -4
- package/dist/server/services/populate-builder.mjs.map +1 -1
- package/dist/server/services/utils/configuration/attributes.js +1 -2
- package/dist/server/services/utils/configuration/attributes.js.map +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs +2 -3
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
- package/dist/server/services/utils/configuration/settings.js +4 -7
- package/dist/server/services/utils/configuration/settings.js.map +1 -1
- package/dist/server/services/utils/configuration/settings.mjs +2 -5
- package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
- package/dist/server/services/utils/draft.js +8 -7
- package/dist/server/services/utils/draft.js.map +1 -1
- package/dist/server/services/utils/draft.mjs +6 -5
- package/dist/server/services/utils/draft.mjs.map +1 -1
- package/dist/server/services/utils/populate.js +10 -11
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +9 -10
- package/dist/server/services/utils/populate.mjs.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
- package/dist/server/src/history/entitlements.d.ts +9 -0
- package/dist/server/src/history/entitlements.d.ts.map +1 -0
- package/dist/server/src/history/index.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +8 -2
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +1 -1
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/mcp/permissions.d.ts +1 -1
- package/dist/server/src/mcp/permissions.d.ts.map +1 -1
- package/dist/server/src/mcp/register-content-manager-mcp-tools.d.ts +3 -1
- package/dist/server/src/mcp/register-content-manager-mcp-tools.d.ts.map +1 -1
- package/dist/server/src/mcp/types.d.ts +2 -2
- package/dist/server/src/services/content-types.d.ts.map +1 -1
- package/dist/server/src/services/data-mapper.d.ts +1 -1
- package/dist/server/src/services/data-mapper.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +1 -1
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/dist/server/src/services/permission-checker.d.ts.map +1 -1
- package/dist/server/src/services/permission.d.ts.map +1 -1
- package/dist/server/src/services/populate-builder.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/index.d.ts +10 -1
- package/dist/server/src/services/utils/configuration/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/settings.d.ts +10 -1
- package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
- package/dist/server/src/services/utils/draft.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/shared/contracts/relations.d.ts +1 -0
- package/dist/shared/contracts/relations.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate.mjs","sources":["../../../../server/src/services/utils/populate.ts"],"sourcesContent":["import { merge, isEmpty, set, propEq } from 'lodash/fp';\nimport * as strapiUtils from '@strapi/utils';\nimport type { UID, Schema, Modules } from '@strapi/types';\nimport { getService } from '../../utils';\n\nconst {\n isVisibleAttribute,\n isScalarAttribute,\n getDoesAttributeRequireValidation,\n isPrivateAttribute,\n hasDraftAndPublish,\n} = strapiUtils.contentTypes;\nconst { isAnyToMany } = strapiUtils.relations;\nconst { PUBLISHED_AT_ATTRIBUTE } = strapiUtils.contentTypes.constants;\n\nconst isLocalizedContentType = (model: { pluginOptions?: unknown }) =>\n (model.pluginOptions as { i18n?: { localized?: boolean } } | undefined)?.i18n?.localized === true;\n\nconst isMorphToRelation = (attribute: any) =>\n isRelation(attribute) && attribute.relation.includes('morphTo');\nconst isMedia = propEq('type', 'media');\nconst isRelation = propEq('type', 'relation');\nconst isComponent = propEq('type', 'component');\nconst isDynamicZone = propEq('type', 'dynamiczone');\n\n// TODO: Import from @strapi/types when it's available there\ntype Model = Parameters<typeof isVisibleAttribute>[0];\nexport type Populate = Modules.EntityService.Params.Populate.Any<UID.Schema>;\n\ntype PopulateOptions = {\n initialPopulate?: Populate;\n countMany?: boolean;\n countOne?: boolean;\n maxLevel?: number;\n};\n\n/**\n * Populate the model for relation\n * @param attribute - Attribute containing a relation\n * @param attribute.relation - type of relation\n * @param model - Model of the populated entity\n * @param attributeName\n * @param options - Options to apply while populating\n */\nfunction getPopulateForRelation(\n attribute: Schema.Attribute.AnyAttribute,\n model: Model,\n attributeName: string,\n { countMany, countOne, initialPopulate }: PopulateOptions\n) {\n const isManyRelation = isAnyToMany(attribute);\n\n // Use initialPopulate when explicitly provided (including `false` to suppress population)\n if (initialPopulate !== undefined) {\n return initialPopulate;\n }\n\n // If populating localizations attribute, also include validatable fields\n // Mainly needed for bulk locale publishing, so the Client has all the information necessary to perform validations\n if (attributeName === 'localizations') {\n const validationPopulate = getPopulateForValidation(model.uid as UID.Schema);\n\n return {\n populate: validationPopulate.populate,\n };\n }\n\n // always populate createdBy, updatedBy, localizations etc.\n if (!isVisibleAttribute(model, attributeName)) {\n return true;\n }\n\n if ((isManyRelation && countMany) || (!isManyRelation && countOne)) {\n return { count: true };\n }\n\n return true;\n}\n\n/**\n * Populate the model for Dynamic Zone components\n * @param attribute - Attribute containing the components\n * @param attribute.components - IDs of components\n * @param options - Options to apply while populating\n */\nfunction getPopulateForDZ(\n attribute: Schema.Attribute.DynamicZone,\n options: PopulateOptions,\n level: number\n): { on: { [key: string]: { populate: { [key: string]: boolean | object } } } } {\n // Use fragments to populate the dynamic zone components\n const populatedComponents = (attribute.components || []).reduce(\n (acc: any, componentUID: UID.Component) => ({\n ...acc,\n [componentUID]: {\n populate: getDeepPopulate(componentUID, options, level + 1),\n },\n }),\n {}\n );\n\n return { on: populatedComponents };\n}\n\n/**\n * Get the populated value based on the type of the attribute\n * @param attributeName - Name of the attribute\n * @param model - Model of the populated entity\n * @param model.attributes\n * @param options - Options to apply while populating\n * @param options.countMany\n * @param options.countOne\n * @param options.maxLevel\n * @param level\n */\nfunction getPopulateFor(\n attributeName: string,\n model: any,\n options: PopulateOptions,\n level: number\n): { [key: string]: boolean | object } {\n const attribute = model.attributes[attributeName];\n\n switch (attribute.type) {\n case 'relation':\n // @ts-expect-error - TODO: support populate count typing\n return {\n [attributeName]: getPopulateForRelation(attribute, model, attributeName, options),\n };\n case 'component':\n return {\n [attributeName]: {\n populate: getDeepPopulate(attribute.component, options, level + 1),\n },\n };\n case 'media':\n return {\n [attributeName]: {\n populate: {\n folder: true,\n },\n },\n };\n case 'dynamiczone':\n return {\n [attributeName]: getPopulateForDZ(attribute, options, level),\n };\n default:\n return {};\n }\n}\n\n/**\n * Deeply populate a model based on UID\n * @param uid - Unique identifier of the model\n * @param options - Options to apply while populating\n * @param level - Current level of nested call\n */\nconst getDeepPopulate = (\n uid: UID.Schema,\n {\n initialPopulate = {} as any,\n countMany = false,\n countOne = false,\n maxLevel = Infinity,\n }: PopulateOptions = {},\n level = 1\n): { [key: string]: boolean | object } => {\n if (level > maxLevel) {\n return {};\n }\n\n const model = strapi.getModel(uid);\n\n if (!model) {\n return {};\n }\n\n return Object.keys(model.attributes).reduce(\n (populateAcc, attributeName: string) =>\n merge(\n populateAcc,\n getPopulateFor(\n attributeName,\n model,\n {\n // @ts-expect-error - improve types\n initialPopulate: initialPopulate?.[attributeName],\n countMany,\n countOne,\n maxLevel,\n },\n level\n )\n ),\n {}\n );\n};\n\n/**\n * Deeply populate a model based on UID. Only populating fields that require validation.\n * @param uid - Unique identifier of the model\n * @param options - Options to apply while populating\n * @param level - Current level of nested call\n */\nconst validationPopulateCache = new Map<string, Record<string, any>>();\n\nconst getPopulateForValidation = (uid: UID.Schema): Record<string, any> => {\n const cached = validationPopulateCache.get(uid);\n if (cached) {\n return cached;\n }\n\n const model = strapi.getModel(uid);\n if (!model) {\n return {};\n }\n\n const result = Object.entries(model.attributes).reduce(\n (populateAcc: any, [attributeName, attribute]) => {\n if (isScalarAttribute(attribute)) {\n // If the scalar attribute requires validation, add it to the fields array\n if (\n getDoesAttributeRequireValidation(attribute) &&\n !isPrivateAttribute(model, attributeName)\n ) {\n populateAcc.fields = populateAcc.fields || [];\n populateAcc.fields.push(attributeName);\n }\n return populateAcc;\n }\n\n if (isMedia(attribute)) {\n if (\n getDoesAttributeRequireValidation(attribute) &&\n !isPrivateAttribute(model, attributeName)\n ) {\n populateAcc.populate = populateAcc.populate || {};\n populateAcc.populate[attributeName] = {\n populate: {\n folder: true,\n },\n };\n return populateAcc;\n }\n }\n\n if (isComponent(attribute)) {\n // @ts-expect-error - should be a component\n const component = attribute.component;\n\n // Get the validation result for this component\n const componentResult = getPopulateForValidation(component);\n\n if (Object.keys(componentResult).length > 0) {\n populateAcc.populate = populateAcc.populate || {};\n populateAcc.populate[attributeName] = componentResult;\n }\n\n return populateAcc;\n }\n\n if (isDynamicZone(attribute)) {\n const components = (attribute as Schema.Attribute.DynamicZone).components;\n // Handle dynamic zone components\n const componentsResult = (components || []).reduce(\n (acc, componentUID) => {\n // Get validation populate for this component\n const componentResult = getPopulateForValidation(componentUID);\n\n // Only include component if it has fields requiring validation\n if (Object.keys(componentResult).length > 0) {\n acc[componentUID] = componentResult;\n }\n\n return acc;\n },\n {} as Record<string, any>\n );\n\n // Only add to populate if we have components requiring validation\n if (Object.keys(componentsResult).length > 0) {\n populateAcc.populate = populateAcc.populate || {};\n populateAcc.populate[attributeName] = { on: componentsResult };\n }\n }\n\n return populateAcc;\n },\n {}\n );\n\n validationPopulateCache.set(uid, result);\n return result;\n};\n\n/**\n * getDeepPopulateDraftCount works recursively on the attributes of a model\n * creating a populated object to count all the unpublished relations within the model\n * These relations can be direct to this content type or contained within components/dynamic zones\n * @param uid of the model\n * @returns result\n * @returns result.populate\n * @returns result.hasRelations\n */\nconst draftCountPopulateCache = new Map<string, { populate: any; hasRelations: boolean }>();\n\nconst getDeepPopulateDraftCount = (uid: UID.Schema): { populate: any; hasRelations: boolean } => {\n const cached = draftCountPopulateCache.get(uid);\n if (cached) {\n return cached;\n }\n\n const model = strapi.getModel(uid);\n if (!model) {\n return { populate: {}, hasRelations: false };\n }\n let hasRelations = false;\n\n const populate = Object.keys(model.attributes).reduce((populateAcc: any, attributeName) => {\n const attribute: Schema.Attribute.AnyAttribute = model.attributes[attributeName];\n\n switch (attribute.type) {\n case 'relation': {\n // TODO: Support polymorphic relations\n const isMorphRelation = attribute.relation.toLowerCase().startsWith('morph');\n if (isMorphRelation) {\n break;\n }\n\n // Skip relations to content types without draft & publish,\n // as they don't have a publishedAt attribute and can't have drafts\n if (!('target' in attribute)) {\n break;\n }\n\n const targetModel = strapi.getModel(attribute.target);\n if (!targetModel || !hasDraftAndPublish(targetModel)) {\n break;\n }\n\n // Self-referential relations are preserved on publish (see self-referential-relations.ts).\n if (attribute.target === uid) {\n break;\n }\n\n if (isVisibleAttribute(model, attributeName)) {\n // Draft entries link to draft rows of related documents. Populate documentId/locale\n // so we can distinguish truly unpublished targets from published documents that\n // still have a draft row (those links are kept on publish for M2M, or remapped for xToOne).\n const fields: string[] = ['documentId'];\n if (isLocalizedContentType(targetModel)) {\n fields.push('locale');\n }\n populateAcc[attributeName] = {\n fields,\n filters: { [PUBLISHED_AT_ATTRIBUTE]: { $null: true } },\n };\n hasRelations = true;\n }\n break;\n }\n case 'component': {\n const { populate, hasRelations: childHasRelations } = getDeepPopulateDraftCount(\n attribute.component\n );\n if (childHasRelations) {\n populateAcc[attributeName] = {\n populate,\n };\n hasRelations = true;\n }\n break;\n }\n case 'dynamiczone': {\n const dzPopulateFragment = attribute.components?.reduce((acc, componentUID) => {\n const { populate: componentPopulate, hasRelations: componentHasRelations } =\n getDeepPopulateDraftCount(componentUID);\n\n if (componentHasRelations) {\n hasRelations = true;\n\n return { ...acc, [componentUID]: { populate: componentPopulate } };\n }\n\n return acc;\n }, {});\n\n if (!isEmpty(dzPopulateFragment)) {\n populateAcc[attributeName] = { on: dzPopulateFragment };\n }\n break;\n }\n default:\n }\n\n return populateAcc;\n }, {});\n\n const result = { populate, hasRelations };\n draftCountPopulateCache.set(uid, result);\n return result;\n};\n\n/**\n * Create a Strapi populate object which populates all attribute fields of a Strapi query.\n */\nconst getQueryPopulate = async (uid: UID.Schema, query: object): Promise<Populate> => {\n let populateQuery: Populate = {};\n\n await strapiUtils.traverse.traverseQueryFilters(\n /**\n *\n * @param {Object} param0\n * @param {string} param0.key - Attribute name\n * @param {Object} param0.attribute - Attribute definition\n * @param {string} param0.path - Content Type path to the attribute\n * @returns\n */\n ({ attribute, path }: any) => {\n // TODO: handle dynamic zones and morph relations\n if (!attribute || isDynamicZone(attribute) || isMorphToRelation(attribute)) {\n return;\n }\n\n // Populate all relations, components and media\n if (isRelation(attribute) || isMedia(attribute) || isComponent(attribute)) {\n const populatePath = path.attribute.replace(/\\./g, '.populate.');\n populateQuery = merge(populateQuery, set(populatePath, {}, {}));\n }\n },\n { schema: strapi.getModel(uid), getModel: strapi.getModel.bind(strapi) },\n query\n );\n\n return populateQuery;\n};\n\nconst deepPopulateCache = new Map<string, object>();\n\nconst buildDeepPopulate = async (uid: UID.CollectionType) => {\n const cached = deepPopulateCache.get(uid);\n if (cached) {\n return cached;\n }\n\n const result = await getService('populate-builder')(uid)\n .populateDeep(Infinity)\n .countRelations()\n .build();\n\n deepPopulateCache.set(uid, result);\n\n return result;\n};\n\n/**\n * Restrict localizations populate to only metadata fields for localized content types.\n * Returns an empty object for non-localized content types.\n *\n * By default, localizations are deeply populated which includes all relations and\n * components for every locale — this is expensive and unnecessary for CM responses.\n * The CM only needs these fields from localizations:\n * - locale: to identify which locales exist\n * - documentId: to link to the localized document\n * - publishedAt: to determine published/draft status\n * - updatedAt: to support the modified state indicator in the UI\n */\nconst getPopulateForLocalizations = (model: UID.Schema) => {\n const modelSchema = strapi.getModel(model);\n if (\n (modelSchema as unknown as { pluginOptions: { i18n: { localized?: boolean } } }).pluginOptions\n ?.i18n?.localized\n ) {\n return { localizations: { fields: ['locale', 'documentId', 'publishedAt', 'updatedAt'] } };\n }\n\n return {};\n};\n\nexport {\n getDeepPopulate,\n getDeepPopulateDraftCount,\n getPopulateForValidation,\n getQueryPopulate,\n buildDeepPopulate,\n getPopulateForLocalizations,\n};\n"],"names":["isVisibleAttribute","isScalarAttribute","getDoesAttributeRequireValidation","isPrivateAttribute","hasDraftAndPublish","strapiUtils","contentTypes","isAnyToMany","relations","PUBLISHED_AT_ATTRIBUTE","constants","isLocalizedContentType","model","pluginOptions","i18n","localized","isMorphToRelation","attribute","isRelation","relation","includes","isMedia","propEq","isComponent","isDynamicZone","getPopulateForRelation","attributeName","countMany","countOne","initialPopulate","isManyRelation","undefined","validationPopulate","getPopulateForValidation","uid","populate","count","getPopulateForDZ","options","level","populatedComponents","components","reduce","acc","componentUID","getDeepPopulate","on","getPopulateFor","attributes","type","component","folder","maxLevel","Infinity","strapi","getModel","Object","keys","populateAcc","merge","validationPopulateCache","Map","cached","get","result","entries","fields","push","componentResult","length","componentsResult","set","draftCountPopulateCache","getDeepPopulateDraftCount","hasRelations","isMorphRelation","toLowerCase","startsWith","targetModel","target","filters","$null","childHasRelations","dzPopulateFragment","componentPopulate","componentHasRelations","isEmpty","getQueryPopulate","query","populateQuery","traverse","traverseQueryFilters","path","populatePath","replace","schema","bind","deepPopulateCache","buildDeepPopulate","getService","populateDeep","countRelations","build","getPopulateForLocalizations","modelSchema","localizations"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"populate.mjs","sources":["../../../../server/src/services/utils/populate.ts"],"sourcesContent":["import { set, merge, isEmpty, matchesProperty } from 'lodash';\n\nimport * as strapiUtils from '@strapi/utils';\nimport type { UID, Schema, Modules } from '@strapi/types';\nimport { getService } from '../../utils';\n\nconst {\n isVisibleAttribute,\n isScalarAttribute,\n getDoesAttributeRequireValidation,\n isPrivateAttribute,\n hasDraftAndPublish,\n} = strapiUtils.contentTypes;\nconst { isAnyToMany } = strapiUtils.relations;\nconst { PUBLISHED_AT_ATTRIBUTE } = strapiUtils.contentTypes.constants;\n\nconst isMorphToRelation = (attribute: any) =>\n isRelation(attribute) && attribute.relation.includes('morphTo');\nconst isMedia = matchesProperty('type', 'media');\nconst isRelation = matchesProperty('type', 'relation');\nconst isComponent = matchesProperty('type', 'component');\nconst isDynamicZone = matchesProperty('type', 'dynamiczone');\n\n// TODO: Import from @strapi/types when it's available there\ntype Model = Parameters<typeof isVisibleAttribute>[0];\nexport type Populate = Modules.EntityService.Params.Populate.Any<UID.Schema>;\n\ntype PopulateOptions = {\n initialPopulate?: Populate;\n countMany?: boolean;\n countOne?: boolean;\n maxLevel?: number;\n};\n\n/**\n * Populate the model for relation\n * @param attribute - Attribute containing a relation\n * @param attribute.relation - type of relation\n * @param model - Model of the populated entity\n * @param attributeName\n * @param options - Options to apply while populating\n */\nfunction getPopulateForRelation(\n attribute: Schema.Attribute.AnyAttribute,\n model: Model,\n attributeName: string,\n { countMany, countOne, initialPopulate }: PopulateOptions\n) {\n const isManyRelation = isAnyToMany(attribute);\n\n // Use initialPopulate when explicitly provided (including `false` to suppress population)\n if (initialPopulate !== undefined) {\n return initialPopulate;\n }\n\n // If populating localizations attribute, also include validatable fields\n // Mainly needed for bulk locale publishing, so the Client has all the information necessary to perform validations\n if (attributeName === 'localizations') {\n const validationPopulate = getPopulateForValidation(model.uid as UID.Schema);\n\n return {\n populate: validationPopulate.populate,\n };\n }\n\n // always populate createdBy, updatedBy, localizations etc.\n if (!isVisibleAttribute(model, attributeName)) {\n return true;\n }\n\n if ((isManyRelation && countMany) || (!isManyRelation && countOne)) {\n return { count: true };\n }\n\n return true;\n}\n\n/**\n * Populate the model for Dynamic Zone components\n * @param attribute - Attribute containing the components\n * @param attribute.components - IDs of components\n * @param options - Options to apply while populating\n */\nfunction getPopulateForDZ(\n attribute: Schema.Attribute.DynamicZone,\n options: PopulateOptions,\n level: number\n): { on: { [key: string]: { populate: { [key: string]: boolean | object } } } } {\n // Use fragments to populate the dynamic zone components\n const populatedComponents = (attribute.components || []).reduce(\n (acc: any, componentUID: UID.Component) => ({\n ...acc,\n [componentUID]: {\n populate: getDeepPopulate(componentUID, options, level + 1),\n },\n }),\n {}\n );\n\n return { on: populatedComponents };\n}\n\n/**\n * Get the populated value based on the type of the attribute\n * @param attributeName - Name of the attribute\n * @param model - Model of the populated entity\n * @param model.attributes\n * @param options - Options to apply while populating\n * @param options.countMany\n * @param options.countOne\n * @param options.maxLevel\n * @param level\n */\nfunction getPopulateFor(\n attributeName: string,\n model: any,\n options: PopulateOptions,\n level: number\n): { [key: string]: boolean | object } {\n const attribute = model.attributes[attributeName];\n\n switch (attribute.type) {\n case 'relation':\n // @ts-expect-error - TODO: support populate count typing\n return {\n [attributeName]: getPopulateForRelation(attribute, model, attributeName, options),\n };\n case 'component':\n return {\n [attributeName]: {\n populate: getDeepPopulate(attribute.component, options, level + 1),\n },\n };\n case 'media':\n return {\n [attributeName]: {\n populate: {\n folder: true,\n },\n },\n };\n case 'dynamiczone':\n return {\n [attributeName]: getPopulateForDZ(attribute, options, level),\n };\n default:\n return {};\n }\n}\n\n/**\n * Deeply populate a model based on UID\n * @param uid - Unique identifier of the model\n * @param options - Options to apply while populating\n * @param level - Current level of nested call\n */\nconst getDeepPopulate = (\n uid: UID.Schema,\n {\n initialPopulate = {} as any,\n countMany = false,\n countOne = false,\n maxLevel = Infinity,\n }: PopulateOptions = {},\n level = 1\n): { [key: string]: boolean | object } => {\n if (level > maxLevel) {\n return {};\n }\n\n const model = strapi.getModel(uid);\n\n if (!model) {\n return {};\n }\n\n return Object.keys(model.attributes).reduce(\n (populateAcc, attributeName: string) =>\n merge(\n {},\n populateAcc,\n getPopulateFor(\n attributeName,\n model,\n {\n // @ts-expect-error - improve types\n initialPopulate: initialPopulate?.[attributeName],\n countMany,\n countOne,\n maxLevel,\n },\n level\n )\n ),\n {}\n );\n};\n\n/**\n * Deeply populate a model based on UID. Only populating fields that require validation.\n * @param uid - Unique identifier of the model\n * @param options - Options to apply while populating\n * @param level - Current level of nested call\n */\nconst validationPopulateCache = new Map<string, Record<string, any>>();\n\nconst getPopulateForValidation = (uid: UID.Schema): Record<string, any> => {\n const cached = validationPopulateCache.get(uid);\n if (cached) {\n return cached;\n }\n\n const model = strapi.getModel(uid);\n if (!model) {\n return {};\n }\n\n const result = Object.entries(model.attributes).reduce(\n (populateAcc: any, [attributeName, attribute]) => {\n if (isScalarAttribute(attribute)) {\n // If the scalar attribute requires validation, add it to the fields array\n if (\n getDoesAttributeRequireValidation(attribute) &&\n !isPrivateAttribute(model, attributeName)\n ) {\n populateAcc.fields = populateAcc.fields || [];\n populateAcc.fields.push(attributeName);\n }\n return populateAcc;\n }\n\n if (isMedia(attribute)) {\n if (\n getDoesAttributeRequireValidation(attribute) &&\n !isPrivateAttribute(model, attributeName)\n ) {\n populateAcc.populate = populateAcc.populate || {};\n populateAcc.populate[attributeName] = {\n populate: {\n folder: true,\n },\n };\n return populateAcc;\n }\n }\n\n if (isComponent(attribute)) {\n // @ts-expect-error - should be a component\n const component = attribute.component;\n\n // Get the validation result for this component\n const componentResult = getPopulateForValidation(component);\n\n if (Object.keys(componentResult).length > 0) {\n populateAcc.populate = populateAcc.populate || {};\n populateAcc.populate[attributeName] = componentResult;\n }\n\n return populateAcc;\n }\n\n if (isDynamicZone(attribute)) {\n const components = (attribute as Schema.Attribute.DynamicZone).components;\n // Handle dynamic zone components\n const componentsResult = (components || []).reduce(\n (acc, componentUID) => {\n // Get validation populate for this component\n const componentResult = getPopulateForValidation(componentUID);\n\n // Only include component if it has fields requiring validation\n if (Object.keys(componentResult).length > 0) {\n acc[componentUID] = componentResult;\n }\n\n return acc;\n },\n {} as Record<string, any>\n );\n\n // Only add to populate if we have components requiring validation\n if (Object.keys(componentsResult).length > 0) {\n populateAcc.populate = populateAcc.populate || {};\n populateAcc.populate[attributeName] = { on: componentsResult };\n }\n }\n\n return populateAcc;\n },\n {}\n );\n\n validationPopulateCache.set(uid, result);\n return result;\n};\n\n/**\n * getDeepPopulateDraftCount works recursively on the attributes of a model\n * creating a populated object to count all the unpublished relations within the model\n * These relations can be direct to this content type or contained within components/dynamic zones\n * @param uid of the model\n * @returns result\n * @returns result.populate\n * @returns result.hasRelations\n */\nconst draftCountPopulateCache = new Map<string, { populate: any; hasRelations: boolean }>();\n\nconst getDeepPopulateDraftCount = (uid: UID.Schema): { populate: any; hasRelations: boolean } => {\n const cached = draftCountPopulateCache.get(uid);\n if (cached) {\n return cached;\n }\n\n const model = strapi.getModel(uid);\n if (!model) {\n return { populate: {}, hasRelations: false };\n }\n let hasRelations = false;\n\n const populate = Object.keys(model.attributes).reduce((populateAcc: any, attributeName) => {\n const attribute: Schema.Attribute.AnyAttribute = model.attributes[attributeName];\n\n switch (attribute.type) {\n case 'relation': {\n // TODO: Support polymorphic relations\n const isMorphRelation = attribute.relation.toLowerCase().startsWith('morph');\n if (isMorphRelation) {\n break;\n }\n\n // Skip relations to content types without draft & publish,\n // as they don't have a publishedAt attribute and can't have drafts\n if (!('target' in attribute)) {\n break;\n }\n\n const targetModel = strapi.getModel(attribute.target);\n if (!targetModel || !hasDraftAndPublish(targetModel)) {\n break;\n }\n\n // Self-referential relations are preserved on publish (see self-referential-relations.ts).\n if (attribute.target === uid) {\n break;\n }\n\n if (isVisibleAttribute(model, attributeName)) {\n // Draft entries link to draft rows of related documents. Populate documentId/locale\n // so we can distinguish truly unpublished targets from published documents that\n // still have a draft row (those links are kept on publish for M2M, or remapped for xToOne).\n const fields: string[] = ['documentId'];\n if (strapi.localization.isLocalizedContentType(targetModel) === true) {\n fields.push('locale');\n }\n populateAcc[attributeName] = {\n fields,\n filters: { [PUBLISHED_AT_ATTRIBUTE]: { $null: true } },\n };\n hasRelations = true;\n }\n break;\n }\n case 'component': {\n const { populate, hasRelations: childHasRelations } = getDeepPopulateDraftCount(\n attribute.component\n );\n if (childHasRelations) {\n populateAcc[attributeName] = {\n populate,\n };\n hasRelations = true;\n }\n break;\n }\n case 'dynamiczone': {\n const dzPopulateFragment = attribute.components?.reduce((acc, componentUID) => {\n const { populate: componentPopulate, hasRelations: componentHasRelations } =\n getDeepPopulateDraftCount(componentUID);\n\n if (componentHasRelations) {\n hasRelations = true;\n\n return { ...acc, [componentUID]: { populate: componentPopulate } };\n }\n\n return acc;\n }, {});\n\n if (!isEmpty(dzPopulateFragment)) {\n populateAcc[attributeName] = { on: dzPopulateFragment };\n }\n break;\n }\n default:\n }\n\n return populateAcc;\n }, {});\n\n const result = { populate, hasRelations };\n draftCountPopulateCache.set(uid, result);\n return result;\n};\n\n/**\n * Create a Strapi populate object which populates all attribute fields of a Strapi query.\n */\nconst getQueryPopulate = async (uid: UID.Schema, query: object): Promise<Populate> => {\n let populateQuery: Populate = {};\n\n await strapiUtils.traverse.traverseQueryFilters(\n /**\n *\n * @param {Object} param0\n * @param {string} param0.key - Attribute name\n * @param {Object} param0.attribute - Attribute definition\n * @param {string} param0.path - Content Type path to the attribute\n * @returns\n */\n ({ attribute, path }: any) => {\n // TODO: handle dynamic zones and morph relations\n if (!attribute || isDynamicZone(attribute) || isMorphToRelation(attribute)) {\n return;\n }\n\n // Populate all relations, components and media\n if (isRelation(attribute) || isMedia(attribute) || isComponent(attribute)) {\n const populatePath = path.attribute.replace(/\\./g, '.populate.');\n populateQuery = merge({}, populateQuery, set({}, populatePath, {}));\n }\n },\n { schema: strapi.getModel(uid), getModel: strapi.getModel.bind(strapi) },\n query\n );\n\n return populateQuery;\n};\n\nconst deepPopulateCache = new Map<string, object>();\n\nconst buildDeepPopulate = async (uid: UID.CollectionType) => {\n const cached = deepPopulateCache.get(uid);\n if (cached) {\n return cached;\n }\n\n const result = await getService('populate-builder')(uid)\n .populateDeep(Infinity)\n .countRelations()\n .build();\n\n deepPopulateCache.set(uid, result);\n\n return result;\n};\n\n/**\n * Restrict localizations populate to only metadata fields for localized content types.\n * Returns an empty object for non-localized content types.\n *\n * By default, localizations are deeply populated which includes all relations and\n * components for every locale — this is expensive and unnecessary for CM responses.\n * The CM only needs these fields from localizations:\n * - locale: to identify which locales exist\n * - documentId: to link to the localized document\n * - publishedAt: to determine published/draft status\n * - updatedAt: to support the modified state indicator in the UI\n */\nconst getPopulateForLocalizations = (model: UID.Schema) => {\n const modelSchema = strapi.getModel(model);\n if (strapi.localization.isLocalizedContentType(modelSchema) === true) {\n return { localizations: { fields: ['locale', 'documentId', 'publishedAt', 'updatedAt'] } };\n }\n\n return {};\n};\n\nexport {\n getDeepPopulate,\n getDeepPopulateDraftCount,\n getPopulateForValidation,\n getQueryPopulate,\n buildDeepPopulate,\n getPopulateForLocalizations,\n};\n"],"names":["isVisibleAttribute","isScalarAttribute","getDoesAttributeRequireValidation","isPrivateAttribute","hasDraftAndPublish","strapiUtils","contentTypes","isAnyToMany","relations","PUBLISHED_AT_ATTRIBUTE","constants","isMorphToRelation","attribute","isRelation","relation","includes","isMedia","matchesProperty","isComponent","isDynamicZone","getPopulateForRelation","model","attributeName","countMany","countOne","initialPopulate","isManyRelation","undefined","validationPopulate","getPopulateForValidation","uid","populate","count","getPopulateForDZ","options","level","populatedComponents","components","reduce","acc","componentUID","getDeepPopulate","on","getPopulateFor","attributes","type","component","folder","maxLevel","Infinity","strapi","getModel","Object","keys","populateAcc","merge","validationPopulateCache","Map","cached","get","result","entries","fields","push","componentResult","length","componentsResult","set","draftCountPopulateCache","getDeepPopulateDraftCount","hasRelations","isMorphRelation","toLowerCase","startsWith","targetModel","target","localization","isLocalizedContentType","filters","$null","childHasRelations","dzPopulateFragment","componentPopulate","componentHasRelations","isEmpty","getQueryPopulate","query","populateQuery","traverse","traverseQueryFilters","path","populatePath","replace","schema","bind","deepPopulateCache","buildDeepPopulate","getService","populateDeep","countRelations","build","getPopulateForLocalizations","modelSchema","localizations"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/relations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,eAAe,CAAC;;uCAiJb,GAAG,OAAO,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/relations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,eAAe,CAAC;;uCAiJb,GAAG,OAAO,IAAI,CAAC,EAAE;IAyH1D;;;;OAIG;uBACsB,GAAG;sBAmJJ,GAAG;;AAlR7B,wBA0XE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-version.d.ts","sourceRoot":"","sources":["../../../../../server/src/history/controllers/history-version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"history-version.d.ts","sourceRoot":"","sources":["../../../../../server/src/history/controllers/history-version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAmC/C,QAAA,MAAM,8BAA8B,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;;;;;;;CAgF1E,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
/**
|
|
3
|
+
* Reports the history retention the delete job uses for the Plan card and the debug dump. That
|
|
4
|
+
* caps an unconfigured instance at the default even when the license allows far more, so the
|
|
5
|
+
* card never promises retention the job does not keep. Registered whatever the boot-time license
|
|
6
|
+
* says, so a lapsed or later-renewed license still resolves.
|
|
7
|
+
*/
|
|
8
|
+
export declare const registerHistoryEntitlements: (strapi: Core.Strapi) => void;
|
|
9
|
+
//# sourceMappingURL=entitlements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../../../../server/src/history/entitlements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,GAAI,QAAQ,IAAI,CAAC,MAAM,SAgB9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/history/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/history/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;AA4C5C,wBAA4B"}
|
|
@@ -2,6 +2,12 @@ import type { Core, Modules, Schema, Data, Struct, UID } from '@strapi/types';
|
|
|
2
2
|
import type { CreateHistoryVersion } from '../../../../shared/contracts/history-versions';
|
|
3
3
|
import type { HistoryVersions } from '../../../../shared/contracts';
|
|
4
4
|
import type { RelationResult } from '../../../../shared/contracts/relations';
|
|
5
|
+
export declare const DEFAULT_RETENTION_DAYS = 90;
|
|
6
|
+
/**
|
|
7
|
+
* The retention the history delete job applies, from the license's value and the admin setting.
|
|
8
|
+
* Shared with the Plan card's resolver (../entitlements.ts) so the card shows this same figure.
|
|
9
|
+
*/
|
|
10
|
+
export declare const computeRetentionDays: (licenseRetentionDays: unknown, userRetentionDays: number | null | undefined) => number;
|
|
5
11
|
type RelationResponse = {
|
|
6
12
|
results: RelationResult[];
|
|
7
13
|
meta: {
|
|
@@ -17,8 +23,8 @@ export declare const createServiceUtils: ({ strapi }: {
|
|
|
17
23
|
};
|
|
18
24
|
getRelationRestoreValue: (versionRelationData: Modules.Documents.AnyDocument | Modules.Documents.AnyDocument[], attribute: Schema.Attribute.RelationWithTarget) => Promise<Modules.Documents.AnyDocument | Modules.Documents.AnyDocument[] | null>;
|
|
19
25
|
getMediaRestoreValue: (versionRelationData: Modules.Documents.AnyDocument | Modules.Documents.AnyDocument[]) => Promise<any>;
|
|
20
|
-
getDefaultLocale: () => Promise<
|
|
21
|
-
isLocalizedContentType: (model: Schema.ContentType) =>
|
|
26
|
+
getDefaultLocale: () => Promise<string | null>;
|
|
27
|
+
isLocalizedContentType: (model: Schema.ContentType) => boolean;
|
|
22
28
|
getLocaleDictionary: () => Promise<{
|
|
23
29
|
[key: string]: {
|
|
24
30
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../server/src/history/services/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../server/src/history/services/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,sBAAsB,OAAO,EAC7B,mBAAmB,MAAM,GAAG,IAAI,GAAG,SAAS,KAC3C,MAeF,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;uDAMzC,oBAAoB,CAAC,QAAQ,CAAC,+BAC1B,MAAM,CAAC,gBAAgB;;;;mDA4C/B,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,aACzE,MAAM,CAAC,SAAS,CAAC,kBAAkB;gDA8BzB,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;;oCAmB/C,MAAM,CAAC,WAAW;+BAQnB,OAAO,CAAC;QAC5C,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;;uCA2BgB,eAAe,CAAC,oBAAoB,CAAC,aAAa,CAAC,YACzD,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI;2BAmClB,GAAG,CAAC,MAAM;iCA+DE;QAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAA;KAAE,EAAE,KAAG,OAAO,CAAC,gBAAgB,CAAC;mCAwC7E;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,EAAE,mBACc,MAAM,CAAC,SAAS,CAAC,kBAAkB,KACnD,OAAO,CAAC,gBAAgB,CAAC;CAkD7B,CAAC"}
|
|
@@ -181,7 +181,7 @@ declare const _default: () => {
|
|
|
181
181
|
plugin?: string;
|
|
182
182
|
info: import("@strapi/types/dist/struct/schema.js").SchemaInfo;
|
|
183
183
|
};
|
|
184
|
-
toDto:
|
|
184
|
+
toDto: <T extends object>(model: T) => Partial<T>;
|
|
185
185
|
};
|
|
186
186
|
'document-metadata': ({ strapi }: {
|
|
187
187
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAM2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAM2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAay4B,CAAC;sBAAgE,CAAC;2BAA8C,CAAC;;;;;;;;;;;;;sBAAsvH,CAAC;;;;;wBAAkZ,CAAC;;;;;;;wBAAkkD,CAAC;;;wBAAgd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAA70K,CAAC;;;;;;;0BAAg4B,CAAC;;;;;;;uBAAw2B,SAAS;;;;;;0BAA5d,CAAC;;;;;;;;;;;;0BAAmvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHj3H,CAAA;;;;;;sBAGw5B,CAAC;;;;;;sBAAy7C,CAAC;;;;;AAXv1E,wBAUE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from '@strapi/utils';
|
|
2
2
|
import type { Core, Modules, Struct } from '@strapi/types';
|
|
3
3
|
import type { ContentManagerModelForMcp } from './types';
|
|
4
|
-
/** Returns true if the content type identified by `uid`
|
|
4
|
+
/** Returns true if the registered localization provider reports the content type identified by `uid` as localized. */
|
|
5
5
|
export declare const isContentTypeLocalized: (strapi: Core.Strapi, uid: string) => boolean;
|
|
6
6
|
/**
|
|
7
7
|
* Builds the base locale Zod schema for a derived MCP tool input.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../server/src/mcp/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAO,MAAM,eAAe,CAAC;AAGhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../server/src/mcp/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAO,MAAM,eAAe,CAAC;AAGhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,sHAAsH;AACtH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,MAAM,KAAG,OAIzE,CAAC;AAaF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC5B,aAAa,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EACzC,eAAe,MAAM,GAAG,IAAI,KAC3B,CAAC,CAAC,UAiBJ,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,GACvC,QAAQ,IAAI,CAAC,MAAM,EACnB,SAAS,OAAO,CAAC,GAAG,CAAC,iBAAiB,EACtC,QAAQ,MAAM,EACd,KAAK,MAAM,EACX,aAAa,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EACzC,eAAe,MAAM,GAAG,IAAI,EAC5B,kBAAkB,CAAC,CAAC,UAAU,KAC7B,CAAC,CAAC,UA2BJ,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,IAAI,CAAC,MAAM,EACnB,cAAc,MAAM,EACpB,QAAQ,MAAM,EACd,UAAS,GAAG,CAAC,MAAM,CAAa,KAC/B,MAAM,EA8BR,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,IAAI,CAAC,MAAM,EACnB,aAAa,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,EACzD,QAAQ,MAAM,EACd,KAAK,MAAM,EACX,YAAY,MAAM,CAAC,gBAAgB,KAClC,GAAG,CAAC,MAAM,CAAC,GAAG,IAqBhB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,mBAAmB;IAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;CAAE,EAC5E,QAAQ,MAAM,EACd,aAAa,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,KACjC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,IAY1B,CAAC;AAGF,YAAY,EAAE,yBAAyB,EAAE,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Core } from '@strapi/types';
|
|
2
2
|
/**
|
|
3
3
|
* Registers derived content-type MCP tools via strapi.ai.mcp.registerTool().
|
|
4
|
-
* Must be called from the plugin
|
|
4
|
+
* Must be called from the plugin bootstrap phase: after every plugin's register (so the
|
|
5
|
+
* localization provider is installed and locale rows are readable) and before the MCP HTTP
|
|
6
|
+
* server starts.
|
|
5
7
|
*/
|
|
6
8
|
export declare const registerContentManagerMcpTools: ({ strapi, }: {
|
|
7
9
|
strapi: Core.Strapi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-content-manager-mcp-tools.d.ts","sourceRoot":"","sources":["../../../../server/src/mcp/register-content-manager-mcp-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAK1C
|
|
1
|
+
{"version":3,"file":"register-content-manager-mcp-tools.d.ts","sourceRoot":"","sources":["../../../../server/src/mcp/register-content-manager-mcp-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAK1C;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,GAAU,aAElD;IACD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACrB,KAAG,OAAO,CAAC,IAAI,CA2Bf,CAAC"}
|
|
@@ -10,9 +10,9 @@ export type ContentManagerModelForMcp = Pick<Struct.ContentTypeSchema, 'uid' | '
|
|
|
10
10
|
attributes: Struct.SchemaAttributes;
|
|
11
11
|
};
|
|
12
12
|
export type McpToolsBuildContext = {
|
|
13
|
-
/** Installed locale codes
|
|
13
|
+
/** Installed locale codes. null when no localization provider is registered. */
|
|
14
14
|
localeCodes: [string, ...string[]] | null;
|
|
15
|
-
/** Default locale
|
|
15
|
+
/** Default locale. null when no localization provider is registered or unknown. */
|
|
16
16
|
defaultLocale: string | null;
|
|
17
17
|
};
|
|
18
18
|
export type DerivedTool = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../../../server/src/services/content-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../../../server/src/services/content-types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAgB3D,QAAA,MAAM,OAAO,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;;yBAO7B,GAAG,CAAC,WAAW;;iCAgBP;QAAE,IAAI,EAAE,MAAM,CAAC,eAAe,GAAG,SAAS,CAAA;KAAE;mCASpC,MAAM,CAAC,iBAAiB;qCAU9C,MAAM,CAAC,iBAAiB,oBACnB,mBAAmB;8CAOG,MAAM,CAAC,iBAAiB;;CAQlE,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
|
@@ -15,7 +15,7 @@ declare const _default: () => {
|
|
|
15
15
|
plugin?: string;
|
|
16
16
|
info: Struct.SchemaInfo;
|
|
17
17
|
};
|
|
18
|
-
toDto:
|
|
18
|
+
toDto: <T extends object>(model: T) => Partial<T>;
|
|
19
19
|
};
|
|
20
20
|
export default _default;
|
|
21
21
|
//# sourceMappingURL=data-mapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-mapper.d.ts","sourceRoot":"","sources":["../../../../server/src/services/data-mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-mapper.d.ts","sourceRoot":"","sources":["../../../../server/src/services/data-mapper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;;uCAgBf,MAAM,CAAC,eAAe;;;;;;;;;;;;;;;YAiBjD,CAAC,SAAS,MAAM,SAAS,CAAC;;AAlBpC,wBAmBG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-manager.d.ts","sourceRoot":"","sources":["../../../../server/src/services/document-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,UAAU,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAMxD,KAAK,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;AACpD,KAAK,gBAAgB,CAAC,OAAO,SAAS,MAAM,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"document-manager.d.ts","sourceRoot":"","sources":["../../../../server/src/services/document-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-metadata.d.ts","sourceRoot":"","sources":["../../../../server/src/services/document-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAInF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACpC;AA0CD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;yBAoBe,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;IACjD;;;;;;;;;;;;OAYG;6BAEI,GAAG,CAAC,WAAW,WACX,eAAe,eACX,eAAe,EAAE;
|
|
1
|
+
{"version":3,"file":"document-metadata.d.ts","sourceRoot":"","sources":["../../../../server/src/services/document-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAInF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACpC;AA0CD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;yBAoBe,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;IACjD;;;;;;;;;;;;OAYG;6BAEI,GAAG,CAAC,WAAW,WACX,eAAe,eACX,eAAe,EAAE;IA+DhC;;OAEG;gCACyB,eAAe,eAAe,eAAe,EAAE;IAoB3E;;;;;OAKG;gCAC+B,GAAG,CAAC,WAAW,aAAa,eAAe,EAAE;uBAmC5D,eAAe,0BAA0B,gBAAgB,CAAC,iBAAiB,CAAC;qBAgCxF,GAAG,CAAC,WAAW,WACX,eAAe,0CAC6B,kBAAkB;;;kBA+BnD,eAAe,EAAE;;;;;;IA0EvC;;;;OAIG;oCAEI,GAAG,CAAC,WAAW,YACV,eAAe,SACnB,kBAAkB;;;gBAnXtB,MAAM,GAAG,MAAM;wBACP,OAAO,CAAC,SAAS,CAAC,EAAE;qBACvB,MAAM;4BACC,eAAe,EAAE;wBACrB,MAAM,GAAG,IAAI,GAAG,IAAI;0BAClB,MAAM,GAAG,IAAI,GAAG,IAAI;;;;;;;;;;;AA2EpC,wBAqVG"}
|
|
@@ -70,7 +70,7 @@ declare const _default: {
|
|
|
70
70
|
plugin?: string;
|
|
71
71
|
info: import("@strapi/types/dist/struct/schema.js").SchemaInfo;
|
|
72
72
|
};
|
|
73
|
-
toDto:
|
|
73
|
+
toDto: <T extends object>(model: T) => Partial<T>;
|
|
74
74
|
};
|
|
75
75
|
'document-metadata': ({ strapi }: {
|
|
76
76
|
strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAiC2N,CAAC;kBAAgE,CAAC;uBAA8C,CAAC;;;;;;;;;;;;;kBAAsvH,CAAC;;;;;oBAAkZ,CAAC;;;;;;;oBAAkkD,CAAC;;;oBAAgd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA70K,CAAC;;;;;;;sBAAg4B,CAAC;;;;;;;mBAAw2B,SAAS;;;;;;sBAA5d,CAAC;;;;;;;;;;;;sBAAmvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAzB5oG,CAAC;;;;;;kBAyBkL,CAAC;;;;;;kBAAy7C,CAAC;;;;AAjB3oD,wBAgBE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../../server/src/services/metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../../server/src/services/metrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;yBAI7D,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;4CAElC,MAAM,CAAC,iBAAiB,iBACtB,aAAa;;AAHhC,wBA6BE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-checker.d.ts","sourceRoot":"","sources":["../../../../server/src/services/permission-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"permission-checker.d.ts","sourceRoot":"","sources":["../../../../server/src/services/permission-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD,eAAO,MAAM,OAAO;;;;;;;;CAQV,CAAC;AAEX,KAAK,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC5D,KAAK,KAAK,GAAG;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;yBAyIc,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;qCArIxB;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;sBAYzC,MAAM,UAAU,MAAM,GAAG,SAAS,SAAS,MAAM;yBAY9C,MAAM,UAAU,MAAM,GAAG,SAAS,SAAS,MAAM;iCA4BzC,MAAM;+BAhBR,MAAM,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;+BA0BtD,KAAK,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;oCAsBhD,GAAG;sCACD,MAAM,MAAM,MAAM,GAAG;+BAZ5B,KAAK,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;gCAIpD,MAAM,QAAQ,GAAG,WAAW,MAAM;gCAelC,KAAK,WAAU;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;AAyCrE,wBAEG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../../server/src/services/permission.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../../server/src/services/permission.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;yBAGlC,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;2DAI9C;QACD,WAAW,EAAE,GAAG,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC;KACvC;;;AAPH,wBA8FG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate-builder.d.ts","sourceRoot":"","sources":["../../../../server/src/services/populate-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"populate-builder.d.ts","sourceRoot":"","sources":["../../../../server/src/services/populate-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;oCAaX,GAAG,CAAC,MAAM;IAWpC;;;OAGG;6BACsB,MAAM;IAK/B;;;;;OAKG;;;;;IAWH;;;OAGG;;IAMH;;;;;OAKG;oCAC6B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAOnD;;;OAGG;;;;;AAkBP,wBAAqC"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
declare function createDefaultConfiguration(schema: any): Promise<{
|
|
2
|
-
settings:
|
|
2
|
+
settings: {
|
|
3
|
+
mainField: string;
|
|
4
|
+
defaultSortBy: string;
|
|
5
|
+
defaultSortOrder: string;
|
|
6
|
+
bulkable: boolean;
|
|
7
|
+
filterable: boolean;
|
|
8
|
+
searchable: boolean;
|
|
9
|
+
pageSize: number;
|
|
10
|
+
relationOpenMode: "modal";
|
|
11
|
+
};
|
|
3
12
|
metadatas: any;
|
|
4
13
|
layouts: {
|
|
5
14
|
list: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/utils/configuration/index.ts"],"names":[],"mappings":"AAiBA,iBAAe,0BAA0B,CAAC,MAAM,EAAE,GAAG
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/utils/configuration/index.ts"],"names":[],"mappings":"AAiBA,iBAAe,0BAA0B,CAAC,MAAM,EAAE,GAAG;;;;;;;;;;;;;;;;GAQpD;AAED,iBAAe,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;;;;;;;;GAQtD;AAED,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
declare function isValidDefaultSort(schema: any, value: any): Promise<boolean>;
|
|
2
|
-
declare const createDefaultSettings: (schema: any) => Promise<
|
|
2
|
+
declare const createDefaultSettings: (schema: any) => Promise<{
|
|
3
|
+
mainField: string;
|
|
4
|
+
defaultSortBy: string;
|
|
5
|
+
defaultSortOrder: string;
|
|
6
|
+
bulkable: boolean;
|
|
7
|
+
filterable: boolean;
|
|
8
|
+
searchable: boolean;
|
|
9
|
+
pageSize: number;
|
|
10
|
+
relationOpenMode: "modal";
|
|
11
|
+
}>;
|
|
3
12
|
declare const syncSettings: (configuration: any, schema: any) => Promise<any>;
|
|
4
13
|
export { isValidDefaultSort, createDefaultSettings, syncSettings };
|
|
5
14
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/utils/configuration/settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/utils/configuration/settings.ts"],"names":[],"mappings":"AA6BA,iBAAe,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,oBAkBxD;AAED,QAAA,MAAM,qBAAqB,GAAU,QAAQ,GAAG;;;;;;;;;EAU/C,CAAC;AAEF,QAAA,MAAM,YAAY,GAAU,eAAe,GAAG,EAAE,QAAQ,GAAG,iBAY1D,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/utils/draft.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/utils/draft.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,KAAK,mBAAmB,EAA6B,MAAM,mBAAmB,CAAC;AA4KxF;;;;;;GAMG;AACH,QAAA,MAAM,cAAc,GAClB,QAAQ,IAAI,CAAC,MAAM,EACnB,QAAQ,GAAG,EACX,KAAK,GAAG,CAAC,MAAM,KACd,OAAO,CAAC,mBAAmB,CAY7B,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/utils/populate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/utils/populate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAU,OAAO,EAAE,MAAM,eAAe,CAAC;AAsB1D,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE7E,KAAK,eAAe,GAAG;IACrB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAsHF;;;;;GAKG;AACH,QAAA,MAAM,eAAe,GACnB,KAAK,GAAG,CAAC,MAAM,EACf,sDAKG,eAAoB,EACvB,cAAS,KACR;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;CA+BnC,CAAC;AAUF,QAAA,MAAM,wBAAwB,GAAI,KAAK,GAAG,CAAC,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAuFrE,CAAC;AAaF,QAAA,MAAM,yBAAyB,GAAI,KAAK,GAAG,CAAC,MAAM,KAAG;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CA+F1F,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,gBAAgB,GAAU,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,QAAQ,CA6BhF,CAAC;AAIF,QAAA,MAAM,iBAAiB,GAAU,KAAK,GAAG,CAAC,cAAc,iBAcvD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,2BAA2B,GAAI,OAAO,GAAG,CAAC,MAAM;;;;;;CAOrD,CAAC;AAEF,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,GAC5B,CAAC"}
|
|
@@ -36,6 +36,7 @@ export declare namespace FindAvailable {
|
|
|
36
36
|
query: Partial<Pick<Pagination, 'pageSize' | 'page'>> & {
|
|
37
37
|
id?: Data.ID;
|
|
38
38
|
locale?: Modules.Documents.Params.Locale.StringNotation;
|
|
39
|
+
status?: Modules.Documents.Params.PublicationStatus.Kind;
|
|
39
40
|
_filter?: string;
|
|
40
41
|
_q?: string;
|
|
41
42
|
idsToOmit?: Modules.Documents.ID[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../shared/contracts/relations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../shared/contracts/relations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/content-manager",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.58.0",
|
|
4
4
|
"description": "A powerful UI to easily manage your data.",
|
|
5
5
|
"homepage": "https://strapi.io",
|
|
6
6
|
"bugs": {
|
|
@@ -70,16 +70,16 @@
|
|
|
70
70
|
"@dnd-kit/core": "6.3.1",
|
|
71
71
|
"@dnd-kit/sortable": "10.0.0",
|
|
72
72
|
"@dnd-kit/utilities": "3.2.2",
|
|
73
|
-
"@radix-ui/react-toolbar": "1.1.
|
|
73
|
+
"@radix-ui/react-toolbar": "1.1.19",
|
|
74
74
|
"@reduxjs/toolkit": "1.9.7",
|
|
75
75
|
"@sindresorhus/slugify": "1.1.0",
|
|
76
76
|
"@strapi/design-system": "2.2.4",
|
|
77
77
|
"@strapi/icons": "2.2.4",
|
|
78
|
-
"@strapi/types": "5.
|
|
79
|
-
"@strapi/utils": "5.
|
|
78
|
+
"@strapi/types": "5.58.0",
|
|
79
|
+
"@strapi/utils": "5.58.0",
|
|
80
80
|
"codemirror5": "npm:codemirror@^5.65.11",
|
|
81
81
|
"date-fns": "2.30.0",
|
|
82
|
-
"dompurify": "3.4.
|
|
82
|
+
"dompurify": "3.4.16",
|
|
83
83
|
"fractional-indexing": "3.2.0",
|
|
84
84
|
"highlight.js": "^10.4.1",
|
|
85
85
|
"immer": "9.0.21",
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
"zod": "4.4.3"
|
|
112
112
|
},
|
|
113
113
|
"devDependencies": {
|
|
114
|
-
"@strapi/admin": "5.
|
|
115
|
-
"@strapi/database": "5.
|
|
114
|
+
"@strapi/admin": "5.58.0",
|
|
115
|
+
"@strapi/database": "5.58.0",
|
|
116
116
|
"@testing-library/dom": "10.4.1",
|
|
117
117
|
"@testing-library/jest-dom": "6.9.1",
|
|
118
118
|
"@testing-library/react": "16.3.2",
|