connectbase-client 1.3.0 → 1.4.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  본 SDK 의 모든 주요 변경사항을 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식으로 기록합니다.
4
4
  버전은 [Semantic Versioning](https://semver.org/lang/ko/) 을 따릅니다.
5
5
 
6
+ ## [1.4.0] - 2026-04-18
7
+
8
+ `FetchDataResponse` 타입을 실제 서버 wire 포맷에 맞추는 타입 정정.
9
+
10
+ ### Fixed
11
+
12
+ - **`FetchDataResponse` 필드명을 서버 응답에 맞춤**: `datas` → `data`, `total_size` → `total_count`.
13
+ - data-server 는 `/v1/public/tables/:tableID/data` (GET) 및 `/v1/public/tables/:tableID/data/query` (POST) 에서 실제로 `{ data: [...], total_count: N }` 를 반환합니다 (`internal_data_controller.go:598-604`, `845-848`). 따라서 이전 타입 정의(`datas` / `total_size`)를 기대한 구조분해는 런타임에 `undefined` 를 받고 있었습니다.
14
+ - `0.16.0` 에서 한 번 바로잡았다가 `0.16.1` 에서 "서버 wire 가 여전히 `datas`" 라는 잘못된 관찰로 롤백됐던 이슈를 다시 수정합니다. 서버 핸들러 (`gin.H{"data": ..., "total_count": ...}`) 를 직접 확인해 타입을 확정했습니다.
15
+
16
+ ### Breaking (types only, runtime unchanged)
17
+
18
+ - `FetchDataResponse` 의 필드명이 TypeScript 레벨에서 변경됩니다. 런타임 동작(실제 네트워크 응답)은 동일합니다. 기존에 타입 경고를 무시하고 `result.data` / `result.total_count` 로 접근하던 코드는 **수정 없이 바로 동작**합니다. 반대로 타입 정의를 믿고 `result.datas` / `result.total_size` 로 접근하던 코드는 원래부터 런타임에 `undefined` 를 받고 있었으므로, 이번 기회에 `result.data` / `result.total_count` 로 고쳐주세요.
19
+
20
+ ### Migration
21
+
22
+ ```ts
23
+ // Before (타입은 OK 였지만 런타임 undefined)
24
+ const { datas, total_size } = await cb.database.getData(tableId)
25
+
26
+ // After (v1.4.0+)
27
+ const { data, total_count } = await cb.database.getData(tableId)
28
+ ```
29
+
6
30
  ## [1.3.0] - 2026-04-18
7
31
 
8
32
  파티 초대 수락/거절 SDK 메서드 추가. 기존 `acceptInvite` 는 로비 전용(`/lobbies/invites/...`) 이라 파티 초대에는 사용할 수 없었는데, 1.2.0 까지는 사용자가 직접 `fetch()` 로 백엔드의 `/v1/game/:appID/invites/:inviteID/accept` 를 호출해야 했음. 1.3.0 부터 SDK 에 전용 메서드 제공.
package/README.md CHANGED
@@ -439,19 +439,19 @@ await cb.auth.signOut()
439
439
 
440
440
  ```typescript
441
441
  // Query data
442
- const { datas, total_size } = await cb.database.getData('table-id', {
442
+ const { data, total_count } = await cb.database.getData('table-id', {
443
443
  where: { status: 'active' },
444
444
  limit: 10
445
445
  })
446
446
 
447
447
  // Query with field selection (Projection) - improves response speed
448
- const { datas } = await cb.database.getData('table-id', {
448
+ const { data } = await cb.database.getData('table-id', {
449
449
  select: ['id', 'name', 'thumbnail'], // Only return these fields
450
450
  limit: 20
451
451
  })
452
452
 
453
453
  // Exclude specific fields (e.g., large HTML/CSS content)
454
- const { datas } = await cb.database.getData('table-id', {
454
+ const { data } = await cb.database.getData('table-id', {
455
455
  exclude: ['html_content', 'css_content'],
456
456
  limit: 20
457
457
  })
package/dist/index.d.mts CHANGED
@@ -522,11 +522,21 @@ interface CreateDataRequest {
522
522
  interface UpdateDataRequest {
523
523
  data: Record<string, unknown>;
524
524
  }
525
+ /**
526
+ * 테이블 데이터 조회 응답.
527
+ *
528
+ * 서버(data-server `internal_data_controller.go` 의 `FetchDataByTableGET`,
529
+ * `QueryDataByTable`) 가 반환하는 JSON 과 1:1 매핑합니다.
530
+ *
531
+ * 참고: `1.3.0` 이전 버전(`0.16.1` 기준)에서는 `datas` / `total_size` 로
532
+ * 선언돼 있었으나, 실제 서버 wire 포맷은 `data` / `total_count` 이므로 런타임에
533
+ * 속성 접근이 `undefined` 를 반환하는 결함이 있었습니다. `1.4.0` 에서 바로잡습니다.
534
+ */
525
535
  interface FetchDataResponse {
526
- /** 조회된 문서 배열 (서버는 `datas` 키로 반환합니다) */
527
- datas: DataItem[];
528
- /** 총 매칭 문서 수 (서버는 `total_size` 키로 반환합니다) */
529
- total_size: number;
536
+ /** 조회된 문서 배열 */
537
+ data: DataItem[];
538
+ /** 총 매칭 문서 수 */
539
+ total_count: number;
530
540
  }
531
541
  interface QueryOptions {
532
542
  limit?: number;
package/dist/index.d.ts CHANGED
@@ -522,11 +522,21 @@ interface CreateDataRequest {
522
522
  interface UpdateDataRequest {
523
523
  data: Record<string, unknown>;
524
524
  }
525
+ /**
526
+ * 테이블 데이터 조회 응답.
527
+ *
528
+ * 서버(data-server `internal_data_controller.go` 의 `FetchDataByTableGET`,
529
+ * `QueryDataByTable`) 가 반환하는 JSON 과 1:1 매핑합니다.
530
+ *
531
+ * 참고: `1.3.0` 이전 버전(`0.16.1` 기준)에서는 `datas` / `total_size` 로
532
+ * 선언돼 있었으나, 실제 서버 wire 포맷은 `data` / `total_count` 이므로 런타임에
533
+ * 속성 접근이 `undefined` 를 반환하는 결함이 있었습니다. `1.4.0` 에서 바로잡습니다.
534
+ */
525
535
  interface FetchDataResponse {
526
- /** 조회된 문서 배열 (서버는 `datas` 키로 반환합니다) */
527
- datas: DataItem[];
528
- /** 총 매칭 문서 수 (서버는 `total_size` 키로 반환합니다) */
529
- total_size: number;
536
+ /** 조회된 문서 배열 */
537
+ data: DataItem[];
538
+ /** 총 매칭 문서 수 */
539
+ total_count: number;
530
540
  }
531
541
  interface QueryOptions {
532
542
  limit?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "connectbase-client",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Connect Base JavaScript/TypeScript SDK for browser and Node.js",
5
5
  "repository": {
6
6
  "type": "git",