@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 +4 -0
- package/dist/cjs/generated/Client.js +1 -1
- package/dist/cjs/generated/resources/Field.js +2 -6
- package/dist/cjs/generated/resources/Field.js.map +1 -1
- package/dist/cjs/generated/resources/ItemType.js +2 -2
- package/dist/cjs/utilities/schemaRepository.js +131 -0
- package/dist/cjs/utilities/schemaRepository.js.map +1 -1
- package/dist/esm/generated/Client.js +1 -1
- package/dist/esm/generated/resources/Field.d.ts +2 -6
- package/dist/esm/generated/resources/Field.js +2 -6
- package/dist/esm/generated/resources/Field.js.map +1 -1
- package/dist/esm/generated/resources/ItemType.d.ts +2 -2
- package/dist/esm/generated/resources/ItemType.js +2 -2
- package/dist/esm/utilities/schemaRepository.d.ts +42 -2
- package/dist/esm/utilities/schemaRepository.js +132 -1
- package/dist/esm/utilities/schemaRepository.js.map +1 -1
- package/dist/types/generated/resources/Field.d.ts +2 -6
- package/dist/types/generated/resources/ItemType.d.ts +2 -2
- package/dist/types/utilities/schemaRepository.d.ts +42 -2
- package/package.json +3 -3
- package/resources.json +2 -192
- package/src/generated/Client.ts +1 -1
- package/src/generated/resources/Field.ts +2 -6
- package/src/generated/resources/ItemType.ts +2 -2
- package/src/utilities/schemaRepository.ts +167 -9
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.
|
|
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
|
|
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
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAoD;AACpD,sEAA8C;AAI9C,MAAqB,KAAM,SAAQ,sBAAY;IAG7C;;;;;;;OAOG;IACH,MAAM,CACJ,UAA0C,EAC1C,IAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EACtB,KAAK,CAAC,oBAAoB,CAAgC,IAAI,EAAE;YAC9D,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACV,OAAO;gBACP,YAAY;gBACZ,SAAS;gBACT,WAAW;gBACX,YAAY;gBACZ,aAAa;gBACb,YAAY;gBACZ,UAAU;gBACV,MAAM;gBACN,eAAe;gBACf,wBAAwB;aACzB;YACD,aAAa,EAAE,CAAC,UAAU,CAAC;SAC5B,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACd,KAAK,CAAC,uBAAuB,CAAgC,IAAI,CAAC,CACnE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,UAAkB,EAClB,IAAmC;QAEnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAmC;YAC3D,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,eAAe,UAAU,SAAS;YACvC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CACJ,OAAoC,EACpC,IAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EACnB,KAAK,CAAC,oBAAoB,CAAgC,IAAI,EAAE;YAC9D,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACV,eAAe;gBACf,OAAO;gBACP,SAAS;gBACT,WAAW;gBACX,YAAY;gBACZ,aAAa;gBACb,YAAY;gBACZ,UAAU;gBACV,YAAY;gBACZ,MAAM;gBACN,wBAAwB;aACzB;YACD,aAAa,EAAE,CAAC,UAAU,CAAC;SAC5B,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACd,KAAK,CAAC,uBAAuB,CAAgC,IAAI,CAAC,CACnE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,OAAe,EACf,IAAmC;QAEnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAmC;YAC3D,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,WAAW,OAAO,EAAE;YACzB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,UAA0C;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACxD,KAAK,CAAC,uBAAuB,CAAsC,IAAI,CAAC,CACzE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,UAAkB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAyC;YACjE,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,eAAe,UAAU,SAAS;SACxC,CAAC,CAAC;IACL,CAAC;IAED
|
|
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
|
|
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
|
|
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":";;;;;;;;;;;;AAAA,kEAAqE;AAGrE,6EAA8E;AAwB9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,MAAa,gBAAgB;IAY3B;;;OAGG;IACH,YAAY,MAAqB;QAdzB,qBAAgB,GAA2C,IAAI,CAAC;QAChE,sBAAiB,GAAsC,IAAI,GAAG,EAAE,CAAC;QACjE,kBAAa,GAAsC,IAAI,GAAG,EAAE,CAAC;QAC7D,qBAAgB,GAAqC,IAAI,GAAG,EAAE,CAAC;QAC/D,wBAAmB,GAAwC,IAAI,GAAG,EAAE,CAAC;QACrE,mBAAc,GAAyC,IAAI,CAAC;QAC5D,gBAAW,GAAoC,IAAI,GAAG,EAAE,CAAC;QACzD,yBAAoB,GAAoC,IAAI,GAAG,EAAE,CAAC;QAClE,oBAAe,GAAyB,IAAI,CAAC;QAOnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACW,aAAa;;YACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAS,EAAE;oBAClC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBAElE,2BAA2B;oBAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;wBAChC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBAClE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;qBAC/C;oBAED,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAA,CAAC,EAAE,CAAC;aACN;YAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;KAAA;IAED;;;OAGG;IACG,eAAe;;YACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClD,OAAO,IAAA,2CAAuB,EAAsB;gBAClD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,kBAAkB;;YACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAED;;;OAGG;IACG,YAAY;;YAChB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/C,OAAO,IAAA,2CAAuB,EAAsB;gBAClD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,eAAe;;YACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;KAAA;IAED;;;OAGG;IACG,iBAAiB;;YACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,OAAO,IAAA,2CAAuB,EAAsB;gBAClD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,oBAAoB;;YACxB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;KAAA;IAED;;;;;OAKG;IACG,mBAAmB,CAAC,MAAc;;YACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,IAAA,2CAAuB,EAAoB;gBAChD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACG,sBAAsB,CAAC,MAAc;;YACzC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,aAAa,CAAC,CAAC;aACjE;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED;;;;;OAKG;IACG,eAAe,CAAC,EAAU;;YAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,IAAA,2CAAuB,EAAoB;gBAChD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACG,kBAAkB,CAAC,EAAU;;YACjC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;aACxD;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED;;;;;OAKG;IACG,iBAAiB,CACrB,QAAkD;;YAElD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC/C,QAAgC,CACjC,CAAC;YACF,OAAO,IAAA,2CAAuB,EAAmB;gBAC/C,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACG,oBAAoB,CACxB,QAA8B;;YAE9B,6CAA6C;YAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,YAAY,EAAE;gBAChB,OAAO,YAAY,CAAC;aACrB;YAED,6BAA6B;YAC7B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAE/C,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;;;;OAKG;IACG,oBAAoB,CACxB,QAAkD;;YAElD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAClD,QAAgC,CACjC,CAAC;YACF,OAAO,IAAA,2CAAuB,EAAsB;gBAClD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACG,uBAAuB,CAC3B,QAA8B;;YAE9B,gDAAgD;YAChD,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,eAAe,EAAE;gBACnB,OAAO,eAAe,CAAC;aACxB;YAED,gCAAgC;YAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAC7D,QAAQ,CAAC,EAAE,CACZ,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAErD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAED;;;;OAIG;IACW,WAAW;;YACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG,CAAC,GAAS,EAAE;oBAChC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAE9D,2BAA2B;oBAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;wBAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;wBACxC,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE;4BAClC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAC3B,MAAM,CAAC,UAAU,CAAC,YAAY,EAC9B,MAAM,CACP,CAAC;yBACH;qBACF;oBAED,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAA,CAAC,EAAE,CAAC;aACN;YAED,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;KAAA;IAED;;;OAGG;IACG,aAAa;;YACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChD,OAAO,IAAA,2CAAuB,EAAoB;gBAChD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,gBAAgB;;YACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED;;;;;OAKG;IACG,aAAa,CAAC,EAAU;;YAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,IAAA,2CAAuB,EAAkB;gBAC9C,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACG,gBAAgB,CAAC,EAAU;;YAC/B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;aACrD;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;;;;OAKG;IACG,sBAAsB,CAAC,WAAmB;;YAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YACpE,OAAO,IAAA,2CAAuB,EAAkB;gBAC9C,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACG,yBAAyB,CAC7B,WAAmB;;YAEnB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,aAAa,CAAC,CAAC;aACxE;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;;;;;;;;;OAUG;IACG,0BAA0B;;YAC9B,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC;aAC7B;YAED,MAAM,QAAQ,GAAG,GAAS,EAAE;gBAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;oBAClD,OAAO,EAAE,8BAA8B;iBACxC,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,EAAE;oBACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;iBAC3C;gBAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,IAAI,EAAgC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAClE,CAAC;gBACF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAC/B,CAAC,IAAI,EAA6B,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAC3D,CAAC;gBAEF,6BAA6B;gBAC7B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACtD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;oBACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAClE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;iBAC/C;gBAED,sDAAsD;gBACtD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;gBAClE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;oBAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;wBACvC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;qBACxC;oBACD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACjD;gBAED,4BAA4B;gBAC5B,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,kBAAkB,EAAE;oBACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAC/C;YACH,CAAC,CAAA,CAAC;YAEF,IAAI,CAAC,eAAe,GAAG,QAAQ,EAAE,CAAC;YAElC,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;KAAA;IAED;;;;;;;;OAQG;IACG,2BAA2B,CAC/B,MAAuD;;YAEvD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAExC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAgC,EAAE,CAAC;YAExD,yEAAyE;YACzE,MAAM,mBAAmB,GAAG,CAC1B,QAA8B,EAC9B,kBAA+B,IAAI,GAAG,EAAE,EACtB,EAAE;gBACpB,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;oBACpC,OAAO,KAAK,CAAC;iBACd;gBAED,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAEzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,MAAM,kBAAkB,GAAG,IAAA,2DAA8B,EAAC,KAAK,CAAC,CAAC;oBAEjE,mEAAmE;oBACnE,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;wBACrD,OAAO,IAAI,CAAC;qBACb;oBAED,kGAAkG;oBAClG,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAC7C,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAE,CACjD,CAAC;oBAEF,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;wBAC1C,IACE,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,EAChE;4BACA,OAAO,IAAI,CAAC;yBACb;qBACF;iBACF;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAA,CAAC;YAEF,gEAAgE;YAChE,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;gBACnC,IAAI,MAAM,mBAAmB,CAAC,QAAQ,CAAC,EAAE;oBACvC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAChC;aACF;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;IAED;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,MAAuD;;YAEvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,IAAA,2CAAuB,EAAsB;gBAClD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAhfD,4CAgfC"}
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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":"AAAA,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAC;AACpD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAI9C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,YAAY;IAG7C;;;;;;;OAOG;IACH,MAAM,CACJ,UAA0C,EAC1C,IAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EACtB,KAAK,CAAC,oBAAoB,CAAgC,IAAI,EAAE;YAC9D,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACV,OAAO;gBACP,YAAY;gBACZ,SAAS;gBACT,WAAW;gBACX,YAAY;gBACZ,aAAa;gBACb,YAAY;gBACZ,UAAU;gBACV,MAAM;gBACN,eAAe;gBACf,wBAAwB;aACzB;YACD,aAAa,EAAE,CAAC,UAAU,CAAC;SAC5B,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACd,KAAK,CAAC,uBAAuB,CAAgC,IAAI,CAAC,CACnE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,UAAkB,EAClB,IAAmC;QAEnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAmC;YAC3D,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,eAAe,UAAU,SAAS;YACvC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CACJ,OAAoC,EACpC,IAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EACnB,KAAK,CAAC,oBAAoB,CAAgC,IAAI,EAAE;YAC9D,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACV,eAAe;gBACf,OAAO;gBACP,SAAS;gBACT,WAAW;gBACX,YAAY;gBACZ,aAAa;gBACb,YAAY;gBACZ,UAAU;gBACV,YAAY;gBACZ,MAAM;gBACN,wBAAwB;aACzB;YACD,aAAa,EAAE,CAAC,UAAU,CAAC;SAC5B,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACd,KAAK,CAAC,uBAAuB,CAAgC,IAAI,CAAC,CACnE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,OAAe,EACf,IAAmC;QAEnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAmC;YAC3D,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,WAAW,OAAO,EAAE;YACzB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,UAA0C;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACxD,KAAK,CAAC,uBAAuB,CAAsC,IAAI,CAAC,CACzE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,UAAkB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAyC;YACjE,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,eAAe,UAAU,SAAS;SACxC,CAAC,CAAC;IACL,CAAC;IAED
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|