UNPKG

mira-app-core

Version:

Core library for Mira TypeScript project - provides base functionality without auto-execution

50 lines 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LibraryHandler = void 0; const MessageHandler_1 = require("./MessageHandler"); class LibraryHandler extends MessageHandler_1.MessageHandler { constructor(server, dbService, ws, message) { super(server, dbService, ws, message); } async handle() { try { const { action, payload } = this.message; const { data } = payload; const libraryId = this.dbService.getLibraryId(); let result; switch (action) { case 'open': const obj = this.server.libraries.get(libraryId); // 初次握手,发送服务器所需字段信息 this.server.sendToWebsocket(this.ws, { eventName: 'try_connect', data: { fields: obj.pluginManager.fields, // 所有插件所需字段信息 } }); break; case 'connect': // 第二次握手 this.server.broadcastPluginEvent('client::before_connect', { message: this.message, ws: this.ws, }).then(async (ok) => { if (ok) { const data = await this.dbService.getLibraryInfo(); // 获取所有标签,文件夹等信息 this.server.sendToWebsocket(this.ws, { eventName: 'connected', data: data }); this.server.broadcastPluginEvent('client::connected', { libraryId }); } }); break; case 'close': result = await this.dbService.closeLibrary(); break; default: throw new Error(`Unsupported library action: ${action}`); } this.sendResponse({}); } catch (err) { this.sendError(err instanceof Error ? err.message : 'Library operation failed'); } } } exports.LibraryHandler = LibraryHandler; //# sourceMappingURL=LibraryHandler.js.map