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 +24 -0
- package/README.md +3 -3
- package/dist/index.d.mts +14 -4
- package/dist/index.d.ts +14 -4
- package/package.json +1 -1
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 {
|
|
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 {
|
|
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 {
|
|
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
|
-
/** 조회된 문서 배열
|
|
527
|
-
|
|
528
|
-
/** 총 매칭 문서 수
|
|
529
|
-
|
|
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
|
-
/** 조회된 문서 배열
|
|
527
|
-
|
|
528
|
-
/** 총 매칭 문서 수
|
|
529
|
-
|
|
536
|
+
/** 조회된 문서 배열 */
|
|
537
|
+
data: DataItem[];
|
|
538
|
+
/** 총 매칭 문서 수 */
|
|
539
|
+
total_count: number;
|
|
530
540
|
}
|
|
531
541
|
interface QueryOptions {
|
|
532
542
|
limit?: number;
|