@powerhousedao/reactor-api 1.29.13-dev.3 → 1.29.13-dev.4
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/src/package-manager.d.ts +2 -2
- package/dist/src/package-manager.d.ts.map +1 -1
- package/dist/src/package-manager.js +2 -11
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +2 -2
- package/dist/src/subgraphs/manager.d.ts +2 -2
- package/dist/src/subgraphs/manager.d.ts.map +1 -1
- package/dist/src/subgraphs/manager.js +12 -12
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -24,7 +24,7 @@ export declare class PackagesManager implements IPackagesManager {
|
|
|
24
24
|
constructor(options: IPackagesManagerOptions, onError?: ((e: unknown) => void) | undefined);
|
|
25
25
|
init(): Promise<{
|
|
26
26
|
documentModels: DocumentModelModule[];
|
|
27
|
-
subgraphs: Subgraph[]
|
|
27
|
+
subgraphs: Map<string, Subgraph[]>;
|
|
28
28
|
listeners: Listener[];
|
|
29
29
|
} | undefined>;
|
|
30
30
|
private loadPackages;
|
|
@@ -35,7 +35,7 @@ export declare class PackagesManager implements IPackagesManager {
|
|
|
35
35
|
private updateListenersMap;
|
|
36
36
|
private getUniqueListeners;
|
|
37
37
|
onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
|
|
38
|
-
onSubgraphsChange(handler: (subgraphs:
|
|
38
|
+
onSubgraphsChange(handler: (subgraphs: Map<string, Subgraph[]>) => void): void;
|
|
39
39
|
onListenersChange(handler: (listeners: Record<string, Listener[]>) => void): void;
|
|
40
40
|
}
|
|
41
41
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/package-manager.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAGF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,UAAU,gBAAgB;IACxB,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAU/E,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB;AAmDD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/package-manager.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAGF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,UAAU,gBAAgB;IACxB,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAU/E,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB;AAmDD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,qBAAa,eAAgB,YAAW,gBAAgB;IAYpD,SAAS,CAAC,OAAO,EAAE,uBAAuB;IAC1C,SAAS,CAAC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI;IAZ1C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAIf;gBAGO,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,aAAA;IAW7B,IAAI;;;;;YAQH,YAAY;YAkBZ,kBAAkB;IAkBhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAU1B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,GACpD,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,GACvD,IAAI;CAGR"}
|
|
@@ -78,15 +78,6 @@ export function getUniqueDocumentModels(...documentModels) {
|
|
|
78
78
|
}
|
|
79
79
|
return Array.from(uniqueModels.values());
|
|
80
80
|
}
|
|
81
|
-
function getUniqueSubgraphs(subgraphs) {
|
|
82
|
-
const uniqueSubgraphs = new Map();
|
|
83
|
-
for (const subgraphss of subgraphs) {
|
|
84
|
-
for (const subgraph of subgraphss) {
|
|
85
|
-
uniqueSubgraphs.set(subgraph.name, subgraph);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return Array.from(uniqueSubgraphs.values());
|
|
89
|
-
}
|
|
90
81
|
export class PackagesManager {
|
|
91
82
|
options;
|
|
92
83
|
onError;
|
|
@@ -124,7 +115,7 @@ export class PackagesManager {
|
|
|
124
115
|
this.updateListenersMap(listenersMap);
|
|
125
116
|
return {
|
|
126
117
|
documentModels: getUniqueDocumentModels(...Array.from(packagesMap.values())),
|
|
127
|
-
subgraphs:
|
|
118
|
+
subgraphs: subgraphsMap,
|
|
128
119
|
listeners: this.getUniqueListeners(Array.from(listenersMap.values())),
|
|
129
120
|
};
|
|
130
121
|
}
|
|
@@ -177,7 +168,7 @@ export class PackagesManager {
|
|
|
177
168
|
console.log("> Removed Subgraphs from:", pkg);
|
|
178
169
|
});
|
|
179
170
|
this.subgraphsMap = subgraphsMap;
|
|
180
|
-
this.eventEmitter.emit("subgraphsChange",
|
|
171
|
+
this.eventEmitter.emit("subgraphsChange", subgraphsMap);
|
|
181
172
|
}
|
|
182
173
|
updateListenersMap(listenersMap) {
|
|
183
174
|
const oldPackages = Array.from(this.listenerMap.keys());
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAOnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAKhD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;CACf,CAAC;AAIF,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAOnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAKhD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;CACf,CAAC;AAIF,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC,CAwGd"}
|
package/dist/src/server.js
CHANGED
|
@@ -29,7 +29,7 @@ export async function startAPI(reactor, options) {
|
|
|
29
29
|
...reactor.getDocumentModelModules(),
|
|
30
30
|
...documentModels,
|
|
31
31
|
]));
|
|
32
|
-
const subgraphManager = new SubgraphManager("/", app, reactor, db, analyticsStore);
|
|
32
|
+
const subgraphManager = new SubgraphManager("/", app, reactor, db, analyticsStore, result?.subgraphs ? result.subgraphs : undefined);
|
|
33
33
|
await subgraphManager.init();
|
|
34
34
|
pkgManager.onDocumentModelsChange((documentModels) => {
|
|
35
35
|
const uniqueModels = getUniqueDocumentModels(Object.values(documentModels).flat());
|
|
@@ -37,7 +37,7 @@ export async function startAPI(reactor, options) {
|
|
|
37
37
|
subgraphManager.updateRouter();
|
|
38
38
|
});
|
|
39
39
|
pkgManager.onSubgraphsChange((packagedSubgraphs) => {
|
|
40
|
-
for (const [supergraph, subgraphs] of
|
|
40
|
+
for (const [supergraph, subgraphs] of packagedSubgraphs) {
|
|
41
41
|
subgraphManager.setSupergraph(supergraph, subgraphs);
|
|
42
42
|
}
|
|
43
43
|
});
|
|
@@ -10,10 +10,10 @@ export declare class SubgraphManager {
|
|
|
10
10
|
private readonly reactor;
|
|
11
11
|
private readonly operationalStore;
|
|
12
12
|
private readonly analyticsStore;
|
|
13
|
+
private readonly subgraphs;
|
|
13
14
|
private reactorRouter;
|
|
14
15
|
private contextFields;
|
|
15
|
-
|
|
16
|
-
constructor(path: string, app: express.Express, reactor: IDocumentDriveServer, operationalStore: Db, analyticsStore: IAnalyticsStore);
|
|
16
|
+
constructor(path: string, app: express.Express, reactor: IDocumentDriveServer, operationalStore: Db, analyticsStore: IAnalyticsStore, subgraphs?: Map<string, Subgraph[]>);
|
|
17
17
|
init(): Promise<void>;
|
|
18
18
|
registerSubgraph(subgraph: SubgraphClass, supergraph?: string, path?: string): Promise<void>;
|
|
19
19
|
updateRouter(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,eAAe;;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,eAAe;;IAKxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAT5B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA2B;gBAG7B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe,EAC/B,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAa;IAS3D,IAAI;IAmBJ,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,SAAK,EAAE,IAAI,SAAK;IAsBpE,YAAY;IAQlB,0BAA0B,4BAExB;IAEF,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAItD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;CAyHxD"}
|
|
@@ -17,15 +17,16 @@ export class SubgraphManager {
|
|
|
17
17
|
reactor;
|
|
18
18
|
operationalStore;
|
|
19
19
|
analyticsStore;
|
|
20
|
+
subgraphs;
|
|
20
21
|
reactorRouter = Router();
|
|
21
22
|
contextFields = {};
|
|
22
|
-
subgraphs = {
|
|
23
|
-
constructor(path, app, reactor, operationalStore, analyticsStore) {
|
|
23
|
+
constructor(path, app, reactor, operationalStore, analyticsStore, subgraphs = new Map()) {
|
|
24
24
|
this.path = path;
|
|
25
25
|
this.app = app;
|
|
26
26
|
this.reactor = reactor;
|
|
27
27
|
this.operationalStore = operationalStore;
|
|
28
28
|
this.analyticsStore = analyticsStore;
|
|
29
|
+
this.subgraphs = subgraphs;
|
|
29
30
|
// Setup Default subgraphs
|
|
30
31
|
this.registerSubgraph(AuthSubgraph);
|
|
31
32
|
this.registerSubgraph(SystemSubgraph);
|
|
@@ -53,13 +54,13 @@ export class SubgraphManager {
|
|
|
53
54
|
path,
|
|
54
55
|
});
|
|
55
56
|
await subgraphInstance.onSetup();
|
|
56
|
-
if (!this.subgraphs
|
|
57
|
+
if (!this.subgraphs.get(supergraph)) {
|
|
57
58
|
if (supergraph !== "") {
|
|
58
59
|
console.log(`> Created /${supergraph} supergraph `);
|
|
59
60
|
}
|
|
60
|
-
this.subgraphs
|
|
61
|
+
this.subgraphs.set(supergraph, []);
|
|
61
62
|
}
|
|
62
|
-
this.subgraphs
|
|
63
|
+
this.subgraphs.get(supergraph)?.push(subgraphInstance);
|
|
63
64
|
console.log(`> Registered ${supergraph ? "/" + supergraph : ""}${this.path.endsWith("/") ? this.path : this.path + "/"}${subgraphInstance.name} subgraph.`);
|
|
64
65
|
await this.updateRouter();
|
|
65
66
|
}
|
|
@@ -77,7 +78,7 @@ export class SubgraphManager {
|
|
|
77
78
|
this.contextFields = { ...this.contextFields, ...fields };
|
|
78
79
|
}
|
|
79
80
|
setSupergraph(supergraph, subgraphs) {
|
|
80
|
-
this.subgraphs
|
|
81
|
+
this.subgraphs.set(supergraph, subgraphs);
|
|
81
82
|
this.updateRouter();
|
|
82
83
|
}
|
|
83
84
|
#createApolloServer(schema) {
|
|
@@ -104,7 +105,7 @@ export class SubgraphManager {
|
|
|
104
105
|
async #setupSubgraphs(router) {
|
|
105
106
|
for (const supergraph of Object.keys(this.subgraphs)) {
|
|
106
107
|
const supergraphEndpoints = {};
|
|
107
|
-
for (const subgraph of this.subgraphs[
|
|
108
|
+
for (const subgraph of this.subgraphs.get(supergraph) ?? []) {
|
|
108
109
|
const subgraphConfig = this.#getLocalSubgraphConfig(subgraph.name);
|
|
109
110
|
if (!subgraphConfig)
|
|
110
111
|
continue;
|
|
@@ -174,12 +175,11 @@ export class SubgraphManager {
|
|
|
174
175
|
this.reactorRouter = router;
|
|
175
176
|
}
|
|
176
177
|
#getLocalSubgraphConfig(subgraphName) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
entry = this.subgraphs[supergraph].find((it) => it.name === subgraphName);
|
|
178
|
+
for (const [_, subgraphs] of this.subgraphs) {
|
|
179
|
+
const entry = subgraphs.find((it) => it.name === subgraphName);
|
|
180
180
|
if (entry)
|
|
181
|
-
|
|
181
|
+
return entry;
|
|
182
182
|
}
|
|
183
|
-
return
|
|
183
|
+
return undefined;
|
|
184
184
|
}
|
|
185
185
|
}
|