@tinybirdco/sdk 0.0.37 → 0.0.39
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 +94 -1
- package/dist/api/api.d.ts +67 -1
- package/dist/api/api.d.ts.map +1 -1
- package/dist/api/api.js +79 -0
- package/dist/api/api.js.map +1 -1
- package/dist/api/api.test.js +143 -0
- package/dist/api/api.test.js.map +1 -1
- package/dist/api/tokens.d.ts +79 -0
- package/dist/api/tokens.d.ts.map +1 -0
- package/dist/api/tokens.js +80 -0
- package/dist/api/tokens.js.map +1 -0
- package/dist/api/tokens.test.d.ts +2 -0
- package/dist/api/tokens.test.d.ts.map +1 -0
- package/dist/api/tokens.test.js +209 -0
- package/dist/api/tokens.test.js.map +1 -0
- package/dist/client/base.d.ts +19 -0
- package/dist/client/base.d.ts.map +1 -1
- package/dist/client/base.js +43 -0
- package/dist/client/base.js.map +1 -1
- package/dist/client/base.test.js +4 -0
- package/dist/client/base.test.js.map +1 -1
- package/dist/client/tokens.d.ts +42 -0
- package/dist/client/tokens.d.ts.map +1 -0
- package/dist/client/tokens.js +67 -0
- package/dist/client/tokens.js.map +1 -0
- package/dist/client/tokens.test.d.ts +2 -0
- package/dist/client/tokens.test.d.ts.map +1 -0
- package/dist/client/tokens.test.js +79 -0
- package/dist/client/tokens.test.js.map +1 -0
- package/dist/client/types.d.ts +50 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/schema/project.d.ts +27 -14
- package/dist/schema/project.d.ts.map +1 -1
- package/dist/schema/project.js +63 -13
- package/dist/schema/project.js.map +1 -1
- package/dist/schema/project.test.js +25 -12
- package/dist/schema/project.test.js.map +1 -1
- package/package.json +1 -1
- package/src/api/api.test.ts +208 -0
- package/src/api/api.ts +183 -0
- package/src/api/tokens.test.ts +253 -0
- package/src/api/tokens.ts +169 -0
- package/src/client/base.test.ts +4 -0
- package/src/client/base.ts +65 -0
- package/src/client/tokens.test.ts +103 -0
- package/src/client/tokens.ts +69 -0
- package/src/client/types.ts +54 -0
- package/src/index.ts +21 -0
- package/src/schema/project.test.ts +25 -12
- package/src/schema/project.ts +113 -29
|
@@ -49,7 +49,7 @@ describe("Project Schema", () => {
|
|
|
49
49
|
expect(project.datasources.events).toBe(events);
|
|
50
50
|
expect(project.pipes.topEvents).toBe(topEvents);
|
|
51
51
|
});
|
|
52
|
-
it("creates tinybird client with
|
|
52
|
+
it("creates tinybird client with pipe accessors and ingest methods", () => {
|
|
53
53
|
const events = defineDatasource("events", {
|
|
54
54
|
schema: { id: t.string() },
|
|
55
55
|
});
|
|
@@ -62,13 +62,14 @@ describe("Project Schema", () => {
|
|
|
62
62
|
datasources: { events },
|
|
63
63
|
pipes: { topEvents },
|
|
64
64
|
});
|
|
65
|
-
expect(project.tinybird.query).toBeDefined();
|
|
66
65
|
expect(project.tinybird.ingest).toBeDefined();
|
|
67
|
-
expect(typeof project.tinybird.query
|
|
66
|
+
expect(typeof project.tinybird.topEvents.query).toBe("function");
|
|
68
67
|
expect(typeof project.tinybird.ingest.events).toBe("function");
|
|
69
68
|
expect(typeof project.tinybird.ingest.eventsBatch).toBe("function");
|
|
69
|
+
expect(project.tinybird.query).toBeUndefined();
|
|
70
|
+
expect(project.tinybird.pipes).toBeUndefined();
|
|
70
71
|
});
|
|
71
|
-
it("creates datasource accessors with append
|
|
72
|
+
it("creates datasource accessors with append/delete/truncate methods", () => {
|
|
72
73
|
const events = defineDatasource("events", {
|
|
73
74
|
schema: { timestamp: t.dateTime() },
|
|
74
75
|
});
|
|
@@ -77,6 +78,8 @@ describe("Project Schema", () => {
|
|
|
77
78
|
});
|
|
78
79
|
expect(project.tinybird.events).toBeDefined();
|
|
79
80
|
expect(typeof project.tinybird.events.append).toBe("function");
|
|
81
|
+
expect(typeof project.tinybird.events.delete).toBe("function");
|
|
82
|
+
expect(typeof project.tinybird.events.truncate).toBe("function");
|
|
80
83
|
});
|
|
81
84
|
it("creates multiple datasource accessors", () => {
|
|
82
85
|
const events = defineDatasource("events", {
|
|
@@ -92,6 +95,10 @@ describe("Project Schema", () => {
|
|
|
92
95
|
expect(project.tinybird.pageViews).toBeDefined();
|
|
93
96
|
expect(typeof project.tinybird.events.append).toBe("function");
|
|
94
97
|
expect(typeof project.tinybird.pageViews.append).toBe("function");
|
|
98
|
+
expect(typeof project.tinybird.events.delete).toBe("function");
|
|
99
|
+
expect(typeof project.tinybird.pageViews.delete).toBe("function");
|
|
100
|
+
expect(typeof project.tinybird.events.truncate).toBe("function");
|
|
101
|
+
expect(typeof project.tinybird.pageViews.truncate).toBe("function");
|
|
95
102
|
});
|
|
96
103
|
it("throws error when accessing client before initialization", () => {
|
|
97
104
|
const project = defineProject({});
|
|
@@ -107,7 +114,7 @@ describe("Project Schema", () => {
|
|
|
107
114
|
pipes: { internalPipe },
|
|
108
115
|
});
|
|
109
116
|
// Cast to any since the type system expects params but stub throws regardless
|
|
110
|
-
const queryFn = project.tinybird.query
|
|
117
|
+
const queryFn = project.tinybird.internalPipe.query;
|
|
111
118
|
await expect(queryFn()).rejects.toThrow('Pipe "internalPipe" is not exposed as an endpoint');
|
|
112
119
|
});
|
|
113
120
|
});
|
|
@@ -209,7 +216,7 @@ describe("Project Schema", () => {
|
|
|
209
216
|
afterEach(() => {
|
|
210
217
|
process.env.NODE_ENV = originalNodeEnv;
|
|
211
218
|
});
|
|
212
|
-
it("creates a client with
|
|
219
|
+
it("creates a client with pipe accessors and ingest methods", () => {
|
|
213
220
|
const events = defineDatasource("events", {
|
|
214
221
|
schema: { id: t.string() },
|
|
215
222
|
});
|
|
@@ -222,13 +229,16 @@ describe("Project Schema", () => {
|
|
|
222
229
|
datasources: { events },
|
|
223
230
|
pipes: { topEvents },
|
|
224
231
|
});
|
|
225
|
-
expect(client.query).toBeDefined();
|
|
226
232
|
expect(client.ingest).toBeDefined();
|
|
227
|
-
expect(
|
|
233
|
+
expect(client.sql).toBeDefined();
|
|
234
|
+
expect(typeof client.topEvents.query).toBe("function");
|
|
228
235
|
expect(typeof client.ingest.events).toBe("function");
|
|
229
236
|
expect(typeof client.ingest.eventsBatch).toBe("function");
|
|
237
|
+
expect(typeof client.sql).toBe("function");
|
|
238
|
+
expect(client.query).toBeUndefined();
|
|
239
|
+
expect(client.pipes).toBeUndefined();
|
|
230
240
|
});
|
|
231
|
-
it("creates datasource accessors with append
|
|
241
|
+
it("creates datasource accessors with append/delete/truncate methods", () => {
|
|
232
242
|
const events = defineDatasource("events", {
|
|
233
243
|
schema: { id: t.string() },
|
|
234
244
|
});
|
|
@@ -238,6 +248,8 @@ describe("Project Schema", () => {
|
|
|
238
248
|
});
|
|
239
249
|
expect(client.events).toBeDefined();
|
|
240
250
|
expect(typeof client.events.append).toBe("function");
|
|
251
|
+
expect(typeof client.events.delete).toBe("function");
|
|
252
|
+
expect(typeof client.events.truncate).toBe("function");
|
|
241
253
|
});
|
|
242
254
|
it("creates multiple datasource accessors", () => {
|
|
243
255
|
const events = defineDatasource("events", {
|
|
@@ -254,6 +266,10 @@ describe("Project Schema", () => {
|
|
|
254
266
|
expect(client.pageViews).toBeDefined();
|
|
255
267
|
expect(typeof client.events.append).toBe("function");
|
|
256
268
|
expect(typeof client.pageViews.append).toBe("function");
|
|
269
|
+
expect(typeof client.events.delete).toBe("function");
|
|
270
|
+
expect(typeof client.pageViews.delete).toBe("function");
|
|
271
|
+
expect(typeof client.events.truncate).toBe("function");
|
|
272
|
+
expect(typeof client.pageViews.truncate).toBe("function");
|
|
257
273
|
});
|
|
258
274
|
it("accepts devMode option", () => {
|
|
259
275
|
const events = defineDatasource("events", {
|
|
@@ -265,14 +281,12 @@ describe("Project Schema", () => {
|
|
|
265
281
|
pipes: {},
|
|
266
282
|
devMode: true,
|
|
267
283
|
});
|
|
268
|
-
expect(clientWithDevMode.query).toBeDefined();
|
|
269
284
|
expect(clientWithDevMode.ingest).toBeDefined();
|
|
270
285
|
const clientWithoutDevMode = createTinybirdClient({
|
|
271
286
|
datasources: { events },
|
|
272
287
|
pipes: {},
|
|
273
288
|
devMode: false,
|
|
274
289
|
});
|
|
275
|
-
expect(clientWithoutDevMode.query).toBeDefined();
|
|
276
290
|
expect(clientWithoutDevMode.ingest).toBeDefined();
|
|
277
291
|
});
|
|
278
292
|
it("accepts all configuration options", () => {
|
|
@@ -288,7 +302,6 @@ describe("Project Schema", () => {
|
|
|
288
302
|
configDir: "/custom/config/dir",
|
|
289
303
|
devMode: true,
|
|
290
304
|
});
|
|
291
|
-
expect(client.query).toBeDefined();
|
|
292
305
|
expect(client.ingest).toBeDefined();
|
|
293
306
|
});
|
|
294
307
|
it("throws error when accessing underlying client before initialization", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.test.js","sourceRoot":"","sources":["../../src/schema/project.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.test.js","sourceRoot":"","sources":["../../src/schema/project.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/api/api.test.ts
CHANGED
|
@@ -215,6 +215,49 @@ describe("TinybirdApi", () => {
|
|
|
215
215
|
expect(rawSql).toBe("SELECT 1 AS value");
|
|
216
216
|
});
|
|
217
217
|
|
|
218
|
+
it("creates tokens via tinybirdApi.createToken", async () => {
|
|
219
|
+
let expirationTime: string | null = null;
|
|
220
|
+
let fromParam: string | null = null;
|
|
221
|
+
let contentType: string | null = null;
|
|
222
|
+
let parsedBody: Record<string, unknown> | null = null;
|
|
223
|
+
|
|
224
|
+
server.use(
|
|
225
|
+
http.post(`${BASE_URL}/v0/tokens/`, async ({ request }) => {
|
|
226
|
+
const url = new URL(request.url);
|
|
227
|
+
expirationTime = url.searchParams.get("expiration_time");
|
|
228
|
+
fromParam = url.searchParams.get("from");
|
|
229
|
+
contentType = request.headers.get("content-type");
|
|
230
|
+
parsedBody = (await request.json()) as Record<string, unknown>;
|
|
231
|
+
|
|
232
|
+
return HttpResponse.json({
|
|
233
|
+
token: "eyJ.test",
|
|
234
|
+
});
|
|
235
|
+
})
|
|
236
|
+
);
|
|
237
|
+
|
|
238
|
+
const api = createTinybirdApi({
|
|
239
|
+
baseUrl: BASE_URL,
|
|
240
|
+
token: "p.default-token",
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
const result = await api.createToken(
|
|
244
|
+
{
|
|
245
|
+
name: "user_token",
|
|
246
|
+
scopes: [{ type: "PIPES:READ", resource: "pipe_a" }],
|
|
247
|
+
},
|
|
248
|
+
{ expirationTime: 1700000000 }
|
|
249
|
+
);
|
|
250
|
+
|
|
251
|
+
expect(result).toEqual({ token: "eyJ.test" });
|
|
252
|
+
expect(expirationTime).toBe("1700000000");
|
|
253
|
+
expect(fromParam).toBe(TINYBIRD_FROM_PARAM);
|
|
254
|
+
expect(contentType).toBe("application/json");
|
|
255
|
+
expect(parsedBody).toEqual({
|
|
256
|
+
name: "user_token",
|
|
257
|
+
scopes: [{ type: "PIPES:READ", resource: "pipe_a" }],
|
|
258
|
+
});
|
|
259
|
+
});
|
|
260
|
+
|
|
218
261
|
it("returns zero counts for empty ingest batches", async () => {
|
|
219
262
|
const api = createTinybirdApi({
|
|
220
263
|
baseUrl: BASE_URL,
|
|
@@ -514,4 +557,169 @@ describe("TinybirdApi", () => {
|
|
|
514
557
|
expect(authorizationHeader).toBe("Bearer p.override-token");
|
|
515
558
|
});
|
|
516
559
|
});
|
|
560
|
+
|
|
561
|
+
describe("deleteDatasource", () => {
|
|
562
|
+
it("deletes rows from datasource with condition", async () => {
|
|
563
|
+
let deleteConditionParam: string | null = null;
|
|
564
|
+
let dryRunParam: string | null = null;
|
|
565
|
+
|
|
566
|
+
server.use(
|
|
567
|
+
http.post(`${BASE_URL}/v0/datasources/events/delete`, async ({ request }) => {
|
|
568
|
+
const body = new URLSearchParams(await request.text());
|
|
569
|
+
deleteConditionParam = body.get("delete_condition");
|
|
570
|
+
dryRunParam = body.get("dry_run");
|
|
571
|
+
|
|
572
|
+
return HttpResponse.json({
|
|
573
|
+
id: "delete_123",
|
|
574
|
+
job_id: "delete_123",
|
|
575
|
+
job_url: "https://api.tinybird.co/v0/jobs/delete_123",
|
|
576
|
+
status: "working",
|
|
577
|
+
});
|
|
578
|
+
})
|
|
579
|
+
);
|
|
580
|
+
|
|
581
|
+
const api = createTinybirdApi({
|
|
582
|
+
baseUrl: BASE_URL,
|
|
583
|
+
token: "p.default-token",
|
|
584
|
+
});
|
|
585
|
+
|
|
586
|
+
const result = await api.deleteDatasource("events", {
|
|
587
|
+
deleteCondition: "event_type = 'test'",
|
|
588
|
+
});
|
|
589
|
+
|
|
590
|
+
expect(result).toEqual({
|
|
591
|
+
id: "delete_123",
|
|
592
|
+
job_id: "delete_123",
|
|
593
|
+
job_url: "https://api.tinybird.co/v0/jobs/delete_123",
|
|
594
|
+
status: "working",
|
|
595
|
+
});
|
|
596
|
+
expect(deleteConditionParam).toBe("event_type = 'test'");
|
|
597
|
+
expect(dryRunParam).toBeNull();
|
|
598
|
+
});
|
|
599
|
+
|
|
600
|
+
it("includes dry_run option when provided", async () => {
|
|
601
|
+
let dryRunParam: string | null = null;
|
|
602
|
+
|
|
603
|
+
server.use(
|
|
604
|
+
http.post(`${BASE_URL}/v0/datasources/events/delete`, async ({ request }) => {
|
|
605
|
+
const body = new URLSearchParams(await request.text());
|
|
606
|
+
dryRunParam = body.get("dry_run");
|
|
607
|
+
return HttpResponse.json({ rows_to_be_deleted: 3 });
|
|
608
|
+
})
|
|
609
|
+
);
|
|
610
|
+
|
|
611
|
+
const api = createTinybirdApi({
|
|
612
|
+
baseUrl: BASE_URL,
|
|
613
|
+
token: "p.default-token",
|
|
614
|
+
});
|
|
615
|
+
|
|
616
|
+
await api.deleteDatasource("events", {
|
|
617
|
+
deleteCondition: "event_type = 'test'",
|
|
618
|
+
dryRun: true,
|
|
619
|
+
});
|
|
620
|
+
|
|
621
|
+
expect(dryRunParam).toBe("true");
|
|
622
|
+
});
|
|
623
|
+
|
|
624
|
+
it("throws error when deleteCondition is missing", async () => {
|
|
625
|
+
const api = createTinybirdApi({
|
|
626
|
+
baseUrl: BASE_URL,
|
|
627
|
+
token: "p.default-token",
|
|
628
|
+
});
|
|
629
|
+
|
|
630
|
+
await expect(
|
|
631
|
+
api.deleteDatasource("events", {
|
|
632
|
+
deleteCondition: " ",
|
|
633
|
+
})
|
|
634
|
+
).rejects.toThrow("'deleteCondition' must be provided in options");
|
|
635
|
+
});
|
|
636
|
+
|
|
637
|
+
it("allows per-request token override", async () => {
|
|
638
|
+
let authorizationHeader: string | null = null;
|
|
639
|
+
|
|
640
|
+
server.use(
|
|
641
|
+
http.post(`${BASE_URL}/v0/datasources/events/delete`, async ({ request }) => {
|
|
642
|
+
authorizationHeader = request.headers.get("Authorization");
|
|
643
|
+
return HttpResponse.json({ id: "delete_123" });
|
|
644
|
+
})
|
|
645
|
+
);
|
|
646
|
+
|
|
647
|
+
const api = createTinybirdApi({
|
|
648
|
+
baseUrl: BASE_URL,
|
|
649
|
+
token: "p.default-token",
|
|
650
|
+
});
|
|
651
|
+
|
|
652
|
+
await api.deleteDatasource(
|
|
653
|
+
"events",
|
|
654
|
+
{ deleteCondition: "event_type = 'test'" },
|
|
655
|
+
{ token: "p.override-token" }
|
|
656
|
+
);
|
|
657
|
+
|
|
658
|
+
expect(authorizationHeader).toBe("Bearer p.override-token");
|
|
659
|
+
});
|
|
660
|
+
});
|
|
661
|
+
|
|
662
|
+
describe("truncateDatasource", () => {
|
|
663
|
+
it("truncates a datasource", async () => {
|
|
664
|
+
let called = false;
|
|
665
|
+
|
|
666
|
+
server.use(
|
|
667
|
+
http.post(`${BASE_URL}/v0/datasources/events/truncate`, () => {
|
|
668
|
+
called = true;
|
|
669
|
+
return HttpResponse.json({ status: "ok" });
|
|
670
|
+
})
|
|
671
|
+
);
|
|
672
|
+
|
|
673
|
+
const api = createTinybirdApi({
|
|
674
|
+
baseUrl: BASE_URL,
|
|
675
|
+
token: "p.default-token",
|
|
676
|
+
});
|
|
677
|
+
|
|
678
|
+
const result = await api.truncateDatasource("events");
|
|
679
|
+
|
|
680
|
+
expect(called).toBe(true);
|
|
681
|
+
expect(result).toEqual({ status: "ok" });
|
|
682
|
+
});
|
|
683
|
+
|
|
684
|
+
it("returns empty object when API returns empty body", async () => {
|
|
685
|
+
server.use(
|
|
686
|
+
http.post(`${BASE_URL}/v0/datasources/events/truncate`, () => {
|
|
687
|
+
return new HttpResponse(null, { status: 200 });
|
|
688
|
+
})
|
|
689
|
+
);
|
|
690
|
+
|
|
691
|
+
const api = createTinybirdApi({
|
|
692
|
+
baseUrl: BASE_URL,
|
|
693
|
+
token: "p.default-token",
|
|
694
|
+
});
|
|
695
|
+
|
|
696
|
+
const result = await api.truncateDatasource("events");
|
|
697
|
+
|
|
698
|
+
expect(result).toEqual({});
|
|
699
|
+
});
|
|
700
|
+
|
|
701
|
+
it("allows per-request token override", async () => {
|
|
702
|
+
let authorizationHeader: string | null = null;
|
|
703
|
+
|
|
704
|
+
server.use(
|
|
705
|
+
http.post(`${BASE_URL}/v0/datasources/events/truncate`, ({ request }) => {
|
|
706
|
+
authorizationHeader = request.headers.get("Authorization");
|
|
707
|
+
return HttpResponse.json({});
|
|
708
|
+
})
|
|
709
|
+
);
|
|
710
|
+
|
|
711
|
+
const api = createTinybirdApi({
|
|
712
|
+
baseUrl: BASE_URL,
|
|
713
|
+
token: "p.default-token",
|
|
714
|
+
});
|
|
715
|
+
|
|
716
|
+
await api.truncateDatasource(
|
|
717
|
+
"events",
|
|
718
|
+
{},
|
|
719
|
+
{ token: "p.override-token" }
|
|
720
|
+
);
|
|
721
|
+
|
|
722
|
+
expect(authorizationHeader).toBe("Bearer p.override-token");
|
|
723
|
+
});
|
|
724
|
+
});
|
|
517
725
|
});
|
package/src/api/api.ts
CHANGED
|
@@ -2,10 +2,14 @@ import { createTinybirdFetcher, type TinybirdFetch } from "./fetcher.js";
|
|
|
2
2
|
import type {
|
|
3
3
|
AppendOptions,
|
|
4
4
|
AppendResult,
|
|
5
|
+
DeleteOptions,
|
|
6
|
+
DeleteResult,
|
|
5
7
|
IngestOptions,
|
|
6
8
|
IngestResult,
|
|
7
9
|
QueryOptions,
|
|
8
10
|
QueryResult,
|
|
11
|
+
TruncateOptions,
|
|
12
|
+
TruncateResult,
|
|
9
13
|
TinybirdErrorResponse,
|
|
10
14
|
} from "../client/types.js";
|
|
11
15
|
|
|
@@ -48,6 +52,64 @@ export interface TinybirdApiAppendOptions extends Omit<AppendOptions, 'url' | 'f
|
|
|
48
52
|
token?: string;
|
|
49
53
|
}
|
|
50
54
|
|
|
55
|
+
export interface TinybirdApiDeleteOptions extends Omit<DeleteOptions, 'deleteCondition'> {
|
|
56
|
+
/** Optional token override for this request */
|
|
57
|
+
token?: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export interface TinybirdApiTruncateOptions extends TruncateOptions {
|
|
61
|
+
/** Optional token override for this request */
|
|
62
|
+
token?: string;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Scope definition for token creation APIs
|
|
67
|
+
*/
|
|
68
|
+
export interface TinybirdApiTokenScope {
|
|
69
|
+
type: string;
|
|
70
|
+
resource?: string;
|
|
71
|
+
fixed_params?: Record<string, string | number | boolean>;
|
|
72
|
+
filter?: string;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Request body for creating Tinybird tokens.
|
|
77
|
+
* Supports JWT-style scopes and static-token scope strings.
|
|
78
|
+
*/
|
|
79
|
+
export interface TinybirdApiCreateTokenRequest {
|
|
80
|
+
/** Token name/identifier */
|
|
81
|
+
name: string;
|
|
82
|
+
/** JWT-style scopes */
|
|
83
|
+
scopes?: TinybirdApiTokenScope[];
|
|
84
|
+
/** Static-token scope strings */
|
|
85
|
+
scope?: string | string[];
|
|
86
|
+
/** Optional rate-limiting config */
|
|
87
|
+
limits?: {
|
|
88
|
+
rps?: number;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Options for token creation requests
|
|
94
|
+
*/
|
|
95
|
+
export interface TinybirdApiCreateTokenOptions {
|
|
96
|
+
/** Optional expiration time for JWT tokens */
|
|
97
|
+
expirationTime?: number;
|
|
98
|
+
/** Optional token override for this request */
|
|
99
|
+
token?: string;
|
|
100
|
+
/** Request timeout in milliseconds */
|
|
101
|
+
timeout?: number;
|
|
102
|
+
/** AbortController signal for cancellation */
|
|
103
|
+
signal?: AbortSignal;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Result of token creation
|
|
108
|
+
*/
|
|
109
|
+
export interface TinybirdApiCreateTokenResult {
|
|
110
|
+
token: string;
|
|
111
|
+
}
|
|
112
|
+
|
|
51
113
|
/**
|
|
52
114
|
* Error thrown by TinybirdApi when a response is not OK
|
|
53
115
|
*/
|
|
@@ -321,6 +383,113 @@ export class TinybirdApi {
|
|
|
321
383
|
return (await response.json()) as AppendResult;
|
|
322
384
|
}
|
|
323
385
|
|
|
386
|
+
/**
|
|
387
|
+
* Delete rows from a datasource using a SQL condition
|
|
388
|
+
*/
|
|
389
|
+
async deleteDatasource(
|
|
390
|
+
datasourceName: string,
|
|
391
|
+
options: DeleteOptions,
|
|
392
|
+
apiOptions: TinybirdApiDeleteOptions = {}
|
|
393
|
+
): Promise<DeleteResult> {
|
|
394
|
+
const deleteCondition = options.deleteCondition?.trim();
|
|
395
|
+
|
|
396
|
+
if (!deleteCondition) {
|
|
397
|
+
throw new Error("'deleteCondition' must be provided in options");
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
const url = new URL(
|
|
401
|
+
`/v0/datasources/${encodeURIComponent(datasourceName)}/delete`,
|
|
402
|
+
`${this.baseUrl}/`
|
|
403
|
+
);
|
|
404
|
+
|
|
405
|
+
const requestBody = new URLSearchParams();
|
|
406
|
+
requestBody.set("delete_condition", deleteCondition);
|
|
407
|
+
|
|
408
|
+
const dryRun = options.dryRun ?? apiOptions.dryRun;
|
|
409
|
+
if (dryRun !== undefined) {
|
|
410
|
+
requestBody.set("dry_run", String(dryRun));
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
const response = await this.request(url.toString(), {
|
|
414
|
+
method: "POST",
|
|
415
|
+
token: apiOptions.token,
|
|
416
|
+
headers: {
|
|
417
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
418
|
+
},
|
|
419
|
+
body: requestBody.toString(),
|
|
420
|
+
signal: this.createAbortSignal(
|
|
421
|
+
options.timeout ?? apiOptions.timeout,
|
|
422
|
+
options.signal ?? apiOptions.signal
|
|
423
|
+
),
|
|
424
|
+
});
|
|
425
|
+
|
|
426
|
+
if (!response.ok) {
|
|
427
|
+
await this.handleErrorResponse(response);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
return (await response.json()) as DeleteResult;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Truncate all rows from a datasource
|
|
435
|
+
*/
|
|
436
|
+
async truncateDatasource(
|
|
437
|
+
datasourceName: string,
|
|
438
|
+
options: TruncateOptions = {},
|
|
439
|
+
apiOptions: TinybirdApiTruncateOptions = {}
|
|
440
|
+
): Promise<TruncateResult> {
|
|
441
|
+
const url = new URL(
|
|
442
|
+
`/v0/datasources/${encodeURIComponent(datasourceName)}/truncate`,
|
|
443
|
+
`${this.baseUrl}/`
|
|
444
|
+
);
|
|
445
|
+
|
|
446
|
+
const response = await this.request(url.toString(), {
|
|
447
|
+
method: "POST",
|
|
448
|
+
token: apiOptions.token,
|
|
449
|
+
signal: this.createAbortSignal(
|
|
450
|
+
options.timeout ?? apiOptions.timeout,
|
|
451
|
+
options.signal ?? apiOptions.signal
|
|
452
|
+
),
|
|
453
|
+
});
|
|
454
|
+
|
|
455
|
+
if (!response.ok) {
|
|
456
|
+
await this.handleErrorResponse(response);
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
return this.parseOptionalJson(response);
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* Create a token using Tinybird Token API.
|
|
464
|
+
* Supports both static and JWT token payloads.
|
|
465
|
+
*/
|
|
466
|
+
async createToken(
|
|
467
|
+
body: TinybirdApiCreateTokenRequest,
|
|
468
|
+
options: TinybirdApiCreateTokenOptions = {}
|
|
469
|
+
): Promise<TinybirdApiCreateTokenResult> {
|
|
470
|
+
const url = new URL("/v0/tokens/", `${this.baseUrl}/`);
|
|
471
|
+
|
|
472
|
+
if (options.expirationTime !== undefined) {
|
|
473
|
+
url.searchParams.set("expiration_time", String(options.expirationTime));
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
const response = await this.request(url.toString(), {
|
|
477
|
+
method: "POST",
|
|
478
|
+
token: options.token,
|
|
479
|
+
headers: {
|
|
480
|
+
"Content-Type": "application/json",
|
|
481
|
+
},
|
|
482
|
+
body: JSON.stringify(body),
|
|
483
|
+
signal: this.createAbortSignal(options.timeout, options.signal),
|
|
484
|
+
});
|
|
485
|
+
|
|
486
|
+
if (!response.ok) {
|
|
487
|
+
await this.handleErrorResponse(response);
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
return (await response.json()) as TinybirdApiCreateTokenResult;
|
|
491
|
+
}
|
|
492
|
+
|
|
324
493
|
/**
|
|
325
494
|
* Detect format from file path or URL extension
|
|
326
495
|
*/
|
|
@@ -359,6 +528,20 @@ export class TinybirdApi {
|
|
|
359
528
|
return formData;
|
|
360
529
|
}
|
|
361
530
|
|
|
531
|
+
private async parseOptionalJson<T extends object>(response: Response): Promise<T> {
|
|
532
|
+
const rawBody = await response.text();
|
|
533
|
+
|
|
534
|
+
if (!rawBody.trim()) {
|
|
535
|
+
return {} as T;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
try {
|
|
539
|
+
return JSON.parse(rawBody) as T;
|
|
540
|
+
} catch {
|
|
541
|
+
return {} as T;
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
|
|
362
545
|
private createAbortSignal(
|
|
363
546
|
timeout?: number,
|
|
364
547
|
existingSignal?: AbortSignal
|