@datocms/cma-client 5.1.25 → 5.1.27

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 CHANGED
@@ -763,6 +763,8 @@ class SchemaRepository {
763
763
 
764
764
  // Higher-level utilities
765
765
  async getModelsEmbeddingBlocks(blocks: ItemType[]): Promise<ItemType[]>
766
+ async getNestedBlocks(itemTypes: ItemType[]): Promise<ItemType[]>
767
+ async getNestedModels(itemTypes: ItemType[]): Promise<ItemType[]>
766
768
 
767
769
  // Plugin methods
768
770
  async getAllPlugins(): Promise<Plugin[]>
@@ -772,6 +774,8 @@ class SchemaRepository {
772
774
  // Raw variants (return API response format)
773
775
  async getAllRawItemTypes(): Promise<RawItemType[]>
774
776
  async getRawItemTypeByApiKey(apiKey: string): Promise<RawItemType>
777
+ async getRawNestedBlocks(itemTypes: Array<ItemType | RawItemType>): Promise<Array<RawItemType>>
778
+ async getRawNestedModels(itemTypes: Array<ItemType | RawItemType>): Promise<Array<RawItemType>>
775
779
  // ... and more raw variants
776
780
  }
777
781
  ```
@@ -88,7 +88,7 @@ class Client {
88
88
  return this.config.baseUrl || Client.defaultBaseUrl;
89
89
  }
90
90
  request(options) {
91
- return (0, rest_client_utils_1.request)(Object.assign(Object.assign(Object.assign({}, this.config), options), { logFn: this.config.logFn || console.log, userAgent: '@datocms/cma-client v5.1.25', baseUrl: this.baseUrl, preCallStack: new Error().stack, extraHeaders: Object.assign(Object.assign(Object.assign({}, (this.config.extraHeaders || {})), (this.config.environment
91
+ return (0, rest_client_utils_1.request)(Object.assign(Object.assign(Object.assign({}, this.config), options), { logFn: this.config.logFn || console.log, userAgent: '@datocms/cma-client v5.1.27', baseUrl: this.baseUrl, preCallStack: new Error().stack, extraHeaders: Object.assign(Object.assign(Object.assign({}, (this.config.extraHeaders || {})), (this.config.environment
92
92
  ? { 'X-Environment': this.config.environment }
93
93
  : {})), { 'X-API-Version': '3' }), fetchJobResult: (jobId) => {
94
94
  return this.jobResultsFetcher
@@ -140,27 +140,23 @@ class Field extends BaseResource_1.default {
140
140
  });
141
141
  }
142
142
  /**
143
- * List referenced fields
143
+ * List fields referencing a model/block
144
144
  *
145
145
  * Read more: https://www.datocms.com/docs/content-management-api/resources/field/referencing
146
146
  *
147
147
  * @throws {ApiError}
148
148
  * @throws {TimeoutError}
149
- *
150
- * @deprecated This API call is to be considered private and might change without notice
151
149
  */
152
150
  referencing(itemTypeId) {
153
151
  return this.rawReferencing(Utils.toId(itemTypeId)).then((body) => Utils.deserializeResponseBody(body));
154
152
  }
155
153
  /**
156
- * List referenced fields
154
+ * List fields referencing a model/block
157
155
  *
158
156
  * Read more: https://www.datocms.com/docs/content-management-api/resources/field/referencing
159
157
  *
160
158
  * @throws {ApiError}
161
159
  * @throws {TimeoutError}
162
- *
163
- * @deprecated This API call is to be considered private and might change without notice
164
160
  */
165
161
  rawReferencing(itemTypeId) {
166
162
  return this.client.request({
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../src/generated/resources/Field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../src/generated/resources/Field.ts"],"names":[],"mappings":"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"}
@@ -242,7 +242,7 @@ class ItemType extends BaseResource_1.default {
242
242
  });
243
243
  }
244
244
  /**
245
- * List models referencing a model or block model
245
+ * List models referencing another model/block
246
246
  *
247
247
  * Read more: https://www.datocms.com/docs/content-management-api/resources/item-type/referencing
248
248
  *
@@ -253,7 +253,7 @@ class ItemType extends BaseResource_1.default {
253
253
  return this.rawReferencing(Utils.toId(itemTypeId)).then((body) => Utils.deserializeResponseBody(body));
254
254
  }
255
255
  /**
256
- * List models referencing a model or block model
256
+ * List models referencing another model/block
257
257
  *
258
258
  * Read more: https://www.datocms.com/docs/content-management-api/resources/item-type/referencing
259
259
  *
@@ -528,6 +528,137 @@ class SchemaRepository {
528
528
  });
529
529
  });
530
530
  }
531
+ /**
532
+ * Gets all block models that are directly or indirectly nested within the given item types.
533
+ * This method recursively traverses the schema to find all blocks that are nested
534
+ * within the provided item types, either directly through block fields or indirectly through
535
+ * other nested block models.
536
+ *
537
+ * @param itemTypes - Array of item types to find nested blocks for
538
+ * @returns Promise that resolves to array of all block models nested in these item types
539
+ */
540
+ getRawNestedBlocks(itemTypes) {
541
+ return __awaiter(this, void 0, void 0, function* () {
542
+ yield this.prefetchAllModelsAndFields();
543
+ const allItemTypes = yield this.getAllRawItemTypes();
544
+ const visited = new Set();
545
+ const nestedBlocks = [];
546
+ // Helper function to recursively find nested blocks
547
+ const findNestedBlocks = (itemType, alreadyExplored = new Set()) => __awaiter(this, void 0, void 0, function* () {
548
+ if (alreadyExplored.has(itemType.id)) {
549
+ return;
550
+ }
551
+ alreadyExplored.add(itemType.id);
552
+ const fields = yield this.getRawItemTypeFields(itemType);
553
+ for (const field of fields) {
554
+ const referencedBlockIds = (0, fieldsContainingReferences_1.blockModelIdsReferencedInField)(field);
555
+ for (const blockId of referencedBlockIds) {
556
+ if (!visited.has(blockId)) {
557
+ visited.add(blockId);
558
+ const nestedBlock = allItemTypes.find((it) => it.id === blockId);
559
+ if (nestedBlock) {
560
+ nestedBlocks.push(nestedBlock);
561
+ // Recursively find blocks nested in this block
562
+ yield findNestedBlocks(nestedBlock, new Set(alreadyExplored));
563
+ }
564
+ }
565
+ }
566
+ }
567
+ });
568
+ // Find nested blocks for each provided item type
569
+ for (const itemType of itemTypes) {
570
+ yield findNestedBlocks(itemType);
571
+ }
572
+ return nestedBlocks;
573
+ });
574
+ }
575
+ /**
576
+ * Gets all block models that are directly or indirectly nested within the given item types.
577
+ * This method recursively traverses the schema to find all blocks that are nested
578
+ * within the provided item types, either directly through block fields or indirectly through
579
+ * other nested block models.
580
+ *
581
+ * @param itemTypes - Array of item types to find nested blocks for
582
+ * @returns Promise that resolves to array of all block models nested in these item types
583
+ */
584
+ getNestedBlocks(itemTypes) {
585
+ return __awaiter(this, void 0, void 0, function* () {
586
+ const rawResult = yield this.getRawNestedBlocks(itemTypes);
587
+ return (0, rest_client_utils_1.deserializeResponseBody)({
588
+ data: rawResult,
589
+ });
590
+ });
591
+ }
592
+ /**
593
+ * Gets all models that are directly or indirectly nested/referenced within the given item types.
594
+ * This method recursively traverses the schema to find all models that are referenced
595
+ * by the provided item types through link fields, either directly or indirectly through
596
+ * other referenced blocks.
597
+ *
598
+ * @param itemTypes - Array of item types to find nested models for
599
+ * @returns Promise that resolves to array of all models nested in these item types
600
+ */
601
+ getRawNestedModels(itemTypes) {
602
+ return __awaiter(this, void 0, void 0, function* () {
603
+ yield this.prefetchAllModelsAndFields();
604
+ const allItemTypes = yield this.getAllRawItemTypes();
605
+ const visited = new Set();
606
+ const nestedModels = [];
607
+ // Helper function to recursively find nested models
608
+ const findNestedModels = (itemType, alreadyExplored = new Set()) => __awaiter(this, void 0, void 0, function* () {
609
+ if (alreadyExplored.has(itemType.id)) {
610
+ return;
611
+ }
612
+ alreadyExplored.add(itemType.id);
613
+ const fields = yield this.getRawItemTypeFields(itemType);
614
+ for (const field of fields) {
615
+ // Find models directly referenced via link fields
616
+ const referencedModelIds = (0, fieldsContainingReferences_1.modelIdsReferencedInField)(field);
617
+ for (const modelId of referencedModelIds) {
618
+ if (!visited.has(modelId)) {
619
+ visited.add(modelId);
620
+ const nestedModel = allItemTypes.find((it) => it.id === modelId);
621
+ if (nestedModel) {
622
+ nestedModels.push(nestedModel);
623
+ // Do NOT recurse into models, only into blocks
624
+ }
625
+ }
626
+ }
627
+ // Find blocks referenced via block fields, then recursively find models in those blocks
628
+ const referencedBlockIds = (0, fieldsContainingReferences_1.blockModelIdsReferencedInField)(field);
629
+ for (const blockId of referencedBlockIds) {
630
+ const nestedBlock = allItemTypes.find((it) => it.id === blockId);
631
+ if (nestedBlock) {
632
+ // Recursively find models nested in this block
633
+ yield findNestedModels(nestedBlock, new Set(alreadyExplored));
634
+ }
635
+ }
636
+ }
637
+ });
638
+ // Find nested models for each provided item type
639
+ for (const itemType of itemTypes) {
640
+ yield findNestedModels(itemType);
641
+ }
642
+ return nestedModels;
643
+ });
644
+ }
645
+ /**
646
+ * Gets all models that are directly or indirectly nested/referenced within the given item types.
647
+ * This method recursively traverses the schema to find all models that are referenced
648
+ * by the provided item types through link fields, either directly or indirectly through
649
+ * other referenced blocks.
650
+ *
651
+ * @param itemTypes - Array of item types to find nested models for
652
+ * @returns Promise that resolves to array of all models nested in these item types
653
+ */
654
+ getNestedModels(itemTypes) {
655
+ return __awaiter(this, void 0, void 0, function* () {
656
+ const rawResult = yield this.getRawNestedModels(itemTypes);
657
+ return (0, rest_client_utils_1.deserializeResponseBody)({
658
+ data: rawResult,
659
+ });
660
+ });
661
+ }
531
662
  }
532
663
  exports.SchemaRepository = SchemaRepository;
533
664
  //# sourceMappingURL=schemaRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaRepository.js","sourceRoot":"","sources":["../../../src/utilities/schemaRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaRepository.js","sourceRoot":"","sources":["../../../src/utilities/schemaRepository.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ export class Client {
62
62
  return this.config.baseUrl || Client.defaultBaseUrl;
63
63
  }
64
64
  request(options) {
65
- return request(Object.assign(Object.assign(Object.assign({}, this.config), options), { logFn: this.config.logFn || console.log, userAgent: '@datocms/cma-client v5.1.25', baseUrl: this.baseUrl, preCallStack: new Error().stack, extraHeaders: Object.assign(Object.assign(Object.assign({}, (this.config.extraHeaders || {})), (this.config.environment
65
+ return request(Object.assign(Object.assign(Object.assign({}, this.config), options), { logFn: this.config.logFn || console.log, userAgent: '@datocms/cma-client v5.1.27', baseUrl: this.baseUrl, preCallStack: new Error().stack, extraHeaders: Object.assign(Object.assign(Object.assign({}, (this.config.extraHeaders || {})), (this.config.environment
66
66
  ? { 'X-Environment': this.config.environment }
67
67
  : {})), { 'X-API-Version': '3' }), fetchJobResult: (jobId) => {
68
68
  return this.jobResultsFetcher
@@ -1658,25 +1658,21 @@ export default class Field extends BaseResource {
1658
1658
  */
1659
1659
  rawList(itemTypeId: string): Promise<RawApiTypes.FieldInstancesTargetSchema>;
1660
1660
  /**
1661
- * List referenced fields
1661
+ * List fields referencing a model/block
1662
1662
  *
1663
1663
  * Read more: https://www.datocms.com/docs/content-management-api/resources/field/referencing
1664
1664
  *
1665
1665
  * @throws {ApiError}
1666
1666
  * @throws {TimeoutError}
1667
- *
1668
- * @deprecated This API call is to be considered private and might change without notice
1669
1667
  */
1670
1668
  referencing(itemTypeId: string | ApiTypes.ItemTypeData): Promise<ApiTypes.FieldReferencingTargetSchema>;
1671
1669
  /**
1672
- * List referenced fields
1670
+ * List fields referencing a model/block
1673
1671
  *
1674
1672
  * Read more: https://www.datocms.com/docs/content-management-api/resources/field/referencing
1675
1673
  *
1676
1674
  * @throws {ApiError}
1677
1675
  * @throws {TimeoutError}
1678
- *
1679
- * @deprecated This API call is to be considered private and might change without notice
1680
1676
  */
1681
1677
  rawReferencing(itemTypeId: string): Promise<RawApiTypes.FieldReferencingTargetSchema>;
1682
1678
  /**
@@ -112,27 +112,23 @@ export default class Field extends BaseResource {
112
112
  });
113
113
  }
114
114
  /**
115
- * List referenced fields
115
+ * List fields referencing a model/block
116
116
  *
117
117
  * Read more: https://www.datocms.com/docs/content-management-api/resources/field/referencing
118
118
  *
119
119
  * @throws {ApiError}
120
120
  * @throws {TimeoutError}
121
- *
122
- * @deprecated This API call is to be considered private and might change without notice
123
121
  */
124
122
  referencing(itemTypeId) {
125
123
  return this.rawReferencing(Utils.toId(itemTypeId)).then((body) => Utils.deserializeResponseBody(body));
126
124
  }
127
125
  /**
128
- * List referenced fields
126
+ * List fields referencing a model/block
129
127
  *
130
128
  * Read more: https://www.datocms.com/docs/content-management-api/resources/field/referencing
131
129
  *
132
130
  * @throws {ApiError}
133
131
  * @throws {TimeoutError}
134
- *
135
- * @deprecated This API call is to be considered private and might change without notice
136
132
  */
137
133
  rawReferencing(itemTypeId) {
138
134
  return this.client.request({
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../src/generated/resources/Field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../src/generated/resources/Field.ts"],"names":[],"mappings":"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"}
@@ -112,7 +112,7 @@ export default class ItemType extends BaseResource {
112
112
  */
113
113
  rawDestroy(itemTypeId: string, queryParams?: RawApiTypes.ItemTypeDestroyHrefSchema): Promise<RawApiTypes.ItemTypeDestroyJobSchema>;
114
114
  /**
115
- * List models referencing a model or block model
115
+ * List models referencing another model/block
116
116
  *
117
117
  * Read more: https://www.datocms.com/docs/content-management-api/resources/item-type/referencing
118
118
  *
@@ -121,7 +121,7 @@ export default class ItemType extends BaseResource {
121
121
  */
122
122
  referencing(itemTypeId: string | ApiTypes.ItemTypeData): Promise<ApiTypes.ItemTypeReferencingTargetSchema>;
123
123
  /**
124
- * List models referencing a model or block model
124
+ * List models referencing another model/block
125
125
  *
126
126
  * Read more: https://www.datocms.com/docs/content-management-api/resources/item-type/referencing
127
127
  *
@@ -214,7 +214,7 @@ export default class ItemType extends BaseResource {
214
214
  });
215
215
  }
216
216
  /**
217
- * List models referencing a model or block model
217
+ * List models referencing another model/block
218
218
  *
219
219
  * Read more: https://www.datocms.com/docs/content-management-api/resources/item-type/referencing
220
220
  *
@@ -225,7 +225,7 @@ export default class ItemType extends BaseResource {
225
225
  return this.rawReferencing(Utils.toId(itemTypeId)).then((body) => Utils.deserializeResponseBody(body));
226
226
  }
227
227
  /**
228
- * List models referencing a model or block model
228
+ * List models referencing another model/block
229
229
  *
230
230
  * Read more: https://www.datocms.com/docs/content-management-api/resources/item-type/referencing
231
231
  *
@@ -194,7 +194,7 @@ export declare class SchemaRepository {
194
194
  * @param itemType - The item type to get fields for
195
195
  * @returns Promise that resolves to an array of fields
196
196
  */
197
- getRawItemTypeFields(itemType: RawApiTypes.ItemType): Promise<RawApiTypes.Field[]>;
197
+ getRawItemTypeFields(itemType: ApiTypes.ItemType | RawApiTypes.ItemType): Promise<RawApiTypes.Field[]>;
198
198
  /**
199
199
  * Gets all fieldsets for a given item type.
200
200
  * Fieldsets are cached after the first request for performance.
@@ -208,7 +208,7 @@ export declare class SchemaRepository {
208
208
  * @param itemType - The item type to get fieldsets for
209
209
  * @returns Promise that resolves to an array of fieldsets
210
210
  */
211
- getRawItemTypeFieldsets(itemType: RawApiTypes.ItemType): Promise<RawApiTypes.Fieldset[]>;
211
+ getRawItemTypeFieldsets(itemType: ApiTypes.ItemType | RawApiTypes.ItemType): Promise<RawApiTypes.Fieldset[]>;
212
212
  /**
213
213
  * Loads and caches all plugins from the DatoCMS API.
214
214
  * This method is called lazily and caches the result for subsequent calls.
@@ -285,5 +285,45 @@ export declare class SchemaRepository {
285
285
  * @returns Promise that resolves to array of models that embed these blocks
286
286
  */
287
287
  getModelsEmbeddingBlocks(blocks: Array<ApiTypes.ItemType | RawApiTypes.ItemType>): Promise<Array<ApiTypes.ItemType>>;
288
+ /**
289
+ * Gets all block models that are directly or indirectly nested within the given item types.
290
+ * This method recursively traverses the schema to find all blocks that are nested
291
+ * within the provided item types, either directly through block fields or indirectly through
292
+ * other nested block models.
293
+ *
294
+ * @param itemTypes - Array of item types to find nested blocks for
295
+ * @returns Promise that resolves to array of all block models nested in these item types
296
+ */
297
+ getRawNestedBlocks(itemTypes: Array<ApiTypes.ItemType | RawApiTypes.ItemType>): Promise<Array<RawApiTypes.ItemType>>;
298
+ /**
299
+ * Gets all block models that are directly or indirectly nested within the given item types.
300
+ * This method recursively traverses the schema to find all blocks that are nested
301
+ * within the provided item types, either directly through block fields or indirectly through
302
+ * other nested block models.
303
+ *
304
+ * @param itemTypes - Array of item types to find nested blocks for
305
+ * @returns Promise that resolves to array of all block models nested in these item types
306
+ */
307
+ getNestedBlocks(itemTypes: Array<ApiTypes.ItemType | RawApiTypes.ItemType>): Promise<Array<ApiTypes.ItemType>>;
308
+ /**
309
+ * Gets all models that are directly or indirectly nested/referenced within the given item types.
310
+ * This method recursively traverses the schema to find all models that are referenced
311
+ * by the provided item types through link fields, either directly or indirectly through
312
+ * other referenced blocks.
313
+ *
314
+ * @param itemTypes - Array of item types to find nested models for
315
+ * @returns Promise that resolves to array of all models nested in these item types
316
+ */
317
+ getRawNestedModels(itemTypes: Array<ApiTypes.ItemType | RawApiTypes.ItemType>): Promise<Array<RawApiTypes.ItemType>>;
318
+ /**
319
+ * Gets all models that are directly or indirectly nested/referenced within the given item types.
320
+ * This method recursively traverses the schema to find all models that are referenced
321
+ * by the provided item types through link fields, either directly or indirectly through
322
+ * other referenced blocks.
323
+ *
324
+ * @param itemTypes - Array of item types to find nested models for
325
+ * @returns Promise that resolves to array of all models nested in these item types
326
+ */
327
+ getNestedModels(itemTypes: Array<ApiTypes.ItemType | RawApiTypes.ItemType>): Promise<Array<ApiTypes.ItemType>>;
288
328
  }
289
329
  export {};
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { deserializeResponseBody } from '@datocms/rest-client-utils';
11
- import { blockModelIdsReferencedInField } from './fieldsContainingReferences';
11
+ import { blockModelIdsReferencedInField, modelIdsReferencedInField, } from './fieldsContainingReferences';
12
12
  /**
13
13
  * Repository for DatoCMS schema entities including item types, fields, and plugins.
14
14
  * Provides caching and efficient lookup functionality for schema-related operations.
@@ -525,5 +525,136 @@ export class SchemaRepository {
525
525
  });
526
526
  });
527
527
  }
528
+ /**
529
+ * Gets all block models that are directly or indirectly nested within the given item types.
530
+ * This method recursively traverses the schema to find all blocks that are nested
531
+ * within the provided item types, either directly through block fields or indirectly through
532
+ * other nested block models.
533
+ *
534
+ * @param itemTypes - Array of item types to find nested blocks for
535
+ * @returns Promise that resolves to array of all block models nested in these item types
536
+ */
537
+ getRawNestedBlocks(itemTypes) {
538
+ return __awaiter(this, void 0, void 0, function* () {
539
+ yield this.prefetchAllModelsAndFields();
540
+ const allItemTypes = yield this.getAllRawItemTypes();
541
+ const visited = new Set();
542
+ const nestedBlocks = [];
543
+ // Helper function to recursively find nested blocks
544
+ const findNestedBlocks = (itemType, alreadyExplored = new Set()) => __awaiter(this, void 0, void 0, function* () {
545
+ if (alreadyExplored.has(itemType.id)) {
546
+ return;
547
+ }
548
+ alreadyExplored.add(itemType.id);
549
+ const fields = yield this.getRawItemTypeFields(itemType);
550
+ for (const field of fields) {
551
+ const referencedBlockIds = blockModelIdsReferencedInField(field);
552
+ for (const blockId of referencedBlockIds) {
553
+ if (!visited.has(blockId)) {
554
+ visited.add(blockId);
555
+ const nestedBlock = allItemTypes.find((it) => it.id === blockId);
556
+ if (nestedBlock) {
557
+ nestedBlocks.push(nestedBlock);
558
+ // Recursively find blocks nested in this block
559
+ yield findNestedBlocks(nestedBlock, new Set(alreadyExplored));
560
+ }
561
+ }
562
+ }
563
+ }
564
+ });
565
+ // Find nested blocks for each provided item type
566
+ for (const itemType of itemTypes) {
567
+ yield findNestedBlocks(itemType);
568
+ }
569
+ return nestedBlocks;
570
+ });
571
+ }
572
+ /**
573
+ * Gets all block models that are directly or indirectly nested within the given item types.
574
+ * This method recursively traverses the schema to find all blocks that are nested
575
+ * within the provided item types, either directly through block fields or indirectly through
576
+ * other nested block models.
577
+ *
578
+ * @param itemTypes - Array of item types to find nested blocks for
579
+ * @returns Promise that resolves to array of all block models nested in these item types
580
+ */
581
+ getNestedBlocks(itemTypes) {
582
+ return __awaiter(this, void 0, void 0, function* () {
583
+ const rawResult = yield this.getRawNestedBlocks(itemTypes);
584
+ return deserializeResponseBody({
585
+ data: rawResult,
586
+ });
587
+ });
588
+ }
589
+ /**
590
+ * Gets all models that are directly or indirectly nested/referenced within the given item types.
591
+ * This method recursively traverses the schema to find all models that are referenced
592
+ * by the provided item types through link fields, either directly or indirectly through
593
+ * other referenced blocks.
594
+ *
595
+ * @param itemTypes - Array of item types to find nested models for
596
+ * @returns Promise that resolves to array of all models nested in these item types
597
+ */
598
+ getRawNestedModels(itemTypes) {
599
+ return __awaiter(this, void 0, void 0, function* () {
600
+ yield this.prefetchAllModelsAndFields();
601
+ const allItemTypes = yield this.getAllRawItemTypes();
602
+ const visited = new Set();
603
+ const nestedModels = [];
604
+ // Helper function to recursively find nested models
605
+ const findNestedModels = (itemType, alreadyExplored = new Set()) => __awaiter(this, void 0, void 0, function* () {
606
+ if (alreadyExplored.has(itemType.id)) {
607
+ return;
608
+ }
609
+ alreadyExplored.add(itemType.id);
610
+ const fields = yield this.getRawItemTypeFields(itemType);
611
+ for (const field of fields) {
612
+ // Find models directly referenced via link fields
613
+ const referencedModelIds = modelIdsReferencedInField(field);
614
+ for (const modelId of referencedModelIds) {
615
+ if (!visited.has(modelId)) {
616
+ visited.add(modelId);
617
+ const nestedModel = allItemTypes.find((it) => it.id === modelId);
618
+ if (nestedModel) {
619
+ nestedModels.push(nestedModel);
620
+ // Do NOT recurse into models, only into blocks
621
+ }
622
+ }
623
+ }
624
+ // Find blocks referenced via block fields, then recursively find models in those blocks
625
+ const referencedBlockIds = blockModelIdsReferencedInField(field);
626
+ for (const blockId of referencedBlockIds) {
627
+ const nestedBlock = allItemTypes.find((it) => it.id === blockId);
628
+ if (nestedBlock) {
629
+ // Recursively find models nested in this block
630
+ yield findNestedModels(nestedBlock, new Set(alreadyExplored));
631
+ }
632
+ }
633
+ }
634
+ });
635
+ // Find nested models for each provided item type
636
+ for (const itemType of itemTypes) {
637
+ yield findNestedModels(itemType);
638
+ }
639
+ return nestedModels;
640
+ });
641
+ }
642
+ /**
643
+ * Gets all models that are directly or indirectly nested/referenced within the given item types.
644
+ * This method recursively traverses the schema to find all models that are referenced
645
+ * by the provided item types through link fields, either directly or indirectly through
646
+ * other referenced blocks.
647
+ *
648
+ * @param itemTypes - Array of item types to find nested models for
649
+ * @returns Promise that resolves to array of all models nested in these item types
650
+ */
651
+ getNestedModels(itemTypes) {
652
+ return __awaiter(this, void 0, void 0, function* () {
653
+ const rawResult = yield this.getRawNestedModels(itemTypes);
654
+ return deserializeResponseBody({
655
+ data: rawResult,
656
+ });
657
+ });
658
+ }
528
659
  }
529
660
  //# sourceMappingURL=schemaRepository.js.map