@truenorth-it/dataverse-client 1.0.8 → 1.1.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/README.md +97 -13
- package/package.json +11 -24
- package/sdk/dist/client.d.ts +42 -0
- package/sdk/dist/client.d.ts.map +1 -1
- package/sdk/dist/client.js +100 -6
- package/sdk/dist/client.js.map +1 -1
- package/sdk/dist/index.d.ts +1 -1
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/types.d.ts +11 -5
- package/sdk/dist/types.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ The SDK works out of the box without any type generation. Response data is `Reco
|
|
|
20
20
|
import { createClient } from "@truenorth-it/dataverse-client";
|
|
21
21
|
|
|
22
22
|
const client = createClient({
|
|
23
|
-
baseUrl: "https://
|
|
23
|
+
baseUrl: "https://api.dataverse-contact.tnapps.co.uk",
|
|
24
24
|
scope: "default", // scope segment in API URLs (e.g. /api/v2/default/me/case)
|
|
25
25
|
getToken: () => getAccessTokenSilently(), // your Auth0 token provider
|
|
26
26
|
});
|
|
@@ -72,7 +72,7 @@ const contacts = await client.me.lookup<Contact>("contact", { search: "jane" });
|
|
|
72
72
|
For full TypeScript autocomplete and type safety, generate interfaces from your own API deployment:
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
|
-
npx dataverse-client generate --url https://
|
|
75
|
+
npx dataverse-client generate --url https://api.dataverse-contact.tnapps.co.uk
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
This fetches the schema and choice values from your API (public endpoints, no auth required) and creates `dataverse-tables.generated.ts` with:
|
|
@@ -96,7 +96,7 @@ import { createClient } from "@truenorth-it/dataverse-client";
|
|
|
96
96
|
import type { Case, Contact } from "./dataverse-tables.generated";
|
|
97
97
|
|
|
98
98
|
const client = createClient({
|
|
99
|
-
baseUrl: "https://
|
|
99
|
+
baseUrl: "https://api.dataverse-contact.tnapps.co.uk",
|
|
100
100
|
scope: "default",
|
|
101
101
|
getToken: () => getAccessTokenSilently(),
|
|
102
102
|
});
|
|
@@ -166,7 +166,7 @@ The codegen function is also exported for use in custom build scripts:
|
|
|
166
166
|
```typescript
|
|
167
167
|
import { generateTableTypes } from "@truenorth-it/dataverse-client";
|
|
168
168
|
|
|
169
|
-
const response = await fetch("https://
|
|
169
|
+
const response = await fetch("https://api.dataverse-contact.tnapps.co.uk/api/v2/default/schema");
|
|
170
170
|
const schema = await response.json();
|
|
171
171
|
const tsSource = generateTableTypes(schema);
|
|
172
172
|
// Write tsSource to a file, pipe it, etc.
|
|
@@ -198,22 +198,23 @@ function useApiClient() {
|
|
|
198
198
|
|
|
199
199
|
```typescript
|
|
200
200
|
createClient({
|
|
201
|
-
baseUrl: string;
|
|
202
|
-
getToken
|
|
203
|
-
apiBase?: string;
|
|
204
|
-
scope?: string;
|
|
201
|
+
baseUrl: string; // API deployment URL
|
|
202
|
+
getToken?: () => Promise<string>; // Returns a Bearer token (optional for public-only access)
|
|
203
|
+
apiBase?: string; // Defaults to "/api/v2"
|
|
204
|
+
scope?: string; // Defaults to "default" — inserted after apiBase in URLs
|
|
205
205
|
});
|
|
206
206
|
```
|
|
207
207
|
|
|
208
208
|
## Access scopes
|
|
209
209
|
|
|
210
|
-
The client exposes
|
|
210
|
+
The client exposes four scopes, each backed by server-side authorization:
|
|
211
211
|
|
|
212
212
|
| Scope | Description | Operations |
|
|
213
213
|
|-------|-------------|------------|
|
|
214
214
|
| `client.me` | Your own records (contact-scoped) | list, get, update, lookup, create, whoami |
|
|
215
215
|
| `client.team` | Records belonging to your team/account | list, get, update, lookup |
|
|
216
216
|
| `client.all` | All records (requires elevated permissions) | list, get, update, lookup |
|
|
217
|
+
| `client.public` | Public tables (no authentication) | list, get |
|
|
217
218
|
|
|
218
219
|
## Operations
|
|
219
220
|
|
|
@@ -228,7 +229,7 @@ const result = await client.me.list("case", {
|
|
|
228
229
|
});
|
|
229
230
|
|
|
230
231
|
// result.data — Record<string, unknown>[] (or Case[] if you pass a generic)
|
|
231
|
-
// result.page — { top, skip, next }
|
|
232
|
+
// result.page — { top, skip, next } — use fetchPage(page.next) for subsequent pages
|
|
232
233
|
|
|
233
234
|
for (const c of result.data) {
|
|
234
235
|
console.log(c.ticketnumber, c.title);
|
|
@@ -263,6 +264,59 @@ for (const activity of allActivities.data) {
|
|
|
263
264
|
}
|
|
264
265
|
```
|
|
265
266
|
|
|
267
|
+
### Paging through results
|
|
268
|
+
|
|
269
|
+
The API uses **cursor-based paging** powered by Dataverse's `$skiptoken`. Each list response includes a `page` object:
|
|
270
|
+
|
|
271
|
+
```typescript
|
|
272
|
+
{
|
|
273
|
+
data: [...], // records for this page
|
|
274
|
+
page: {
|
|
275
|
+
top: 25, // page size
|
|
276
|
+
skip: 0, // offset of this page
|
|
277
|
+
next: "/api/v2/..." // full URL for next page (null on last page)
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
> **Important:** The `page.next` URL contains both `skip` and `skiptoken` (Dataverse's opaque paging cookie). Always use `page.next` to advance — don't manually increment `skip`, as the skiptoken is required for correct cursor positioning.
|
|
283
|
+
|
|
284
|
+
#### Fetch next page
|
|
285
|
+
|
|
286
|
+
Use `fetchPage()` to follow a `page.next` URL:
|
|
287
|
+
|
|
288
|
+
```typescript
|
|
289
|
+
let page = await client.me.list<Case>("case", { top: 25 });
|
|
290
|
+
console.log(`Page 1: ${page.data.length} records`);
|
|
291
|
+
|
|
292
|
+
while (page.page.next) {
|
|
293
|
+
page = await client.me.fetchPage<Case>(page.page.next);
|
|
294
|
+
console.log(`Next page: ${page.data.length} records (offset ${page.page.skip})`);
|
|
295
|
+
}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
#### Iterate all pages
|
|
299
|
+
|
|
300
|
+
Use `eachPage()` for a clean async iterator over every page:
|
|
301
|
+
|
|
302
|
+
```typescript
|
|
303
|
+
for await (const page of client.me.eachPage<Case>("case", { top: 50 })) {
|
|
304
|
+
for (const record of page.data) {
|
|
305
|
+
console.log(record.ticketnumber, record.title);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
#### Collect all records
|
|
311
|
+
|
|
312
|
+
```typescript
|
|
313
|
+
const allCases: Case[] = [];
|
|
314
|
+
for await (const page of client.all.eachPage<Case>("case", { top: 100 })) {
|
|
315
|
+
allCases.push(...page.data);
|
|
316
|
+
}
|
|
317
|
+
console.log(`Total: ${allCases.length} cases`);
|
|
318
|
+
```
|
|
319
|
+
|
|
266
320
|
### Get a single record
|
|
267
321
|
|
|
268
322
|
```typescript
|
|
@@ -335,6 +389,36 @@ for (const contact of result.data) {
|
|
|
335
389
|
|
|
336
390
|
> **With types:** any operation accepts a generic — `client.me.lookup<Contact>("contact", ...)`, `client.me.get<Case>("case", ...)`, etc.
|
|
337
391
|
|
|
392
|
+
### Public (unauthenticated) access
|
|
393
|
+
|
|
394
|
+
Tables with `publicRead: true` are available without authentication via `client.public`. Only `list` and `get` are supported — no writes, lookups, or aggregates.
|
|
395
|
+
|
|
396
|
+
```typescript
|
|
397
|
+
// No getToken needed for public-only usage
|
|
398
|
+
const client = createClient({
|
|
399
|
+
baseUrl: "https://api.dataverse-contact.tnapps.co.uk",
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
const result = await client.public.list("case", {
|
|
403
|
+
select: ["title", "ticketnumber", "statuscode"],
|
|
404
|
+
top: 10,
|
|
405
|
+
});
|
|
406
|
+
|
|
407
|
+
const record = await client.public.get("case", caseId);
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
Paging works the same as authenticated scopes:
|
|
411
|
+
|
|
412
|
+
```typescript
|
|
413
|
+
for await (const page of client.public.eachPage("case", { top: 50 })) {
|
|
414
|
+
for (const record of page.data) {
|
|
415
|
+
console.log(record.title);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
> `client.public` never sends an `Authorization` header, even if `getToken` is configured on the client. The other scopes (`me`, `team`, `all`) still require authentication.
|
|
421
|
+
|
|
338
422
|
### Who am I
|
|
339
423
|
|
|
340
424
|
```typescript
|
|
@@ -380,7 +464,7 @@ Used by `list()`:
|
|
|
380
464
|
|--------|------|-------------|
|
|
381
465
|
| `select` | `string[]` | Fields to return |
|
|
382
466
|
| `top` | `number` | Page size (1-100) |
|
|
383
|
-
| `skip` | `number` |
|
|
467
|
+
| `skip` | `number` | Initial offset (rarely needed). For paging through results, always use `fetchPage(page.next)` or `eachPage()` instead — Dataverse requires the `$skiptoken` cursor from `page.next`, not just a skip offset. |
|
|
384
468
|
| `orderBy` | `string` | Sort field and direction, e.g. `"createdon:desc"` |
|
|
385
469
|
| `filter` | `string \| string[]` | OData-style filter expressions |
|
|
386
470
|
| `filterLogic` | `"and" \| "or"` | How to combine multiple filters (default: `"and"`) |
|
|
@@ -613,7 +697,7 @@ All types are importable from the main package:
|
|
|
613
697
|
```typescript
|
|
614
698
|
import type {
|
|
615
699
|
// Client & scope interfaces
|
|
616
|
-
DataverseClient, ScopeClient, MeScopeClient, ClientConfig,
|
|
700
|
+
DataverseClient, ScopeClient, MeScopeClient, PublicScopeClient, ClientConfig,
|
|
617
701
|
// Query types
|
|
618
702
|
QueryOptions, LookupOptions,
|
|
619
703
|
// Response types
|
|
@@ -642,7 +726,7 @@ import type { Case, Contact, TableName } from "./dataverse-tables.generated";
|
|
|
642
726
|
## Requirements
|
|
643
727
|
|
|
644
728
|
- Node.js 18+
|
|
645
|
-
- An Auth0 token provider (or any async function that returns a Bearer token)
|
|
729
|
+
- An Auth0 token provider (or any async function that returns a Bearer token) — optional if using only `client.public`
|
|
646
730
|
- Access to a deployed Dataverse Contact API instance
|
|
647
731
|
|
|
648
732
|
## License
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@truenorth-it/dataverse-client",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./sdk/dist/index.js",
|
|
6
6
|
"types": "./sdk/dist/index.d.ts",
|
|
@@ -18,11 +18,8 @@
|
|
|
18
18
|
],
|
|
19
19
|
"scripts": {
|
|
20
20
|
"build:sdk": "tsc -p sdk/tsconfig.json",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"build": "tsc & vite build && wait",
|
|
24
|
-
"preview": "vite preview",
|
|
25
|
-
"lint": "eslint . --ext .ts,.tsx",
|
|
21
|
+
"prepublishOnly": "tsc -p sdk/tsconfig.json",
|
|
22
|
+
"lint": "eslint . --ext .ts",
|
|
26
23
|
"typecheck": "tsc --noEmit",
|
|
27
24
|
"generate-tables": "tsx scripts/generate-tables.ts",
|
|
28
25
|
"sync-auth0-perms": "tsx scripts/sync-auth0-permissions.ts",
|
|
@@ -33,43 +30,33 @@
|
|
|
33
30
|
"test": "vitest run",
|
|
34
31
|
"test:watch": "vitest",
|
|
35
32
|
"test:coverage": "vitest run --coverage",
|
|
36
|
-
"test:stats": "vitest run --coverage && node scripts/generate-test-stats.cjs"
|
|
33
|
+
"test:stats": "vitest run --coverage && node scripts/generate-test-stats.cjs",
|
|
34
|
+
"build:landing": "vite build --config landing/vite.config.ts && cp -rL docs dist/docs",
|
|
35
|
+
"build": "npm run build:landing && npm run build:sdk"
|
|
37
36
|
},
|
|
38
37
|
"dependencies": {
|
|
39
|
-
"@auth0/auth0-react": "^2.2.4",
|
|
40
38
|
"@azure/identity": "^4.2.0",
|
|
41
|
-
"@
|
|
39
|
+
"@azure/storage-blob": "^12.31.0",
|
|
42
40
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
43
41
|
"applicationinsights": "^2.9.8",
|
|
44
42
|
"jose": "^5.2.0",
|
|
45
|
-
"mermaid": "^11.12.2",
|
|
46
|
-
"react": "^18.2.0",
|
|
47
|
-
"react-dom": "^18.2.0",
|
|
48
|
-
"react-markdown": "^10.1.0",
|
|
49
|
-
"react-router-dom": "^7.13.0",
|
|
50
|
-
"remark-gfm": "^4.0.1",
|
|
51
43
|
"zod": "^3.25.76"
|
|
52
44
|
},
|
|
53
45
|
"devDependencies": {
|
|
46
|
+
"@auth0/auth0-spa-js": "^2.16.0",
|
|
54
47
|
"@microsoft/signalr": "^10.0.0",
|
|
55
|
-
"@tailwindcss/vite": "^4.1.18",
|
|
56
|
-
"@testing-library/jest-dom": "^6.9.1",
|
|
57
|
-
"@testing-library/react": "^16.3.2",
|
|
58
|
-
"@testing-library/user-event": "^14.6.1",
|
|
59
48
|
"@types/node": "^20.11.0",
|
|
60
49
|
"@types/react": "^18.2.48",
|
|
61
50
|
"@types/react-dom": "^18.2.18",
|
|
62
51
|
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
63
52
|
"@typescript-eslint/parser": "^7.0.0",
|
|
64
53
|
"@vercel/node": "^3.0.0",
|
|
65
|
-
"@vitejs/plugin-react": "^4.2.1",
|
|
66
54
|
"@vitest/coverage-v8": "^4.0.18",
|
|
67
55
|
"eslint": "^8.56.0",
|
|
68
|
-
"
|
|
69
|
-
"
|
|
56
|
+
"react": "^18.2.0",
|
|
57
|
+
"react-dom": "^18.2.0",
|
|
70
58
|
"tsx": "^4.21.0",
|
|
71
59
|
"typescript": "^5.3.3",
|
|
72
|
-
"vercel": "^33.0.0",
|
|
73
60
|
"vite": "^5.0.12",
|
|
74
61
|
"vitest": "^4.0.18"
|
|
75
62
|
},
|
|
@@ -86,6 +73,6 @@
|
|
|
86
73
|
}
|
|
87
74
|
},
|
|
88
75
|
"engines": {
|
|
89
|
-
"node": "
|
|
76
|
+
"node": "24.x"
|
|
90
77
|
}
|
|
91
78
|
}
|
package/sdk/dist/client.d.ts
CHANGED
|
@@ -10,6 +10,35 @@ export declare class ApiError extends Error {
|
|
|
10
10
|
export interface ScopeClient {
|
|
11
11
|
/** List records from a table */
|
|
12
12
|
list<T = Record<string, unknown>>(table: string, options?: QueryOptions): Promise<PaginatedResponse<T>>;
|
|
13
|
+
/**
|
|
14
|
+
* Fetch the next page using a `page.next` URL from a previous response.
|
|
15
|
+
*
|
|
16
|
+
* The API uses cursor-based paging — the `page.next` URL contains an opaque
|
|
17
|
+
* pagination token. Always use this method (or the URL from `page.next`) to
|
|
18
|
+
* advance through pages.
|
|
19
|
+
*
|
|
20
|
+
* ```typescript
|
|
21
|
+
* let page = await client.me.list<Case>("case", { top: 25 });
|
|
22
|
+
* while (page.page.next) {
|
|
23
|
+
* page = await client.me.fetchPage<Case>(page.page.next);
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
fetchPage<T = Record<string, unknown>>(nextUrl: string): Promise<PaginatedResponse<T>>;
|
|
28
|
+
/**
|
|
29
|
+
* Async iterator that yields every page of results, following `page.next`
|
|
30
|
+
* cursors automatically. Starts with a `list()` call and keeps fetching
|
|
31
|
+
* until there are no more pages.
|
|
32
|
+
*
|
|
33
|
+
* ```typescript
|
|
34
|
+
* for await (const page of client.me.eachPage<Case>("case", { top: 50 })) {
|
|
35
|
+
* for (const record of page.data) {
|
|
36
|
+
* console.log(record.title);
|
|
37
|
+
* }
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
eachPage<T = Record<string, unknown>>(table: string, options?: QueryOptions): AsyncIterable<PaginatedResponse<T>>;
|
|
13
42
|
/** Get a single record by ID */
|
|
14
43
|
get<T = Record<string, unknown>>(table: string, id: string, options?: Pick<QueryOptions, "select" | "expand">): Promise<SingleResponse<T>>;
|
|
15
44
|
/** Update a record */
|
|
@@ -37,6 +66,17 @@ export interface MeScopeClient extends ScopeClient {
|
|
|
37
66
|
/** Get authenticated identity + Dataverse contact info */
|
|
38
67
|
whoami(): Promise<WhoamiResponse>;
|
|
39
68
|
}
|
|
69
|
+
/** Read-only API operations for the public tier (no authentication required) */
|
|
70
|
+
export interface PublicScopeClient {
|
|
71
|
+
/** List records from a public table */
|
|
72
|
+
list<T = Record<string, unknown>>(table: string, options?: QueryOptions): Promise<PaginatedResponse<T>>;
|
|
73
|
+
/** Fetch the next page using a `page.next` URL from a previous response */
|
|
74
|
+
fetchPage<T = Record<string, unknown>>(nextUrl: string): Promise<PaginatedResponse<T>>;
|
|
75
|
+
/** Async iterator that yields every page of results */
|
|
76
|
+
eachPage<T = Record<string, unknown>>(table: string, options?: QueryOptions): AsyncIterable<PaginatedResponse<T>>;
|
|
77
|
+
/** Get a single record by ID */
|
|
78
|
+
get<T = Record<string, unknown>>(table: string, id: string, options?: Pick<QueryOptions, "select" | "expand">): Promise<SingleResponse<T>>;
|
|
79
|
+
}
|
|
40
80
|
/** SignalR negotiate response */
|
|
41
81
|
export interface NegotiateResponse {
|
|
42
82
|
url: string;
|
|
@@ -50,6 +90,8 @@ export interface DataverseClient {
|
|
|
50
90
|
team: ScopeClient;
|
|
51
91
|
/** Operations on all records (admin) */
|
|
52
92
|
all: ScopeClient;
|
|
93
|
+
/** Read-only operations on public tables (no authentication required) */
|
|
94
|
+
public: PublicScopeClient;
|
|
53
95
|
/** Fetch choice/option-set values for a table, or a specific field */
|
|
54
96
|
choices(table: string, field?: string): Promise<FieldChoicesResponse | TableChoicesResponse>;
|
|
55
97
|
/** Fetch table schema (single table or all tables) */
|
package/sdk/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB,0DAA0D;AAC1D,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;gBAEvB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;CAO1E;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB,0DAA0D;AAC1D,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;gBAEvB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;CAO1E;AAwED,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,GACrB,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,gCAAgC;IAChC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAChD,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,sBAAsB;IACtB,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,6FAA6F;IAC7F,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC;AA4KD,qEAAqE;AACrE,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,0DAA0D;IAC1D,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACnC;AAoBD,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,2EAA2E;IAC3E,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,uDAAuD;IACvD,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,GACrB,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,gCAAgC;IAChC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAChD,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/B;AAmDD,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,EAAE,EAAE,aAAa,CAAC;IAClB,iEAAiE;IACjE,IAAI,EAAE,WAAW,CAAC;IAClB,wCAAwC;IACxC,GAAG,EAAE,WAAW,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,iBAAiB,CAAC;IAE1B,sEAAsE;IACtE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC;IAE7F,sDAAsD;IACtD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC;IAE7D,uEAAuE;IACvE,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzC;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CA2BlE"}
|
package/sdk/dist/client.js
CHANGED
|
@@ -35,8 +35,6 @@ function buildQueryString(options) {
|
|
|
35
35
|
params.set("select", options.select.join(","));
|
|
36
36
|
if (options.top != null)
|
|
37
37
|
params.set("top", String(options.top));
|
|
38
|
-
if (options.skip != null)
|
|
39
|
-
params.set("skip", String(options.skip));
|
|
40
38
|
if (options.orderBy)
|
|
41
39
|
params.set("orderBy", options.orderBy);
|
|
42
40
|
if (options.expand)
|
|
@@ -53,14 +51,14 @@ function buildQueryString(options) {
|
|
|
53
51
|
return qs ? `?${qs}` : "";
|
|
54
52
|
}
|
|
55
53
|
async function request(config, method, path, body) {
|
|
56
|
-
const token = await config.getToken();
|
|
54
|
+
const token = config.getToken ? await config.getToken() : undefined;
|
|
57
55
|
const base = config.baseUrl.replace(/\/+$/, "");
|
|
58
56
|
const apiBase = config.apiBase ?? "/api/v2";
|
|
59
57
|
const scope = config.scope ?? "default";
|
|
60
58
|
const url = `${base}${apiBase}/${scope}${path}`;
|
|
61
|
-
const headers = {
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
const headers = {};
|
|
60
|
+
if (token)
|
|
61
|
+
headers.Authorization = `Bearer ${token}`;
|
|
64
62
|
const init = { method, headers };
|
|
65
63
|
if (body !== undefined) {
|
|
66
64
|
headers["Content-Type"] = "application/json";
|
|
@@ -91,6 +89,57 @@ function buildAggregateQueryString(options) {
|
|
|
91
89
|
const qs = params.toString();
|
|
92
90
|
return qs ? `?${qs}` : "";
|
|
93
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Fetch a page.next URL. These URLs are absolute paths (e.g. /api/v2/default/all/case?top=5&cursor=...)
|
|
94
|
+
* so we construct the full URL from the base and call fetch directly.
|
|
95
|
+
*/
|
|
96
|
+
async function requestAbsolute(config, nextUrl) {
|
|
97
|
+
const token = config.getToken ? await config.getToken() : undefined;
|
|
98
|
+
const base = config.baseUrl.replace(/\/+$/, "");
|
|
99
|
+
const url = nextUrl.startsWith("http") ? nextUrl : `${base}${nextUrl}`;
|
|
100
|
+
const headers = {};
|
|
101
|
+
if (token)
|
|
102
|
+
headers.Authorization = `Bearer ${token}`;
|
|
103
|
+
const res = await fetch(url, { method: "GET", headers });
|
|
104
|
+
if (!res.ok) {
|
|
105
|
+
const errorBody = (await res.json().catch(() => null));
|
|
106
|
+
throw new ApiError(res.status, res.statusText, errorBody);
|
|
107
|
+
}
|
|
108
|
+
const text = await res.text();
|
|
109
|
+
if (!text)
|
|
110
|
+
return undefined;
|
|
111
|
+
return JSON.parse(text);
|
|
112
|
+
}
|
|
113
|
+
/** Make a scoped request without authentication (for public tier) */
|
|
114
|
+
async function requestNoAuth(config, method, path) {
|
|
115
|
+
const base = config.baseUrl.replace(/\/+$/, "");
|
|
116
|
+
const apiBase = config.apiBase ?? "/api/v2";
|
|
117
|
+
const scope = config.scope ?? "default";
|
|
118
|
+
const url = `${base}${apiBase}/${scope}${path}`;
|
|
119
|
+
const res = await fetch(url, { method });
|
|
120
|
+
if (!res.ok) {
|
|
121
|
+
const errorBody = (await res.json().catch(() => null));
|
|
122
|
+
throw new ApiError(res.status, res.statusText, errorBody);
|
|
123
|
+
}
|
|
124
|
+
const text = await res.text();
|
|
125
|
+
if (!text)
|
|
126
|
+
return undefined;
|
|
127
|
+
return JSON.parse(text);
|
|
128
|
+
}
|
|
129
|
+
/** Fetch a page.next URL without authentication (for public tier) */
|
|
130
|
+
async function requestAbsoluteNoAuth(config, nextUrl) {
|
|
131
|
+
const base = config.baseUrl.replace(/\/+$/, "");
|
|
132
|
+
const url = nextUrl.startsWith("http") ? nextUrl : `${base}${nextUrl}`;
|
|
133
|
+
const res = await fetch(url, { method: "GET" });
|
|
134
|
+
if (!res.ok) {
|
|
135
|
+
const errorBody = (await res.json().catch(() => null));
|
|
136
|
+
throw new ApiError(res.status, res.statusText, errorBody);
|
|
137
|
+
}
|
|
138
|
+
const text = await res.text();
|
|
139
|
+
if (!text)
|
|
140
|
+
return undefined;
|
|
141
|
+
return JSON.parse(text);
|
|
142
|
+
}
|
|
94
143
|
function createScopeClient(config, scope) {
|
|
95
144
|
return {
|
|
96
145
|
list(table, options = {}) {
|
|
@@ -100,6 +149,21 @@ function createScopeClient(config, scope) {
|
|
|
100
149
|
: `/${scope}/${table}${buildQueryString(queryOptions)}`;
|
|
101
150
|
return request(config, "GET", path);
|
|
102
151
|
},
|
|
152
|
+
fetchPage(nextUrl) {
|
|
153
|
+
return requestAbsolute(config, nextUrl);
|
|
154
|
+
},
|
|
155
|
+
async *eachPage(table, options = {}) {
|
|
156
|
+
const { subtype, ...queryOptions } = options;
|
|
157
|
+
const path = subtype
|
|
158
|
+
? `/${scope}/${table}/${subtype}${buildQueryString(queryOptions)}`
|
|
159
|
+
: `/${scope}/${table}${buildQueryString(queryOptions)}`;
|
|
160
|
+
let page = await request(config, "GET", path);
|
|
161
|
+
yield page;
|
|
162
|
+
while (page.page.next) {
|
|
163
|
+
page = await requestAbsolute(config, page.page.next);
|
|
164
|
+
yield page;
|
|
165
|
+
}
|
|
166
|
+
},
|
|
103
167
|
get(table, id, options = {}) {
|
|
104
168
|
return request(config, "GET", `/${scope}/${table}/${id}${buildQueryString(options)}`);
|
|
105
169
|
},
|
|
@@ -126,12 +190,42 @@ function createMeScopeClient(config) {
|
|
|
126
190
|
},
|
|
127
191
|
};
|
|
128
192
|
}
|
|
193
|
+
function createPublicScopeClient(config) {
|
|
194
|
+
return {
|
|
195
|
+
list(table, options = {}) {
|
|
196
|
+
const { subtype, ...queryOptions } = options;
|
|
197
|
+
const path = subtype
|
|
198
|
+
? `/public/${table}/${subtype}${buildQueryString(queryOptions)}`
|
|
199
|
+
: `/public/${table}${buildQueryString(queryOptions)}`;
|
|
200
|
+
return requestNoAuth(config, "GET", path);
|
|
201
|
+
},
|
|
202
|
+
fetchPage(nextUrl) {
|
|
203
|
+
return requestAbsoluteNoAuth(config, nextUrl);
|
|
204
|
+
},
|
|
205
|
+
async *eachPage(table, options = {}) {
|
|
206
|
+
const { subtype, ...queryOptions } = options;
|
|
207
|
+
const path = subtype
|
|
208
|
+
? `/public/${table}/${subtype}${buildQueryString(queryOptions)}`
|
|
209
|
+
: `/public/${table}${buildQueryString(queryOptions)}`;
|
|
210
|
+
let page = await requestNoAuth(config, "GET", path);
|
|
211
|
+
yield page;
|
|
212
|
+
while (page.page.next) {
|
|
213
|
+
page = await requestAbsoluteNoAuth(config, page.page.next);
|
|
214
|
+
yield page;
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
get(table, id, options = {}) {
|
|
218
|
+
return requestNoAuth(config, "GET", `/public/${table}/${id}${buildQueryString(options)}`);
|
|
219
|
+
},
|
|
220
|
+
};
|
|
221
|
+
}
|
|
129
222
|
/** Create a configured API client instance */
|
|
130
223
|
export function createClient(config) {
|
|
131
224
|
return {
|
|
132
225
|
me: createMeScopeClient(config),
|
|
133
226
|
team: createScopeClient(config, "team"),
|
|
134
227
|
all: createScopeClient(config, "all"),
|
|
228
|
+
public: createPublicScopeClient(config),
|
|
135
229
|
choices(table, field) {
|
|
136
230
|
const path = field
|
|
137
231
|
? `/choices/${table}/${field}`
|
package/sdk/dist/client.js.map
CHANGED
|
@@ -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":"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"}
|
package/sdk/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createClient, ApiError } from "./client.js";
|
|
2
|
-
export type { DataverseClient, ScopeClient, MeScopeClient, NegotiateResponse, } from "./client.js";
|
|
2
|
+
export type { DataverseClient, ScopeClient, MeScopeClient, PublicScopeClient, NegotiateResponse, } from "./client.js";
|
|
3
3
|
export type { ClientConfig, QueryOptions, LookupOptions, AggregateOptions, PaginatedResponse, SingleResponse, AggregateResponse, WhoamiResponse, TableSchema, SchemaField, ExpandSchema, Choice, FieldChoicesResponse, TableChoicesResponse, ApiErrorBody, } from "./types.js";
|
|
4
4
|
export { resolveQuickDate, quickDateToFilters } from "./quick-date.js";
|
|
5
5
|
export type { DateRange } from "./quick-date.js";
|
package/sdk/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGxF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGxF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
package/sdk/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0BrD,2EAA2E;AAC3E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGvE,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,mFAAmF;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
package/sdk/dist/types.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
export interface ClientConfig {
|
|
3
3
|
/** Base URL of the API deployment, e.g. "https://my-api.vercel.app" */
|
|
4
4
|
baseUrl: string;
|
|
5
|
-
/** Function that returns a valid access token (e.g. Auth0 getAccessTokenSilently) */
|
|
6
|
-
getToken
|
|
5
|
+
/** Function that returns a valid access token (e.g. Auth0 getAccessTokenSilently). Optional for public-only access. */
|
|
6
|
+
getToken?: () => Promise<string>;
|
|
7
7
|
/** API base path. Defaults to "/api/v2" */
|
|
8
8
|
apiBase?: string;
|
|
9
9
|
/** API scope partition. Defaults to "default". */
|
|
@@ -15,8 +15,6 @@ export interface QueryOptions {
|
|
|
15
15
|
select?: string[];
|
|
16
16
|
/** Page size (1-100) */
|
|
17
17
|
top?: number;
|
|
18
|
-
/** Records to skip */
|
|
19
|
-
skip?: number;
|
|
20
18
|
/** Sort order, e.g. "modifiedon:desc" */
|
|
21
19
|
orderBy?: string;
|
|
22
20
|
/** OData-style filters. Repeated values combined with filterLogic. */
|
|
@@ -54,7 +52,6 @@ export interface PaginatedResponse<T = Record<string, unknown>> {
|
|
|
54
52
|
data: T[];
|
|
55
53
|
page: {
|
|
56
54
|
top: number;
|
|
57
|
-
skip: number;
|
|
58
55
|
next: string | null;
|
|
59
56
|
};
|
|
60
57
|
}
|
|
@@ -101,6 +98,15 @@ export interface TableSchema {
|
|
|
101
98
|
aliases?: string[];
|
|
102
99
|
defaultFields: string[];
|
|
103
100
|
fields: SchemaField[];
|
|
101
|
+
/** Active record filter preset. "active" = only statecode 0, "all" = no filter. */
|
|
102
|
+
recordFilter?: "active" | "all";
|
|
103
|
+
/** Parent table relationship for child record tables. Enables parent.field filter syntax. */
|
|
104
|
+
parentTable?: {
|
|
105
|
+
table: string;
|
|
106
|
+
navigationProperty: string;
|
|
107
|
+
};
|
|
108
|
+
/** Always-on filter expressions (AND'd with all other filters). Supports parent.field syntax. */
|
|
109
|
+
defaultFilters?: string[];
|
|
104
110
|
supportsTeam: boolean;
|
|
105
111
|
contactScope?: {
|
|
106
112
|
description: string;
|
package/sdk/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|