mira-app-core 1.0.2 → 1.0.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/LibraryStorage.d.ts +9 -4
- package/dist/LibraryStorage.d.ts.map +1 -1
- package/dist/LibraryStorage.js +15 -11
- package/dist/LibraryStorage.js.map +1 -1
- package/dist/ServerPluginManager.d.ts.map +1 -1
- package/dist/ServerPluginManager.js.map +1 -1
- package/dist/WebSocketServer.d.ts.map +1 -1
- package/dist/WebSocketServer.js +10 -10
- package/dist/WebSocketServer.js.map +1 -1
- package/dist/handlers/LibraryHandler.d.ts.map +1 -1
- package/dist/handlers/LibraryHandler.js +2 -1
- package/dist/handlers/LibraryHandler.js.map +1 -1
- package/package.json +37 -37
- package/src/LibraryStorage.ts +25 -22
- package/src/ServerPluginManager.ts +2 -1
- package/src/WebSocketServer.ts +10 -19
- package/src/handlers/LibraryHandler.ts +3 -2
package/dist/LibraryStorage.d.ts
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { LibraryServerDataSQLite } from "mira-storage-sqlite";
|
|
2
2
|
import { MiraBackend } from "./MiraBackend";
|
|
3
|
+
import { ServerPluginManager } from "./ServerPluginManager";
|
|
4
|
+
import { EventManager } from "./event-manager";
|
|
3
5
|
export declare class LibraryStorage {
|
|
4
|
-
|
|
6
|
+
libraries: Record<string, {
|
|
7
|
+
libraryService?: LibraryServerDataSQLite;
|
|
8
|
+
pluginManager?: ServerPluginManager;
|
|
9
|
+
eventManager?: EventManager;
|
|
10
|
+
}>;
|
|
5
11
|
backend: MiraBackend;
|
|
6
12
|
constructor(backend: MiraBackend);
|
|
7
|
-
all(): LibraryServerDataSQLite[];
|
|
8
13
|
load(dbConfig: Record<string, any>): Promise<LibraryServerDataSQLite>;
|
|
9
14
|
loadAll(): Promise<number>;
|
|
10
|
-
|
|
15
|
+
clear(): void;
|
|
16
|
+
get(libraryId: string): Record<string, any> | undefined;
|
|
11
17
|
exists(libraryId: string): boolean;
|
|
12
|
-
find(libraryId: string): LibraryServerDataSQLite | undefined;
|
|
13
18
|
}
|
|
14
19
|
//# sourceMappingURL=LibraryStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LibraryStorage.d.ts","sourceRoot":"","sources":["../src/LibraryStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"LibraryStorage.d.ts","sourceRoot":"","sources":["../src/LibraryStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,cAAc;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QACxB,cAAc,CAAC,EAAE,uBAAuB,CAAC;QACzC,aAAa,CAAC,EAAE,mBAAmB,CAAC;QACpC,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,CAAC,CAAM;IAER,OAAO,EAAE,WAAW,CAAC;gBAET,OAAO,EAAE,WAAW;IAI1B,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAiBrE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAchC,KAAK;IAKL,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;IAIvD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAInC"}
|
package/dist/LibraryStorage.js
CHANGED
|
@@ -4,21 +4,23 @@ exports.LibraryStorage = void 0;
|
|
|
4
4
|
const mira_storage_sqlite_1 = require("mira-storage-sqlite");
|
|
5
5
|
const LibraryList_1 = require("./LibraryList");
|
|
6
6
|
const ServerPluginManager_1 = require("./ServerPluginManager");
|
|
7
|
+
const event_manager_1 = require("./event-manager");
|
|
7
8
|
class LibraryStorage {
|
|
8
9
|
constructor(backend) {
|
|
9
|
-
this.
|
|
10
|
+
this.libraries = {};
|
|
10
11
|
this.backend = backend;
|
|
11
12
|
}
|
|
12
|
-
all() {
|
|
13
|
-
return this.libraryServices;
|
|
14
|
-
}
|
|
15
13
|
async load(dbConfig) {
|
|
14
|
+
const libraryId = dbConfig.id;
|
|
16
15
|
const dbServer = new mira_storage_sqlite_1.LibraryServerDataSQLite(dbConfig, { webSocketServer: this.backend.webSocketServer, httpServer: this.backend.httpServer });
|
|
16
|
+
this.libraries[libraryId] = {
|
|
17
|
+
libraryService: dbServer,
|
|
18
|
+
eventManager: new event_manager_1.EventManager()
|
|
19
|
+
};
|
|
17
20
|
await dbServer.initialize();
|
|
18
21
|
const pluginManager = new ServerPluginManager_1.ServerPluginManager({ server: this.backend.webSocketServer, dbService: dbServer, httpServer: this.backend.httpServer, pluginsDir: dbConfig.pluginsDir });
|
|
22
|
+
this.libraries[libraryId].pluginManager = pluginManager;
|
|
19
23
|
await pluginManager.loadPlugins();
|
|
20
|
-
dbServer.pluginManager = pluginManager;
|
|
21
|
-
this.libraryServices.push(dbServer);
|
|
22
24
|
return dbServer;
|
|
23
25
|
}
|
|
24
26
|
async loadAll() {
|
|
@@ -35,14 +37,16 @@ class LibraryStorage {
|
|
|
35
37
|
}
|
|
36
38
|
return success;
|
|
37
39
|
}
|
|
40
|
+
clear() {
|
|
41
|
+
Object.values(this.libraries).forEach(lib => lib.libraryService.close());
|
|
42
|
+
this.libraries = {};
|
|
43
|
+
}
|
|
38
44
|
get(libraryId) {
|
|
39
|
-
return this.
|
|
45
|
+
return this.libraries[libraryId];
|
|
46
|
+
;
|
|
40
47
|
}
|
|
41
48
|
exists(libraryId) {
|
|
42
|
-
return
|
|
43
|
-
}
|
|
44
|
-
find(libraryId) {
|
|
45
|
-
return this.libraryServices.find((library) => library.getLibraryId() === libraryId);
|
|
49
|
+
return libraryId in this.libraries;
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
exports.LibraryStorage = LibraryStorage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LibraryStorage.js","sourceRoot":"","sources":["../src/LibraryStorage.ts"],"names":[],"mappings":";;;AAAA,6DAA8D;AAE9D,+CAAgD;AAChD,+DAA4D;
|
|
1
|
+
{"version":3,"file":"LibraryStorage.js","sourceRoot":"","sources":["../src/LibraryStorage.ts"],"names":[],"mappings":";;;AAAA,6DAA8D;AAE9D,+CAAgD;AAChD,+DAA4D;AAC5D,mDAA+C;AAE/C,MAAa,cAAc;IASzB,YAAY,OAAoB;QARhC,cAAS,GAIJ,EAAE,CAAC;QAKN,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAA6B;QACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,6CAAuB,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/I,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG;YAC1B,cAAc,EAAE,QAAQ;YACxB,YAAY,EAAE,IAAI,4BAAY,EAAE;SAEjC,CAAA;QACD,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,IAAI,yCAAmB,CAC3C,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CACpI,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC;QACxD,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,OAAO,IAAI,MAAM,IAAA,6BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAe,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAAA,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,SAAiB;QACtB,OAAO,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;IACrC,CAAC;CAEF;AAzDD,wCAyDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerPluginManager.d.ts","sourceRoot":"","sources":["../src/ServerPluginManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ServerPluginManager.d.ts","sourceRoot":"","sources":["../src/ServerPluginManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,mBAAmB;IAC3B,UAAU,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAA+B;IACpD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;gBAEvB,EAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAC,EAAE;QAAC,MAAM,EAAE,mBAAmB,CAAC;QAAC,SAAS,EAAE,kBAAkB,CAAC;QAAC,UAAU,EAAE,cAAc,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC;IAmBtK,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIlC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBlC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI;IAMnD,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAQ/C,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAInC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerPluginManager.js","sourceRoot":"","sources":["../src/ServerPluginManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,uCAAyB;AACzB,2CAA6B;
|
|
1
|
+
{"version":3,"file":"ServerPluginManager.js","sourceRoot":"","sources":["../src/ServerPluginManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketServer.d.ts","sourceRoot":"","sources":["../src/WebSocketServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,SAAS,EAAE,MAAM,IAAI,CAAC;AAM5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,GAAG,CAAC,CAAW;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,EAAE,WAAW,CAAC;gBAET,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAOxC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC5C,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"WebSocketServer.d.ts","sourceRoot":"","sources":["../src/WebSocketServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,SAAS,EAAE,MAAM,IAAI,CAAC;AAM5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,GAAG,CAAC,CAAW;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,EAAE,WAAW,CAAC;gBAET,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAOxC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC5C,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAa3E,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAO3E,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAUrE,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAK/D,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAepF,OAAO,CAAC,gBAAgB;YA4BV,aAAa;IAyC3B,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAWtF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B"}
|
package/dist/WebSocketServer.js
CHANGED
|
@@ -45,9 +45,9 @@ class MiraWebsocketServer {
|
|
|
45
45
|
console.log(`[!]Serving at ws://localhost:${this.port}`);
|
|
46
46
|
}
|
|
47
47
|
broadcastToClients(eventName, eventData) {
|
|
48
|
-
const
|
|
49
|
-
if (
|
|
50
|
-
const eventManager =
|
|
48
|
+
const obj = this.libraries.get(eventData.libraryId);
|
|
49
|
+
if (obj) {
|
|
50
|
+
const eventManager = obj.eventManager;
|
|
51
51
|
if (eventManager) {
|
|
52
52
|
eventManager.broadcast(eventName, new event_manager_1.EventArgs(eventName, eventData));
|
|
53
53
|
}
|
|
@@ -74,9 +74,9 @@ class MiraWebsocketServer {
|
|
|
74
74
|
}
|
|
75
75
|
broadcastPluginEvent(eventName, data) {
|
|
76
76
|
const libraryId = data?.libraryId ?? data?.message?.libraryId;
|
|
77
|
-
const
|
|
78
|
-
if (
|
|
79
|
-
const eventManager =
|
|
77
|
+
const obj = this.libraries.get(libraryId);
|
|
78
|
+
if (obj) {
|
|
79
|
+
const eventManager = obj.eventManager;
|
|
80
80
|
if (eventManager) {
|
|
81
81
|
return eventManager.broadcast(eventName, new event_manager_1.EventArgs(eventName, data));
|
|
82
82
|
}
|
|
@@ -123,15 +123,15 @@ class MiraWebsocketServer {
|
|
|
123
123
|
});
|
|
124
124
|
return;
|
|
125
125
|
}
|
|
126
|
-
const
|
|
127
|
-
if (!
|
|
126
|
+
const obj = this.libraries.get(libraryId);
|
|
127
|
+
if (!obj) {
|
|
128
128
|
this.sendToWebsocket(ws, {
|
|
129
129
|
status: 'error',
|
|
130
130
|
msg: 'Library service not found'
|
|
131
131
|
});
|
|
132
132
|
return;
|
|
133
133
|
}
|
|
134
|
-
const handler = await WebSocketRouter_1.WebSocketRouter.route(this,
|
|
134
|
+
const handler = await WebSocketRouter_1.WebSocketRouter.route(this, obj.libraryService, ws, {
|
|
135
135
|
...row,
|
|
136
136
|
...payload
|
|
137
137
|
});
|
|
@@ -157,7 +157,7 @@ class MiraWebsocketServer {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
async stop() {
|
|
160
|
-
this.libraries.
|
|
160
|
+
this.libraries.clear();
|
|
161
161
|
this.wss?.close();
|
|
162
162
|
console.log('WebSocket server stopped');
|
|
163
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketServer.js","sourceRoot":"","sources":["../src/WebSocketServer.ts"],"names":[],"mappings":";;;AAAA,2BAA4D;AAG5D,uDAAoD;AAEpD,mDAA4C;AAU5C,MAAa,mBAAmB;IAQ9B,YAAY,IAAY,EAAE,OAAoB;QANtC,mBAAc,GAAkB,EAAE,CAAC;QAOzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,OAAO,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,QAAQ,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBACvE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;YAED,kBAAkB;YAClB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE;oBACX,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa;iBAC5C;aACF,CAAC,CAAC;YAEH,OAAO;YACP,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB,CAAC,SAAiB,EAAE,SAA8B;QAClE,MAAM,
|
|
1
|
+
{"version":3,"file":"WebSocketServer.js","sourceRoot":"","sources":["../src/WebSocketServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LibraryHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/LibraryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,qBAAa,cAAe,SAAQ,cAAc;gBAE9C,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,kBAAkB,EAC7B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB;IAKrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"LibraryHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/LibraryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,qBAAa,cAAe,SAAQ,cAAc;gBAE9C,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,kBAAkB,EAC7B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB;IAKrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAuC9B"}
|
|
@@ -14,9 +14,10 @@ class LibraryHandler extends MessageHandler_1.MessageHandler {
|
|
|
14
14
|
let result;
|
|
15
15
|
switch (action) {
|
|
16
16
|
case 'open':
|
|
17
|
+
const obj = this.server.libraries.get(libraryId);
|
|
17
18
|
// 初次握手,发送服务器所需字段信息
|
|
18
19
|
this.server.sendToWebsocket(this.ws, { eventName: 'try_connect', data: {
|
|
19
|
-
fields:
|
|
20
|
+
fields: obj.pluginManager.fields, // 所有插件所需字段信息
|
|
20
21
|
} });
|
|
21
22
|
break;
|
|
22
23
|
case 'connect':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LibraryHandler.js","sourceRoot":"","sources":["../../src/handlers/LibraryHandler.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAMlD,MAAa,cAAe,SAAQ,+BAAc;IAChD,YACE,MAA2B,EAC3B,SAA6B,EAC7B,EAAa,EACb,OAAyB;QAEzB,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YACzB,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"LibraryHandler.js","sourceRoot":"","sources":["../../src/handlers/LibraryHandler.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAMlD,MAAa,cAAe,SAAQ,+BAAc;IAChD,YACE,MAA2B,EAC3B,SAA6B,EAC7B,EAAa,EACb,OAAyB;QAEzB,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,MAAM,CAAC;YACX,QAAO,MAAM,EAAE,CAAC;gBACd,KAAK,MAAM;oBACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACjD,mBAAmB;oBACnB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE;4BACrE,MAAM,EAAE,GAAI,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa;yBACjD,EAAC,CAAC,CAAC;oBACJ,MAAM;gBACR,KAAK,SAAS;oBACZ,SAAS;oBACT,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,wBAAwB,EAAE;wBACzD,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,EAAE,EAAE,IAAI,CAAC,EAAE;qBACZ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;wBACjB,IAAG,EAAE,EAAC,CAAC;4BACL,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,gBAAgB;4BACpE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC7E,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;wBACvE,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;oBAC7C,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;CACF;AAjDD,wCAiDC"}
|
package/package.json
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "mira-app-core",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Core library for Mira TypeScript project - provides base functionality without auto-execution",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "tsc",
|
|
9
|
-
"dev": "ts-node src/index.ts",
|
|
10
|
-
"start:ts": "ts-node src/index.ts"
|
|
11
|
-
},
|
|
12
|
-
"keywords": [
|
|
13
|
-
"mira",
|
|
14
|
-
"core",
|
|
15
|
-
"library"
|
|
16
|
-
],
|
|
17
|
-
"author": "hunmer",
|
|
18
|
-
"license": "ISC",
|
|
19
|
-
"publishConfig": {
|
|
20
|
-
"access": "public"
|
|
21
|
-
},
|
|
22
|
-
"devDependencies": {
|
|
23
|
-
"@types/express": "^5.0.3",
|
|
24
|
-
"@types/ws": "^8.18.1",
|
|
25
|
-
"typescript": "^5.3.3",
|
|
26
|
-
"ts-node": "^10.9.2"
|
|
27
|
-
},
|
|
28
|
-
"dependencies": {
|
|
29
|
-
"@types/multer": "^2.0.0",
|
|
30
|
-
"axios": "^1.11.0",
|
|
31
|
-
"express": "^5.1.0",
|
|
32
|
-
"mira-storage-sqlite": "
|
|
33
|
-
"multer": "^2.0.2",
|
|
34
|
-
"queue": "^7.0.0",
|
|
35
|
-
"ws": "^8.18.3"
|
|
36
|
-
}
|
|
37
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "mira-app-core",
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"description": "Core library for Mira TypeScript project - provides base functionality without auto-execution",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"dev": "ts-node src/index.ts",
|
|
10
|
+
"start:ts": "ts-node src/index.ts"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"mira",
|
|
14
|
+
"core",
|
|
15
|
+
"library"
|
|
16
|
+
],
|
|
17
|
+
"author": "hunmer",
|
|
18
|
+
"license": "ISC",
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@types/express": "^5.0.3",
|
|
24
|
+
"@types/ws": "^8.18.1",
|
|
25
|
+
"typescript": "^5.3.3",
|
|
26
|
+
"ts-node": "^10.9.2"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@types/multer": "^2.0.0",
|
|
30
|
+
"axios": "^1.11.0",
|
|
31
|
+
"express": "^5.1.0",
|
|
32
|
+
"mira-storage-sqlite": "file:D:/mira_typescript/packages/mira-storage-sqlite/",
|
|
33
|
+
"multer": "^2.0.2",
|
|
34
|
+
"queue": "^7.0.0",
|
|
35
|
+
"ws": "^8.18.3"
|
|
36
|
+
}
|
|
37
|
+
}
|
package/src/LibraryStorage.ts
CHANGED
|
@@ -2,28 +2,35 @@ import { LibraryServerDataSQLite } from "mira-storage-sqlite";
|
|
|
2
2
|
import { MiraBackend } from "./MiraBackend";
|
|
3
3
|
import { getLibrarysJson } from './LibraryList';
|
|
4
4
|
import { ServerPluginManager } from "./ServerPluginManager";
|
|
5
|
+
import { EventManager } from "./event-manager";
|
|
5
6
|
|
|
6
7
|
export class LibraryStorage {
|
|
7
|
-
|
|
8
|
+
libraries: Record<string, {
|
|
9
|
+
libraryService?: LibraryServerDataSQLite;
|
|
10
|
+
pluginManager?: ServerPluginManager;
|
|
11
|
+
eventManager?: EventManager;
|
|
12
|
+
}> = {};
|
|
13
|
+
|
|
8
14
|
backend: MiraBackend;
|
|
9
15
|
|
|
10
16
|
constructor(backend: MiraBackend) {
|
|
11
17
|
this.backend = backend;
|
|
12
18
|
}
|
|
13
19
|
|
|
14
|
-
all(): LibraryServerDataSQLite[] {
|
|
15
|
-
return this.libraryServices;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
20
|
async load(dbConfig: Record<string, any>): Promise<LibraryServerDataSQLite> {
|
|
19
|
-
const
|
|
21
|
+
const libraryId = dbConfig.id;
|
|
22
|
+
const dbServer = new LibraryServerDataSQLite(dbConfig, { webSocketServer: this.backend.webSocketServer, httpServer: this.backend.httpServer });
|
|
23
|
+
this.libraries[libraryId] = {
|
|
24
|
+
libraryService: dbServer,
|
|
25
|
+
eventManager: new EventManager()
|
|
26
|
+
|
|
27
|
+
}
|
|
20
28
|
await dbServer.initialize();
|
|
21
29
|
const pluginManager = new ServerPluginManager(
|
|
22
|
-
|
|
23
|
-
|
|
30
|
+
{ server: this.backend.webSocketServer, dbService: dbServer, httpServer: this.backend.httpServer, pluginsDir: dbConfig.pluginsDir }
|
|
31
|
+
);
|
|
32
|
+
this.libraries[libraryId].pluginManager = pluginManager;
|
|
24
33
|
await pluginManager.loadPlugins();
|
|
25
|
-
dbServer.pluginManager = pluginManager;
|
|
26
|
-
this.libraryServices.push(dbServer);
|
|
27
34
|
return dbServer;
|
|
28
35
|
}
|
|
29
36
|
|
|
@@ -34,28 +41,24 @@ export class LibraryStorage {
|
|
|
34
41
|
console.log('loading library ', library.name);
|
|
35
42
|
await this.load(library);
|
|
36
43
|
success++;
|
|
37
|
-
} catch(err){
|
|
44
|
+
} catch (err) {
|
|
38
45
|
console.log(err)
|
|
39
46
|
}
|
|
40
47
|
}
|
|
41
48
|
return success;
|
|
42
49
|
}
|
|
43
50
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
);
|
|
51
|
+
clear() {
|
|
52
|
+
Object.values(this.libraries).forEach(lib => lib.libraryService!.close());
|
|
53
|
+
this.libraries = {};
|
|
48
54
|
}
|
|
49
55
|
|
|
50
|
-
|
|
51
|
-
return this.
|
|
52
|
-
(library) => library.getLibraryId() === libraryId
|
|
53
|
-
);
|
|
56
|
+
get(libraryId: string): Record<string, any> | undefined {
|
|
57
|
+
return this.libraries[libraryId];;
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
return
|
|
60
|
+
exists(libraryId: string): boolean {
|
|
61
|
+
return libraryId in this.libraries;
|
|
58
62
|
}
|
|
59
63
|
|
|
60
|
-
|
|
61
64
|
}
|
|
@@ -4,6 +4,7 @@ import { ILibraryServerData } from 'mira-storage-sqlite';
|
|
|
4
4
|
import { MiraWebsocketServer } from './WebSocketServer';
|
|
5
5
|
import * as fs from 'fs';
|
|
6
6
|
import * as path from 'path';
|
|
7
|
+
import { EventManager } from './event-manager';
|
|
7
8
|
|
|
8
9
|
export interface PluginConfig {
|
|
9
10
|
name: string;
|
|
@@ -56,7 +57,7 @@ export class ServerPluginManager {
|
|
|
56
57
|
const pluginModule = require(pluginPath);
|
|
57
58
|
if (typeof pluginModule.init === 'function') {
|
|
58
59
|
await pluginModule.init(
|
|
59
|
-
{pluginManager: this, server: this.server, dbService: this.dbService, httpServer: this.httpServer})
|
|
60
|
+
{ pluginManager: this, server: this.server, dbService: this.dbService, httpServer: this.httpServer})
|
|
60
61
|
}
|
|
61
62
|
this.loadedPlugins.set(pluginConfig.name, pluginModule);
|
|
62
63
|
console.log(`Loaded plugin: ${pluginConfig.name}`);
|
package/src/WebSocketServer.ts
CHANGED
|
@@ -66,18 +66,15 @@ export class MiraWebsocketServer {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
broadcastToClients(eventName: string, eventData: Record<string, any>): void {
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (dbService) {
|
|
73
|
-
const eventManager = dbService.eventManager;
|
|
69
|
+
const obj = this.libraries.get( eventData.libraryId);
|
|
70
|
+
if (obj) {
|
|
71
|
+
const eventManager = obj.eventManager;
|
|
74
72
|
if (eventManager) {
|
|
75
73
|
eventManager.broadcast(
|
|
76
74
|
eventName,
|
|
77
75
|
new EventArgs(eventName, eventData)
|
|
78
76
|
);
|
|
79
77
|
}
|
|
80
|
-
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
80
|
|
|
@@ -105,18 +102,15 @@ export class MiraWebsocketServer {
|
|
|
105
102
|
|
|
106
103
|
broadcastPluginEvent(eventName: string, data: Record<string, any>): Promise<boolean> {
|
|
107
104
|
const libraryId = data?.libraryId ?? data?.message?.libraryId;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (dbService) {
|
|
112
|
-
const eventManager = dbService.eventManager;
|
|
105
|
+
const obj = this.libraries.get( libraryId);
|
|
106
|
+
if (obj) {
|
|
107
|
+
const eventManager = obj.eventManager;
|
|
113
108
|
if (eventManager) {
|
|
114
109
|
return eventManager.broadcast(
|
|
115
110
|
eventName,
|
|
116
111
|
new EventArgs(eventName, data)
|
|
117
112
|
);
|
|
118
113
|
}
|
|
119
|
-
|
|
120
114
|
}
|
|
121
115
|
return Promise.resolve(false);
|
|
122
116
|
}
|
|
@@ -165,11 +159,8 @@ export class MiraWebsocketServer {
|
|
|
165
159
|
return;
|
|
166
160
|
}
|
|
167
161
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
);
|
|
171
|
-
|
|
172
|
-
if (!dbService) {
|
|
162
|
+
const obj = this.libraries.get( libraryId);
|
|
163
|
+
if (!obj) {
|
|
173
164
|
this.sendToWebsocket(ws, {
|
|
174
165
|
status: 'error',
|
|
175
166
|
msg: 'Library service not found'
|
|
@@ -177,7 +168,7 @@ export class MiraWebsocketServer {
|
|
|
177
168
|
return;
|
|
178
169
|
}
|
|
179
170
|
|
|
180
|
-
const handler = await WebSocketRouter.route(this,
|
|
171
|
+
const handler = await WebSocketRouter.route(this, obj.libraryService, ws, {
|
|
181
172
|
...row,
|
|
182
173
|
...payload
|
|
183
174
|
});
|
|
@@ -205,7 +196,7 @@ export class MiraWebsocketServer {
|
|
|
205
196
|
}
|
|
206
197
|
|
|
207
198
|
async stop(): Promise<void> {
|
|
208
|
-
this.libraries.
|
|
199
|
+
this.libraries.clear();
|
|
209
200
|
this.wss?.close();
|
|
210
201
|
console.log('WebSocket server stopped');
|
|
211
202
|
}
|
|
@@ -18,13 +18,14 @@ export class LibraryHandler extends MessageHandler {
|
|
|
18
18
|
try {
|
|
19
19
|
const { action, payload } = this.message;
|
|
20
20
|
const { data } = payload;
|
|
21
|
-
const libraryId =
|
|
21
|
+
const libraryId = this.dbService.getLibraryId();
|
|
22
22
|
let result;
|
|
23
23
|
switch(action) {
|
|
24
24
|
case 'open':
|
|
25
|
+
const obj = this.server.libraries.get(libraryId);
|
|
25
26
|
// 初次握手,发送服务器所需字段信息
|
|
26
27
|
this.server.sendToWebsocket(this.ws, { eventName: 'try_connect', data: {
|
|
27
|
-
fields:
|
|
28
|
+
fields: obj!.pluginManager.fields, // 所有插件所需字段信息
|
|
28
29
|
}});
|
|
29
30
|
break;
|
|
30
31
|
case 'connect':
|