@memberjunction/metadata-sync 6.2.0-edge.6 → 6.2.0-edge.7
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/README.md +146 -1
- package/dist/config.d.ts +24 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/RecordProcessor.d.ts +16 -0
- package/dist/lib/RecordProcessor.d.ts.map +1 -1
- package/dist/lib/RecordProcessor.js +51 -4
- package/dist/lib/RecordProcessor.js.map +1 -1
- package/dist/lib/collection-promotion.d.ts +89 -0
- package/dist/lib/collection-promotion.d.ts.map +1 -0
- package/dist/lib/collection-promotion.js +154 -0
- package/dist/lib/collection-promotion.js.map +1 -0
- package/dist/lib/deletion-prescan.d.ts +26 -0
- package/dist/lib/deletion-prescan.d.ts.map +1 -0
- package/dist/lib/deletion-prescan.js +56 -0
- package/dist/lib/deletion-prescan.js.map +1 -0
- package/dist/lib/lookup-sql.d.ts +3 -2
- package/dist/lib/lookup-sql.d.ts.map +1 -1
- package/dist/lib/lookup-sql.js +16 -4
- package/dist/lib/lookup-sql.js.map +1 -1
- package/dist/lib/natural-key-preflight.d.ts.map +1 -1
- package/dist/lib/natural-key-preflight.js +1 -0
- package/dist/lib/natural-key-preflight.js.map +1 -1
- package/dist/lib/record-dependency-analyzer.d.ts +5 -1
- package/dist/lib/record-dependency-analyzer.d.ts.map +1 -1
- package/dist/lib/record-dependency-analyzer.js +11 -1
- package/dist/lib/record-dependency-analyzer.js.map +1 -1
- package/dist/lib/sql-log-filters.d.ts +31 -0
- package/dist/lib/sql-log-filters.d.ts.map +1 -0
- package/dist/lib/sql-log-filters.js +41 -0
- package/dist/lib/sql-log-filters.js.map +1 -0
- package/dist/lib/sync-engine.d.ts.map +1 -1
- package/dist/lib/sync-engine.js +35 -4
- package/dist/lib/sync-engine.js.map +1 -1
- package/dist/services/PullService.d.ts +2 -0
- package/dist/services/PullService.d.ts.map +1 -1
- package/dist/services/PullService.js +20 -2
- package/dist/services/PullService.js.map +1 -1
- package/dist/services/PushService.d.ts +21 -0
- package/dist/services/PushService.d.ts.map +1 -1
- package/dist/services/PushService.js +80 -38
- package/dist/services/PushService.js.map +1 -1
- package/dist/services/ValidationService.d.ts +31 -0
- package/dist/services/ValidationService.d.ts.map +1 -1
- package/dist/services/ValidationService.js +135 -9
- package/dist/services/ValidationService.js.map +1 -1
- package/package.json +15 -15
|
@@ -128,6 +128,8 @@ export declare class PullService {
|
|
|
128
128
|
private loadExistingRecords;
|
|
129
129
|
private findEntityDirectories;
|
|
130
130
|
private buildFileName;
|
|
131
|
+
/** Copies the collections, embeds and extension a record holds onto `target`, when present. */
|
|
132
|
+
private copyCompositionAxes;
|
|
131
133
|
private mergeRecords;
|
|
132
134
|
/**
|
|
133
135
|
* Backs up each existing file the write batch is about to rewrite, once per file. Files the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PullService.d.ts","sourceRoot":"","sources":["../../src/services/PullService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PullService.d.ts","sourceRoot":"","sources":["../../src/services/PullService.ts"],"names":[],"mappings":"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"}
|
|
@@ -892,6 +892,18 @@ export class PullService {
|
|
|
892
892
|
// Multiple keys or numeric - create composite name, prefixed with dot
|
|
893
893
|
return '.' + keys.map(k => String(k).replace(/[^a-zA-Z0-9\-_]/g, '').toLowerCase()).join('-') + '.json';
|
|
894
894
|
}
|
|
895
|
+
/** Copies the collections, embeds and extension a record holds onto `target`, when present. */
|
|
896
|
+
copyCompositionAxes(target, source) {
|
|
897
|
+
if (source.collections && !target.collections) {
|
|
898
|
+
target.collections = source.collections;
|
|
899
|
+
}
|
|
900
|
+
if (source.embeds) {
|
|
901
|
+
target.embeds = source.embeds;
|
|
902
|
+
}
|
|
903
|
+
if (source.extension) {
|
|
904
|
+
target.extension = source.extension;
|
|
905
|
+
}
|
|
906
|
+
}
|
|
895
907
|
async mergeRecords(existing, newData, strategy, preserveFields) {
|
|
896
908
|
if (strategy === 'skip') {
|
|
897
909
|
return existing;
|
|
@@ -909,7 +921,8 @@ export class PullService {
|
|
|
909
921
|
}
|
|
910
922
|
}
|
|
911
923
|
}
|
|
912
|
-
//
|
|
924
|
+
// Composition axes and relatedEntities before primaryKey and sync
|
|
925
|
+
this.copyCompositionAxes(result, newData);
|
|
913
926
|
if (newData.relatedEntities) {
|
|
914
927
|
result.relatedEntities = newData.relatedEntities;
|
|
915
928
|
}
|
|
@@ -929,7 +942,12 @@ export class PullService {
|
|
|
929
942
|
}
|
|
930
943
|
}
|
|
931
944
|
}
|
|
932
|
-
//
|
|
945
|
+
// Composition axes and relatedEntities before primaryKey and sync. A collection the pull did not
|
|
946
|
+
// produce (one the author declared but the pull config does not fetch) is kept from the file.
|
|
947
|
+
if (existing.collections || newData.collections) {
|
|
948
|
+
result.collections = { ...existing.collections, ...newData.collections };
|
|
949
|
+
}
|
|
950
|
+
this.copyCompositionAxes(result, { fields: {}, embeds: newData.embeds ?? existing.embeds, extension: newData.extension ?? existing.extension });
|
|
933
951
|
if (existing.relatedEntities || newData.relatedEntities) {
|
|
934
952
|
result.relatedEntities = {
|
|
935
953
|
...existing.relatedEntities,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PullService.js","sourceRoot":"","sources":["../../src/services/PullService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PullService.js","sourceRoot":"","sources":["../../src/services/PullService.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,6 +146,13 @@ export declare class PushService {
|
|
|
146
146
|
private stateManager;
|
|
147
147
|
private syncMetadataEngine;
|
|
148
148
|
private confirmedCollections;
|
|
149
|
+
/** Decides which relatedEntities groups are saved as collection items; created on first use. */
|
|
150
|
+
private collectionPromotionResolver;
|
|
151
|
+
/**
|
|
152
|
+
* Promoted relatedEntities items created by a save, waiting for it to succeed so their new keys
|
|
153
|
+
* can be written back into the item, the same way a separately saved related record gets its key.
|
|
154
|
+
*/
|
|
155
|
+
private pendingPromotedKeys;
|
|
149
156
|
/** Write mode per entity directory, resolved once at the start of the push. */
|
|
150
157
|
private directoryModes;
|
|
151
158
|
/** The directory being processed right now, and how it writes. */
|
|
@@ -434,6 +441,20 @@ export declare class PushService {
|
|
|
434
441
|
private registerEnvSqlCompositionField;
|
|
435
442
|
/** Adds the names-only SQL log warnings of this run. */
|
|
436
443
|
private addEnvSqlWarnings;
|
|
444
|
+
/** The resolver deciding which relatedEntities groups are saved as collection items. */
|
|
445
|
+
private collectionPromotions;
|
|
446
|
+
/**
|
|
447
|
+
* The collections to apply to a record: its own `collections`, plus, for a flattened record
|
|
448
|
+
* (depth 0), the `relatedEntities` groups promoted to collection items. The record itself is not
|
|
449
|
+
* changed, so its file keeps the format the author wrote.
|
|
450
|
+
*
|
|
451
|
+
* @returns The collections and the set of promoted items among them, or `null` when there are none.
|
|
452
|
+
*/
|
|
453
|
+
private collectionsToApply;
|
|
454
|
+
/** Remembers a promoted item created without a key, to receive its key once the save succeeds. */
|
|
455
|
+
private queuePromotedKey;
|
|
456
|
+
/** Writes the saved keys of a record's new promoted items back into the items. */
|
|
457
|
+
private writeBackPromotedKeys;
|
|
437
458
|
/**
|
|
438
459
|
* Applies first-class composition axes onto the entity before Save (§5):
|
|
439
460
|
* 1. embeds (peer first via {fkField}_EnsureObject() or companion.Ensure())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushService.d.ts","sourceRoot":"","sources":["../../src/services/PushService.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAY,QAAQ,EAAyF,iBAAiB,EAAmD,MAAM,sBAAsB,CAAC;AAGjO,OAAO,EAAE,UAAU,EAAE,UAAU,EAAyB,uBAAuB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1H,OAAO,EAAqB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAoB,YAAY,EAAc,MAAM,WAAW,CAAC;AAMvE,OAAO,EAA4B,eAAe,EAAyB,MAAM,mCAAmC,CAAC;AAYrH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"PushService.d.ts","sourceRoot":"","sources":["../../src/services/PushService.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,10 @@ import { CreatedRecordKeyFields, IsKeyReference, KeyFieldValue } from '../lib/cr
|
|
|
34
34
|
import { EntityFieldName, RecordFieldNames } from '../lib/entity-field-names.js';
|
|
35
35
|
import { METADATA_KEYWORDS } from '../constants/metadata-keywords.js';
|
|
36
36
|
import { DEFAULT_RECORD_FILE_PATTERN, RECORD_FILE_GLOB_OPTIONS } from '../lib/record-file-glob.js';
|
|
37
|
+
import { FileMayHaveDeletions, RecordsHaveDeletions, TextHasInclude } from '../lib/deletion-prescan.js';
|
|
38
|
+
import { ResolveSqlLogFilter } from '../lib/sql-log-filters.js';
|
|
37
39
|
import { resolveCollectionRelationship } from '@memberjunction/record-graph';
|
|
40
|
+
import { CollectionPromotionResolver } from '../lib/collection-promotion.js';
|
|
38
41
|
function emptyPushTotals() {
|
|
39
42
|
return { created: 0, updated: 0, unchanged: 0, deleted: 0, skipped: 0, deferred: 0, errors: 0 };
|
|
40
43
|
}
|
|
@@ -68,6 +71,13 @@ export class PushService {
|
|
|
68
71
|
this.deferredFileWrites = new Map();
|
|
69
72
|
this.deferredRecords = [];
|
|
70
73
|
this.confirmedCollections = new Set();
|
|
74
|
+
/** Decides which relatedEntities groups are saved as collection items; created on first use. */
|
|
75
|
+
this.collectionPromotionResolver = null;
|
|
76
|
+
/**
|
|
77
|
+
* Promoted relatedEntities items created by a save, waiting for it to succeed so their new keys
|
|
78
|
+
* can be written back into the item, the same way a separately saved related record gets its key.
|
|
79
|
+
*/
|
|
80
|
+
this.pendingPromotedKeys = new Map();
|
|
71
81
|
/** Write mode per entity directory, resolved once at the start of the push. */
|
|
72
82
|
this.directoryModes = new Map();
|
|
73
83
|
/** The directory being processed right now, and how it writes. */
|
|
@@ -379,6 +389,7 @@ export class PushService {
|
|
|
379
389
|
this.envSqlLog = new EnvSqlLog(this.syncEngine);
|
|
380
390
|
this.lookupSqlLog = new LookupSqlLog(this.syncEngine);
|
|
381
391
|
const schemaPlaceholders = ResolveSchemaPlaceholders(this.syncConfig, configManager.GetMJConfig());
|
|
392
|
+
const logFilter = ResolveSqlLogFilter(this.syncConfig?.sqlLogging);
|
|
382
393
|
sqlLoggingSession = await provider.CreateSqlLogger(filepath, {
|
|
383
394
|
// Env values are left out first, then lookup IDs become subqueries; the logger's schema
|
|
384
395
|
// placeholder rewrite runs after both, so the subqueries' schema names become placeholders.
|
|
@@ -392,8 +403,8 @@ export class PushService {
|
|
|
392
403
|
prettyPrint: true,
|
|
393
404
|
// batchSeparator is intentionally omitted — CreateSqlLogger injects the platform-appropriate
|
|
394
405
|
// separator automatically (GO for SQL Server, nothing for PostgreSQL) via PlatformBatchSeparator.
|
|
395
|
-
filterPatterns:
|
|
396
|
-
filterType:
|
|
406
|
+
filterPatterns: logFilter.Patterns,
|
|
407
|
+
filterType: logFilter.FilterType,
|
|
397
408
|
verboseOutput: this.syncConfig?.sqlLogging?.verboseOutput || false,
|
|
398
409
|
variableBatchThreshold: this.syncConfig?.sqlLogging?.variableBatchThreshold ?? 200,
|
|
399
410
|
});
|
|
@@ -865,7 +876,9 @@ export class PushService {
|
|
|
865
876
|
const records = Array.isArray(fileData) ? fileData : [fileData];
|
|
866
877
|
// Analyze dependencies and get sorted records
|
|
867
878
|
const analyzer = new RecordDependencyAnalyzer();
|
|
868
|
-
const
|
|
879
|
+
const promotions = this.collectionPromotions();
|
|
880
|
+
await promotions.Prepare(records, entityConfig.entity);
|
|
881
|
+
const analysisResult = await analyzer.analyzeFileRecords(records, entityConfig.entity, promotions);
|
|
869
882
|
for (const flattened of analysisResult.sortedRecords) {
|
|
870
883
|
flattened.FilePath = filePath;
|
|
871
884
|
}
|
|
@@ -1187,7 +1200,10 @@ export class PushService {
|
|
|
1187
1200
|
// silent no-ops when seeding a fresh DB from JSON files that already
|
|
1188
1201
|
// carry stored checksums from another environment.
|
|
1189
1202
|
// The deferred retry (allowDefer false) never takes this shortcut: the first pass left fields unsaved
|
|
1190
|
-
|
|
1203
|
+
// A record whose relatedEntities are saved as collection items never takes the shortcut: its
|
|
1204
|
+
// checksum does not cover those items, so an edit to one would be skipped.
|
|
1205
|
+
const hasPromotedGroups = this.collectionPromotions().PromotedGroups(entityName, record).length > 0;
|
|
1206
|
+
if (allowDefer && options.incremental && record.sync?.checksum && record.fields && record.primaryKey && !record.deleteRecord && !hasPromotedGroups) {
|
|
1191
1207
|
// Use calculateChecksumWithFileContent so @file: reference changes are detected.
|
|
1192
1208
|
// This reads local files (fast) rather than hitting the DB (slow). The stored
|
|
1193
1209
|
// checksum was also computed with file content and composition payloads, so the comparison is apples-to-apples.
|
|
@@ -1722,6 +1738,7 @@ export class PushService {
|
|
|
1722
1738
|
// Return 'deferred' status - it's saved but incomplete
|
|
1723
1739
|
// We don't return early here because we still want to update primaryKey and sync metadata
|
|
1724
1740
|
}
|
|
1741
|
+
this.writeBackPromotedKeys(record);
|
|
1725
1742
|
// Update primaryKey for new records
|
|
1726
1743
|
if (isNew) {
|
|
1727
1744
|
const entityInfo = this.syncEngine.getEntityInfo(entityName);
|
|
@@ -2200,20 +2217,14 @@ export class PushService {
|
|
|
2200
2217
|
dot: true,
|
|
2201
2218
|
ignore: ['**/node_modules/**', '**/.mj-*.json']
|
|
2202
2219
|
});
|
|
2203
|
-
// Quick scan for delete
|
|
2220
|
+
// Quick scan for delete markers at any depth. A file that uses @include falls through to
|
|
2221
|
+
// the full audit, which expands includes before looking.
|
|
2204
2222
|
for (const filePath of files) {
|
|
2205
2223
|
try {
|
|
2206
2224
|
const content = await fs.readFile(filePath, 'utf-8');
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
const data = JSON.parse(content);
|
|
2211
|
-
const records = Array.isArray(data) ? data : [data];
|
|
2212
|
-
const hasDelete = records.some((r) => r.deleteRecord?.delete === true);
|
|
2213
|
-
if (hasDelete) {
|
|
2214
|
-
hasAnyDeletions = true;
|
|
2215
|
-
break;
|
|
2216
|
-
}
|
|
2225
|
+
if (FileMayHaveDeletions(content)) {
|
|
2226
|
+
hasAnyDeletions = true;
|
|
2227
|
+
break;
|
|
2217
2228
|
}
|
|
2218
2229
|
}
|
|
2219
2230
|
catch (error) {
|
|
@@ -2257,9 +2268,7 @@ export class PushService {
|
|
|
2257
2268
|
const rawFileData = await fs.readJson(filePath);
|
|
2258
2269
|
// Handle @include directives if present
|
|
2259
2270
|
let fileData = rawFileData;
|
|
2260
|
-
|
|
2261
|
-
const hasIncludes = jsonString.includes('"@include"') || jsonString.includes('"@include.');
|
|
2262
|
-
if (hasIncludes) {
|
|
2271
|
+
if (TextHasInclude(JSON.stringify(rawFileData))) {
|
|
2263
2272
|
const jsonPreprocessor = new JsonPreprocessor();
|
|
2264
2273
|
fileData = await jsonPreprocessor.processFile(filePath);
|
|
2265
2274
|
}
|
|
@@ -2394,23 +2403,7 @@ export class PushService {
|
|
|
2394
2403
|
* Recursively check if any records in an array (including nested relatedEntities) have deletions
|
|
2395
2404
|
*/
|
|
2396
2405
|
hasAnyDeletions(records) {
|
|
2397
|
-
|
|
2398
|
-
// Check this record
|
|
2399
|
-
if (record.deleteRecord?.delete === true) {
|
|
2400
|
-
return true;
|
|
2401
|
-
}
|
|
2402
|
-
// Check nested related entities recursively
|
|
2403
|
-
if (record.relatedEntities) {
|
|
2404
|
-
for (const relatedRecords of Object.values(record.relatedEntities)) {
|
|
2405
|
-
if (Array.isArray(relatedRecords)) {
|
|
2406
|
-
if (this.hasAnyDeletions(relatedRecords)) {
|
|
2407
|
-
return true;
|
|
2408
|
-
}
|
|
2409
|
-
}
|
|
2410
|
-
}
|
|
2411
|
-
}
|
|
2412
|
-
}
|
|
2413
|
-
return false;
|
|
2406
|
+
return RecordsHaveDeletions(records);
|
|
2414
2407
|
}
|
|
2415
2408
|
/**
|
|
2416
2409
|
* Process deferred records that had lookup failures during initial processing.
|
|
@@ -2631,7 +2624,8 @@ export class PushService {
|
|
|
2631
2624
|
? resolutionCollector
|
|
2632
2625
|
: { notes: resolutionCollector.notes, fieldPrefix: resolutionCollector.fieldPrefix, EnvFields: new Map() };
|
|
2633
2626
|
try {
|
|
2634
|
-
|
|
2627
|
+
// `@parent:` in a composition child refers to its owner, as it does for a related record.
|
|
2628
|
+
const value = await this.syncEngine.processFieldValue(rawValue, entityDir, ownerRecord, null, 0, batchContext, childCollector, fieldName, recordProvider, ownerRecord);
|
|
2635
2629
|
target.Set(fieldName, value);
|
|
2636
2630
|
const variables = childCollector.EnvFields?.get(fieldName);
|
|
2637
2631
|
if (variables) {
|
|
@@ -2702,6 +2696,50 @@ export class PushService {
|
|
|
2702
2696
|
this.addWarning(warning, callbacks);
|
|
2703
2697
|
}
|
|
2704
2698
|
}
|
|
2699
|
+
/** The resolver deciding which relatedEntities groups are saved as collection items. */
|
|
2700
|
+
collectionPromotions() {
|
|
2701
|
+
if (!this.collectionPromotionResolver) {
|
|
2702
|
+
this.collectionPromotionResolver = new CollectionPromotionResolver(() => this.syncEngine.GetProvider(), this.contextUser);
|
|
2703
|
+
}
|
|
2704
|
+
return this.collectionPromotionResolver;
|
|
2705
|
+
}
|
|
2706
|
+
/**
|
|
2707
|
+
* The collections to apply to a record: its own `collections`, plus, for a flattened record
|
|
2708
|
+
* (depth 0), the `relatedEntities` groups promoted to collection items. The record itself is not
|
|
2709
|
+
* changed, so its file keeps the format the author wrote.
|
|
2710
|
+
*
|
|
2711
|
+
* @returns The collections and the set of promoted items among them, or `null` when there are none.
|
|
2712
|
+
*/
|
|
2713
|
+
collectionsToApply(record, entityName, depth) {
|
|
2714
|
+
const collections = record.collections && typeof record.collections === 'object' ? { ...record.collections } : {};
|
|
2715
|
+
const promotedItems = new Set();
|
|
2716
|
+
if (depth === 0) {
|
|
2717
|
+
for (const group of this.collectionPromotions().PromotedGroups(entityName, record)) {
|
|
2718
|
+
const name = group.Promotion.CollectionName;
|
|
2719
|
+
collections[name] = [...(collections[name] ?? []), ...group.Items];
|
|
2720
|
+
group.Items.forEach((item) => promotedItems.add(item));
|
|
2721
|
+
}
|
|
2722
|
+
}
|
|
2723
|
+
return Object.keys(collections).length > 0 ? { Collections: collections, PromotedItems: promotedItems } : null;
|
|
2724
|
+
}
|
|
2725
|
+
/** Remembers a promoted item created without a key, to receive its key once the save succeeds. */
|
|
2726
|
+
queuePromotedKey(record, item, child) {
|
|
2727
|
+
const pending = this.pendingPromotedKeys.get(record) ?? [];
|
|
2728
|
+
pending.push({ Item: item, Child: child });
|
|
2729
|
+
this.pendingPromotedKeys.set(record, pending);
|
|
2730
|
+
}
|
|
2731
|
+
/** Writes the saved keys of a record's new promoted items back into the items. */
|
|
2732
|
+
writeBackPromotedKeys(record) {
|
|
2733
|
+
const pending = this.pendingPromotedKeys.get(record);
|
|
2734
|
+
this.pendingPromotedKeys.delete(record);
|
|
2735
|
+
for (const { Item, Child } of pending ?? []) {
|
|
2736
|
+
const primaryKey = {};
|
|
2737
|
+
for (const pk of Child.EntityInfo.PrimaryKeys) {
|
|
2738
|
+
primaryKey[pk.Name] = Child.Get(pk.Name);
|
|
2739
|
+
}
|
|
2740
|
+
Item.primaryKey = primaryKey;
|
|
2741
|
+
}
|
|
2742
|
+
}
|
|
2705
2743
|
/**
|
|
2706
2744
|
* Applies first-class composition axes onto the entity before Save (§5):
|
|
2707
2745
|
* 1. embeds (peer first via {fkField}_EnsureObject() or companion.Ensure())
|
|
@@ -2762,8 +2800,9 @@ export class PushService {
|
|
|
2762
2800
|
}
|
|
2763
2801
|
}
|
|
2764
2802
|
// 2. Collections: owner.Lines.Create() (or load existing by PK into the collection), recurse apply on child entity
|
|
2765
|
-
|
|
2766
|
-
|
|
2803
|
+
const collectionsToApply = this.collectionsToApply(record, entityName, depth);
|
|
2804
|
+
if (collectionsToApply) {
|
|
2805
|
+
for (const [colName, colItems] of Object.entries(collectionsToApply.Collections)) {
|
|
2767
2806
|
if (!Array.isArray(colItems)) {
|
|
2768
2807
|
throw new Error(`Collection "${colName}" in ${entityName} must be an array of records. ` +
|
|
2769
2808
|
`Per-record mode wrappers (e.g. {"mode": "authoritative", "items": [...]}) are forbidden; mode is directory-level only.`);
|
|
@@ -2850,6 +2889,9 @@ export class PushService {
|
|
|
2850
2889
|
for (const [pkK, pkV] of Object.entries(childKey ?? {})) {
|
|
2851
2890
|
targetChild.Set(pkK, pkV);
|
|
2852
2891
|
}
|
|
2892
|
+
if (collectionsToApply.PromotedItems.has(itemData) && !childKey) {
|
|
2893
|
+
this.queuePromotedKey(record, itemData, targetChild);
|
|
2894
|
+
}
|
|
2853
2895
|
}
|
|
2854
2896
|
else {
|
|
2855
2897
|
matchedItemSet.add(targetChild);
|