@eventcatalog/sdk 2.8.2 → 2.8.3
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/eventcatalog.js +53 -0
- package/dist/eventcatalog.js.map +1 -1
- package/dist/eventcatalog.mjs +53 -0
- package/dist/eventcatalog.mjs.map +1 -1
- package/dist/index.d.mts +30 -13
- package/dist/index.d.ts +30 -13
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +53 -0
- package/dist/index.mjs.map +1 -1
- package/dist/messages.js.map +1 -1
- package/dist/messages.mjs.map +1 -1
- package/dist/services.d.mts +25 -1
- package/dist/services.d.ts +25 -1
- package/dist/services.js +38 -0
- package/dist/services.js.map +1 -1
- package/dist/services.mjs +37 -0
- package/dist/services.mjs.map +1 -1
- package/dist/types.d.d.mts +2 -0
- package/dist/types.d.d.ts +2 -0
- package/dist/types.d.js.map +1 -1
- package/package.json +1 -1
package/dist/eventcatalog.mjs
CHANGED
|
@@ -575,6 +575,42 @@ var addEntityToService = (directory) => async (id, entity, version) => {
|
|
|
575
575
|
await rmServiceById(directory)(id, version);
|
|
576
576
|
await writeService(pathToResource)(service, { format: extension === ".md" ? "md" : "mdx" });
|
|
577
577
|
};
|
|
578
|
+
var addDataStoreToService = (directory) => async (id, operation, dataStore, version) => {
|
|
579
|
+
let service = await getService(directory)(id, version);
|
|
580
|
+
const servicePath = await getResourcePath(directory, id, version);
|
|
581
|
+
const extension = extname(servicePath?.fullPath || "");
|
|
582
|
+
if (operation === "writesTo") {
|
|
583
|
+
if (service.writesTo === void 0) {
|
|
584
|
+
service.writesTo = [];
|
|
585
|
+
}
|
|
586
|
+
for (let i = 0; i < service.writesTo.length; i++) {
|
|
587
|
+
if (service.writesTo[i].id === dataStore.id && service.writesTo[i].version === dataStore.version) {
|
|
588
|
+
return;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
service.writesTo.push({ id: dataStore.id, version: dataStore.version });
|
|
592
|
+
} else if (operation === "readsFrom") {
|
|
593
|
+
if (service.readsFrom === void 0) {
|
|
594
|
+
service.readsFrom = [];
|
|
595
|
+
}
|
|
596
|
+
for (let i = 0; i < service.readsFrom.length; i++) {
|
|
597
|
+
if (service.readsFrom[i].id === dataStore.id && service.readsFrom[i].version === dataStore.version) {
|
|
598
|
+
return;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
service.readsFrom.push({ id: dataStore.id, version: dataStore.version });
|
|
602
|
+
} else {
|
|
603
|
+
throw new Error(`Operation ${operation} is invalid, only 'writesTo' and 'readsFrom' are supported`);
|
|
604
|
+
}
|
|
605
|
+
const existingResource = await findFileById(directory, id, version);
|
|
606
|
+
if (!existingResource) {
|
|
607
|
+
throw new Error(`Cannot find service ${id} in the catalog`);
|
|
608
|
+
}
|
|
609
|
+
const path5 = existingResource.split(/[\\/]+services/)[0];
|
|
610
|
+
const pathToResource = join6(path5, "services");
|
|
611
|
+
await rmServiceById(directory)(id, version);
|
|
612
|
+
await writeService(pathToResource)(service, { format: extension === ".md" ? "md" : "mdx" });
|
|
613
|
+
};
|
|
578
614
|
|
|
579
615
|
// src/domains.ts
|
|
580
616
|
import fs6 from "fs/promises";
|
|
@@ -1480,6 +1516,23 @@ var index_default = (path5) => {
|
|
|
1480
1516
|
* ```
|
|
1481
1517
|
*/
|
|
1482
1518
|
addEventToService: addMessageToService(join15(path5)),
|
|
1519
|
+
/**
|
|
1520
|
+
* Add a data store to a service by it's id.
|
|
1521
|
+
*
|
|
1522
|
+
* Optionally specify a version to add the data store to a specific version of the service.
|
|
1523
|
+
*
|
|
1524
|
+
* @example
|
|
1525
|
+
* ```ts
|
|
1526
|
+
* import utils from '@eventcatalog/utils';
|
|
1527
|
+
*
|
|
1528
|
+
* const { addDataStoreToService } = utils('/path/to/eventcatalog');
|
|
1529
|
+
*
|
|
1530
|
+
* // adds a new data store (orders-db) that the InventoryService will write to
|
|
1531
|
+
* await addDataStoreToService('InventoryService', 'writesTo', { id: 'orders-db', version: '2.0.0' });
|
|
1532
|
+
*
|
|
1533
|
+
* ```
|
|
1534
|
+
*/
|
|
1535
|
+
addDataStoreToService: addDataStoreToService(join15(path5)),
|
|
1483
1536
|
/**
|
|
1484
1537
|
* Add a command to a service by it's id.
|
|
1485
1538
|
*
|