@strapi/core 5.46.1 → 5.47.1
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/Strapi.d.ts.map +1 -1
- package/dist/Strapi.js +12 -3
- package/dist/Strapi.js.map +1 -1
- package/dist/Strapi.mjs +12 -3
- package/dist/Strapi.mjs.map +1 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +12 -5
- package/dist/compile.js.map +1 -1
- package/dist/compile.mjs +12 -5
- package/dist/compile.mjs.map +1 -1
- package/dist/core-api/routes/index.js +2 -0
- package/dist/core-api/routes/index.js.map +1 -1
- package/dist/core-api/routes/index.mjs +2 -0
- package/dist/core-api/routes/index.mjs.map +1 -1
- package/dist/core-api/routes/validation/content-type.d.ts +13 -1
- package/dist/core-api/routes/validation/content-type.d.ts.map +1 -1
- package/dist/core-api/routes/validation/content-type.js +15 -2
- package/dist/core-api/routes/validation/content-type.js.map +1 -1
- package/dist/core-api/routes/validation/content-type.mjs +15 -2
- package/dist/core-api/routes/validation/content-type.mjs.map +1 -1
- package/dist/middlewares/session.d.ts +2 -2
- package/dist/middlewares/session.d.ts.map +1 -1
- package/dist/middlewares/session.js +1 -1
- package/dist/middlewares/session.js.map +1 -1
- package/dist/middlewares/session.mjs +2 -2
- package/dist/middlewares/session.mjs.map +1 -1
- package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -1
- package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
- package/dist/migrations/database/5.0.0-discard-drafts.js +41 -30
- package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
- package/dist/migrations/database/5.0.0-discard-drafts.mjs +41 -30
- package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
- package/dist/package.json.js +16 -15
- package/dist/package.json.js.map +1 -1
- package/dist/package.json.mjs +16 -15
- package/dist/package.json.mjs.map +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +3 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/index.mjs +3 -1
- package/dist/providers/index.mjs.map +1 -1
- package/dist/providers/mcp.d.ts +3 -0
- package/dist/providers/mcp.d.ts.map +1 -0
- package/dist/providers/mcp.js +39 -0
- package/dist/providers/mcp.js.map +1 -0
- package/dist/providers/mcp.mjs +37 -0
- package/dist/providers/mcp.mjs.map +1 -0
- package/dist/providers/session-manager.d.ts.map +1 -1
- package/dist/providers/session-manager.js +3 -0
- package/dist/providers/session-manager.js.map +1 -1
- package/dist/providers/session-manager.mjs +3 -0
- package/dist/providers/session-manager.mjs.map +1 -1
- package/dist/services/ai.d.ts.map +1 -1
- package/dist/services/ai.js +3 -0
- package/dist/services/ai.js.map +1 -1
- package/dist/services/ai.mjs +3 -0
- package/dist/services/ai.mjs.map +1 -1
- package/dist/services/cron.d.ts +1 -1
- package/dist/services/cron.d.ts.map +1 -1
- package/dist/services/cron.js +10 -2
- package/dist/services/cron.js.map +1 -1
- package/dist/services/cron.mjs +10 -2
- package/dist/services/cron.mjs.map +1 -1
- package/dist/services/document-service/draft-and-publish.d.ts +2 -16
- package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
- package/dist/services/document-service/draft-and-publish.js +0 -53
- package/dist/services/document-service/draft-and-publish.js.map +1 -1
- package/dist/services/document-service/draft-and-publish.mjs +2 -53
- package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
- package/dist/services/document-service/params.d.ts +2 -2
- package/dist/services/document-service/params.d.ts.map +1 -1
- package/dist/services/document-service/publication-filter.d.ts +6 -0
- package/dist/services/document-service/publication-filter.d.ts.map +1 -0
- package/dist/services/document-service/publication-filter.js +20 -0
- package/dist/services/document-service/publication-filter.js.map +1 -0
- package/dist/services/document-service/publication-filter.mjs +15 -0
- package/dist/services/document-service/publication-filter.mjs.map +1 -0
- package/dist/services/document-service/transform/query.d.ts +1 -1
- package/dist/services/document-service/transform/query.d.ts.map +1 -1
- package/dist/services/document-service/transform/query.js +32 -19
- package/dist/services/document-service/transform/query.js.map +1 -1
- package/dist/services/document-service/transform/query.mjs +33 -20
- package/dist/services/document-service/transform/query.mjs.map +1 -1
- package/dist/services/entity-validator/blocks-validator.js +1 -1
- package/dist/services/entity-validator/blocks-validator.js.map +1 -1
- package/dist/services/entity-validator/blocks-validator.mjs +1 -1
- package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
- package/dist/services/mcp/authentication.d.ts +23 -0
- package/dist/services/mcp/authentication.d.ts.map +1 -0
- package/dist/services/mcp/authentication.js +45 -0
- package/dist/services/mcp/authentication.js.map +1 -0
- package/dist/services/mcp/authentication.mjs +43 -0
- package/dist/services/mcp/authentication.mjs.map +1 -0
- package/dist/services/mcp/handlers/handlePost.d.ts +4 -0
- package/dist/services/mcp/handlers/handlePost.d.ts.map +1 -0
- package/dist/services/mcp/handlers/handlePost.js +59 -0
- package/dist/services/mcp/handlers/handlePost.js.map +1 -0
- package/dist/services/mcp/handlers/handlePost.mjs +57 -0
- package/dist/services/mcp/handlers/handlePost.mjs.map +1 -0
- package/dist/services/mcp/handlers/types.d.ts +12 -0
- package/dist/services/mcp/handlers/types.d.ts.map +1 -0
- package/dist/services/mcp/index.d.ts +6 -0
- package/dist/services/mcp/index.d.ts.map +1 -0
- package/dist/services/mcp/index.js +101 -0
- package/dist/services/mcp/index.js.map +1 -0
- package/dist/services/mcp/index.mjs +99 -0
- package/dist/services/mcp/index.mjs.map +1 -0
- package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.d.ts +13 -0
- package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.d.ts.map +1 -0
- package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.js +53 -0
- package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.js.map +1 -0
- package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.mjs +51 -0
- package/dist/services/mcp/internal/McpCapabilityDefinitionRegistry.mjs.map +1 -0
- package/dist/services/mcp/internal/McpCapabilityRegistry.d.ts +43 -0
- package/dist/services/mcp/internal/McpCapabilityRegistry.d.ts.map +1 -0
- package/dist/services/mcp/internal/McpCapabilityRegistry.js +108 -0
- package/dist/services/mcp/internal/McpCapabilityRegistry.js.map +1 -0
- package/dist/services/mcp/internal/McpCapabilityRegistry.mjs +106 -0
- package/dist/services/mcp/internal/McpCapabilityRegistry.mjs.map +1 -0
- package/dist/services/mcp/internal/McpConfiguration.d.ts +11 -0
- package/dist/services/mcp/internal/McpConfiguration.d.ts.map +1 -0
- package/dist/services/mcp/internal/McpConfiguration.js +34 -0
- package/dist/services/mcp/internal/McpConfiguration.js.map +1 -0
- package/dist/services/mcp/internal/McpConfiguration.mjs +32 -0
- package/dist/services/mcp/internal/McpConfiguration.mjs.map +1 -0
- package/dist/services/mcp/internal/McpServerFactory.d.ts +37 -0
- package/dist/services/mcp/internal/McpServerFactory.d.ts.map +1 -0
- package/dist/services/mcp/internal/McpServerFactory.js +71 -0
- package/dist/services/mcp/internal/McpServerFactory.js.map +1 -0
- package/dist/services/mcp/internal/McpServerFactory.mjs +69 -0
- package/dist/services/mcp/internal/McpServerFactory.mjs.map +1 -0
- package/dist/services/mcp/internal/syncMcpSessionCapabilities.d.ts +21 -0
- package/dist/services/mcp/internal/syncMcpSessionCapabilities.d.ts.map +1 -0
- package/dist/services/mcp/internal/syncMcpSessionCapabilities.js +76 -0
- package/dist/services/mcp/internal/syncMcpSessionCapabilities.js.map +1 -0
- package/dist/services/mcp/internal/syncMcpSessionCapabilities.mjs +73 -0
- package/dist/services/mcp/internal/syncMcpSessionCapabilities.mjs.map +1 -0
- package/dist/services/mcp/metrics/metrics.d.ts +29 -0
- package/dist/services/mcp/metrics/metrics.d.ts.map +1 -0
- package/dist/services/mcp/metrics/metrics.js +97 -0
- package/dist/services/mcp/metrics/metrics.js.map +1 -0
- package/dist/services/mcp/metrics/metrics.mjs +88 -0
- package/dist/services/mcp/metrics/metrics.mjs.map +1 -0
- package/dist/services/mcp/metrics/normalizeMcpCapability.d.ts +11 -0
- package/dist/services/mcp/metrics/normalizeMcpCapability.d.ts.map +1 -0
- package/dist/services/mcp/metrics/normalizeMcpCapability.js +10 -0
- package/dist/services/mcp/metrics/normalizeMcpCapability.js.map +1 -0
- package/dist/services/mcp/metrics/normalizeMcpCapability.mjs +8 -0
- package/dist/services/mcp/metrics/normalizeMcpCapability.mjs.map +1 -0
- package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.d.ts +4 -0
- package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.d.ts.map +1 -0
- package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.js +27 -0
- package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.js.map +1 -0
- package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.mjs +25 -0
- package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.mjs.map +1 -0
- package/dist/services/mcp/middleware/oauthDiscoveryFallback.d.ts +3 -0
- package/dist/services/mcp/middleware/oauthDiscoveryFallback.d.ts.map +1 -0
- package/dist/services/mcp/middleware/oauthDiscoveryFallback.js +47 -0
- package/dist/services/mcp/middleware/oauthDiscoveryFallback.js.map +1 -0
- package/dist/services/mcp/middleware/oauthDiscoveryFallback.mjs +45 -0
- package/dist/services/mcp/middleware/oauthDiscoveryFallback.mjs.map +1 -0
- package/dist/services/mcp/prompt-registry.d.ts +16 -0
- package/dist/services/mcp/prompt-registry.d.ts.map +1 -0
- package/dist/services/mcp/prompt-registry.js +77 -0
- package/dist/services/mcp/prompt-registry.js.map +1 -0
- package/dist/services/mcp/prompt-registry.mjs +75 -0
- package/dist/services/mcp/prompt-registry.mjs.map +1 -0
- package/dist/services/mcp/resource-registry.d.ts +14 -0
- package/dist/services/mcp/resource-registry.d.ts.map +1 -0
- package/dist/services/mcp/resource-registry.js +67 -0
- package/dist/services/mcp/resource-registry.js.map +1 -0
- package/dist/services/mcp/resource-registry.mjs +65 -0
- package/dist/services/mcp/resource-registry.mjs.map +1 -0
- package/dist/services/mcp/routes.d.ts +11 -0
- package/dist/services/mcp/routes.d.ts.map +1 -0
- package/dist/services/mcp/routes.js +58 -0
- package/dist/services/mcp/routes.js.map +1 -0
- package/dist/services/mcp/routes.mjs +56 -0
- package/dist/services/mcp/routes.mjs.map +1 -0
- package/dist/services/mcp/tool-registry.d.ts +25 -0
- package/dist/services/mcp/tool-registry.d.ts.map +1 -0
- package/dist/services/mcp/tool-registry.js +102 -0
- package/dist/services/mcp/tool-registry.js.map +1 -0
- package/dist/services/mcp/tool-registry.mjs +99 -0
- package/dist/services/mcp/tool-registry.mjs.map +1 -0
- package/dist/services/mcp/tools/log.d.ts +87 -0
- package/dist/services/mcp/tools/log.d.ts.map +1 -0
- package/dist/services/mcp/tools/log.js +88 -0
- package/dist/services/mcp/tools/log.js.map +1 -0
- package/dist/services/mcp/tools/log.mjs +86 -0
- package/dist/services/mcp/tools/log.mjs.map +1 -0
- package/dist/services/mcp/utils/createSafeCapabilityRegistration.d.ts +36 -0
- package/dist/services/mcp/utils/createSafeCapabilityRegistration.d.ts.map +1 -0
- package/dist/services/mcp/utils/createSafeCapabilityRegistration.js +59 -0
- package/dist/services/mcp/utils/createSafeCapabilityRegistration.js.map +1 -0
- package/dist/services/mcp/utils/createSafeCapabilityRegistration.mjs +56 -0
- package/dist/services/mcp/utils/createSafeCapabilityRegistration.mjs.map +1 -0
- package/dist/services/mcp/utils/jsonRpcErrors.d.ts +22 -0
- package/dist/services/mcp/utils/jsonRpcErrors.d.ts.map +1 -0
- package/dist/services/mcp/utils/jsonRpcErrors.js +25 -0
- package/dist/services/mcp/utils/jsonRpcErrors.js.map +1 -0
- package/dist/services/mcp/utils/jsonRpcErrors.mjs +23 -0
- package/dist/services/mcp/utils/jsonRpcErrors.mjs.map +1 -0
- package/dist/services/mcp/utils/safeHandlerWrapper.d.ts +18 -0
- package/dist/services/mcp/utils/safeHandlerWrapper.d.ts.map +1 -0
- package/dist/services/mcp/utils/safeHandlerWrapper.js +29 -0
- package/dist/services/mcp/utils/safeHandlerWrapper.js.map +1 -0
- package/dist/services/mcp/utils/safeHandlerWrapper.mjs +27 -0
- package/dist/services/mcp/utils/safeHandlerWrapper.mjs.map +1 -0
- package/dist/services/mcp/utils/sendJsonRpcError.d.ts +5 -0
- package/dist/services/mcp/utils/sendJsonRpcError.d.ts.map +1 -0
- package/dist/services/mcp/utils/sendJsonRpcError.js +23 -0
- package/dist/services/mcp/utils/sendJsonRpcError.js.map +1 -0
- package/dist/services/mcp/utils/sendJsonRpcError.mjs +21 -0
- package/dist/services/mcp/utils/sendJsonRpcError.mjs.map +1 -0
- package/dist/services/mcp/utils/withTimeout.d.ts +7 -0
- package/dist/services/mcp/utils/withTimeout.d.ts.map +1 -0
- package/dist/services/mcp/utils/withTimeout.js +23 -0
- package/dist/services/mcp/utils/withTimeout.js.map +1 -0
- package/dist/services/mcp/utils/withTimeout.mjs +21 -0
- package/dist/services/mcp/utils/withTimeout.mjs.map +1 -0
- package/dist/services/metrics/index.d.ts.map +1 -1
- package/dist/services/metrics/index.js +9 -6
- package/dist/services/metrics/index.js.map +1 -1
- package/dist/services/metrics/index.mjs +9 -6
- package/dist/services/metrics/index.mjs.map +1 -1
- package/dist/services/metrics/sender.d.ts.map +1 -1
- package/dist/services/metrics/sender.js +11 -3
- package/dist/services/metrics/sender.js.map +1 -1
- package/dist/services/metrics/sender.mjs +11 -3
- package/dist/services/metrics/sender.mjs.map +1 -1
- package/package.json +16 -15
|
@@ -82,23 +82,39 @@ const DEFAULT_PRIMARY_KEY_COLUMN = 'id';
|
|
|
82
82
|
return true;
|
|
83
83
|
};
|
|
84
84
|
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
85
|
+
* Join-column relations that are persisted on the row (e.g. createdBy), excluding virtual
|
|
86
|
+
* relations such as i18n `localizations` which reuse `document_id` and are not DB-owned.
|
|
87
|
+
*/ const isPersistedJoinColumnRelation = (attribute)=>attribute?.type === 'relation' && !attribute.unstable_virtual && attribute.joinColumn && !attribute.joinTable;
|
|
88
|
+
/**
|
|
89
|
+
* Column names copied when cloning a published row into a draft (stage 1).
|
|
90
|
+
* Scalars plus persisted join-column FKs; deduped so virtual relations cannot repeat columns.
|
|
91
|
+
*/ const getPublishedToDraftCloneColumns = (meta)=>{
|
|
92
|
+
const seen = new Set();
|
|
93
|
+
const columns = [];
|
|
94
|
+
const addColumn = (columnName)=>{
|
|
95
|
+
if (!columnName || columnName === 'id' || seen.has(columnName)) {
|
|
96
|
+
return;
|
|
96
97
|
}
|
|
98
|
+
seen.add(columnName);
|
|
99
|
+
columns.push(columnName);
|
|
100
|
+
};
|
|
101
|
+
for (const attribute of Object.values(meta.attributes)){
|
|
97
102
|
if (strapiUtils.contentTypes.isScalarAttribute(attribute)) {
|
|
98
|
-
|
|
103
|
+
addColumn(attribute.columnName);
|
|
104
|
+
continue;
|
|
99
105
|
}
|
|
100
|
-
|
|
101
|
-
|
|
106
|
+
if (isPersistedJoinColumnRelation(attribute)) {
|
|
107
|
+
addColumn(attribute.joinColumn.name);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return columns;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Copy published entries to draft rows, cloning scalar fields and join-column foreign keys.
|
|
114
|
+
* Components, dynamic zones, and join-table relations are handled in later stages.
|
|
115
|
+
*/ async function copyPublishedEntriesToDraft({ db, trx, uid }) {
|
|
116
|
+
const meta = db.metadata.get(uid);
|
|
117
|
+
const columnsToCopy = getPublishedToDraftCloneColumns(meta);
|
|
102
118
|
/**
|
|
103
119
|
* Query to copy the published entries into draft entries.
|
|
104
120
|
*
|
|
@@ -106,12 +122,12 @@ const DEFAULT_PRIMARY_KEY_COLUMN = 'id';
|
|
|
106
122
|
* SELECT columnName1, columnName2, columnName3, ...
|
|
107
123
|
* FROM tableName
|
|
108
124
|
*/ await trx// INSERT INTO tableName (columnName1, columnName2, columnName3, ...)
|
|
109
|
-
.into(trx.raw(`?? (${
|
|
125
|
+
.into(trx.raw(`?? (${columnsToCopy.map(()=>`??`).join(', ')})`, [
|
|
110
126
|
meta.tableName,
|
|
111
|
-
...
|
|
127
|
+
...columnsToCopy
|
|
112
128
|
])).insert((subQb)=>{
|
|
113
129
|
// SELECT columnName1, columnName2, columnName3, ...
|
|
114
|
-
subQb.select(...
|
|
130
|
+
subQb.select(...columnsToCopy.map((att)=>{
|
|
115
131
|
// NOTE: these literals reference Strapi's built-in system columns. They never get shortened by
|
|
116
132
|
// the identifier migration (5.0.0-01-convert-identifiers-long-than-max-length) so we can safely
|
|
117
133
|
// compare/use them directly here.
|
|
@@ -971,7 +987,7 @@ const debug = createDebug('strapi::migration::discard-drafts');
|
|
|
971
987
|
/**
|
|
972
988
|
* Builds a reverse map from draft IDs to published IDs for a target content type.
|
|
973
989
|
* This is needed to check if a target ID is already a draft and find its published version.
|
|
974
|
-
*/ async function getDraftToPublishedMap(trx, targetUid, reverseMapCache) {
|
|
990
|
+
*/ async function getDraftToPublishedMap(trx, targetUid, reverseMapCache, draftMapCache) {
|
|
975
991
|
if (reverseMapCache.has(targetUid)) {
|
|
976
992
|
return reverseMapCache.get(targetUid) ?? null;
|
|
977
993
|
}
|
|
@@ -981,7 +997,7 @@ const debug = createDebug('strapi::migration::discard-drafts');
|
|
|
981
997
|
return null;
|
|
982
998
|
}
|
|
983
999
|
const draftToPublishedMap = new Map();
|
|
984
|
-
const draftMap = await getDraftMapForTarget(trx, targetUid, new Map());
|
|
1000
|
+
const draftMap = await getDraftMapForTarget(trx, targetUid, draftMapCache ?? new Map());
|
|
985
1001
|
if (draftMap) {
|
|
986
1002
|
// Reverse the published->draft map to get draft->published
|
|
987
1003
|
for (const [publishedId, draftId] of draftMap.entries()){
|
|
@@ -1023,7 +1039,7 @@ const debug = createDebug('strapi::migration::discard-drafts');
|
|
|
1023
1039
|
}
|
|
1024
1040
|
// For published entity, if we got a draft ID, find the published version
|
|
1025
1041
|
const effectiveReverseCache = reverseMapCache ?? new Map();
|
|
1026
|
-
const reverseMap = await getDraftToPublishedMap(trx, targetUid, effectiveReverseCache);
|
|
1042
|
+
const reverseMap = await getDraftToPublishedMap(trx, targetUid, effectiveReverseCache, draftMapCache);
|
|
1027
1043
|
if (reverseMap) {
|
|
1028
1044
|
return reverseMap.get(Number(originalId)) ?? originalId;
|
|
1029
1045
|
}
|
|
@@ -1050,7 +1066,7 @@ const debug = createDebug('strapi::migration::discard-drafts');
|
|
|
1050
1066
|
// For published entities: map draft targets to published targets
|
|
1051
1067
|
if (targetState === 'draft') {
|
|
1052
1068
|
const effectiveReverseCache = reverseMapCache ?? new Map();
|
|
1053
|
-
const reverseMap = await getDraftToPublishedMap(trx, targetUid, effectiveReverseCache);
|
|
1069
|
+
const reverseMap = await getDraftToPublishedMap(trx, targetUid, effectiveReverseCache, draftMapCache);
|
|
1054
1070
|
if (reverseMap) {
|
|
1055
1071
|
return reverseMap.get(Number(originalId)) ?? originalId;
|
|
1056
1072
|
}
|
|
@@ -1182,7 +1198,7 @@ const debug = createDebug('strapi::migration::discard-drafts');
|
|
|
1182
1198
|
newComponentRow.created_at = resolveNowValue(trx);
|
|
1183
1199
|
}
|
|
1184
1200
|
for (const attribute of Object.values(componentMeta.attributes)){
|
|
1185
|
-
if (attribute
|
|
1201
|
+
if (!isPersistedJoinColumnRelation(attribute)) {
|
|
1186
1202
|
continue;
|
|
1187
1203
|
}
|
|
1188
1204
|
const joinColumn = attribute.joinColumn;
|
|
@@ -1687,14 +1703,9 @@ const debug = createDebug('strapi::migration::discard-drafts');
|
|
|
1687
1703
|
const targetMapCache = new Map();
|
|
1688
1704
|
// Find all JoinColumn relations (oneToOne, manyToOne without joinTable)
|
|
1689
1705
|
for (const attribute of Object.values(meta.attributes)){
|
|
1690
|
-
if (attribute
|
|
1691
|
-
continue;
|
|
1692
|
-
}
|
|
1693
|
-
// Skip relations with joinTable (handled by copyRelationsToOtherContentTypes)
|
|
1694
|
-
if (attribute.joinTable) {
|
|
1706
|
+
if (!isPersistedJoinColumnRelation(attribute)) {
|
|
1695
1707
|
continue;
|
|
1696
1708
|
}
|
|
1697
|
-
// Only handle oneToOne and manyToOne relations that use joinColumn
|
|
1698
1709
|
const joinColumn = attribute.joinColumn;
|
|
1699
1710
|
if (!joinColumn) {
|
|
1700
1711
|
continue;
|
|
@@ -2223,6 +2234,8 @@ const debug = createDebug('strapi::migration::discard-drafts');
|
|
|
2223
2234
|
const publishedIds = Array.from(publishedToDraftMap.keys());
|
|
2224
2235
|
// Process in batches to avoid MySQL query size limits and SQLite expression tree limits
|
|
2225
2236
|
const publishedIdsChunks = chunkArray(publishedIds, getBatchSize(trx, 1000));
|
|
2237
|
+
const componentTargetDraftMapCache = new Map();
|
|
2238
|
+
const componentTargetReverseMapCache = new Map();
|
|
2226
2239
|
for (const publishedIdsChunk of publishedIdsChunks){
|
|
2227
2240
|
// Get component relations for published entries
|
|
2228
2241
|
const componentRelations = await trx(joinTableName).select('*').whereIn(entityIdColumn, publishedIdsChunk);
|
|
@@ -2231,8 +2244,6 @@ const debug = createDebug('strapi::migration::discard-drafts');
|
|
|
2231
2244
|
}
|
|
2232
2245
|
const componentCloneCache = new Map();
|
|
2233
2246
|
const clonedComponentPairsCache = new Map();
|
|
2234
|
-
const componentTargetDraftMapCache = new Map();
|
|
2235
|
-
const componentTargetReverseMapCache = new Map();
|
|
2236
2247
|
const componentHierarchyCaches = {
|
|
2237
2248
|
parentInstanceCache: new Map(),
|
|
2238
2249
|
ancestorDpCache: new Map(),
|