@simplysm/service-server 13.0.0-beta.6
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/.cache/typecheck-node.tsbuildinfo +1 -0
- package/README.md +587 -0
- package/dist/auth/auth-token-payload.js +1 -0
- package/dist/auth/auth-token-payload.js.map +7 -0
- package/dist/auth/auth.decorators.js +46 -0
- package/dist/auth/auth.decorators.js.map +7 -0
- package/dist/auth/jwt-manager.js +35 -0
- package/dist/auth/jwt-manager.js.map +7 -0
- package/dist/core/service-base.js +47 -0
- package/dist/core/service-base.js.map +7 -0
- package/dist/core/service-executor.js +46 -0
- package/dist/core/service-executor.js.map +7 -0
- package/dist/core-common/src/common.types.d.ts +74 -0
- package/dist/core-common/src/common.types.d.ts.map +1 -0
- package/dist/core-common/src/env.d.ts +6 -0
- package/dist/core-common/src/env.d.ts.map +1 -0
- package/dist/core-common/src/errors/argument-error.d.ts +25 -0
- package/dist/core-common/src/errors/argument-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/not-implemented-error.d.ts +29 -0
- package/dist/core-common/src/errors/not-implemented-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/sd-error.d.ts +27 -0
- package/dist/core-common/src/errors/sd-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/timeout-error.d.ts +31 -0
- package/dist/core-common/src/errors/timeout-error.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.d.ts +15 -0
- package/dist/core-common/src/extensions/arr-ext.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +19 -0
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.types.d.ts +215 -0
- package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +1 -0
- package/dist/core-common/src/extensions/map-ext.d.ts +57 -0
- package/dist/core-common/src/extensions/map-ext.d.ts.map +1 -0
- package/dist/core-common/src/extensions/set-ext.d.ts +36 -0
- package/dist/core-common/src/extensions/set-ext.d.ts.map +1 -0
- package/dist/core-common/src/features/debounce-queue.d.ts +53 -0
- package/dist/core-common/src/features/debounce-queue.d.ts.map +1 -0
- package/dist/core-common/src/features/event-emitter.d.ts +66 -0
- package/dist/core-common/src/features/event-emitter.d.ts.map +1 -0
- package/dist/core-common/src/features/serial-queue.d.ts +47 -0
- package/dist/core-common/src/features/serial-queue.d.ts.map +1 -0
- package/dist/core-common/src/index.d.ts +32 -0
- package/dist/core-common/src/index.d.ts.map +1 -0
- package/dist/core-common/src/types/date-only.d.ts +152 -0
- package/dist/core-common/src/types/date-only.d.ts.map +1 -0
- package/dist/core-common/src/types/date-time.d.ts +96 -0
- package/dist/core-common/src/types/date-time.d.ts.map +1 -0
- package/dist/core-common/src/types/lazy-gc-map.d.ts +80 -0
- package/dist/core-common/src/types/lazy-gc-map.d.ts.map +1 -0
- package/dist/core-common/src/types/time.d.ts +68 -0
- package/dist/core-common/src/types/time.d.ts.map +1 -0
- package/dist/core-common/src/types/uuid.d.ts +35 -0
- package/dist/core-common/src/types/uuid.d.ts.map +1 -0
- package/dist/core-common/src/utils/bytes.d.ts +51 -0
- package/dist/core-common/src/utils/bytes.d.ts.map +1 -0
- package/dist/core-common/src/utils/date-format.d.ts +90 -0
- package/dist/core-common/src/utils/date-format.d.ts.map +1 -0
- package/dist/core-common/src/utils/json.d.ts +34 -0
- package/dist/core-common/src/utils/json.d.ts.map +1 -0
- package/dist/core-common/src/utils/num.d.ts +60 -0
- package/dist/core-common/src/utils/num.d.ts.map +1 -0
- package/dist/core-common/src/utils/obj.d.ts +258 -0
- package/dist/core-common/src/utils/obj.d.ts.map +1 -0
- package/dist/core-common/src/utils/path.d.ts +23 -0
- package/dist/core-common/src/utils/path.d.ts.map +1 -0
- package/dist/core-common/src/utils/primitive.d.ts +18 -0
- package/dist/core-common/src/utils/primitive.d.ts.map +1 -0
- package/dist/core-common/src/utils/str.d.ts +103 -0
- package/dist/core-common/src/utils/str.d.ts.map +1 -0
- package/dist/core-common/src/utils/template-strings.d.ts +84 -0
- package/dist/core-common/src/utils/template-strings.d.ts.map +1 -0
- package/dist/core-common/src/utils/transferable.d.ts +47 -0
- package/dist/core-common/src/utils/transferable.d.ts.map +1 -0
- package/dist/core-common/src/utils/wait.d.ts +19 -0
- package/dist/core-common/src/utils/wait.d.ts.map +1 -0
- package/dist/core-common/src/utils/xml.d.ts +36 -0
- package/dist/core-common/src/utils/xml.d.ts.map +1 -0
- package/dist/core-common/src/zip/sd-zip.d.ts +80 -0
- package/dist/core-common/src/zip/sd-zip.d.ts.map +1 -0
- package/dist/core-node/src/features/fs-watcher.d.ts +70 -0
- package/dist/core-node/src/features/fs-watcher.d.ts.map +1 -0
- package/dist/core-node/src/index.d.ts +7 -0
- package/dist/core-node/src/index.d.ts.map +1 -0
- package/dist/core-node/src/utils/fs.d.ts +197 -0
- package/dist/core-node/src/utils/fs.d.ts.map +1 -0
- package/dist/core-node/src/utils/path.d.ts +75 -0
- package/dist/core-node/src/utils/path.d.ts.map +1 -0
- package/dist/core-node/src/worker/create-worker.d.ts +23 -0
- package/dist/core-node/src/worker/create-worker.d.ts.map +1 -0
- package/dist/core-node/src/worker/types.d.ts +67 -0
- package/dist/core-node/src/worker/types.d.ts.map +1 -0
- package/dist/core-node/src/worker/worker.d.ts +27 -0
- package/dist/core-node/src/worker/worker.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +7 -0
- package/dist/legacy/v1-auto-update-handler.js +38 -0
- package/dist/legacy/v1-auto-update-handler.js.map +7 -0
- package/dist/orm-common/src/db-context.d.ts +669 -0
- package/dist/orm-common/src/db-context.d.ts.map +1 -0
- package/dist/orm-common/src/errors/db-transaction-error.d.ts +51 -0
- package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +1 -0
- package/dist/orm-common/src/exec/executable.d.ts +79 -0
- package/dist/orm-common/src/exec/executable.d.ts.map +1 -0
- package/dist/orm-common/src/exec/queryable.d.ts +708 -0
- package/dist/orm-common/src/exec/queryable.d.ts.map +1 -0
- package/dist/orm-common/src/exec/search-parser.d.ts +72 -0
- package/dist/orm-common/src/exec/search-parser.d.ts.map +1 -0
- package/dist/orm-common/src/expr/expr-unit.d.ts +25 -0
- package/dist/orm-common/src/expr/expr-unit.d.ts.map +1 -0
- package/dist/orm-common/src/expr/expr.d.ts +1369 -0
- package/dist/orm-common/src/expr/expr.d.ts.map +1 -0
- package/dist/orm-common/src/index.d.ts +32 -0
- package/dist/orm-common/src/index.d.ts.map +1 -0
- package/dist/orm-common/src/models/system-migration.d.ts +10 -0
- package/dist/orm-common/src/models/system-migration.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +95 -0
- package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +66 -0
- package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +84 -0
- package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +45 -0
- package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +84 -0
- package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +54 -0
- package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +84 -0
- package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +52 -0
- package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/query-builder.d.ts +7 -0
- package/dist/orm-common/src/query-builder/query-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/factory/column-builder.d.ts +394 -0
- package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/factory/index-builder.d.ts +151 -0
- package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/factory/relation-builder.d.ts +337 -0
- package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/procedure-builder.d.ts +202 -0
- package/dist/orm-common/src/schema/procedure-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/table-builder.d.ts +259 -0
- package/dist/orm-common/src/schema/table-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/view-builder.d.ts +183 -0
- package/dist/orm-common/src/schema/view-builder.d.ts.map +1 -0
- package/dist/orm-common/src/types/column.d.ts +172 -0
- package/dist/orm-common/src/types/column.d.ts.map +1 -0
- package/dist/orm-common/src/types/db.d.ts +175 -0
- package/dist/orm-common/src/types/db.d.ts.map +1 -0
- package/dist/orm-common/src/types/expr.d.ts +474 -0
- package/dist/orm-common/src/types/expr.d.ts.map +1 -0
- package/dist/orm-common/src/types/query-def.d.ts +351 -0
- package/dist/orm-common/src/types/query-def.d.ts.map +1 -0
- package/dist/orm-common/src/utils/result-parser.d.ts +38 -0
- package/dist/orm-common/src/utils/result-parser.d.ts.map +1 -0
- package/dist/orm-node/src/connections/mssql-db-conn.d.ts +44 -0
- package/dist/orm-node/src/connections/mssql-db-conn.d.ts.map +1 -0
- package/dist/orm-node/src/connections/mysql-db-conn.d.ts +38 -0
- package/dist/orm-node/src/connections/mysql-db-conn.d.ts.map +1 -0
- package/dist/orm-node/src/connections/postgresql-db-conn.d.ts +39 -0
- package/dist/orm-node/src/connections/postgresql-db-conn.d.ts.map +1 -0
- package/dist/orm-node/src/db-conn-factory.d.ts +25 -0
- package/dist/orm-node/src/db-conn-factory.d.ts.map +1 -0
- package/dist/orm-node/src/index.d.ts +9 -0
- package/dist/orm-node/src/index.d.ts.map +1 -0
- package/dist/orm-node/src/node-db-context-executor.d.ts +77 -0
- package/dist/orm-node/src/node-db-context-executor.d.ts.map +1 -0
- package/dist/orm-node/src/pooled-db-conn.d.ts +79 -0
- package/dist/orm-node/src/pooled-db-conn.d.ts.map +1 -0
- package/dist/orm-node/src/sd-orm.d.ts +78 -0
- package/dist/orm-node/src/sd-orm.d.ts.map +1 -0
- package/dist/orm-node/src/types/db-conn.d.ts +159 -0
- package/dist/orm-node/src/types/db-conn.d.ts.map +1 -0
- package/dist/protocol/protocol-wrapper.js +64 -0
- package/dist/protocol/protocol-wrapper.js.map +7 -0
- package/dist/service-common/src/index.d.ts +8 -0
- package/dist/service-common/src/index.d.ts.map +1 -0
- package/dist/service-common/src/protocol/protocol.types.d.ts +100 -0
- package/dist/service-common/src/protocol/protocol.types.d.ts.map +1 -0
- package/dist/service-common/src/protocol/service-protocol.d.ts +63 -0
- package/dist/service-common/src/protocol/service-protocol.d.ts.map +1 -0
- package/dist/service-common/src/service-types/auto-update-service.types.d.ts +17 -0
- package/dist/service-common/src/service-types/auto-update-service.types.d.ts.map +1 -0
- package/dist/service-common/src/service-types/crypto-service.types.d.ts +22 -0
- package/dist/service-common/src/service-types/crypto-service.types.d.ts.map +1 -0
- package/dist/service-common/src/service-types/orm-service.types.d.ts +30 -0
- package/dist/service-common/src/service-types/orm-service.types.d.ts.map +1 -0
- package/dist/service-common/src/service-types/smtp-service.types.d.ts +55 -0
- package/dist/service-common/src/service-types/smtp-service.types.d.ts.map +1 -0
- package/dist/service-common/src/types.d.ts +43 -0
- package/dist/service-common/src/types.d.ts.map +1 -0
- package/dist/service-server/src/auth/auth-token-payload.d.ts +6 -0
- package/dist/service-server/src/auth/auth-token-payload.d.ts.map +1 -0
- package/dist/service-server/src/auth/auth.decorators.d.ts +19 -0
- package/dist/service-server/src/auth/auth.decorators.d.ts.map +1 -0
- package/dist/service-server/src/auth/jwt-manager.d.ts +10 -0
- package/dist/service-server/src/auth/jwt-manager.d.ts.map +1 -0
- package/dist/service-server/src/core/service-base.d.ts +19 -0
- package/dist/service-server/src/core/service-base.d.ts.map +1 -0
- package/dist/service-server/src/core/service-executor.d.ts +18 -0
- package/dist/service-server/src/core/service-executor.d.ts.map +1 -0
- package/dist/service-server/src/index.d.ts +20 -0
- package/dist/service-server/src/index.d.ts.map +1 -0
- package/dist/service-server/src/legacy/v1-auto-update-handler.d.ts +8 -0
- package/dist/service-server/src/legacy/v1-auto-update-handler.d.ts.map +1 -0
- package/dist/service-server/src/protocol/protocol-wrapper.d.ts +25 -0
- package/dist/service-server/src/protocol/protocol-wrapper.d.ts.map +1 -0
- package/dist/service-server/src/service-server.d.ts +29 -0
- package/dist/service-server/src/service-server.d.ts.map +1 -0
- package/dist/service-server/src/services/auto-update-service.d.ts +9 -0
- package/dist/service-server/src/services/auto-update-service.d.ts.map +1 -0
- package/dist/service-server/src/services/crypto-service.d.ts +10 -0
- package/dist/service-server/src/services/crypto-service.d.ts.map +1 -0
- package/dist/service-server/src/services/orm-service.d.ts +28 -0
- package/dist/service-server/src/services/orm-service.d.ts.map +1 -0
- package/dist/service-server/src/services/smtp-service.d.ts +7 -0
- package/dist/service-server/src/services/smtp-service.d.ts.map +1 -0
- package/dist/service-server/src/transport/http/http-request-handler.d.ts +12 -0
- package/dist/service-server/src/transport/http/http-request-handler.d.ts.map +1 -0
- package/dist/service-server/src/transport/http/static-file-handler.d.ts +9 -0
- package/dist/service-server/src/transport/http/static-file-handler.d.ts.map +1 -0
- package/dist/service-server/src/transport/http/upload-handler.d.ts +10 -0
- package/dist/service-server/src/transport/http/upload-handler.d.ts.map +1 -0
- package/dist/service-server/src/transport/socket/service-socket.d.ts +41 -0
- package/dist/service-server/src/transport/socket/service-socket.d.ts.map +1 -0
- package/dist/service-server/src/transport/socket/websocket-handler.d.ts +18 -0
- package/dist/service-server/src/transport/socket/websocket-handler.d.ts.map +1 -0
- package/dist/service-server/src/types/server-options.d.ts +15 -0
- package/dist/service-server/src/types/server-options.d.ts.map +1 -0
- package/dist/service-server/src/utils/config-manager.d.ts +7 -0
- package/dist/service-server/src/utils/config-manager.d.ts.map +1 -0
- package/dist/service-server/src/workers/service-protocol.worker.d.ts +15 -0
- package/dist/service-server/src/workers/service-protocol.worker.d.ts.map +1 -0
- package/dist/service-server.js +165 -0
- package/dist/service-server.js.map +7 -0
- package/dist/services/auto-update-service.js +39 -0
- package/dist/services/auto-update-service.js.map +7 -0
- package/dist/services/crypto-service.js +32 -0
- package/dist/services/crypto-service.js.map +7 -0
- package/dist/services/orm-service.js +186 -0
- package/dist/services/orm-service.js.map +7 -0
- package/dist/services/smtp-service.js +47 -0
- package/dist/services/smtp-service.js.map +7 -0
- package/dist/transport/http/http-request-handler.js +57 -0
- package/dist/transport/http/http-request-handler.js.map +7 -0
- package/dist/transport/http/static-file-handler.js +57 -0
- package/dist/transport/http/static-file-handler.js.map +7 -0
- package/dist/transport/http/upload-handler.js +71 -0
- package/dist/transport/http/upload-handler.js.map +7 -0
- package/dist/transport/socket/service-socket.js +105 -0
- package/dist/transport/socket/service-socket.js.map +7 -0
- package/dist/transport/socket/websocket-handler.js +144 -0
- package/dist/transport/socket/websocket-handler.js.map +7 -0
- package/dist/types/server-options.js +1 -0
- package/dist/types/server-options.js.map +7 -0
- package/dist/utils/config-manager.js +62 -0
- package/dist/utils/config-manager.js.map +7 -0
- package/dist/workers/service-protocol.worker.js +15 -0
- package/dist/workers/service-protocol.worker.js.map +7 -0
- package/package.json +44 -0
- package/src/auth/auth-token-payload.ts +6 -0
- package/src/auth/auth.decorators.ts +71 -0
- package/src/auth/jwt-manager.ts +44 -0
- package/src/core/service-base.ts +66 -0
- package/src/core/service-executor.ts +70 -0
- package/src/index.ts +38 -0
- package/src/legacy/v1-auto-update-handler.ts +64 -0
- package/src/protocol/protocol-wrapper.ts +75 -0
- package/src/service-server.ts +235 -0
- package/src/services/auto-update-service.ts +52 -0
- package/src/services/crypto-service.ts +38 -0
- package/src/services/orm-service.ts +170 -0
- package/src/services/smtp-service.ts +58 -0
- package/src/transport/http/http-request-handler.ts +69 -0
- package/src/transport/http/static-file-handler.ts +66 -0
- package/src/transport/http/upload-handler.ts +87 -0
- package/src/transport/socket/service-socket.ts +136 -0
- package/src/transport/socket/websocket-handler.ts +181 -0
- package/src/types/server-options.ts +15 -0
- package/src/utils/config-manager.ts +70 -0
- package/src/workers/service-protocol.worker.ts +15 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Dialect, IsolationLevel, QueryDef, ColumnMeta, ResultMeta } from "@simplysm/orm-common";
|
|
2
|
+
/**
|
|
3
|
+
* ORM 서비스 인터페이스
|
|
4
|
+
*
|
|
5
|
+
* 데이터베이스 연결, 트랜잭션 관리, 쿼리 실행 기능을 제공한다.
|
|
6
|
+
* MySQL, MSSQL, PostgreSQL을 지원한다.
|
|
7
|
+
*/
|
|
8
|
+
export interface OrmService {
|
|
9
|
+
getInfo(opt: DbConnOptions & {
|
|
10
|
+
configName: string;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
dialect: Dialect;
|
|
13
|
+
database?: string;
|
|
14
|
+
schema?: string;
|
|
15
|
+
}>;
|
|
16
|
+
connect(opt: Record<string, unknown>): Promise<number>;
|
|
17
|
+
close(connId: number): Promise<void>;
|
|
18
|
+
beginTransaction(connId: number, isolationLevel?: IsolationLevel): Promise<void>;
|
|
19
|
+
commitTransaction(connId: number): Promise<void>;
|
|
20
|
+
rollbackTransaction(connId: number): Promise<void>;
|
|
21
|
+
executeParametrized(connId: number, query: string, params?: unknown[]): Promise<unknown[][]>;
|
|
22
|
+
executeDefs(connId: number, defs: QueryDef[], options?: (ResultMeta | undefined)[]): Promise<unknown[][]>;
|
|
23
|
+
bulkInsert(connId: number, tableName: string, columnDefs: Record<string, ColumnMeta>, records: Record<string, unknown>[]): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
/** 데이터베이스 연결 옵션 */
|
|
26
|
+
export type DbConnOptions = {
|
|
27
|
+
configName?: string;
|
|
28
|
+
config?: Record<string, unknown>;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=orm-service.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orm-service.types.d.ts","sourceRoot":"","sources":["../../../../../service-common/src/service-types/orm-service.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEtG;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAC5D,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjF,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE1G,UAAU,CACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,mBAAmB;AACnB,MAAM,MAAM,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Bytes } from "@simplysm/core-common";
|
|
2
|
+
/**
|
|
3
|
+
* SMTP 서비스 인터페이스
|
|
4
|
+
*
|
|
5
|
+
* 이메일 전송 기능을 제공한다.
|
|
6
|
+
* 직접 SMTP 설정을 전달하거나 서버 설정을 참조하여 전송할 수 있다.
|
|
7
|
+
*/
|
|
8
|
+
export interface SmtpService {
|
|
9
|
+
/** 직접 SMTP 설정으로 이메일 전송 */
|
|
10
|
+
send(options: SmtpSendOption): Promise<string>;
|
|
11
|
+
/** 서버 설정 참조로 이메일 전송 */
|
|
12
|
+
sendByConfig(configName: string, options: SmtpSendByConfigOption): Promise<string>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 이메일 첨부 파일 정보
|
|
16
|
+
*
|
|
17
|
+
* content 또는 path 중 하나를 지정해야 한다.
|
|
18
|
+
*/
|
|
19
|
+
export interface SmtpSendAttachment {
|
|
20
|
+
/** 첨부 파일명 */
|
|
21
|
+
filename: string;
|
|
22
|
+
/** 파일 내용 (바이너리) */
|
|
23
|
+
content?: Bytes;
|
|
24
|
+
/** 서버 내 파일 경로 */
|
|
25
|
+
path?: string;
|
|
26
|
+
/** MIME 타입 (예: "application/pdf") */
|
|
27
|
+
contentType?: string;
|
|
28
|
+
}
|
|
29
|
+
/** SMTP 연결 옵션 (공통) */
|
|
30
|
+
export interface SmtpConnectionOptions {
|
|
31
|
+
host: string;
|
|
32
|
+
port?: number;
|
|
33
|
+
secure?: boolean;
|
|
34
|
+
user?: string;
|
|
35
|
+
pass?: string;
|
|
36
|
+
}
|
|
37
|
+
/** 이메일 내용 옵션 (공통) */
|
|
38
|
+
export interface SmtpEmailContentOptions {
|
|
39
|
+
to: string;
|
|
40
|
+
cc?: string;
|
|
41
|
+
bcc?: string;
|
|
42
|
+
subject: string;
|
|
43
|
+
html: string;
|
|
44
|
+
attachments?: SmtpSendAttachment[];
|
|
45
|
+
}
|
|
46
|
+
export interface SmtpSendByConfigOption extends SmtpEmailContentOptions {
|
|
47
|
+
}
|
|
48
|
+
export interface SmtpSendOption extends SmtpConnectionOptions, SmtpEmailContentOptions {
|
|
49
|
+
from: string;
|
|
50
|
+
}
|
|
51
|
+
export interface SmtpConfig extends SmtpConnectionOptions {
|
|
52
|
+
senderName: string;
|
|
53
|
+
senderEmail?: string;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=smtp-service.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smtp-service.types.d.ts","sourceRoot":"","sources":["../../../../../service-common/src/service-types/smtp-service.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,uBAAuB;IACvB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpF;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sBAAsB;AACtB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAqB;AACrB,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;CAAG;AAE1E,MAAM,WAAW,cAAe,SAAQ,qBAAqB,EAAE,uBAAuB;IACpF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAW,SAAQ,qBAAqB;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 이벤트 리스너 타입 정의용 추상 클래스
|
|
3
|
+
*
|
|
4
|
+
* - 상속만 하면 됨 (프로퍼티 구현 불필요)
|
|
5
|
+
* - $info, $data는 타입 추출용 (런타임 미사용)
|
|
6
|
+
* - eventName은 mangle 안전한 이벤트 식별자
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* export class SharedDataChangeEvent extends ServiceEventListener<
|
|
10
|
+
* { name: string; filter: unknown },
|
|
11
|
+
* (string | number)[] | undefined
|
|
12
|
+
* > {
|
|
13
|
+
* readonly eventName = "SharedDataChangeEvent";
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* // 클라이언트에서 사용
|
|
17
|
+
* await client.addEventListener(
|
|
18
|
+
* SharedDataChangeEvent,
|
|
19
|
+
* { name: "test", filter: null },
|
|
20
|
+
* (data) => console.log(data)
|
|
21
|
+
* );
|
|
22
|
+
*/
|
|
23
|
+
export declare abstract class ServiceEventListener<TInfo, TData> {
|
|
24
|
+
/** mangle 안전한 이벤트 식별자 (상속 시 필수 구현) */
|
|
25
|
+
abstract readonly eventName: string;
|
|
26
|
+
/** 타입 추출용 (런타임 미사용) */
|
|
27
|
+
readonly $info: TInfo;
|
|
28
|
+
readonly $data: TData;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 파일 업로드 결과
|
|
32
|
+
*
|
|
33
|
+
* 서버에 업로드된 파일의 정보를 담는다.
|
|
34
|
+
*/
|
|
35
|
+
export interface ServiceUploadResult {
|
|
36
|
+
/** 서버 내 저장 경로 */
|
|
37
|
+
path: string;
|
|
38
|
+
/** 원본 파일명 */
|
|
39
|
+
filename: string;
|
|
40
|
+
/** 파일 크기 (bytes) */
|
|
41
|
+
size: number;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../service-common/src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,8BAAsB,oBAAoB,CAAC,KAAK,EAAE,KAAK;IACrD,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAEpC,uBAAuB;IACvB,SAAiB,KAAK,EAAE,KAAK,CAAC;IAC9B,SAAiB,KAAK,EAAE,KAAK,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-token-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/auth-token-payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,MAAM,WAAW,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAE,SAAQ,UAAU;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACjB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 인증 권한을 설정하는 데코레이터 (Stage 3 Decorators)
|
|
3
|
+
* - 클래스 레벨: 모든 메소드에 기본 권한 적용
|
|
4
|
+
* - 메소드 레벨: 해당 메소드에만 권한 적용 (클래스 레벨 오버라이드)
|
|
5
|
+
*
|
|
6
|
+
* @param permissions 필요한 권한 목록 (빈 배열: 로그인만 필요)
|
|
7
|
+
*/
|
|
8
|
+
export declare function Authorize(permissions?: string[]): <T extends Function | ((...args: unknown[]) => unknown)>(target: T, context: ClassDecoratorContext | ClassMethodDecoratorContext) => T | void;
|
|
9
|
+
/**
|
|
10
|
+
* 인증 권한 조회
|
|
11
|
+
* - 메소드 레벨 권한 우선
|
|
12
|
+
* - 없으면 클래스 레벨 권한 반환
|
|
13
|
+
*
|
|
14
|
+
* @param ctor 서비스 클래스 생성자
|
|
15
|
+
* @param methodName 메소드 이름 (선택)
|
|
16
|
+
* @returns 권한 목록 또는 undefined (Public API)
|
|
17
|
+
*/
|
|
18
|
+
export declare function getAuthPermissions(ctor: Function, methodName?: string): string[] | undefined;
|
|
19
|
+
//# sourceMappingURL=auth.decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.decorators.d.ts","sourceRoot":"","sources":["../../../../src/auth/auth.decorators.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,WAAW,GAAE,MAAM,EAAO,IACjC,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,EACrE,QAAQ,CAAC,EACT,SAAS,qBAAqB,GAAG,2BAA2B,KAC3D,CAAC,GAAG,IAAI,CAmCZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAM5F"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ServiceServer } from "../service-server";
|
|
2
|
+
import type { AuthTokenPayload } from "./auth-token-payload";
|
|
3
|
+
export declare class JwtManager<TAuthInfo = unknown> {
|
|
4
|
+
private readonly _server;
|
|
5
|
+
constructor(_server: ServiceServer<TAuthInfo>);
|
|
6
|
+
sign(payload: AuthTokenPayload<TAuthInfo>): Promise<string>;
|
|
7
|
+
verify(token: string): Promise<AuthTokenPayload<TAuthInfo>>;
|
|
8
|
+
decode(token: string): AuthTokenPayload<TAuthInfo>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=jwt-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-manager.d.ts","sourceRoot":"","sources":["../../../../src/auth/jwt-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAa,UAAU,CAAC,SAAS,GAAG,OAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC;IAExD,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAa3D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAiBjE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC;CAMnD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ServiceServer } from "../service-server";
|
|
2
|
+
import type { ServiceSocket } from "../transport/socket/service-socket";
|
|
3
|
+
import type { AuthTokenPayload } from "../auth/auth-token-payload";
|
|
4
|
+
export declare abstract class ServiceBase<TAuthInfo = unknown> {
|
|
5
|
+
server: ServiceServer<TAuthInfo>;
|
|
6
|
+
socket?: ServiceSocket;
|
|
7
|
+
http?: {
|
|
8
|
+
clientName: string;
|
|
9
|
+
authTokenPayload?: AuthTokenPayload<TAuthInfo>;
|
|
10
|
+
};
|
|
11
|
+
legacy?: {
|
|
12
|
+
clientName?: string;
|
|
13
|
+
};
|
|
14
|
+
get authInfo(): TAuthInfo | undefined;
|
|
15
|
+
get clientName(): string | undefined;
|
|
16
|
+
get clientPath(): string | undefined;
|
|
17
|
+
getConfig<T>(section: string): Promise<T>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=service-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-base.d.ts","sourceRoot":"","sources":["../../../../src/core/service-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKnE,8BAAsB,WAAW,CAAC,SAAS,GAAG,OAAO;IACnD,MAAM,EAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB,IAAI,CAAC,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;KAChD,CAAC;IAGF,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,IAAI,QAAQ,IAAI,SAAS,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAUnC;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAEK,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAwBhD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ServiceServer } from "../service-server";
|
|
2
|
+
import type { ServiceSocket } from "../transport/socket/service-socket";
|
|
3
|
+
import type { AuthTokenPayload } from "../auth/auth-token-payload";
|
|
4
|
+
export declare class ServiceExecutor {
|
|
5
|
+
private readonly _server;
|
|
6
|
+
constructor(_server: ServiceServer);
|
|
7
|
+
runMethod(def: {
|
|
8
|
+
serviceName: string;
|
|
9
|
+
methodName: string;
|
|
10
|
+
params: unknown[];
|
|
11
|
+
socket?: ServiceSocket;
|
|
12
|
+
http?: {
|
|
13
|
+
clientName: string;
|
|
14
|
+
authTokenPayload?: AuthTokenPayload;
|
|
15
|
+
};
|
|
16
|
+
}): Promise<unknown>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=service-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-executor.d.ts","sourceRoot":"","sources":["../../../../src/core/service-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa;IAE7C,SAAS,CAAC,GAAG,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,OAAO,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,IAAI,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;SAAE,CAAC;KACpE,GAAG,OAAO,CAAC,OAAO,CAAC;CAuDrB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from "./types/server-options";
|
|
2
|
+
export * from "./auth/auth.decorators";
|
|
3
|
+
export * from "./auth/auth-token-payload";
|
|
4
|
+
export * from "./auth/jwt-manager";
|
|
5
|
+
export * from "./core/service-base";
|
|
6
|
+
export * from "./core/service-executor";
|
|
7
|
+
export * from "./transport/socket/websocket-handler";
|
|
8
|
+
export * from "./transport/socket/service-socket";
|
|
9
|
+
export * from "./transport/http/http-request-handler";
|
|
10
|
+
export * from "./transport/http/upload-handler";
|
|
11
|
+
export * from "./transport/http/static-file-handler";
|
|
12
|
+
export * from "./protocol/protocol-wrapper";
|
|
13
|
+
export * from "./services/orm-service";
|
|
14
|
+
export * from "./services/crypto-service";
|
|
15
|
+
export * from "./services/smtp-service";
|
|
16
|
+
export * from "./services/auto-update-service";
|
|
17
|
+
export * from "./utils/config-manager";
|
|
18
|
+
export * from "./legacy/v1-auto-update-handler";
|
|
19
|
+
export * from "./service-server";
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AAGvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAGlD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AAGrD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAG/C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,iCAAiC,CAAC;AAGhD,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WebSocket } from "ws";
|
|
2
|
+
import type { AutoUpdateService } from "../services/auto-update-service";
|
|
3
|
+
/**
|
|
4
|
+
* V1 레거시 클라이언트 처리 (auto-update만 지원)
|
|
5
|
+
* 다른 모든 요청은 업그레이드 유도 에러를 반환합니다.
|
|
6
|
+
*/
|
|
7
|
+
export declare function handleV1Connection(socket: WebSocket, autoUpdateService: AutoUpdateService): void;
|
|
8
|
+
//# sourceMappingURL=v1-auto-update-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1-auto-update-handler.d.ts","sourceRoot":"","sources":["../../../../src/legacy/v1-auto-update-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAmBzE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,QAuCzF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Bytes } from "@simplysm/core-common";
|
|
2
|
+
import type { ServiceMessageDecodeResult, ServiceMessage } from "@simplysm/service-common";
|
|
3
|
+
export declare class ProtocolWrapper {
|
|
4
|
+
private static _worker?;
|
|
5
|
+
private static get worker();
|
|
6
|
+
private readonly _protocol;
|
|
7
|
+
private readonly _SIZE_THRESHOLD;
|
|
8
|
+
/**
|
|
9
|
+
* 메시지 인코딩 (자동 분기 처리)
|
|
10
|
+
*/
|
|
11
|
+
encode(uuid: string, message: ServiceMessage): Promise<{
|
|
12
|
+
chunks: Bytes[];
|
|
13
|
+
totalSize: number;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* 메시지 디코딩 (자동 분기 처리)
|
|
17
|
+
*/
|
|
18
|
+
decode(bytes: Bytes): Promise<ServiceMessageDecodeResult<ServiceMessage>>;
|
|
19
|
+
/**
|
|
20
|
+
* 워커 사용 여부 판단 로직 (Encode)
|
|
21
|
+
*/
|
|
22
|
+
private _shouldUseWorkerForEncode;
|
|
23
|
+
dispose(): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=protocol-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/protocol/protocol-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI3F,qBAAa,eAAe;IAE1B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAkD;IACzE,OAAO,CAAC,MAAM,KAAK,MAAM,GAUxB;IAGD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAGnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAa;IAE7C;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAQpG;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;IAS/E;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC,OAAO;CAGR"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ServiceEventListener } from "@simplysm/service-common";
|
|
2
|
+
import type { Type } from "@simplysm/core-common";
|
|
3
|
+
import { EventEmitter } from "@simplysm/core-common";
|
|
4
|
+
import type { FastifyInstance } from "fastify";
|
|
5
|
+
import type { AuthTokenPayload } from "./auth/auth-token-payload";
|
|
6
|
+
import type { ServiceServerOptions } from "./types/server-options";
|
|
7
|
+
export declare class ServiceServer<TAuthInfo = unknown> extends EventEmitter<{
|
|
8
|
+
ready: void;
|
|
9
|
+
close: void;
|
|
10
|
+
}> {
|
|
11
|
+
readonly options: ServiceServerOptions;
|
|
12
|
+
isOpen: boolean;
|
|
13
|
+
private readonly _serviceExecutor;
|
|
14
|
+
private readonly _jwt;
|
|
15
|
+
private readonly _httpRequestHandler;
|
|
16
|
+
private readonly _staticFileHandler;
|
|
17
|
+
private readonly _uploadHandler;
|
|
18
|
+
private readonly _wsHandler;
|
|
19
|
+
readonly fastify: FastifyInstance;
|
|
20
|
+
constructor(options: ServiceServerOptions);
|
|
21
|
+
listen(): Promise<void>;
|
|
22
|
+
close(): Promise<void>;
|
|
23
|
+
broadcastReload(clientName: string | undefined, changedFileSet: Set<string>): Promise<void>;
|
|
24
|
+
emitEvent<T extends ServiceEventListener<unknown, unknown>>(eventType: Type<T>, infoSelector: (item: T["$info"]) => boolean, data: T["$data"]): Promise<void>;
|
|
25
|
+
generateAuthToken(payload: AuthTokenPayload<TAuthInfo>): Promise<string>;
|
|
26
|
+
verifyAuthToken(token: string): Promise<AuthTokenPayload<TAuthInfo>>;
|
|
27
|
+
private _registerGracefulShutdown;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=service-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-server.d.ts","sourceRoot":"","sources":["../../../src/service-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAA4B,YAAY,EAAO,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAC;AAa/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAOnE,qBAAa,aAAa,CAAC,SAAS,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC;IACnE,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;CACb,CAAC;IAcY,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAblD,MAAM,UAAS;IAEf,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IAExD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkE;IACtG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IAErE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0D;IAErF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;gBAEb,OAAO,EAAE,oBAAoB;IAY5C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA2HvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC;IAK3E,SAAS,CAAC,CAAC,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EAC9D,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAClB,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,EAC3C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAKZ,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAItD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAI1E,OAAO,CAAC,yBAAyB;CAyBlC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AutoUpdateService as AutoUpdateServiceType } from "@simplysm/service-common";
|
|
2
|
+
import { ServiceBase } from "../core/service-base";
|
|
3
|
+
export declare class AutoUpdateService extends ServiceBase implements AutoUpdateServiceType {
|
|
4
|
+
getLastVersion(platform: string): Promise<{
|
|
5
|
+
version: string;
|
|
6
|
+
downloadPath: string;
|
|
7
|
+
} | undefined>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=auto-update-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-update-service.d.ts","sourceRoot":"","sources":["../../../../src/services/auto-update-service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,qBAAqB;IAC3E,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAC3C;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;KACtB,GACD,SAAS,CACZ;CAsCF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Bytes } from "@simplysm/core-common";
|
|
2
|
+
import type { CryptoService as CryptoServiceType } from "@simplysm/service-common";
|
|
3
|
+
import { ServiceBase } from "../core/service-base";
|
|
4
|
+
export declare class CryptoService extends ServiceBase implements CryptoServiceType {
|
|
5
|
+
encrypt(data: string | Bytes): Promise<string>;
|
|
6
|
+
encryptAes(data: Bytes): Promise<string>;
|
|
7
|
+
decryptAes(encText: string): Promise<Bytes>;
|
|
8
|
+
private _getConf;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=crypto-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto-service.d.ts","sourceRoot":"","sources":["../../../../src/services/crypto-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAgB,aAAa,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,qBAAa,aAAc,SAAQ,WAAY,YAAW,iBAAiB;IACnE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9C,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;YAYnC,QAAQ;CAGvB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ColumnMeta, type Dialect, type IsolationLevel, type QueryDef, type ResultMeta } from "@simplysm/orm-common";
|
|
2
|
+
import { ServiceBase } from "../core/service-base";
|
|
3
|
+
import type { OrmService as OrmServiceType, DbConnOptions } from "@simplysm/service-common";
|
|
4
|
+
import type { ServiceSocket } from "../transport/socket/service-socket";
|
|
5
|
+
export declare class OrmService extends ServiceBase implements OrmServiceType {
|
|
6
|
+
private static readonly _socketConns;
|
|
7
|
+
private _getConf;
|
|
8
|
+
get sock(): ServiceSocket;
|
|
9
|
+
private _getConn;
|
|
10
|
+
getInfo(opt: DbConnOptions & {
|
|
11
|
+
configName: string;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
dialect: Dialect;
|
|
14
|
+
database?: string;
|
|
15
|
+
schema?: string;
|
|
16
|
+
}>;
|
|
17
|
+
connect(opt: DbConnOptions & {
|
|
18
|
+
configName: string;
|
|
19
|
+
}): Promise<number>;
|
|
20
|
+
close(connId: number): Promise<void>;
|
|
21
|
+
beginTransaction(connId: number, isolationLevel?: IsolationLevel): Promise<void>;
|
|
22
|
+
commitTransaction(connId: number): Promise<void>;
|
|
23
|
+
rollbackTransaction(connId: number): Promise<void>;
|
|
24
|
+
executeParametrized(connId: number, query: string, params?: unknown[]): Promise<unknown[][]>;
|
|
25
|
+
executeDefs(connId: number, defs: QueryDef[], options?: (ResultMeta | undefined)[]): Promise<unknown[][]>;
|
|
26
|
+
bulkInsert(connId: number, tableName: string, columnDefs: Record<string, ColumnMeta>, records: Record<string, unknown>[]): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=orm-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orm-service.d.ts","sourceRoot":"","sources":["../../../../src/services/orm-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,OAAO,EACZ,KAAK,cAAc,EAEnB,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAMxE,qBACa,UAAW,SAAQ,WAAY,YAAW,cAAc;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAqD;YAE3E,QAAQ;IAQtB,IAAI,IAAI,IAAI,aAAa,CAMxB;IAED,OAAO,CAAC,QAAQ;IASV,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAClE,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IASI,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA2CrE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhF,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAK5F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IA4BzG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;CAIjB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SmtpService as SmtpServiceType, SmtpSendByConfigOption, SmtpSendOption } from "@simplysm/service-common";
|
|
2
|
+
import { ServiceBase } from "../core/service-base";
|
|
3
|
+
export declare class SmtpService extends ServiceBase implements SmtpServiceType {
|
|
4
|
+
send(options: SmtpSendOption): Promise<string>;
|
|
5
|
+
sendByConfig(configName: string, options: SmtpSendByConfigOption): Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=smtp-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smtp-service.d.ts","sourceRoot":"","sources":["../../../../src/services/smtp-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAE9B,sBAAsB,EACtB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,qBAAa,WAAY,SAAQ,WAAY,YAAW,eAAe;IAC/D,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA+B9C,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;CAgBzF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ServiceServer } from "../../service-server";
|
|
2
|
+
import type { ServiceExecutor } from "../../core/service-executor";
|
|
3
|
+
import type { FastifyReply, FastifyRequest } from "fastify";
|
|
4
|
+
import type { JwtManager } from "../../auth/jwt-manager";
|
|
5
|
+
export declare class HttpRequestHandler {
|
|
6
|
+
private readonly _server;
|
|
7
|
+
private readonly _executor;
|
|
8
|
+
private readonly _jwt;
|
|
9
|
+
constructor(_server: ServiceServer, _executor: ServiceExecutor, _jwt: JwtManager);
|
|
10
|
+
handle(req: FastifyRequest, reply: FastifyReply): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=http-request-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-request-handler.d.ts","sourceRoot":"","sources":["../../../../../src/transport/http/http-request-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,UAAU;IAG7B,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;CAuDtD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ServiceServer } from "../../service-server";
|
|
2
|
+
import type { FastifyReply, FastifyRequest } from "fastify";
|
|
3
|
+
export declare class StaticFileHandler {
|
|
4
|
+
private readonly _server;
|
|
5
|
+
constructor(_server: ServiceServer);
|
|
6
|
+
handle(req: FastifyRequest, reply: FastifyReply, urlPath: string): Promise<void>;
|
|
7
|
+
private _responseErrorHtml;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=static-file-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-file-handler.d.ts","sourceRoot":"","sources":["../../../../../src/transport/http/static-file-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAK5D,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa;IAE7C,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CtF,OAAO,CAAC,kBAAkB;CAY3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ServiceServer } from "../../service-server";
|
|
2
|
+
import type { FastifyReply, FastifyRequest } from "fastify";
|
|
3
|
+
import type { JwtManager } from "../../auth/jwt-manager";
|
|
4
|
+
export declare class UploadHandler {
|
|
5
|
+
private readonly _server;
|
|
6
|
+
private readonly _jwt;
|
|
7
|
+
constructor(_server: ServiceServer, _jwt: JwtManager);
|
|
8
|
+
handle(req: FastifyRequest, reply: FastifyReply): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=upload-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-handler.d.ts","sourceRoot":"","sources":["../../../../../src/transport/http/upload-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,UAAU;IAG7B,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAmEtE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { DateTime, EventEmitter } from "@simplysm/core-common";
|
|
2
|
+
import type { FastifyRequest } from "fastify";
|
|
3
|
+
import { WebSocket } from "ws";
|
|
4
|
+
import type { AuthTokenPayload } from "../../auth/auth-token-payload";
|
|
5
|
+
import type { ServiceClientMessage, ServiceServerMessage } from "@simplysm/service-common";
|
|
6
|
+
export declare class ServiceSocket extends EventEmitter<{
|
|
7
|
+
error: Error;
|
|
8
|
+
close: number;
|
|
9
|
+
message: {
|
|
10
|
+
uuid: string;
|
|
11
|
+
msg: ServiceClientMessage;
|
|
12
|
+
};
|
|
13
|
+
}> {
|
|
14
|
+
private readonly _socket;
|
|
15
|
+
private readonly _clientId;
|
|
16
|
+
readonly clientName: string;
|
|
17
|
+
readonly connReq: FastifyRequest;
|
|
18
|
+
private readonly _PING_INTERVAL;
|
|
19
|
+
private readonly _PONG_PACKET;
|
|
20
|
+
private readonly _protocol;
|
|
21
|
+
private readonly _listenerInfos;
|
|
22
|
+
private _isAlive;
|
|
23
|
+
private readonly _pingTimer;
|
|
24
|
+
readonly connectedAtDateTime: DateTime;
|
|
25
|
+
authTokenPayload?: AuthTokenPayload;
|
|
26
|
+
constructor(_socket: WebSocket, _clientId: string, clientName: string, connReq: FastifyRequest);
|
|
27
|
+
close(): void;
|
|
28
|
+
send(uuid: string, msg: ServiceServerMessage): Promise<number>;
|
|
29
|
+
private _send;
|
|
30
|
+
addEventListener(key: string, eventName: string, info: unknown): void;
|
|
31
|
+
removeEventListener(key: string): void;
|
|
32
|
+
getEventListeners(eventName: string): {
|
|
33
|
+
key: string;
|
|
34
|
+
info: unknown;
|
|
35
|
+
}[];
|
|
36
|
+
filterEventTargetKeys(targetKeys: string[]): string[];
|
|
37
|
+
private _onError;
|
|
38
|
+
private _onClose;
|
|
39
|
+
private _onMessage;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=service-socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-socket.d.ts","sourceRoot":"","sources":["../../../../../src/transport/socket/service-socket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAA2B,MAAM,0BAA0B,CAAC;AAIpH,qBAAa,aAAc,SAAQ,YAAY,CAAC;IAC9C,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,oBAAoB,CAAA;KAAE,CAAC;CACtD,CAAC;IAeE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;aACV,UAAU,EAAE,MAAM;aAClB,OAAO,EAAE,cAAc;IAjBzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IAEvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2D;IAE1F,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAE5C,QAAQ,CAAC,mBAAmB,WAAkB;IAE9C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;gBAGjB,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc;IAuBzC,KAAK;IAIC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB;YAIpC,KAAK;IAWnB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAI9D,mBAAmB,CAAC,GAAG,EAAE,MAAM;IAO/B,iBAAiB,CAAC,SAAS,EAAE,MAAM;;;;IAMnC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE;IAI1C,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,QAAQ;YAMF,UAAU;CA2BzB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { WebSocket } from "ws";
|
|
2
|
+
import type { Type } from "@simplysm/core-common";
|
|
3
|
+
import type { ServiceEventListener } from "@simplysm/service-common";
|
|
4
|
+
import type { ServiceExecutor } from "../../core/service-executor";
|
|
5
|
+
import type { JwtManager } from "../../auth/jwt-manager";
|
|
6
|
+
import type { FastifyRequest } from "fastify";
|
|
7
|
+
export declare class WebSocketHandler {
|
|
8
|
+
private readonly _executor;
|
|
9
|
+
private readonly _jwt;
|
|
10
|
+
private readonly _socketMap;
|
|
11
|
+
constructor(_executor: ServiceExecutor, _jwt: JwtManager);
|
|
12
|
+
addSocket(socket: WebSocket, clientId: string, clientName: string, connReq: FastifyRequest): void;
|
|
13
|
+
closeAll(): void;
|
|
14
|
+
broadcastReload(clientName: string | undefined, changedFileSet: Set<string>): Promise<void>;
|
|
15
|
+
emitToServer<T extends ServiceEventListener<unknown, unknown>>(eventType: Type<T>, infoSelector: (item: T["$info"]) => boolean, data: T["$data"]): Promise<void>;
|
|
16
|
+
private _processRequest;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=websocket-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-handler.d.ts","sourceRoot":"","sources":["../../../../../src/transport/socket/websocket-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAwB,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAK9C,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;gBAG5C,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,UAAU;IAGnC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAuC1F,QAAQ;IAMF,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC;IAY3E,YAAY,CAAC,CAAC,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EACjE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAClB,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,EAC3C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;YAsBJ,eAAe;CA8E9B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Type } from "@simplysm/core-common";
|
|
2
|
+
import type { ServiceBase } from "../core/service-base";
|
|
3
|
+
export interface ServiceServerOptions {
|
|
4
|
+
rootPath: string;
|
|
5
|
+
port: number;
|
|
6
|
+
ssl?: {
|
|
7
|
+
pfxBytes: Uint8Array;
|
|
8
|
+
passphrase: string;
|
|
9
|
+
};
|
|
10
|
+
auth?: {
|
|
11
|
+
jwtSecret: string;
|
|
12
|
+
};
|
|
13
|
+
services: Type<ServiceBase>[];
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=server-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-options.d.ts","sourceRoot":"","sources":["../../../../src/types/server-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE;QACJ,QAAQ,EAAE,UAAU,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../../../src/utils/config-manager.ts"],"names":[],"mappings":"AAOA,qBAAa,aAAa;IAExB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAO3B;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAgC;WAEpD,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;mBA0C9C,aAAa;CAOnC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Bytes } from "@simplysm/core-common";
|
|
2
|
+
import type { ServiceMessageDecodeResult, ServiceMessage } from "@simplysm/service-common";
|
|
3
|
+
declare const _default: {
|
|
4
|
+
send<K extends string>(event: K, data?: undefined): void;
|
|
5
|
+
__methods: {
|
|
6
|
+
encode: (uuid: string, message: ServiceMessage) => {
|
|
7
|
+
chunks: Bytes[];
|
|
8
|
+
totalSize: number;
|
|
9
|
+
};
|
|
10
|
+
decode: (bytes: Bytes) => ServiceMessageDecodeResult<ServiceMessage>;
|
|
11
|
+
};
|
|
12
|
+
__events: Record<string, never>;
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|
|
15
|
+
//# sourceMappingURL=service-protocol.worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-protocol.worker.d.ts","sourceRoot":"","sources":["../../../../src/workers/service-protocol.worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;;;;uBAM1E,MAAM,WAAW,cAAc,KAAG;YAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE;wBAGvE,KAAK,KAAG,0BAA0B,CAAC,cAAc,CAAC;;;;AAJpE,wBAOG"}
|