@boltstore/client 0.6.0 → 0.6.1

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.
@@ -0,0 +1,17 @@
1
+ import type { BoltstoreClient } from "../client";
2
+ import type { UserProfile, TokenPair, OAuthProvider } from "../types";
3
+ export declare function createAuthApi(client: BoltstoreClient): {
4
+ register: (email: string, password: string) => Promise<UserProfile>;
5
+ login: (email: string, password: string) => Promise<TokenPair>;
6
+ refresh: (refreshToken?: string) => Promise<TokenPair>;
7
+ autoRefresh: (thresholdSeconds?: number) => Promise<TokenPair | null>;
8
+ logout: () => Promise<void>;
9
+ me: () => Promise<UserProfile>;
10
+ updateProfile: (data: {
11
+ email?: string;
12
+ password?: string;
13
+ }) => Promise<UserProfile>;
14
+ oauthUrl: (provider: OAuthProvider, redirectUri: string) => Promise<string>;
15
+ oauthExchange: (provider: OAuthProvider, code: string, redirectUri: string) => Promise<TokenPair>;
16
+ };
17
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/api/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAItE,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe;sBAEzB,MAAM,YAAY,MAAM,KAAG,OAAO,CAAC,WAAW,CAAC;mBAKlD,MAAM,YAAY,MAAM,KAAG,OAAO,CAAC,SAAS,CAAC;6BAOnC,MAAM,KAAG,OAAO,CAAC,SAAS,CAAC;gDASd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;kBASnD,OAAO,CAAC,IAAI,CAAC;cAMjB,OAAO,CAAC,WAAW,CAAC;0BAKN;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,WAAW,CAAC;yBAK7D,aAAa,eAAe,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;8BAQ/C,aAAa,QAAQ,MAAM,eAAe,MAAM,KAAG,OAAO,CAAC,SAAS,CAAC;EAUxG"}
@@ -0,0 +1,63 @@
1
+ import { decodeJwtPayload } from "../jwt";
2
+ import { BoltstoreError } from "../errors";
3
+ export function createAuthApi(client) {
4
+ return {
5
+ register: async (email, password) => {
6
+ const res = await client.request("POST", client.dbPath("/auth/register"), { email, password });
7
+ return res.data;
8
+ },
9
+ login: async (email, password) => {
10
+ const res = await client.request("POST", client.dbPath("/auth/login"), { email, password });
11
+ client.setToken(res.data.accessToken);
12
+ client.setRefreshToken(res.data.refreshToken);
13
+ return res.data;
14
+ },
15
+ refresh: async (refreshToken) => {
16
+ const token = refreshToken || client.getRefreshToken();
17
+ if (!token)
18
+ throw new BoltstoreError(400, "MISSING_REFRESH_TOKEN", "No refresh token available.");
19
+ const res = await client.request("POST", client.dbPath("/auth/refresh"), { refreshToken: token });
20
+ client.setToken(res.data.accessToken);
21
+ client.setRefreshToken(res.data.refreshToken);
22
+ return res.data;
23
+ },
24
+ autoRefresh: async (thresholdSeconds = 60) => {
25
+ if (!client.getToken() || !client.getRefreshToken())
26
+ return null;
27
+ const payload = decodeJwtPayload(client.getToken());
28
+ if (!payload || !payload.exp)
29
+ return null;
30
+ const nowSec = Math.floor(Date.now() / 1000);
31
+ if (payload.exp - nowSec > thresholdSeconds)
32
+ return null;
33
+ return client.auth.refresh();
34
+ },
35
+ logout: async () => {
36
+ await client.request("POST", client.dbPath("/auth/logout"));
37
+ client.setToken(undefined);
38
+ client.setRefreshToken(undefined);
39
+ },
40
+ me: async () => {
41
+ const res = await client.request("GET", client.dbPath("/auth/me"));
42
+ return res.data;
43
+ },
44
+ updateProfile: async (data) => {
45
+ const res = await client.request("PATCH", client.dbPath("/auth/me"), data);
46
+ return res.data;
47
+ },
48
+ oauthUrl: async (provider, redirectUri) => {
49
+ const res = await client.request("GET", client.dbPath(`/auth/oauth/${provider}/url?redirect_uri=${encodeURIComponent(redirectUri)}`));
50
+ return res.data.url;
51
+ },
52
+ oauthExchange: async (provider, code, redirectUri) => {
53
+ const res = await client.request("POST", client.dbPath(`/auth/oauth/${provider}`), {
54
+ code,
55
+ redirect_uri: redirectUri,
56
+ });
57
+ client.setToken(res.data.accessToken);
58
+ client.setRefreshToken(res.data.refreshToken);
59
+ return res.data;
60
+ },
61
+ };
62
+ }
63
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/api/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { BoltstoreClient } from "../client";
2
+ import type { CollectionInfo } from "@boltstore/utils";
3
+ export declare function createCollectionsApi(client: BoltstoreClient): {
4
+ list: () => Promise<CollectionInfo[]>;
5
+ get: (name: string) => Promise<CollectionInfo>;
6
+ };
7
+ //# sourceMappingURL=collections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/api/collections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe;gBAExC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAKvB,MAAM,KAAG,OAAO,CAAC,cAAc,CAAC;EAKrD"}
@@ -0,0 +1,13 @@
1
+ export function createCollectionsApi(client) {
2
+ return {
3
+ list: async () => {
4
+ const res = await client.request("GET", client.dbPath("/collections"));
5
+ return res.data ?? [];
6
+ },
7
+ get: async (name) => {
8
+ const res = await client.request("GET", client.dbPath(`/collections/${name}`));
9
+ return res.data;
10
+ },
11
+ };
12
+ }
13
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/api/collections.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,OAAO;QACL,IAAI,EAAE,KAAK,IAA+B,EAAE;YAC1C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAmB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YACzF,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACxB,CAAC;QAED,GAAG,EAAE,KAAK,EAAE,IAAY,EAA2B,EAAE;YACnD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAiB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/F,OAAO,GAAG,CAAC,IAAK,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { BoltstoreClient } from "../client";
2
+ import type { HealthCheck } from "../types";
3
+ export declare function createHealthApi(client: BoltstoreClient): {
4
+ check: () => Promise<HealthCheck>;
5
+ };
6
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/api/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe;iBAElC,OAAO,CAAC,WAAW,CAAC;EAKxC"}
@@ -0,0 +1,9 @@
1
+ export function createHealthApi(client) {
2
+ return {
3
+ check: async () => {
4
+ const res = await client.request("GET", "/api/health");
5
+ return res.data ?? { status: "unknown", version: "", uptime: 0, timestamp: "" };
6
+ },
7
+ };
8
+ }
9
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/api/health.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,OAAO;QACL,KAAK,EAAE,KAAK,IAA0B,EAAE;YACtC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAc,KAAK,EAAE,aAAa,CAAC,CAAC;YACpE,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAClF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { BoltstoreClient } from "../client";
2
+ import type { BoltstoreRecord, ListOptions, BatchOperation, BatchResult } from "@boltstore/utils";
3
+ import type { PaginateOptions, PaginatedResult } from "../types";
4
+ export declare function createRecordsApi(client: BoltstoreClient): {
5
+ create: (collection: string, data: Record<string, unknown>) => Promise<BoltstoreRecord>;
6
+ list: (collection: string, options?: ListOptions) => Promise<BoltstoreRecord[]>;
7
+ get: (collection: string, id: string) => Promise<BoltstoreRecord>;
8
+ update: (collection: string, id: string, data: Record<string, unknown>) => Promise<BoltstoreRecord>;
9
+ delete: (collection: string, id: string) => Promise<void>;
10
+ count: (collection: string, filter?: Record<string, unknown>) => Promise<number>;
11
+ distinct: (collection: string, field: string) => Promise<unknown[]>;
12
+ batch: (collection: string, operations: BatchOperation[]) => Promise<BatchResult>;
13
+ paginate: (collection: string, options: PaginateOptions) => Promise<PaginatedResult<BoltstoreRecord>>;
14
+ listAll: (collection: string, options?: Omit<PaginateOptions, "page">) => Promise<BoltstoreRecord[]>;
15
+ };
16
+ //# sourceMappingURL=records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/api/records.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAChH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGjE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe;yBAEzB,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,eAAe,CAAC;uBAKlE,MAAM,YAAY,WAAW,KAAG,OAAO,CAAC,eAAe,EAAE,CAAC;sBAM3D,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,eAAe,CAAC;yBAK1C,MAAM,MAAM,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,eAAe,CAAC;yBAK5E,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;wBAInC,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;2BAiBvD,MAAM,SAAS,MAAM,KAAG,OAAO,CAAC,OAAO,EAAE,CAAC;wBAQ7C,MAAM,cAAc,cAAc,EAAE,KAAG,OAAO,CAAC,WAAW,CAAC;2BAKxD,MAAM,WAAW,eAAe,KAAG,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;0BA+B7E,MAAM,YAAY,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,KAAG,OAAO,CAAC,eAAe,EAAE,CAAC;EAiB3G"}
@@ -0,0 +1,100 @@
1
+ import { BoltstoreError } from "../errors";
2
+ export function createRecordsApi(client) {
3
+ return {
4
+ create: async (collection, data) => {
5
+ const res = await client.request("POST", client.dbPath(`/collections/${collection}/records`), data);
6
+ return res.data;
7
+ },
8
+ list: async (collection, options) => {
9
+ const path = client.buildListPath(collection, options);
10
+ const res = await client.request("GET", path);
11
+ return res.data ?? [];
12
+ },
13
+ get: async (collection, id) => {
14
+ const res = await client.request("GET", client.dbPath(`/collections/${collection}/records/${id}`));
15
+ return res.data;
16
+ },
17
+ update: async (collection, id, data) => {
18
+ const res = await client.request("PATCH", client.dbPath(`/collections/${collection}/records/${id}`), data);
19
+ return res.data;
20
+ },
21
+ delete: async (collection, id) => {
22
+ await client.request("DELETE", client.dbPath(`/collections/${collection}/records/${id}`));
23
+ },
24
+ count: async (collection, filter) => {
25
+ const params = new URLSearchParams();
26
+ if (filter) {
27
+ for (const [k, v] of Object.entries(filter)) {
28
+ if (v === null || v === undefined)
29
+ continue;
30
+ if (typeof v === "object" && !Array.isArray(v)) {
31
+ throw new BoltstoreError(400, "INVALID_FILTER", `Filter value for "${k}" must be a scalar or array.`);
32
+ }
33
+ params.set(k, Array.isArray(v) ? v.join(",") : String(v));
34
+ }
35
+ }
36
+ const qs = params.toString();
37
+ const path = client.dbPath(`/collections/${collection}/records/count`) + (qs ? `?${qs}` : "");
38
+ const res = await client.request("GET", path);
39
+ return res.data?.count ?? 0;
40
+ },
41
+ distinct: async (collection, field) => {
42
+ const res = await client.request("GET", client.dbPath(`/collections/${collection}/records/distinct?field=${encodeURIComponent(field)}`));
43
+ return res.data?.values ?? [];
44
+ },
45
+ batch: async (collection, operations) => {
46
+ const res = await client.request("POST", client.dbPath(`/collections/${collection}/records/batch`), operations);
47
+ return res.data;
48
+ },
49
+ paginate: async (collection, options) => {
50
+ const perPage = options.perPage ?? 50;
51
+ const params = new URLSearchParams();
52
+ params.set("page", String(options.page));
53
+ params.set("per_page", String(perPage));
54
+ if (options.sort)
55
+ params.set("sort", options.sort);
56
+ if (options.direction)
57
+ params.set("direction", options.direction);
58
+ if (options.filter) {
59
+ for (const [k, v] of Object.entries(options.filter)) {
60
+ if (v === null || v === undefined)
61
+ continue;
62
+ if (typeof v === "object" && !Array.isArray(v)) {
63
+ throw new BoltstoreError(400, "INVALID_FILTER", `Filter value for "${k}" must be a scalar or array.`);
64
+ }
65
+ params.set(k, Array.isArray(v) ? v.join(",") : String(v));
66
+ }
67
+ }
68
+ const qs = params.toString();
69
+ const path = client.dbPath(`/collections/${collection}/records`) + (qs ? `?${qs}` : "");
70
+ const res = await client.request("GET", path);
71
+ const meta = res.meta ?? {};
72
+ return {
73
+ data: res.data ?? [],
74
+ meta: {
75
+ page: meta.page ?? options.page,
76
+ per_page: meta.per_page ?? perPage,
77
+ total: meta.total ?? (res.data?.length ?? 0),
78
+ total_pages: meta.total_pages ?? 1,
79
+ },
80
+ };
81
+ },
82
+ listAll: async (collection, options) => {
83
+ const perPage = options?.perPage ?? 100;
84
+ const maxPages = 1000;
85
+ const all = [];
86
+ let page = 1;
87
+ while (true) {
88
+ const result = await client.records.paginate(collection, { ...options, page, perPage });
89
+ all.push(...result.data);
90
+ if (page >= result.meta.total_pages)
91
+ break;
92
+ if (page >= maxPages)
93
+ throw new BoltstoreError(400, "TOO_MANY_PAGES", `listAll stopped after ${maxPages} pages.`);
94
+ page++;
95
+ }
96
+ return all;
97
+ },
98
+ };
99
+ }
100
+ //# sourceMappingURL=records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/api/records.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,7 +1,11 @@
1
- import type { ApiResponse, CollectionInfo, BoltstoreRecord, ListOptions, BatchOperation, BatchResult, QueryOptions } from "@boltstore/utils";
1
+ import type { ApiResponse, BoltstoreRecord, ListOptions, QueryOptions } from "@boltstore/utils";
2
2
  import { BoltstoreError } from "./errors";
3
3
  import type { TypedCollection } from "./types";
4
4
  import type { HttpMethod, TokenPair, UserProfile, OAuthProvider, ClientConfig, HealthCheck, PaginatedResult, TypedRecord, TypedBatchOperation, PaginateOptions } from "./types";
5
+ import { createAuthApi } from "./api/auth";
6
+ import { createHealthApi } from "./api/health";
7
+ import { createCollectionsApi } from "./api/collections";
8
+ import { createRecordsApi } from "./api/records";
5
9
  export { BoltstoreError };
6
10
  export { TypedCollectionImpl } from "./typed-collection";
7
11
  export type { TypedCollection } from "./typed-collection";
@@ -9,47 +13,19 @@ export type { TokenPair, UserProfile, OAuthProvider, ClientConfig, HealthCheck,
9
13
  export declare class BoltstoreClient {
10
14
  private baseUrl;
11
15
  private database;
16
+ private databaseId;
12
17
  private token;
13
18
  private refreshToken;
19
+ auth: ReturnType<typeof createAuthApi>;
20
+ health: ReturnType<typeof createHealthApi>;
21
+ collections: ReturnType<typeof createCollectionsApi>;
22
+ records: ReturnType<typeof createRecordsApi>;
14
23
  constructor(config: ClientConfig);
15
24
  collection<Fields = Record<string, unknown>>(name: string): TypedCollection<Fields>;
16
25
  setToken(token: string | undefined): void;
17
26
  getToken(): string | undefined;
18
27
  setRefreshToken(token: string | undefined): void;
19
28
  getRefreshToken(): string | undefined;
20
- auth: {
21
- register: (email: string, password: string) => Promise<UserProfile>;
22
- login: (email: string, password: string) => Promise<TokenPair>;
23
- refresh: (refreshToken?: string) => Promise<TokenPair>;
24
- autoRefresh: (thresholdSeconds?: number) => Promise<TokenPair | null>;
25
- logout: () => Promise<void>;
26
- me: () => Promise<UserProfile>;
27
- updateProfile: (data: {
28
- email?: string;
29
- password?: string;
30
- }) => Promise<UserProfile>;
31
- oauthUrl: (provider: OAuthProvider, redirectUri: string) => Promise<string>;
32
- oauthExchange: (provider: OAuthProvider, code: string, redirectUri: string) => Promise<TokenPair>;
33
- };
34
- health: {
35
- check: () => Promise<HealthCheck>;
36
- };
37
- collections: {
38
- list: () => Promise<CollectionInfo[]>;
39
- get: (name: string) => Promise<CollectionInfo>;
40
- };
41
- records: {
42
- create: (collection: string, data: Record<string, unknown>) => Promise<BoltstoreRecord>;
43
- list: (collection: string, options?: ListOptions) => Promise<BoltstoreRecord[]>;
44
- get: (collection: string, id: string) => Promise<BoltstoreRecord>;
45
- update: (collection: string, id: string, data: Record<string, unknown>) => Promise<BoltstoreRecord>;
46
- delete: (collection: string, id: string) => Promise<void>;
47
- count: (collection: string, filter?: Record<string, unknown>) => Promise<number>;
48
- distinct: (collection: string, field: string) => Promise<unknown[]>;
49
- batch: (collection: string, operations: BatchOperation[]) => Promise<BatchResult>;
50
- paginate: (collection: string, options: PaginateOptions) => Promise<PaginatedResult<BoltstoreRecord>>;
51
- listAll: (collection: string, options?: Omit<PaginateOptions, "page">) => Promise<BoltstoreRecord[]>;
52
- };
53
29
  query(options: QueryOptions): Promise<{
54
30
  data: BoltstoreRecord[];
55
31
  meta: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EACf,WAAW,EAGX,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,eAAe,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,mBAAmB,GACpB,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,YAAY,CAAqB;IAEzC,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC3C,WAAW,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACrD,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;gBAEjC,MAAM,EAAE,YAAY;IAwBhC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAInF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIzC,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIhD,eAAe,IAAI,MAAM,GAAG,SAAS;IAI/B,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAKjG,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAkDlH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAM5B,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;CAoBjE;AAED,eAAe,eAAe,CAAC"}
package/dist/client.js CHANGED
@@ -1,184 +1,29 @@
1
1
  import { BoltstoreError } from "./errors";
2
- import { decodeJwtPayload } from "./jwt";
3
2
  import { TypedCollectionImpl } from "./typed-collection";
3
+ import { createAuthApi } from "./api/auth";
4
+ import { createHealthApi } from "./api/health";
5
+ import { createCollectionsApi } from "./api/collections";
6
+ import { createRecordsApi } from "./api/records";
4
7
  export { BoltstoreError };
5
8
  export { TypedCollectionImpl } from "./typed-collection";
6
9
  export class BoltstoreClient {
7
10
  constructor(config) {
8
- this.auth = {
9
- register: async (email, password) => {
10
- const res = await this.request("POST", this.dbPath("/auth/register"), { email, password });
11
- return res.data;
12
- },
13
- login: async (email, password) => {
14
- const res = await this.request("POST", this.dbPath("/auth/login"), { email, password });
15
- this.token = res.data.accessToken;
16
- this.refreshToken = res.data.refreshToken;
17
- return res.data;
18
- },
19
- refresh: async (refreshToken) => {
20
- const token = refreshToken || this.refreshToken;
21
- if (!token)
22
- throw new BoltstoreError(400, "MISSING_REFRESH_TOKEN", "No refresh token available.");
23
- const res = await this.request("POST", this.dbPath("/auth/refresh"), { refreshToken: token });
24
- this.token = res.data.accessToken;
25
- this.refreshToken = res.data.refreshToken;
26
- return res.data;
27
- },
28
- autoRefresh: async (thresholdSeconds = 60) => {
29
- if (!this.token || !this.refreshToken)
30
- return null;
31
- const payload = decodeJwtPayload(this.token);
32
- if (!payload || !payload.exp)
33
- return null;
34
- const nowSec = Math.floor(Date.now() / 1000);
35
- if (payload.exp - nowSec > thresholdSeconds)
36
- return null;
37
- return this.auth.refresh();
38
- },
39
- logout: async () => {
40
- await this.request("POST", this.dbPath("/auth/logout"));
41
- this.token = undefined;
42
- this.refreshToken = undefined;
43
- },
44
- me: async () => {
45
- const res = await this.request("GET", this.dbPath("/auth/me"));
46
- return res.data;
47
- },
48
- updateProfile: async (data) => {
49
- const res = await this.request("PATCH", this.dbPath("/auth/me"), data);
50
- return res.data;
51
- },
52
- oauthUrl: async (provider, redirectUri) => {
53
- const res = await this.request("GET", this.dbPath(`/auth/oauth/${provider}/url?redirect_uri=${encodeURIComponent(redirectUri)}`));
54
- return res.data.url;
55
- },
56
- oauthExchange: async (provider, code, redirectUri) => {
57
- const res = await this.request("POST", this.dbPath(`/auth/oauth/${provider}`), {
58
- code,
59
- redirect_uri: redirectUri,
60
- });
61
- this.token = res.data.accessToken;
62
- this.refreshToken = res.data.refreshToken;
63
- return res.data;
64
- },
65
- };
66
- this.health = {
67
- check: async () => {
68
- const res = await this.request("GET", "/api/health");
69
- return res.data ?? { status: "unknown", version: "", uptime: 0, timestamp: "" };
70
- },
71
- };
72
- this.collections = {
73
- list: async () => {
74
- const res = await this.request("GET", this.dbPath("/collections"));
75
- return res.data ?? [];
76
- },
77
- get: async (name) => {
78
- const res = await this.request("GET", this.dbPath(`/collections/${name}`));
79
- return res.data;
80
- },
81
- };
82
- this.records = {
83
- create: async (collection, data) => {
84
- const res = await this.request("POST", this.dbPath(`/collections/${collection}/records`), data);
85
- return res.data;
86
- },
87
- list: async (collection, options) => {
88
- const path = this.buildListPath(collection, options);
89
- const res = await this.request("GET", path);
90
- return res.data ?? [];
91
- },
92
- get: async (collection, id) => {
93
- const res = await this.request("GET", this.dbPath(`/collections/${collection}/records/${id}`));
94
- return res.data;
95
- },
96
- update: async (collection, id, data) => {
97
- const res = await this.request("PATCH", this.dbPath(`/collections/${collection}/records/${id}`), data);
98
- return res.data;
99
- },
100
- delete: async (collection, id) => {
101
- await this.request("DELETE", this.dbPath(`/collections/${collection}/records/${id}`));
102
- },
103
- count: async (collection, filter) => {
104
- const params = new URLSearchParams();
105
- if (filter) {
106
- for (const [k, v] of Object.entries(filter)) {
107
- if (v === null || v === undefined)
108
- continue;
109
- if (typeof v === "object" && !Array.isArray(v)) {
110
- throw new BoltstoreError(400, "INVALID_FILTER", `Filter value for "${k}" must be a scalar or array.`);
111
- }
112
- params.set(k, Array.isArray(v) ? v.join(",") : String(v));
113
- }
114
- }
115
- const qs = params.toString();
116
- const path = this.dbPath(`/collections/${collection}/records/count`) + (qs ? `?${qs}` : "");
117
- const res = await this.request("GET", path);
118
- return res.data?.count ?? 0;
119
- },
120
- distinct: async (collection, field) => {
121
- const res = await this.request("GET", this.dbPath(`/collections/${collection}/records/distinct?field=${encodeURIComponent(field)}`));
122
- return res.data?.values ?? [];
123
- },
124
- batch: async (collection, operations) => {
125
- const res = await this.request("POST", this.dbPath(`/collections/${collection}/records/batch`), operations);
126
- return res.data;
127
- },
128
- paginate: async (collection, options) => {
129
- const perPage = options.perPage ?? 50;
130
- const params = new URLSearchParams();
131
- params.set("page", String(options.page));
132
- params.set("per_page", String(perPage));
133
- if (options.sort)
134
- params.set("sort", options.sort);
135
- if (options.direction)
136
- params.set("direction", options.direction);
137
- if (options.filter) {
138
- for (const [k, v] of Object.entries(options.filter)) {
139
- if (v === null || v === undefined)
140
- continue;
141
- if (typeof v === "object" && !Array.isArray(v)) {
142
- throw new BoltstoreError(400, "INVALID_FILTER", `Filter value for "${k}" must be a scalar or array.`);
143
- }
144
- params.set(k, Array.isArray(v) ? v.join(",") : String(v));
145
- }
146
- }
147
- const qs = params.toString();
148
- const path = this.dbPath(`/collections/${collection}/records`) + (qs ? `?${qs}` : "");
149
- const res = await this.request("GET", path);
150
- const meta = res.meta ?? {};
151
- return {
152
- data: res.data ?? [],
153
- meta: {
154
- page: meta.page ?? options.page,
155
- per_page: meta.per_page ?? perPage,
156
- total: meta.total ?? (res.data?.length ?? 0),
157
- total_pages: meta.total_pages ?? 1,
158
- },
159
- };
160
- },
161
- listAll: async (collection, options) => {
162
- const perPage = options?.perPage ?? 100;
163
- const maxPages = 1000;
164
- const all = [];
165
- let page = 1;
166
- while (true) {
167
- const result = await this.records.paginate(collection, { ...options, page, perPage });
168
- all.push(...result.data);
169
- if (page >= result.meta.total_pages)
170
- break;
171
- if (page >= maxPages)
172
- throw new BoltstoreError(400, "TOO_MANY_PAGES", `listAll stopped after ${maxPages} pages.`);
173
- page++;
174
- }
175
- return all;
176
- },
177
- };
178
11
  this.baseUrl = config.baseUrl.replace(/\/$/, "");
12
+ if (config.database && !config.databaseId) {
13
+ if (typeof console !== "undefined" && console.warn) {
14
+ console.warn("[boltstore] Deprecation warning: The `database` option is deprecated and will be removed in the next major release. " +
15
+ "Use `databaseId` instead with the database ID (e.g., 'dbs_...'). " +
16
+ "Run `boltstore admin databases` on the server to list database IDs.");
17
+ }
18
+ }
179
19
  this.database = config.database;
20
+ this.databaseId = config.databaseId;
180
21
  this.token = config.token;
181
22
  this.refreshToken = config.refreshToken;
23
+ this.auth = createAuthApi(this);
24
+ this.health = createHealthApi(this);
25
+ this.collections = createCollectionsApi(this);
26
+ this.records = createRecordsApi(this);
182
27
  }
183
28
  collection(name) {
184
29
  return new TypedCollectionImpl(this, name, (path) => this.dbPath(path));
@@ -251,8 +96,9 @@ export class BoltstoreClient {
251
96
  throw new BoltstoreError(0, "NETWORK_ERROR", lastError?.message || "Network request failed");
252
97
  }
253
98
  dbPath(path) {
254
- if (this.database)
255
- return `/api/${this.database}${path}`;
99
+ const db = this.databaseId ?? this.database;
100
+ if (db)
101
+ return `/api/${db}${path}`;
256
102
  return `/api${path}`;
257
103
  }
258
104
  buildListPath(collection, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAsB,MAAM,oBAAoB,CAAC;AAc7E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAczD,MAAM,OAAO,eAAe;IAY1B,YAAY,MAAoB;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CACV,sHAAsH;oBACtH,mEAAmE;oBACnE,qEAAqE,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAExC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAmC,IAAY;QACvD,OAAO,IAAI,mBAAmB,CAAS,IAAI,EAAE,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,QAAQ,CAAC,KAAyB;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,eAAe,CAAC,KAAyB;QACvC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAoB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1F,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,OAAO,CAAc,MAAkB,EAAE,IAAY,EAAE,IAAc,EAAE,OAAO,GAAG,CAAC;QACtF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;QACF,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QAClE,MAAM,IAAI,GAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC9C,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEzD,IAAI,SAA4B,CAAC;QACjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;gBACxE,IAAI,IAAoB,CAAC;gBACzB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,IAAI,cAAc,CACtB,QAAQ,CAAC,MAAM,EACf,kBAAkB,EAClB,+BAA+B,WAAW,YAAY,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAChG,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,0DAA0D,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC1I,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrG,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpG,IAAI,OAAO,GAAG,OAAO,IAAI,cAAc,EAAE,CAAC;oBACxC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7D,SAAS;gBACX,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,SAAS,YAAY,cAAc;YAAE,MAAM,SAAS,CAAC;QACzD,MAAM,IAAI,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,IAAI,wBAAwB,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC5C,IAAI,EAAE;YAAE,OAAO,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QACnC,OAAO,OAAO,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,UAAkB,EAAE,OAAqB;QACrD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,OAAO,EAAE,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACpF,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;oBAAE,SAAS;gBAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACzD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,UAAU,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
package/dist/types.d.ts CHANGED
@@ -15,7 +15,13 @@ export interface UserProfile {
15
15
  export type OAuthProvider = "google" | "github";
16
16
  export interface ClientConfig {
17
17
  baseUrl: string;
18
+ /**
19
+ * Database name.
20
+ * @deprecated Will be removed in the next major release. Use `databaseId` instead.
21
+ */
18
22
  database?: string;
23
+ /** Database ID (dbs_ prefix). Takes precedence over database name. */
24
+ databaseId?: string;
19
25
  token?: string;
20
26
  refreshToken?: string;
21
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boltstore/client",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Boltstore client SDK — JavaScript/TypeScript SDK for Boltstore",
@@ -16,7 +16,7 @@
16
16
  "prepublish": "bun run build"
17
17
  },
18
18
  "dependencies": {
19
- "@boltstore/utils": "^0.6.0"
19
+ "@boltstore/utils": "^0.6.1"
20
20
  },
21
21
  "devDependencies": {
22
22
  "typescript": "^6.0.3"