@simplysm/service-server 14.0.48 → 14.0.51

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.
Files changed (35) hide show
  1. package/README.md +53 -82
  2. package/dist/auth/jwt-manager.js.map +1 -1
  3. package/dist/services/orm-service.js.map +1 -1
  4. package/dist/transport/socket/websocket-handler.js.map +1 -1
  5. package/docs/auth/auth-token-payload.md +18 -0
  6. package/docs/auth/sign-jwt.md +30 -0
  7. package/docs/auth/verify-jwt.md +35 -0
  8. package/docs/core/auth.md +58 -0
  9. package/docs/core/define-service.md +76 -0
  10. package/docs/core/execute-service-method.md +38 -0
  11. package/docs/core/service-context.md +79 -0
  12. package/docs/{legacy.md → legacy/handle-v1-connection.md} +5 -5
  13. package/docs/main/create-service-server.md +32 -0
  14. package/docs/main/service-server.md +106 -0
  15. package/docs/{protocol.md → protocol/server-protocol-wrapper.md} +11 -9
  16. package/docs/services/app-structure-service.md +54 -0
  17. package/docs/services/auto-update-service.md +29 -0
  18. package/docs/services/orm-service.md +38 -0
  19. package/docs/transport-http/handle-http-request.md +33 -0
  20. package/docs/transport-http/handle-static-file.md +29 -0
  21. package/docs/transport-http/handle-upload.md +33 -0
  22. package/docs/transport-socket/service-socket.md +64 -0
  23. package/docs/transport-socket/websocket-handler.md +57 -0
  24. package/docs/{types.md → types/service-server-options.md} +4 -4
  25. package/docs/{utils.md → utils/get-config.md} +8 -6
  26. package/package.json +7 -7
  27. package/src/auth/jwt-manager.ts +1 -1
  28. package/src/services/orm-service.ts +1 -1
  29. package/src/transport/socket/websocket-handler.ts +4 -4
  30. package/docs/auth.md +0 -64
  31. package/docs/core.md +0 -174
  32. package/docs/main.md +0 -88
  33. package/docs/services.md +0 -94
  34. package/docs/transport-http.md +0 -93
  35. package/docs/transport-socket.md +0 -119
package/README.md CHANGED
@@ -12,106 +12,86 @@ npm install @simplysm/service-server
12
12
 
13
13
  ### Main
14
14
 
15
- | API | Type | Description |
16
- |-----|------|-------------|
17
- | `ServiceServer` | class | Fastify 래핑 서버. WebSocket/HTTP 라우팅, JWT 인증, 이벤트 브로드캐스트, graceful shutdown을 처리한다 |
18
- | `ServerEventProxy` | interface | `getEvent()`가 반환하는 서버 이벤트 프록시 (`emit` 메서드만 포함) |
19
- | `createServiceServer` | function | `ServiceServer` 인스턴스를 생성하는 팩토리 함수 |
20
-
21
- → See [docs/main.md](./docs/main.md) for details.
15
+ | Entry | Kind | Description |
16
+ |-------|------|-------------|
17
+ | [`ServiceServer`](./docs/main/service-server.md) | class | Fastify 래핑 서버. WebSocket/HTTP 라우팅, JWT 인증, 이벤트 브로드캐스트, graceful shutdown을 처리한다 |
18
+ | [`ServerEventProxy`](./docs/main/service-server.md#servereventproxy) | interface | `getEvent()`가 반환하는 서버 이벤트 프록시 (`emit` 메서드만 포함) |
19
+ | [`createServiceServer`](./docs/main/create-service-server.md) | function | `ServiceServer` 인스턴스를 생성하는 팩토리 함수 |
22
20
 
23
21
  ### Types
24
22
 
25
- | API | Type | Description |
26
- |-----|------|-------------|
27
- | `ServiceServerOptions` | interface | 서버 생성 옵션 (rootPath, port, ssl, auth, services) |
28
-
29
- → See [docs/types.md](./docs/types.md) for details.
23
+ | Entry | Kind | Description |
24
+ |-------|------|-------------|
25
+ | [`ServiceServerOptions`](./docs/types/service-server-options.md) | interface | 서버 생성 옵션 (rootPath, port, ssl, auth, services) |
30
26
 
31
27
  ### Auth
32
28
 
33
- | API | Type | Description |
34
- |-----|------|-------------|
35
- | `AuthTokenPayload` | interface | JWT 페이로드. `roles`와 `data`를 포함하며 `JWTPayload`를 확장한다 |
36
- | `signJwt` | function | HS256/12시간 유효기간으로 JWT 토큰을 서명한다 |
37
- | `verifyJwt` | function | JWT 토큰을 검증하고 페이로드를 반환한다 |
38
- | `decodeJwt` | function | JWT 토큰을 검증 없이 디코딩한다 |
39
-
40
- → See [docs/auth.md](./docs/auth.md) for details.
29
+ | Entry | Kind | Description |
30
+ |-------|------|-------------|
31
+ | [`AuthTokenPayload`](./docs/auth/auth-token-payload.md) | interface | JWT 페이로드. `roles`와 `data`를 포함하며 `JWTPayload`를 확장한다 |
32
+ | [`signJwt`](./docs/auth/sign-jwt.md) | function | HS256/12시간 유효기간으로 JWT 토큰을 서명한다 |
33
+ | [`verifyJwt`](./docs/auth/verify-jwt.md) | function | JWT 토큰을 검증하고 페이로드를 반환한다 |
34
+ | [`decodeJwt`](./docs/auth/verify-jwt.md#decodejwt) | function | JWT 토큰을 검증 없이 디코딩한다 |
41
35
 
42
36
  ### Core
43
37
 
44
- | API | Type | Description |
45
- |-----|------|-------------|
46
- | `ServiceContext` | interface | 서비스 팩토리에 전달되는 컨텍스트. 인증 정보, 클라이언트 경로, 설정 접근을 제공한다 |
47
- | `createServiceContext` | function | `ServiceContext` 인스턴스를 생성한다 |
48
- | `auth` | function | 서비스/메서드에 인증을 요구하는 래퍼 함수 |
49
- | `getServiceAuthPermissions` | function | `auth()`로 래핑된 함수에서 인증 권한 배열을 읽는다 |
50
- | `ServiceDefinition` | interface | 서비스 정의 구조체 (name, factory, authPermissions) |
51
- | `defineService` | function | 이름과 팩토리로 서비스를 정의한다 |
52
- | `ServiceMethods` | type | `ServiceDefinition`에서 메서드 시그니처를 추출하는 유틸리티 타입 |
53
- | `executeServiceMethod` | function | 서비스 조회 → 컨텍스트 생성 → 인증 확인 → 메서드 실행 파이프라인 |
54
-
55
- → See [docs/core.md](./docs/core.md) for details.
38
+ | Entry | Kind | Description |
39
+ |-------|------|-------------|
40
+ | [`ServiceContext`](./docs/core/service-context.md) | interface | 서비스 팩토리에 전달되는 컨텍스트. 인증 정보, 클라이언트 경로, 설정 접근을 제공한다 |
41
+ | [`createServiceContext`](./docs/core/service-context.md#createservicecontext) | function | `ServiceContext` 인스턴스를 생성한다 |
42
+ | [`auth`](./docs/core/auth.md) | function | 서비스/메서드에 인증을 요구하는 래퍼 함수 |
43
+ | [`getServiceAuthPermissions`](./docs/core/auth.md#getserviceauthpermissions) | function | `auth()`로 래핑된 함수에서 인증 권한 배열을 읽는다 |
44
+ | [`ServiceDefinition`](./docs/core/define-service.md#servicedefinition) | interface | 서비스 정의 구조체 (name, factory, authPermissions) |
45
+ | [`defineService`](./docs/core/define-service.md) | function | 이름과 팩토리로 서비스를 정의한다 |
46
+ | [`ServiceMethods`](./docs/core/define-service.md#servicemethods) | type | `ServiceDefinition`에서 메서드 시그니처를 추출하는 유틸리티 타입 |
47
+ | [`executeServiceMethod`](./docs/core/execute-service-method.md) | function | 서비스 조회 → 컨텍스트 생성 → 인증 확인 → 메서드 실행 파이프라인 |
56
48
 
57
49
  ### Transport - Socket
58
50
 
59
- | API | Type | Description |
60
- |-----|------|-------------|
61
- | `WebSocketHandler` | interface | 다중 WebSocket 연결 관리, 메시지 라우팅, 이벤트 브로드캐스트 인터페이스 |
62
- | `createWebSocketHandler` | function | `WebSocketHandler` 인스턴스를 생성한다 |
63
- | `ServiceSocket` | interface | 프로토콜 인코딩/디코딩, ping/pong, 이벤트 리스너 추적이 포함된 단일 WebSocket 연결 |
64
- | `createServiceSocket` | function | `ServiceSocket` 인스턴스를 생성한다 |
65
-
66
- → See [docs/transport-socket.md](./docs/transport-socket.md) for details.
51
+ | Entry | Kind | Description |
52
+ |-------|------|-------------|
53
+ | [`WebSocketHandler`](./docs/transport-socket/websocket-handler.md) | interface | 다중 WebSocket 연결 관리, 메시지 라우팅, 이벤트 브로드캐스트 인터페이스 |
54
+ | [`createWebSocketHandler`](./docs/transport-socket/websocket-handler.md#createwebsockethandler) | function | `WebSocketHandler` 인스턴스를 생성한다 |
55
+ | [`ServiceSocket`](./docs/transport-socket/service-socket.md) | interface | 프로토콜 인코딩/디코딩, ping/pong, 이벤트 리스너 추적이 포함된 단일 WebSocket 연결 |
56
+ | [`createServiceSocket`](./docs/transport-socket/service-socket.md#createservicesocket) | function | `ServiceSocket` 인스턴스를 생성한다 |
67
57
 
68
58
  ### Transport - HTTP
69
59
 
70
- | API | Type | Description |
71
- |-----|------|-------------|
72
- | `handleHttpRequest` | function | GET/POST `/api/:service/:method` 요청을 처리한다 |
73
- | `handleUpload` | function | `/upload` 경로의 multipart 파일 업로드를 처리한다 |
74
- | `handleStaticFile` | function | 정적 파일 서빙 (경로 탐색 공격 방지 포함) |
75
-
76
- → See [docs/transport-http.md](./docs/transport-http.md) for details.
60
+ | Entry | Kind | Description |
61
+ |-------|------|-------------|
62
+ | [`handleHttpRequest`](./docs/transport-http/handle-http-request.md) | function | GET/POST `/api/:service/:method` 요청을 처리한다 |
63
+ | [`handleUpload`](./docs/transport-http/handle-upload.md) | function | `/upload` 경로의 multipart 파일 업로드를 처리한다 |
64
+ | [`handleStaticFile`](./docs/transport-http/handle-static-file.md) | function | 정적 파일 서빙 (경로 탐색 공격 방지 포함) |
77
65
 
78
66
  ### Protocol
79
67
 
80
- | API | Type | Description |
81
- |-----|------|-------------|
82
- | `ServerProtocolWrapper` | interface | 메시지 인코딩/디코딩 래퍼. 무거운 작업은 worker 스레드에 위임한다 |
83
- | `createServerProtocolWrapper` | function | `ServerProtocolWrapper` 인스턴스를 생성한다 |
84
-
85
- → See [docs/protocol.md](./docs/protocol.md) for details.
68
+ | Entry | Kind | Description |
69
+ |-------|------|-------------|
70
+ | [`ServerProtocolWrapper`](./docs/protocol/server-protocol-wrapper.md) | interface | 메시지 인코딩/디코딩 래퍼. 무거운 작업은 worker 스레드에 위임한다 |
71
+ | [`createServerProtocolWrapper`](./docs/protocol/server-protocol-wrapper.md#createserverprotocolwrapper) | function | `ServerProtocolWrapper` 인스턴스를 생성한다 |
86
72
 
87
73
  ### Services
88
74
 
89
- | API | Type | Description |
90
- |-----|------|-------------|
91
- | `OrmService` | const | ORM 브리지 서비스 정의. WebSocket 전용, 인증 필수 |
92
- | `OrmServiceType` | type | `OrmService`의 메서드 시그니처 타입 |
93
- | `AutoUpdateService` | const | 자동 업데이트 서비스 정의. 플랫폼별 최신 버전 파일을 탐색한다 |
94
- | `AutoUpdateServiceType` | type | `AutoUpdateService`의 메서드 시그니처 타입 |
95
- | `AppStructureService` | function | 앱 구조 정보 서비스를 생성하는 팩토리 함수. `Record<string, AppStructureItem[]>`을 받아 서비스 정의를 반환한다 |
96
- | `AppStructureServiceType` | type | `AppStructureService`가 반환하는 서비스의 메서드 시그니처 타입 |
97
-
98
- → See [docs/services.md](./docs/services.md) for details.
75
+ | Entry | Kind | Description |
76
+ |-------|------|-------------|
77
+ | [`OrmService`](./docs/services/orm-service.md) | const | ORM 브리지 서비스 정의. WebSocket 전용, 인증 필수 |
78
+ | [`OrmServiceType`](./docs/services/orm-service.md#ormservicetype) | type | `OrmService`의 메서드 시그니처 타입 |
79
+ | [`AutoUpdateService`](./docs/services/auto-update-service.md) | const | 자동 업데이트 서비스 정의. 플랫폼별 최신 버전 파일을 탐색한다 |
80
+ | [`AutoUpdateServiceType`](./docs/services/auto-update-service.md#autoupdateservicetype) | type | `AutoUpdateService`의 메서드 시그니처 타입 |
81
+ | [`AppStructureService`](./docs/services/app-structure-service.md) | function | 앱 구조 정보 서비스를 생성하는 팩토리 함수 |
82
+ | [`AppStructureServiceType`](./docs/services/app-structure-service.md#appstructureservicetype) | type | `AppStructureService`가 반환하는 서비스의 메서드 시그니처 타입 |
99
83
 
100
84
  ### Utils
101
85
 
102
- | API | Type | Description |
103
- |-----|------|-------------|
104
- | `getConfig` | function | `.config.json` 파일을 읽고 캐싱한다. 파일 변경 시 자동 리로드된다 |
105
-
106
- → See [docs/utils.md](./docs/utils.md) for details.
86
+ | Entry | Kind | Description |
87
+ |-------|------|-------------|
88
+ | [`getConfig`](./docs/utils/get-config.md) | function | `.config.json` 파일을 읽고 캐싱한다. 파일 변경 시 자동 리로드된다 |
107
89
 
108
90
  ### Legacy
109
91
 
110
- | API | Type | Description |
111
- |-----|------|-------------|
112
- | `handleV1Connection` | function | V1 레거시 WebSocket 프로토콜 호환 레이어. 자동 업데이트만 지원한다 |
113
-
114
- → See [docs/legacy.md](./docs/legacy.md) for details.
92
+ | Entry | Kind | Description |
93
+ |-------|------|-------------|
94
+ | [`handleV1Connection`](./docs/legacy/handle-v1-connection.md) | function | V1 레거시 WebSocket 프로토콜 호환 레이어. 자동 업데이트만 지원한다 |
115
95
 
116
96
  ## Usage Examples
117
97
 
@@ -155,17 +135,8 @@ const payload = await server.verifyAuthToken(token);
155
135
  ```typescript
156
136
  import { defineEvent } from "@simplysm/service-common";
157
137
 
158
- // 서버에서 이벤트 정의 + 타입 export
159
138
  export const UserUpdatedEvent = defineEvent<{ userId: string }, { name: string }>("UserUpdated");
160
139
 
161
- // 이벤트 프록시 방식 (권장 — getService()와 동일한 패턴)
162
140
  const userUpdatedEvt = server.getEvent<typeof UserUpdatedEvent>("UserUpdated");
163
141
  await userUpdatedEvt.emit((info) => info.userId === "123", { name: "새 이름" });
164
-
165
- // 직접 호출 방식 (하위 호환)
166
- await server.emitEvent<typeof UserUpdatedEvent>(
167
- "UserUpdated",
168
- (info) => info.userId === "123",
169
- { name: "새 이름" },
170
- );
171
142
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-manager.js","sourceRoot":"","sources":["../../src/auth/jwt-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAiB,EACjB,OAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnD,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SAC7B,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;SACpC,WAAW,EAAE;SACb,iBAAiB,CAAC,KAAK,CAAC;SACxB,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,SAAiB,EACjB,KAAa;IAEb,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,OAAsC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAsB,KAAa;IAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAgC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"jwt-manager.js","sourceRoot":"","sources":["../../src/auth/jwt-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAiB,EACjB,OAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnD,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SAC7B,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;SACpC,WAAW,EAAE;SACb,iBAAiB,CAAC,KAAK,CAAC;SACxB,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,SAAiB,EACjB,KAAa;IAEb,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,OAAsC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAsB,KAAa;IAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"orm-service.js","sourceRoot":"","sources":["../../src/services/orm-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orm-service.js","sourceRoot":"","sources":["../../src/services/orm-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-handler.js","sourceRoot":"","sources":["../../../src/transport/socket/websocket-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-handler.js","sourceRoot":"","sources":["../../../src/transport/socket/websocket-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ # AuthTokenPayload
2
+
3
+ JWT 페이로드 인터페이스. `jose` 라이브러리의 `JWTPayload`를 확장한다.
4
+
5
+ ```typescript
6
+ interface AuthTokenPayload<TAuthInfo = unknown> extends JWTPayload {
7
+ roles: string[];
8
+ data: TAuthInfo;
9
+ }
10
+ ```
11
+
12
+ ## Fields
13
+
14
+ | Field | Type | Description |
15
+ |-------|------|-------------|
16
+ | `roles` | `string[]` | 사용자 역할 배열. `auth(["admin"], ...)` 등에서 역할 검사에 사용된다 |
17
+ | `data` | `TAuthInfo` | 사용자 정의 인증 데이터. `ServiceContext.authInfo`로 접근 가능하다 |
18
+ | (JWTPayload 상속) | — | `iss`, `sub`, `aud`, `exp`, `nbf`, `iat`, `jti` 등 표준 JWT 클레임 |
@@ -0,0 +1,30 @@
1
+ # signJwt
2
+
3
+ HS256 알고리즘과 12시간 유효기간으로 JWT 토큰을 서명한다.
4
+
5
+ ```typescript
6
+ async function signJwt<TAuthInfo = unknown>(
7
+ jwtSecret: string,
8
+ payload: AuthTokenPayload<TAuthInfo>,
9
+ ): Promise<string>;
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | Param | Type | Description |
15
+ |-------|------|-------------|
16
+ | `jwtSecret` | `string` | HMAC 서명 시크릿 |
17
+ | `payload` | [`AuthTokenPayload<TAuthInfo>`](./auth-token-payload.md) | JWT 페이로드 |
18
+
19
+ ## Returns
20
+
21
+ `Promise<string>` — 서명된 JWT 토큰 문자열.
22
+
23
+ ## Usage
24
+
25
+ ```typescript
26
+ const token = await signJwt("my-secret", {
27
+ roles: ["admin"],
28
+ data: { userId: "123" },
29
+ });
30
+ ```
@@ -0,0 +1,35 @@
1
+ # verifyJwt
2
+
3
+ JWT 토큰을 검증하고 페이로드를 반환한다. 만료된 토큰은 "토큰이 만료되었습니다." 에러를, 그 외 유효하지 않은 토큰은 "유효하지 않은 토큰입니다." 에러를 던진다.
4
+
5
+ ```typescript
6
+ async function verifyJwt<TAuthInfo = unknown>(
7
+ jwtSecret: string,
8
+ token: string,
9
+ ): Promise<AuthTokenPayload<TAuthInfo>>;
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | Param | Type | Description |
15
+ |-------|------|-------------|
16
+ | `jwtSecret` | `string` | HMAC 서명 시크릿 |
17
+ | `token` | `string` | 검증할 JWT 토큰 문자열 |
18
+
19
+ ## Returns
20
+
21
+ `Promise<AuthTokenPayload<TAuthInfo>>` — 검증된 JWT 페이로드.
22
+
23
+ ## Related Types
24
+
25
+ ### `decodeJwt`
26
+
27
+ JWT 토큰을 검증 없이 디코딩한다. 서명 검증이나 만료 확인을 수행하지 않는다.
28
+
29
+ ```typescript
30
+ function decodeJwt<TAuthInfo = unknown>(token: string): AuthTokenPayload<TAuthInfo>;
31
+ ```
32
+
33
+ | Param | Type | Description |
34
+ |-------|------|-------------|
35
+ | `token` | `string` | 디코딩할 JWT 토큰 문자열 |
@@ -0,0 +1,58 @@
1
+ # auth
2
+
3
+ 서비스 팩토리 또는 메서드에 인증을 요구하는 래퍼 함수. 래핑된 함수에 `AUTH_PERMISSIONS` 심볼로 권한 배열을 부착한다.
4
+
5
+ ```typescript
6
+ function auth<TFunction extends (...args: any[]) => any>(fn: TFunction): TFunction;
7
+ function auth<TFunction extends (...args: any[]) => any>(
8
+ permissions: string[],
9
+ fn: TFunction,
10
+ ): TFunction;
11
+ ```
12
+
13
+ ## Overloads
14
+
15
+ | Overload | Description |
16
+ |----------|-------------|
17
+ | `auth(fn)` | 로그인만 요구 (역할 검사 없음). 권한 배열은 `[]` |
18
+ | `auth(permissions, fn)` | 지정된 역할 중 하나를 가진 사용자만 허용 |
19
+
20
+ 사용 위치:
21
+ - 서비스 수준: `defineService("Name", auth((ctx) => ({ ... })))` — 모든 메서드에 인증 적용
22
+ - 메서드 수준: `{ methodName: auth(() => result) }` — 해당 메서드만 인증 적용
23
+ - 메서드 수준 권한이 서비스 수준 권한보다 우선한다
24
+
25
+ ## Related Types
26
+
27
+ ### `getServiceAuthPermissions`
28
+
29
+ `auth()`로 래핑된 함수에서 인증 권한 배열을 읽는다. 래핑되지 않은 함수는 `undefined`를 반환한다.
30
+
31
+ ```typescript
32
+ function getServiceAuthPermissions(fn: Function): string[] | undefined;
33
+ ```
34
+
35
+ | Param | Type | Description |
36
+ |-------|------|-------------|
37
+ | `fn` | `Function` | 검사할 함수 |
38
+
39
+ ## Usage
40
+
41
+ ```typescript
42
+ // 서비스 수준: 모든 메서드에 로그인 필요
43
+ const UserService = defineService("User", auth((ctx) => ({
44
+ getProfile: () => ctx.authInfo,
45
+ })));
46
+
47
+ // 역할 지정
48
+ const AdminService = defineService("Admin", auth(["admin"], (ctx) => ({
49
+ deleteAll: () => { /* ... */ },
50
+ })));
51
+
52
+ // 메서드 수준
53
+ const MixedService = defineService("Mixed", (ctx) => ({
54
+ publicMethod: () => "ok",
55
+ privateMethod: auth(() => ctx.authInfo),
56
+ adminMethod: auth(["admin"], () => "admin only"),
57
+ }));
58
+ ```
@@ -0,0 +1,76 @@
1
+ # defineService
2
+
3
+ 이름과 팩토리 함수로 서비스를 정의한다. 팩토리가 `auth()`로 래핑되어 있으면 자동으로 `authPermissions`를 추출한다.
4
+
5
+ ```typescript
6
+ function defineService<TMethods extends Record<string, (...args: any[]) => any>>(
7
+ name: string,
8
+ factory: (ctx: ServiceContext) => TMethods,
9
+ ): ServiceDefinition<TMethods>;
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | Param | Type | Description |
15
+ |-------|------|-------------|
16
+ | `name` | `string` | 서비스 이름. HTTP에서 `/api/{name}/{method}`, WebSocket에서 `{name}.{method}`로 라우팅된다 |
17
+ | `factory` | `(ctx: ServiceContext) => TMethods` | 요청마다 호출되는 팩토리 함수. 메서드 객체를 반환한다 |
18
+
19
+ ## Returns
20
+
21
+ [`ServiceDefinition<TMethods>`](#servicedefinition) — 서비스 정의 객체.
22
+
23
+ ## Related Types
24
+
25
+ ### `ServiceDefinition`
26
+
27
+ 서비스 정의 구조체.
28
+
29
+ ```typescript
30
+ interface ServiceDefinition<TMethods = Record<string, (...args: any[]) => any>> {
31
+ name: string;
32
+ factory: (ctx: ServiceContext) => TMethods;
33
+ authPermissions?: string[];
34
+ }
35
+ ```
36
+
37
+ | Field | Type | Description |
38
+ |-------|------|-------------|
39
+ | `name` | `string` | 서비스 이름 |
40
+ | `factory` | `(ctx: ServiceContext) => TMethods` | 요청마다 호출되는 팩토리 함수 |
41
+ | `authPermissions` | `string[]` (optional) | `auth()`로 래핑된 팩토리의 서비스 수준 권한 배열 |
42
+
43
+ ### `ServiceMethods`
44
+
45
+ `ServiceDefinition`에서 메서드 시그니처를 추출하는 유틸리티 타입. 클라이언트 측 타입 공유에 사용한다.
46
+
47
+ ```typescript
48
+ type ServiceMethods<TDefinition> =
49
+ TDefinition extends ServiceDefinition<infer M> ? M : never;
50
+ ```
51
+
52
+ 사용 예:
53
+
54
+ ```typescript
55
+ export type UserServiceType = ServiceMethods<typeof UserService>;
56
+ // 클라이언트: client.getService<UserServiceType>("User");
57
+ ```
58
+
59
+ ## Usage
60
+
61
+ ```typescript
62
+ // 기본 서비스 (인증 불필요)
63
+ const HealthService = defineService("Health", (ctx) => ({
64
+ check: () => ({ status: "ok" }),
65
+ }));
66
+
67
+ // 서비스 수준 인증 (모든 메서드에 로그인 필요)
68
+ const UserService = defineService("User", auth((ctx) => ({
69
+ getProfile: () => ctx.authInfo,
70
+ // 메서드 수준 인증 (admin 역할 필요)
71
+ deleteUser: auth(["admin"], (id: number) => { /* ... */ }),
72
+ })));
73
+
74
+ // 클라이언트에 타입 공유
75
+ export type UserServiceType = ServiceMethods<typeof UserService>;
76
+ ```
@@ -0,0 +1,38 @@
1
+ # executeServiceMethod
2
+
3
+ 서비스 조회 → 컨텍스트 생성 → 인증 확인 → 메서드 실행 파이프라인을 수행한다.
4
+
5
+ ```typescript
6
+ async function executeServiceMethod(
7
+ server: ServiceServer,
8
+ def: {
9
+ serviceName: string;
10
+ methodName: string;
11
+ params: unknown[];
12
+ socket?: ServiceSocket;
13
+ http?: { clientName: string; authTokenPayload?: AuthTokenPayload };
14
+ },
15
+ ): Promise<unknown>;
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ | Param | Type | Description |
21
+ |-------|------|-------------|
22
+ | `server` | `ServiceServer` | 서버 인스턴스 |
23
+ | `def.serviceName` | `string` | 호출할 서비스 이름 |
24
+ | `def.methodName` | `string` | 호출할 메서드 이름 |
25
+ | `def.params` | `unknown[]` | 메서드 매개변수 배열 |
26
+ | `def.socket` | `ServiceSocket` (optional) | WebSocket 연결 (WebSocket 요청 시) |
27
+ | `def.http` | `{ clientName: string; authTokenPayload? }` (optional) | HTTP 요청 정보 |
28
+
29
+ ## Returns
30
+
31
+ `Promise<unknown>` — 메서드 실행 결과.
32
+
33
+ 인증 검사 로직:
34
+
35
+ 1. 메서드 수준 `auth()` 권한이 있으면 이를 사용하고, 없으면 서비스 수준 `authPermissions`를 사용한다
36
+ 2. 인증이 필요한데 `server.options.auth`가 `undefined`이면 설정 오류로 에러를 던진다
37
+ 3. `server.options.auth`가 `false`이면 인증 검사를 스킵한다
38
+ 4. 인증이 활성화되어 있으면 토큰 존재 여부를 확인하고, 역할 배열이 비어있지 않으면 역할 매칭을 수행한다
@@ -0,0 +1,79 @@
1
+ # ServiceContext
2
+
3
+ 서비스 팩토리 함수에 전달되는 컨텍스트 인터페이스. 전송 방식(WebSocket/HTTP)에 무관하게 동일한 인터페이스를 제공한다.
4
+
5
+ ```typescript
6
+ interface ServiceContext<TAuthInfo = unknown> {
7
+ server: ServiceServer<TAuthInfo>;
8
+ socket?: ServiceSocket;
9
+ http?: {
10
+ clientName: string;
11
+ authTokenPayload?: AuthTokenPayload<TAuthInfo>;
12
+ };
13
+ legacy?: {
14
+ clientName?: string;
15
+ };
16
+
17
+ get authInfo(): TAuthInfo | undefined;
18
+ get clientName(): string | undefined;
19
+ get clientPath(): string | undefined;
20
+ getConfig<T>(section: string): Promise<T>;
21
+ }
22
+ ```
23
+
24
+ ## Members
25
+
26
+ | Member | Kind | Type | Description |
27
+ |--------|------|------|-------------|
28
+ | `server` | property | `ServiceServer<TAuthInfo>` | 서버 인스턴스 참조 |
29
+ | `socket` | property | `ServiceSocket` (optional) | WebSocket 요청일 때만 존재하는 소켓 객체 |
30
+ | `http` | property | `{ clientName: string; authTokenPayload?: AuthTokenPayload<TAuthInfo> }` (optional) | HTTP 요청일 때만 존재 |
31
+ | `legacy` | property | `{ clientName?: string }` (optional) | V1 레거시 컨텍스트 (자동 업데이트 전용) |
32
+ | `authInfo` | getter | `TAuthInfo \| undefined` | 토큰에서 추출한 사용자 데이터. WebSocket은 소켓의 `authTokenPayload.data`, HTTP는 헤더의 `authTokenPayload.data`에서 읽는다 |
33
+ | `clientName` | getter | `string \| undefined` | 클라이언트 앱 이름. `..`, `/`, `\`를 포함하면 에러를 던진다 (경로 탐색 공격 방지) |
34
+ | `clientPath` | getter | `string \| undefined` | `{rootPath}/www/{clientName}` 경로. `clientName`이 없으면 `undefined` |
35
+ | `getConfig<T>(section)` | method | `Promise<T>` | `.config.json`에서 섹션을 읽는다. 루트 설정을 먼저 읽고 클라이언트별 설정으로 덮어쓴다. 섹션이 없으면 에러를 던진다 |
36
+
37
+ ## Related Types
38
+
39
+ ### `createServiceContext`
40
+
41
+ `ServiceContext` 인스턴스를 생성한다.
42
+
43
+ ```typescript
44
+ function createServiceContext<TAuthInfo = unknown>(
45
+ server: ServiceServer<TAuthInfo>,
46
+ socket?: ServiceSocket,
47
+ http?: { clientName: string; authTokenPayload?: AuthTokenPayload<TAuthInfo> },
48
+ legacy?: { clientName?: string },
49
+ ): ServiceContext<TAuthInfo>;
50
+ ```
51
+
52
+ | Param | Type | Description |
53
+ |-------|------|-------------|
54
+ | `server` | `ServiceServer<TAuthInfo>` | 서버 인스턴스 |
55
+ | `socket` | `ServiceSocket` (optional) | WebSocket 연결 (WebSocket 요청 시) |
56
+ | `http` | `{ clientName: string; authTokenPayload? }` (optional) | HTTP 요청 정보 |
57
+ | `legacy` | `{ clientName?: string }` (optional) | V1 레거시 컨텍스트 |
58
+
59
+ ## Usage
60
+
61
+ ```typescript
62
+ const MyService = defineService("My", (ctx) => ({
63
+ getProfile: () => {
64
+ // 인증 정보 접근
65
+ return ctx.authInfo;
66
+ },
67
+
68
+ readConfig: async () => {
69
+ // 설정 파일 읽기
70
+ const config = await ctx.getConfig<{ apiKey: string }>("myapp");
71
+ return config.apiKey;
72
+ },
73
+
74
+ socketOnly: () => {
75
+ if (ctx.socket == null) throw new Error("WebSocket만 허용");
76
+ return ctx.socket.clientName;
77
+ },
78
+ }));
79
+ ```
@@ -1,6 +1,4 @@
1
- # Legacy
2
-
3
- ## `handleV1Connection`
1
+ # handleV1Connection
4
2
 
5
3
  V1 레거시 WebSocket 프로토콜 호환 레이어. 자동 업데이트(`SdAutoUpdateService.getLastVersion`)만 지원하고, 그 외 모든 요청은 업그레이드 필요 에러를 반환한다.
6
4
 
@@ -12,8 +10,10 @@ function handleV1Connection(
12
10
  ): void;
13
11
  ```
14
12
 
15
- | Parameter | Type | Description |
16
- |-----------|------|-------------|
13
+ ## Parameters
14
+
15
+ | Param | Type | Description |
16
+ |-------|------|-------------|
17
17
  | `socket` | `WebSocket` | 기저 WebSocket 인스턴스 |
18
18
  | `autoUpdateMethods` | `{ getLastVersion: (platform: string) => Promise<any> }` | AutoUpdateService의 메서드 객체 |
19
19
  | `clientNameSetter` | `(clientName: string \| undefined) => void` (optional) | V1 요청의 `clientName`을 레거시 컨텍스트에 설정하는 콜백 |
@@ -0,0 +1,32 @@
1
+ # createServiceServer
2
+
3
+ `ServiceServer` 인스턴스를 생성하는 팩토리 함수.
4
+
5
+ ```typescript
6
+ function createServiceServer<TAuthInfo = unknown>(
7
+ options: ServiceServerOptions,
8
+ ): ServiceServer<TAuthInfo>;
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Param | Type | Description |
14
+ |-------|------|-------------|
15
+ | `options` | [`ServiceServerOptions`](../types/service-server-options.md) | 서버 설정 옵션 |
16
+
17
+ ## Returns
18
+
19
+ `ServiceServer<TAuthInfo>` — 생성된 서버 인스턴스. `listen()`을 호출해야 실제로 시작된다.
20
+
21
+ ## Usage
22
+
23
+ ```typescript
24
+ const server = createServiceServer<MyAuthInfo>({
25
+ rootPath: "/app",
26
+ port: 3000,
27
+ auth: { jwtSecret: "secret" },
28
+ services: [UserService, OrmService],
29
+ });
30
+
31
+ await server.listen();
32
+ ```