@xata.io/client 0.0.0-alpha.vf7d30cc → 0.0.0-alpha.vf80d1a5
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/.eslintrc.cjs +3 -2
- package/.turbo/turbo-add-version.log +4 -0
- package/.turbo/turbo-build.log +13 -0
- package/CHANGELOG.md +250 -0
- package/README.md +3 -269
- package/dist/index.cjs +2340 -877
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5616 -1942
- package/dist/index.mjs +2299 -841
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -9
- package/rollup.config.mjs +44 -0
- package/Usage.md +0 -451
- package/rollup.config.js +0 -29
package/dist/index.mjs
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
const defaultTrace = async (
|
1
|
+
const defaultTrace = async (name, fn, _options) => {
|
2
2
|
return await fn({
|
3
|
+
name,
|
3
4
|
setAttributes: () => {
|
4
5
|
return;
|
5
6
|
}
|
@@ -38,6 +39,21 @@ function isString(value) {
|
|
38
39
|
function isStringArray(value) {
|
39
40
|
return isDefined(value) && Array.isArray(value) && value.every(isString);
|
40
41
|
}
|
42
|
+
function isNumber(value) {
|
43
|
+
return isDefined(value) && typeof value === "number";
|
44
|
+
}
|
45
|
+
function parseNumber(value) {
|
46
|
+
if (isNumber(value)) {
|
47
|
+
return value;
|
48
|
+
}
|
49
|
+
if (isString(value)) {
|
50
|
+
const parsed = Number(value);
|
51
|
+
if (!Number.isNaN(parsed)) {
|
52
|
+
return parsed;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
return void 0;
|
56
|
+
}
|
41
57
|
function toBase64(value) {
|
42
58
|
try {
|
43
59
|
return btoa(value);
|
@@ -46,16 +62,39 @@ function toBase64(value) {
|
|
46
62
|
return buf.from(value).toString("base64");
|
47
63
|
}
|
48
64
|
}
|
65
|
+
function deepMerge(a, b) {
|
66
|
+
const result = { ...a };
|
67
|
+
for (const [key, value] of Object.entries(b)) {
|
68
|
+
if (isObject(value) && isObject(result[key])) {
|
69
|
+
result[key] = deepMerge(result[key], value);
|
70
|
+
} else {
|
71
|
+
result[key] = value;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
return result;
|
75
|
+
}
|
76
|
+
function chunk(array, chunkSize) {
|
77
|
+
const result = [];
|
78
|
+
for (let i = 0; i < array.length; i += chunkSize) {
|
79
|
+
result.push(array.slice(i, i + chunkSize));
|
80
|
+
}
|
81
|
+
return result;
|
82
|
+
}
|
83
|
+
async function timeout(ms) {
|
84
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
85
|
+
}
|
49
86
|
|
50
87
|
function getEnvironment() {
|
51
88
|
try {
|
52
|
-
if (
|
89
|
+
if (isDefined(process) && isDefined(process.env)) {
|
53
90
|
return {
|
54
91
|
apiKey: process.env.XATA_API_KEY ?? getGlobalApiKey(),
|
55
92
|
databaseURL: process.env.XATA_DATABASE_URL ?? getGlobalDatabaseURL(),
|
56
93
|
branch: process.env.XATA_BRANCH ?? getGlobalBranch(),
|
57
|
-
|
58
|
-
|
94
|
+
deployPreview: process.env.XATA_PREVIEW,
|
95
|
+
deployPreviewBranch: process.env.XATA_PREVIEW_BRANCH,
|
96
|
+
vercelGitCommitRef: process.env.VERCEL_GIT_COMMIT_REF,
|
97
|
+
vercelGitRepoOwner: process.env.VERCEL_GIT_REPO_OWNER
|
59
98
|
};
|
60
99
|
}
|
61
100
|
} catch (err) {
|
@@ -66,8 +105,10 @@ function getEnvironment() {
|
|
66
105
|
apiKey: Deno.env.get("XATA_API_KEY") ?? getGlobalApiKey(),
|
67
106
|
databaseURL: Deno.env.get("XATA_DATABASE_URL") ?? getGlobalDatabaseURL(),
|
68
107
|
branch: Deno.env.get("XATA_BRANCH") ?? getGlobalBranch(),
|
69
|
-
|
70
|
-
|
108
|
+
deployPreview: Deno.env.get("XATA_PREVIEW"),
|
109
|
+
deployPreviewBranch: Deno.env.get("XATA_PREVIEW_BRANCH"),
|
110
|
+
vercelGitCommitRef: Deno.env.get("VERCEL_GIT_COMMIT_REF"),
|
111
|
+
vercelGitRepoOwner: Deno.env.get("VERCEL_GIT_REPO_OWNER")
|
71
112
|
};
|
72
113
|
}
|
73
114
|
} catch (err) {
|
@@ -76,10 +117,31 @@ function getEnvironment() {
|
|
76
117
|
apiKey: getGlobalApiKey(),
|
77
118
|
databaseURL: getGlobalDatabaseURL(),
|
78
119
|
branch: getGlobalBranch(),
|
79
|
-
|
80
|
-
|
120
|
+
deployPreview: void 0,
|
121
|
+
deployPreviewBranch: void 0,
|
122
|
+
vercelGitCommitRef: void 0,
|
123
|
+
vercelGitRepoOwner: void 0
|
81
124
|
};
|
82
125
|
}
|
126
|
+
function getEnableBrowserVariable() {
|
127
|
+
try {
|
128
|
+
if (isObject(process) && isObject(process.env) && process.env.XATA_ENABLE_BROWSER !== void 0) {
|
129
|
+
return process.env.XATA_ENABLE_BROWSER === "true";
|
130
|
+
}
|
131
|
+
} catch (err) {
|
132
|
+
}
|
133
|
+
try {
|
134
|
+
if (isObject(Deno) && isObject(Deno.env) && Deno.env.get("XATA_ENABLE_BROWSER") !== void 0) {
|
135
|
+
return Deno.env.get("XATA_ENABLE_BROWSER") === "true";
|
136
|
+
}
|
137
|
+
} catch (err) {
|
138
|
+
}
|
139
|
+
try {
|
140
|
+
return XATA_ENABLE_BROWSER === true || XATA_ENABLE_BROWSER === "true";
|
141
|
+
} catch (err) {
|
142
|
+
return void 0;
|
143
|
+
}
|
144
|
+
}
|
83
145
|
function getGlobalApiKey() {
|
84
146
|
try {
|
85
147
|
return XATA_API_KEY;
|
@@ -101,44 +163,76 @@ function getGlobalBranch() {
|
|
101
163
|
return void 0;
|
102
164
|
}
|
103
165
|
}
|
104
|
-
function
|
166
|
+
function getDatabaseURL() {
|
105
167
|
try {
|
106
|
-
|
168
|
+
const { databaseURL } = getEnvironment();
|
169
|
+
return databaseURL;
|
107
170
|
} catch (err) {
|
108
171
|
return void 0;
|
109
172
|
}
|
110
173
|
}
|
111
|
-
|
112
|
-
const cmd = ["git", "branch", "--show-current"];
|
113
|
-
const fullCmd = cmd.join(" ");
|
114
|
-
const nodeModule = ["child", "process"].join("_");
|
115
|
-
const execOptions = { encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] };
|
174
|
+
function getAPIKey() {
|
116
175
|
try {
|
117
|
-
|
118
|
-
|
119
|
-
}
|
120
|
-
const { execSync } = await import(nodeModule);
|
121
|
-
return execSync(fullCmd, execOptions).toString().trim();
|
176
|
+
const { apiKey } = getEnvironment();
|
177
|
+
return apiKey;
|
122
178
|
} catch (err) {
|
179
|
+
return void 0;
|
123
180
|
}
|
181
|
+
}
|
182
|
+
function getBranch() {
|
124
183
|
try {
|
125
|
-
|
126
|
-
|
127
|
-
return new TextDecoder().decode(await process2.output()).trim();
|
128
|
-
}
|
184
|
+
const { branch } = getEnvironment();
|
185
|
+
return branch ?? "main";
|
129
186
|
} catch (err) {
|
187
|
+
return void 0;
|
130
188
|
}
|
131
189
|
}
|
132
|
-
|
133
|
-
|
190
|
+
function buildPreviewBranchName({ org, branch }) {
|
191
|
+
return `preview-${org}-${branch}`;
|
192
|
+
}
|
193
|
+
function getPreviewBranch() {
|
134
194
|
try {
|
135
|
-
const {
|
136
|
-
|
195
|
+
const { deployPreview, deployPreviewBranch, vercelGitCommitRef, vercelGitRepoOwner } = getEnvironment();
|
196
|
+
if (deployPreviewBranch)
|
197
|
+
return deployPreviewBranch;
|
198
|
+
switch (deployPreview) {
|
199
|
+
case "vercel": {
|
200
|
+
if (!vercelGitCommitRef || !vercelGitRepoOwner) {
|
201
|
+
console.warn("XATA_PREVIEW=vercel but VERCEL_GIT_COMMIT_REF or VERCEL_GIT_REPO_OWNER is not valid");
|
202
|
+
return void 0;
|
203
|
+
}
|
204
|
+
return buildPreviewBranchName({ org: vercelGitRepoOwner, branch: vercelGitCommitRef });
|
205
|
+
}
|
206
|
+
}
|
207
|
+
return void 0;
|
137
208
|
} catch (err) {
|
138
209
|
return void 0;
|
139
210
|
}
|
140
211
|
}
|
141
212
|
|
213
|
+
var __accessCheck$8 = (obj, member, msg) => {
|
214
|
+
if (!member.has(obj))
|
215
|
+
throw TypeError("Cannot " + msg);
|
216
|
+
};
|
217
|
+
var __privateGet$8 = (obj, member, getter) => {
|
218
|
+
__accessCheck$8(obj, member, "read from private field");
|
219
|
+
return getter ? getter.call(obj) : member.get(obj);
|
220
|
+
};
|
221
|
+
var __privateAdd$8 = (obj, member, value) => {
|
222
|
+
if (member.has(obj))
|
223
|
+
throw TypeError("Cannot add the same private member more than once");
|
224
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
225
|
+
};
|
226
|
+
var __privateSet$8 = (obj, member, value, setter) => {
|
227
|
+
__accessCheck$8(obj, member, "write to private field");
|
228
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
229
|
+
return value;
|
230
|
+
};
|
231
|
+
var __privateMethod$4 = (obj, member, method) => {
|
232
|
+
__accessCheck$8(obj, member, "access private method");
|
233
|
+
return method;
|
234
|
+
};
|
235
|
+
var _fetch, _queue, _concurrency, _enqueue, enqueue_fn;
|
142
236
|
function getFetchImplementation(userFetch) {
|
143
237
|
const globalFetch = typeof fetch !== "undefined" ? fetch : void 0;
|
144
238
|
const fetchImpl = userFetch ?? globalFetch;
|
@@ -149,8 +243,254 @@ function getFetchImplementation(userFetch) {
|
|
149
243
|
}
|
150
244
|
return fetchImpl;
|
151
245
|
}
|
246
|
+
class ApiRequestPool {
|
247
|
+
constructor(concurrency = 10) {
|
248
|
+
__privateAdd$8(this, _enqueue);
|
249
|
+
__privateAdd$8(this, _fetch, void 0);
|
250
|
+
__privateAdd$8(this, _queue, void 0);
|
251
|
+
__privateAdd$8(this, _concurrency, void 0);
|
252
|
+
__privateSet$8(this, _queue, []);
|
253
|
+
__privateSet$8(this, _concurrency, concurrency);
|
254
|
+
this.running = 0;
|
255
|
+
this.started = 0;
|
256
|
+
}
|
257
|
+
setFetch(fetch2) {
|
258
|
+
__privateSet$8(this, _fetch, fetch2);
|
259
|
+
}
|
260
|
+
getFetch() {
|
261
|
+
if (!__privateGet$8(this, _fetch)) {
|
262
|
+
throw new Error("Fetch not set");
|
263
|
+
}
|
264
|
+
return __privateGet$8(this, _fetch);
|
265
|
+
}
|
266
|
+
request(url, options) {
|
267
|
+
const start = new Date();
|
268
|
+
const fetch2 = this.getFetch();
|
269
|
+
const runRequest = async (stalled = false) => {
|
270
|
+
const response = await fetch2(url, options);
|
271
|
+
if (response.status === 429) {
|
272
|
+
const rateLimitReset = parseNumber(response.headers?.get("x-ratelimit-reset")) ?? 1;
|
273
|
+
await timeout(rateLimitReset * 1e3);
|
274
|
+
return await runRequest(true);
|
275
|
+
}
|
276
|
+
if (stalled) {
|
277
|
+
const stalledTime = new Date().getTime() - start.getTime();
|
278
|
+
console.warn(`A request to Xata hit your workspace limits, was retried and stalled for ${stalledTime}ms`);
|
279
|
+
}
|
280
|
+
return response;
|
281
|
+
};
|
282
|
+
return __privateMethod$4(this, _enqueue, enqueue_fn).call(this, async () => {
|
283
|
+
return await runRequest();
|
284
|
+
});
|
285
|
+
}
|
286
|
+
}
|
287
|
+
_fetch = new WeakMap();
|
288
|
+
_queue = new WeakMap();
|
289
|
+
_concurrency = new WeakMap();
|
290
|
+
_enqueue = new WeakSet();
|
291
|
+
enqueue_fn = function(task) {
|
292
|
+
const promise = new Promise((resolve) => __privateGet$8(this, _queue).push(resolve)).finally(() => {
|
293
|
+
this.started--;
|
294
|
+
this.running++;
|
295
|
+
}).then(() => task()).finally(() => {
|
296
|
+
this.running--;
|
297
|
+
const next = __privateGet$8(this, _queue).shift();
|
298
|
+
if (next !== void 0) {
|
299
|
+
this.started++;
|
300
|
+
next();
|
301
|
+
}
|
302
|
+
});
|
303
|
+
if (this.running + this.started < __privateGet$8(this, _concurrency)) {
|
304
|
+
const next = __privateGet$8(this, _queue).shift();
|
305
|
+
if (next !== void 0) {
|
306
|
+
this.started++;
|
307
|
+
next();
|
308
|
+
}
|
309
|
+
}
|
310
|
+
return promise;
|
311
|
+
};
|
152
312
|
|
153
|
-
|
313
|
+
function generateUUID() {
|
314
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
|
315
|
+
const r = Math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
|
316
|
+
return v.toString(16);
|
317
|
+
});
|
318
|
+
}
|
319
|
+
|
320
|
+
async function getBytes(stream, onChunk) {
|
321
|
+
const reader = stream.getReader();
|
322
|
+
let result;
|
323
|
+
while (!(result = await reader.read()).done) {
|
324
|
+
onChunk(result.value);
|
325
|
+
}
|
326
|
+
}
|
327
|
+
function getLines(onLine) {
|
328
|
+
let buffer;
|
329
|
+
let position;
|
330
|
+
let fieldLength;
|
331
|
+
let discardTrailingNewline = false;
|
332
|
+
return function onChunk(arr) {
|
333
|
+
if (buffer === void 0) {
|
334
|
+
buffer = arr;
|
335
|
+
position = 0;
|
336
|
+
fieldLength = -1;
|
337
|
+
} else {
|
338
|
+
buffer = concat(buffer, arr);
|
339
|
+
}
|
340
|
+
const bufLength = buffer.length;
|
341
|
+
let lineStart = 0;
|
342
|
+
while (position < bufLength) {
|
343
|
+
if (discardTrailingNewline) {
|
344
|
+
if (buffer[position] === 10 /* NewLine */) {
|
345
|
+
lineStart = ++position;
|
346
|
+
}
|
347
|
+
discardTrailingNewline = false;
|
348
|
+
}
|
349
|
+
let lineEnd = -1;
|
350
|
+
for (; position < bufLength && lineEnd === -1; ++position) {
|
351
|
+
switch (buffer[position]) {
|
352
|
+
case 58 /* Colon */:
|
353
|
+
if (fieldLength === -1) {
|
354
|
+
fieldLength = position - lineStart;
|
355
|
+
}
|
356
|
+
break;
|
357
|
+
case 13 /* CarriageReturn */:
|
358
|
+
discardTrailingNewline = true;
|
359
|
+
case 10 /* NewLine */:
|
360
|
+
lineEnd = position;
|
361
|
+
break;
|
362
|
+
}
|
363
|
+
}
|
364
|
+
if (lineEnd === -1) {
|
365
|
+
break;
|
366
|
+
}
|
367
|
+
onLine(buffer.subarray(lineStart, lineEnd), fieldLength);
|
368
|
+
lineStart = position;
|
369
|
+
fieldLength = -1;
|
370
|
+
}
|
371
|
+
if (lineStart === bufLength) {
|
372
|
+
buffer = void 0;
|
373
|
+
} else if (lineStart !== 0) {
|
374
|
+
buffer = buffer.subarray(lineStart);
|
375
|
+
position -= lineStart;
|
376
|
+
}
|
377
|
+
};
|
378
|
+
}
|
379
|
+
function getMessages(onId, onRetry, onMessage) {
|
380
|
+
let message = newMessage();
|
381
|
+
const decoder = new TextDecoder();
|
382
|
+
return function onLine(line, fieldLength) {
|
383
|
+
if (line.length === 0) {
|
384
|
+
onMessage?.(message);
|
385
|
+
message = newMessage();
|
386
|
+
} else if (fieldLength > 0) {
|
387
|
+
const field = decoder.decode(line.subarray(0, fieldLength));
|
388
|
+
const valueOffset = fieldLength + (line[fieldLength + 1] === 32 /* Space */ ? 2 : 1);
|
389
|
+
const value = decoder.decode(line.subarray(valueOffset));
|
390
|
+
switch (field) {
|
391
|
+
case "data":
|
392
|
+
message.data = message.data ? message.data + "\n" + value : value;
|
393
|
+
break;
|
394
|
+
case "event":
|
395
|
+
message.event = value;
|
396
|
+
break;
|
397
|
+
case "id":
|
398
|
+
onId(message.id = value);
|
399
|
+
break;
|
400
|
+
case "retry":
|
401
|
+
const retry = parseInt(value, 10);
|
402
|
+
if (!isNaN(retry)) {
|
403
|
+
onRetry(message.retry = retry);
|
404
|
+
}
|
405
|
+
break;
|
406
|
+
}
|
407
|
+
}
|
408
|
+
};
|
409
|
+
}
|
410
|
+
function concat(a, b) {
|
411
|
+
const res = new Uint8Array(a.length + b.length);
|
412
|
+
res.set(a);
|
413
|
+
res.set(b, a.length);
|
414
|
+
return res;
|
415
|
+
}
|
416
|
+
function newMessage() {
|
417
|
+
return {
|
418
|
+
data: "",
|
419
|
+
event: "",
|
420
|
+
id: "",
|
421
|
+
retry: void 0
|
422
|
+
};
|
423
|
+
}
|
424
|
+
const EventStreamContentType = "text/event-stream";
|
425
|
+
const LastEventId = "last-event-id";
|
426
|
+
function fetchEventSource(input, {
|
427
|
+
signal: inputSignal,
|
428
|
+
headers: inputHeaders,
|
429
|
+
onopen: inputOnOpen,
|
430
|
+
onmessage,
|
431
|
+
onclose,
|
432
|
+
onerror,
|
433
|
+
fetch: inputFetch,
|
434
|
+
...rest
|
435
|
+
}) {
|
436
|
+
return new Promise((resolve, reject) => {
|
437
|
+
const headers = { ...inputHeaders };
|
438
|
+
if (!headers.accept) {
|
439
|
+
headers.accept = EventStreamContentType;
|
440
|
+
}
|
441
|
+
let curRequestController;
|
442
|
+
function dispose() {
|
443
|
+
curRequestController.abort();
|
444
|
+
}
|
445
|
+
inputSignal?.addEventListener("abort", () => {
|
446
|
+
dispose();
|
447
|
+
resolve();
|
448
|
+
});
|
449
|
+
const fetchImpl = inputFetch ?? fetch;
|
450
|
+
const onopen = inputOnOpen ?? defaultOnOpen;
|
451
|
+
async function create() {
|
452
|
+
curRequestController = new AbortController();
|
453
|
+
try {
|
454
|
+
const response = await fetchImpl(input, {
|
455
|
+
...rest,
|
456
|
+
headers,
|
457
|
+
signal: curRequestController.signal
|
458
|
+
});
|
459
|
+
await onopen(response);
|
460
|
+
await getBytes(
|
461
|
+
response.body,
|
462
|
+
getLines(
|
463
|
+
getMessages(
|
464
|
+
(id) => {
|
465
|
+
if (id) {
|
466
|
+
headers[LastEventId] = id;
|
467
|
+
} else {
|
468
|
+
delete headers[LastEventId];
|
469
|
+
}
|
470
|
+
},
|
471
|
+
(_retry) => {
|
472
|
+
},
|
473
|
+
onmessage
|
474
|
+
)
|
475
|
+
)
|
476
|
+
);
|
477
|
+
onclose?.();
|
478
|
+
dispose();
|
479
|
+
resolve();
|
480
|
+
} catch (err) {
|
481
|
+
}
|
482
|
+
}
|
483
|
+
create();
|
484
|
+
});
|
485
|
+
}
|
486
|
+
function defaultOnOpen(response) {
|
487
|
+
const contentType = response.headers?.get("content-type");
|
488
|
+
if (!contentType?.startsWith(EventStreamContentType)) {
|
489
|
+
throw new Error(`Expected content-type to be ${EventStreamContentType}, Actual: ${contentType}`);
|
490
|
+
}
|
491
|
+
}
|
492
|
+
|
493
|
+
const VERSION = "0.23.4";
|
154
494
|
|
155
495
|
class ErrorWithCause extends Error {
|
156
496
|
constructor(message, options) {
|
@@ -161,7 +501,7 @@ class FetcherError extends ErrorWithCause {
|
|
161
501
|
constructor(status, data, requestId) {
|
162
502
|
super(getMessage(data));
|
163
503
|
this.status = status;
|
164
|
-
this.errors = isBulkError(data) ? data.errors :
|
504
|
+
this.errors = isBulkError(data) ? data.errors : [{ message: getMessage(data), status }];
|
165
505
|
this.requestId = requestId;
|
166
506
|
if (data instanceof Error) {
|
167
507
|
this.stack = data.stack;
|
@@ -193,6 +533,7 @@ function getMessage(data) {
|
|
193
533
|
}
|
194
534
|
}
|
195
535
|
|
536
|
+
const pool = new ApiRequestPool();
|
196
537
|
const resolveUrl = (url, queryParams = {}, pathParams = {}) => {
|
197
538
|
const cleanQueryParams = Object.entries(queryParams).reduce((acc, [key, value]) => {
|
198
539
|
if (value === void 0 || value === null)
|
@@ -207,58 +548,79 @@ const resolveUrl = (url, queryParams = {}, pathParams = {}) => {
|
|
207
548
|
return url.replace(/\{\w*\}/g, (key) => cleanPathParams[key.slice(1, -1)]) + queryString;
|
208
549
|
};
|
209
550
|
function buildBaseUrl({
|
551
|
+
endpoint,
|
210
552
|
path,
|
211
553
|
workspacesApiUrl,
|
212
554
|
apiUrl,
|
213
|
-
pathParams
|
555
|
+
pathParams = {}
|
214
556
|
}) {
|
215
|
-
if (
|
216
|
-
|
217
|
-
|
218
|
-
|
557
|
+
if (endpoint === "dataPlane") {
|
558
|
+
const url = isString(workspacesApiUrl) ? `${workspacesApiUrl}${path}` : workspacesApiUrl(path, pathParams);
|
559
|
+
const urlWithWorkspace = isString(pathParams.workspace) ? url.replace("{workspaceId}", String(pathParams.workspace)) : url;
|
560
|
+
return isString(pathParams.region) ? urlWithWorkspace.replace("{region}", String(pathParams.region)) : urlWithWorkspace;
|
561
|
+
}
|
562
|
+
return `${apiUrl}${path}`;
|
219
563
|
}
|
220
564
|
function hostHeader(url) {
|
221
565
|
const pattern = /.*:\/\/(?<host>[^/]+).*/;
|
222
566
|
const { groups } = pattern.exec(url) ?? {};
|
223
567
|
return groups?.host ? { Host: groups.host } : {};
|
224
568
|
}
|
569
|
+
const defaultClientID = generateUUID();
|
225
570
|
async function fetch$1({
|
226
571
|
url: path,
|
227
572
|
method,
|
228
573
|
body,
|
229
|
-
headers,
|
574
|
+
headers: customHeaders,
|
230
575
|
pathParams,
|
231
576
|
queryParams,
|
232
|
-
|
577
|
+
fetch: fetch2,
|
233
578
|
apiKey,
|
579
|
+
endpoint,
|
234
580
|
apiUrl,
|
235
581
|
workspacesApiUrl,
|
236
|
-
trace
|
582
|
+
trace,
|
583
|
+
signal,
|
584
|
+
clientID,
|
585
|
+
sessionID,
|
586
|
+
clientName,
|
587
|
+
xataAgentExtra,
|
588
|
+
fetchOptions = {}
|
237
589
|
}) {
|
238
|
-
|
590
|
+
pool.setFetch(fetch2);
|
591
|
+
return await trace(
|
239
592
|
`${method.toUpperCase()} ${path}`,
|
240
593
|
async ({ setAttributes }) => {
|
241
|
-
const baseUrl = buildBaseUrl({ path, workspacesApiUrl, pathParams, apiUrl });
|
594
|
+
const baseUrl = buildBaseUrl({ endpoint, path, workspacesApiUrl, pathParams, apiUrl });
|
242
595
|
const fullUrl = resolveUrl(baseUrl, queryParams, pathParams);
|
243
596
|
const url = fullUrl.includes("localhost") ? fullUrl.replace(/^[^.]+\./, "http://") : fullUrl;
|
244
597
|
setAttributes({
|
245
598
|
[TraceAttributes.HTTP_URL]: url,
|
246
599
|
[TraceAttributes.HTTP_TARGET]: resolveUrl(path, queryParams, pathParams)
|
247
600
|
});
|
248
|
-
const
|
601
|
+
const xataAgent = compact([
|
602
|
+
["client", "TS_SDK"],
|
603
|
+
["version", VERSION],
|
604
|
+
isDefined(clientName) ? ["service", clientName] : void 0,
|
605
|
+
...Object.entries(xataAgentExtra ?? {})
|
606
|
+
]).map(([key, value]) => `${key}=${value}`).join("; ");
|
607
|
+
const headers = {
|
608
|
+
"Accept-Encoding": "identity",
|
609
|
+
"Content-Type": "application/json",
|
610
|
+
"X-Xata-Client-ID": clientID ?? defaultClientID,
|
611
|
+
"X-Xata-Session-ID": sessionID ?? generateUUID(),
|
612
|
+
"X-Xata-Agent": xataAgent,
|
613
|
+
...customHeaders,
|
614
|
+
...hostHeader(fullUrl),
|
615
|
+
Authorization: `Bearer ${apiKey}`
|
616
|
+
};
|
617
|
+
const response = await pool.request(url, {
|
618
|
+
...fetchOptions,
|
249
619
|
method: method.toUpperCase(),
|
250
620
|
body: body ? JSON.stringify(body) : void 0,
|
251
|
-
headers
|
252
|
-
|
253
|
-
"User-Agent": `Xata client-ts/${VERSION}`,
|
254
|
-
...headers,
|
255
|
-
...hostHeader(fullUrl),
|
256
|
-
Authorization: `Bearer ${apiKey}`
|
257
|
-
}
|
621
|
+
headers,
|
622
|
+
signal
|
258
623
|
});
|
259
|
-
if (response.status === 204) {
|
260
|
-
return {};
|
261
|
-
}
|
262
624
|
const { host, protocol } = parseUrl(response.url);
|
263
625
|
const requestId = response.headers?.get("x-request-id") ?? void 0;
|
264
626
|
setAttributes({
|
@@ -268,6 +630,12 @@ async function fetch$1({
|
|
268
630
|
[TraceAttributes.HTTP_HOST]: host,
|
269
631
|
[TraceAttributes.HTTP_SCHEME]: protocol?.replace(":", "")
|
270
632
|
});
|
633
|
+
if (response.status === 204) {
|
634
|
+
return {};
|
635
|
+
}
|
636
|
+
if (response.status === 429) {
|
637
|
+
throw new FetcherError(response.status, "Rate limit exceeded", requestId);
|
638
|
+
}
|
271
639
|
try {
|
272
640
|
const jsonResponse = await response.json();
|
273
641
|
if (response.ok) {
|
@@ -281,6 +649,59 @@ async function fetch$1({
|
|
281
649
|
{ [TraceAttributes.HTTP_METHOD]: method.toUpperCase(), [TraceAttributes.HTTP_ROUTE]: path }
|
282
650
|
);
|
283
651
|
}
|
652
|
+
function fetchSSERequest({
|
653
|
+
url: path,
|
654
|
+
method,
|
655
|
+
body,
|
656
|
+
headers: customHeaders,
|
657
|
+
pathParams,
|
658
|
+
queryParams,
|
659
|
+
fetch: fetch2,
|
660
|
+
apiKey,
|
661
|
+
endpoint,
|
662
|
+
apiUrl,
|
663
|
+
workspacesApiUrl,
|
664
|
+
onMessage,
|
665
|
+
onError,
|
666
|
+
onClose,
|
667
|
+
signal,
|
668
|
+
clientID,
|
669
|
+
sessionID,
|
670
|
+
clientName,
|
671
|
+
xataAgentExtra
|
672
|
+
}) {
|
673
|
+
const baseUrl = buildBaseUrl({ endpoint, path, workspacesApiUrl, pathParams, apiUrl });
|
674
|
+
const fullUrl = resolveUrl(baseUrl, queryParams, pathParams);
|
675
|
+
const url = fullUrl.includes("localhost") ? fullUrl.replace(/^[^.]+\./, "http://") : fullUrl;
|
676
|
+
void fetchEventSource(url, {
|
677
|
+
method,
|
678
|
+
body: JSON.stringify(body),
|
679
|
+
fetch: fetch2,
|
680
|
+
signal,
|
681
|
+
headers: {
|
682
|
+
"X-Xata-Client-ID": clientID ?? defaultClientID,
|
683
|
+
"X-Xata-Session-ID": sessionID ?? generateUUID(),
|
684
|
+
"X-Xata-Agent": compact([
|
685
|
+
["client", "TS_SDK"],
|
686
|
+
["version", VERSION],
|
687
|
+
isDefined(clientName) ? ["service", clientName] : void 0,
|
688
|
+
...Object.entries(xataAgentExtra ?? {})
|
689
|
+
]).map(([key, value]) => `${key}=${value}`).join("; "),
|
690
|
+
...customHeaders,
|
691
|
+
Authorization: `Bearer ${apiKey}`,
|
692
|
+
"Content-Type": "application/json"
|
693
|
+
},
|
694
|
+
onmessage(ev) {
|
695
|
+
onMessage?.(JSON.parse(ev.data));
|
696
|
+
},
|
697
|
+
onerror(ev) {
|
698
|
+
onError?.(JSON.parse(ev.data));
|
699
|
+
},
|
700
|
+
onclose() {
|
701
|
+
onClose?.();
|
702
|
+
}
|
703
|
+
});
|
704
|
+
}
|
284
705
|
function parseUrl(url) {
|
285
706
|
try {
|
286
707
|
const { host, protocol } = new URL(url);
|
@@ -290,290 +711,230 @@ function parseUrl(url) {
|
|
290
711
|
}
|
291
712
|
}
|
292
713
|
|
293
|
-
const
|
294
|
-
|
295
|
-
const
|
296
|
-
|
297
|
-
url: "/user/keys",
|
298
|
-
method: "get",
|
299
|
-
...variables
|
300
|
-
});
|
301
|
-
const createUserAPIKey = (variables) => fetch$1({
|
302
|
-
url: "/user/keys/{keyName}",
|
303
|
-
method: "post",
|
304
|
-
...variables
|
305
|
-
});
|
306
|
-
const deleteUserAPIKey = (variables) => fetch$1({
|
307
|
-
url: "/user/keys/{keyName}",
|
308
|
-
method: "delete",
|
309
|
-
...variables
|
310
|
-
});
|
311
|
-
const createWorkspace = (variables) => fetch$1({
|
312
|
-
url: "/workspaces",
|
313
|
-
method: "post",
|
314
|
-
...variables
|
315
|
-
});
|
316
|
-
const getWorkspacesList = (variables) => fetch$1({
|
317
|
-
url: "/workspaces",
|
318
|
-
method: "get",
|
319
|
-
...variables
|
320
|
-
});
|
321
|
-
const getWorkspace = (variables) => fetch$1({
|
322
|
-
url: "/workspaces/{workspaceId}",
|
714
|
+
const dataPlaneFetch = async (options) => fetch$1({ ...options, endpoint: "dataPlane" });
|
715
|
+
|
716
|
+
const getBranchList = (variables, signal) => dataPlaneFetch({
|
717
|
+
url: "/dbs/{dbName}",
|
323
718
|
method: "get",
|
324
|
-
...variables
|
719
|
+
...variables,
|
720
|
+
signal
|
325
721
|
});
|
326
|
-
const
|
327
|
-
url: "/
|
328
|
-
method: "put",
|
329
|
-
...variables
|
330
|
-
});
|
331
|
-
const deleteWorkspace = (variables) => fetch$1({
|
332
|
-
url: "/workspaces/{workspaceId}",
|
333
|
-
method: "delete",
|
334
|
-
...variables
|
335
|
-
});
|
336
|
-
const getWorkspaceMembersList = (variables) => fetch$1({
|
337
|
-
url: "/workspaces/{workspaceId}/members",
|
722
|
+
const getBranchDetails = (variables, signal) => dataPlaneFetch({
|
723
|
+
url: "/db/{dbBranchName}",
|
338
724
|
method: "get",
|
339
|
-
...variables
|
340
|
-
|
341
|
-
const updateWorkspaceMemberRole = (variables) => fetch$1({ url: "/workspaces/{workspaceId}/members/{userId}", method: "put", ...variables });
|
342
|
-
const removeWorkspaceMember = (variables) => fetch$1({
|
343
|
-
url: "/workspaces/{workspaceId}/members/{userId}",
|
344
|
-
method: "delete",
|
345
|
-
...variables
|
725
|
+
...variables,
|
726
|
+
signal
|
346
727
|
});
|
347
|
-
const
|
348
|
-
const
|
349
|
-
|
350
|
-
url: "/workspaces/{workspaceId}/invites/{inviteId}",
|
728
|
+
const createBranch = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}", method: "put", ...variables, signal });
|
729
|
+
const deleteBranch = (variables, signal) => dataPlaneFetch({
|
730
|
+
url: "/db/{dbBranchName}",
|
351
731
|
method: "delete",
|
352
|
-
...variables
|
353
|
-
|
354
|
-
const resendWorkspaceMemberInvite = (variables) => fetch$1({
|
355
|
-
url: "/workspaces/{workspaceId}/invites/{inviteId}/resend",
|
356
|
-
method: "post",
|
357
|
-
...variables
|
732
|
+
...variables,
|
733
|
+
signal
|
358
734
|
});
|
359
|
-
const
|
360
|
-
url: "/
|
735
|
+
const copyBranch = (variables, signal) => dataPlaneFetch({
|
736
|
+
url: "/db/{dbBranchName}/copy",
|
361
737
|
method: "post",
|
362
|
-
...variables
|
363
|
-
|
364
|
-
const getDatabaseList = (variables) => fetch$1({
|
365
|
-
url: "/dbs",
|
366
|
-
method: "get",
|
367
|
-
...variables
|
368
|
-
});
|
369
|
-
const getBranchList = (variables) => fetch$1({
|
370
|
-
url: "/dbs/{dbName}",
|
371
|
-
method: "get",
|
372
|
-
...variables
|
738
|
+
...variables,
|
739
|
+
signal
|
373
740
|
});
|
374
|
-
const
|
375
|
-
url: "/
|
741
|
+
const updateBranchMetadata = (variables, signal) => dataPlaneFetch({
|
742
|
+
url: "/db/{dbBranchName}/metadata",
|
376
743
|
method: "put",
|
377
|
-
...variables
|
744
|
+
...variables,
|
745
|
+
signal
|
378
746
|
});
|
379
|
-
const
|
380
|
-
url: "/
|
381
|
-
method: "delete",
|
382
|
-
...variables
|
383
|
-
});
|
384
|
-
const getDatabaseMetadata = (variables) => fetch$1({
|
385
|
-
url: "/dbs/{dbName}/metadata",
|
747
|
+
const getBranchMetadata = (variables, signal) => dataPlaneFetch({
|
748
|
+
url: "/db/{dbBranchName}/metadata",
|
386
749
|
method: "get",
|
387
|
-
...variables
|
750
|
+
...variables,
|
751
|
+
signal
|
388
752
|
});
|
389
|
-
const
|
390
|
-
|
391
|
-
const addGitBranchesEntry = (variables) => fetch$1({ url: "/dbs/{dbName}/gitBranches", method: "post", ...variables });
|
392
|
-
const removeGitBranchesEntry = (variables) => fetch$1({ url: "/dbs/{dbName}/gitBranches", method: "delete", ...variables });
|
393
|
-
const resolveBranch = (variables) => fetch$1({
|
394
|
-
url: "/dbs/{dbName}/resolveBranch",
|
753
|
+
const getBranchStats = (variables, signal) => dataPlaneFetch({
|
754
|
+
url: "/db/{dbBranchName}/stats",
|
395
755
|
method: "get",
|
396
|
-
...variables
|
756
|
+
...variables,
|
757
|
+
signal
|
397
758
|
});
|
398
|
-
const
|
399
|
-
const
|
400
|
-
const
|
759
|
+
const getGitBranchesMapping = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/gitBranches", method: "get", ...variables, signal });
|
760
|
+
const addGitBranchesEntry = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/gitBranches", method: "post", ...variables, signal });
|
761
|
+
const removeGitBranchesEntry = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/gitBranches", method: "delete", ...variables, signal });
|
762
|
+
const resolveBranch = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/resolveBranch", method: "get", ...variables, signal });
|
763
|
+
const getBranchMigrationHistory = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/migrations", method: "get", ...variables, signal });
|
764
|
+
const getBranchMigrationPlan = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/migrations/plan", method: "post", ...variables, signal });
|
765
|
+
const executeBranchMigrationPlan = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/migrations/execute", method: "post", ...variables, signal });
|
766
|
+
const queryMigrationRequests = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/migrations/query", method: "post", ...variables, signal });
|
767
|
+
const createMigrationRequest = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/migrations", method: "post", ...variables, signal });
|
768
|
+
const getMigrationRequest = (variables, signal) => dataPlaneFetch({
|
401
769
|
url: "/dbs/{dbName}/migrations/{mrNumber}",
|
402
770
|
method: "get",
|
403
|
-
...variables
|
771
|
+
...variables,
|
772
|
+
signal
|
404
773
|
});
|
405
|
-
const updateMigrationRequest = (variables) =>
|
406
|
-
const listMigrationRequestsCommits = (variables) =>
|
407
|
-
const compareMigrationRequest = (variables) =>
|
408
|
-
const getMigrationRequestIsMerged = (variables) =>
|
409
|
-
const mergeMigrationRequest = (variables) =>
|
774
|
+
const updateMigrationRequest = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/migrations/{mrNumber}", method: "patch", ...variables, signal });
|
775
|
+
const listMigrationRequestsCommits = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/migrations/{mrNumber}/commits", method: "post", ...variables, signal });
|
776
|
+
const compareMigrationRequest = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/migrations/{mrNumber}/compare", method: "post", ...variables, signal });
|
777
|
+
const getMigrationRequestIsMerged = (variables, signal) => dataPlaneFetch({ url: "/dbs/{dbName}/migrations/{mrNumber}/merge", method: "get", ...variables, signal });
|
778
|
+
const mergeMigrationRequest = (variables, signal) => dataPlaneFetch({
|
410
779
|
url: "/dbs/{dbName}/migrations/{mrNumber}/merge",
|
411
780
|
method: "post",
|
412
|
-
...variables
|
413
|
-
|
414
|
-
const getBranchDetails = (variables) => fetch$1({
|
415
|
-
url: "/db/{dbBranchName}",
|
416
|
-
method: "get",
|
417
|
-
...variables
|
418
|
-
});
|
419
|
-
const createBranch = (variables) => fetch$1({ url: "/db/{dbBranchName}", method: "put", ...variables });
|
420
|
-
const deleteBranch = (variables) => fetch$1({
|
421
|
-
url: "/db/{dbBranchName}",
|
422
|
-
method: "delete",
|
423
|
-
...variables
|
424
|
-
});
|
425
|
-
const updateBranchMetadata = (variables) => fetch$1({
|
426
|
-
url: "/db/{dbBranchName}/metadata",
|
427
|
-
method: "put",
|
428
|
-
...variables
|
429
|
-
});
|
430
|
-
const getBranchMetadata = (variables) => fetch$1({
|
431
|
-
url: "/db/{dbBranchName}/metadata",
|
432
|
-
method: "get",
|
433
|
-
...variables
|
434
|
-
});
|
435
|
-
const getBranchMigrationHistory = (variables) => fetch$1({ url: "/db/{dbBranchName}/migrations", method: "get", ...variables });
|
436
|
-
const executeBranchMigrationPlan = (variables) => fetch$1({ url: "/db/{dbBranchName}/migrations/execute", method: "post", ...variables });
|
437
|
-
const getBranchMigrationPlan = (variables) => fetch$1({ url: "/db/{dbBranchName}/migrations/plan", method: "post", ...variables });
|
438
|
-
const compareBranchWithUserSchema = (variables) => fetch$1({ url: "/db/{dbBranchName}/schema/compare", method: "post", ...variables });
|
439
|
-
const compareBranchSchemas = (variables) => fetch$1({ url: "/db/{dbBranchName}/schema/compare/{branchName}", method: "post", ...variables });
|
440
|
-
const updateBranchSchema = (variables) => fetch$1({
|
441
|
-
url: "/db/{dbBranchName}/schema/update",
|
442
|
-
method: "post",
|
443
|
-
...variables
|
444
|
-
});
|
445
|
-
const previewBranchSchemaEdit = (variables) => fetch$1({ url: "/db/{dbBranchName}/schema/preview", method: "post", ...variables });
|
446
|
-
const applyBranchSchemaEdit = (variables) => fetch$1({ url: "/db/{dbBranchName}/schema/apply", method: "post", ...variables });
|
447
|
-
const getBranchSchemaHistory = (variables) => fetch$1({ url: "/db/{dbBranchName}/schema/history", method: "post", ...variables });
|
448
|
-
const getBranchStats = (variables) => fetch$1({
|
449
|
-
url: "/db/{dbBranchName}/stats",
|
450
|
-
method: "get",
|
451
|
-
...variables
|
781
|
+
...variables,
|
782
|
+
signal
|
452
783
|
});
|
453
|
-
const
|
784
|
+
const getBranchSchemaHistory = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/schema/history", method: "post", ...variables, signal });
|
785
|
+
const compareBranchWithUserSchema = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/schema/compare", method: "post", ...variables, signal });
|
786
|
+
const compareBranchSchemas = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/schema/compare/{branchName}", method: "post", ...variables, signal });
|
787
|
+
const updateBranchSchema = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/schema/update", method: "post", ...variables, signal });
|
788
|
+
const previewBranchSchemaEdit = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/schema/preview", method: "post", ...variables, signal });
|
789
|
+
const applyBranchSchemaEdit = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/schema/apply", method: "post", ...variables, signal });
|
790
|
+
const pushBranchMigrations = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/schema/push", method: "post", ...variables, signal });
|
791
|
+
const createTable = (variables, signal) => dataPlaneFetch({
|
454
792
|
url: "/db/{dbBranchName}/tables/{tableName}",
|
455
793
|
method: "put",
|
456
|
-
...variables
|
794
|
+
...variables,
|
795
|
+
signal
|
457
796
|
});
|
458
|
-
const deleteTable = (variables) =>
|
797
|
+
const deleteTable = (variables, signal) => dataPlaneFetch({
|
459
798
|
url: "/db/{dbBranchName}/tables/{tableName}",
|
460
799
|
method: "delete",
|
461
|
-
...variables
|
462
|
-
|
463
|
-
const updateTable = (variables) => fetch$1({
|
464
|
-
url: "/db/{dbBranchName}/tables/{tableName}",
|
465
|
-
method: "patch",
|
466
|
-
...variables
|
800
|
+
...variables,
|
801
|
+
signal
|
467
802
|
});
|
468
|
-
const
|
803
|
+
const updateTable = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}", method: "patch", ...variables, signal });
|
804
|
+
const getTableSchema = (variables, signal) => dataPlaneFetch({
|
469
805
|
url: "/db/{dbBranchName}/tables/{tableName}/schema",
|
470
806
|
method: "get",
|
471
|
-
...variables
|
472
|
-
|
473
|
-
const setTableSchema = (variables) => fetch$1({
|
474
|
-
url: "/db/{dbBranchName}/tables/{tableName}/schema",
|
475
|
-
method: "put",
|
476
|
-
...variables
|
807
|
+
...variables,
|
808
|
+
signal
|
477
809
|
});
|
478
|
-
const
|
810
|
+
const setTableSchema = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/schema", method: "put", ...variables, signal });
|
811
|
+
const getTableColumns = (variables, signal) => dataPlaneFetch({
|
479
812
|
url: "/db/{dbBranchName}/tables/{tableName}/columns",
|
480
813
|
method: "get",
|
481
|
-
...variables
|
482
|
-
|
483
|
-
const addTableColumn = (variables) => fetch$1({
|
484
|
-
url: "/db/{dbBranchName}/tables/{tableName}/columns",
|
485
|
-
method: "post",
|
486
|
-
...variables
|
814
|
+
...variables,
|
815
|
+
signal
|
487
816
|
});
|
488
|
-
const
|
817
|
+
const addTableColumn = (variables, signal) => dataPlaneFetch(
|
818
|
+
{ url: "/db/{dbBranchName}/tables/{tableName}/columns", method: "post", ...variables, signal }
|
819
|
+
);
|
820
|
+
const getColumn = (variables, signal) => dataPlaneFetch({
|
489
821
|
url: "/db/{dbBranchName}/tables/{tableName}/columns/{columnName}",
|
490
822
|
method: "get",
|
491
|
-
...variables
|
823
|
+
...variables,
|
824
|
+
signal
|
492
825
|
});
|
493
|
-
const
|
826
|
+
const updateColumn = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/columns/{columnName}", method: "patch", ...variables, signal });
|
827
|
+
const deleteColumn = (variables, signal) => dataPlaneFetch({
|
494
828
|
url: "/db/{dbBranchName}/tables/{tableName}/columns/{columnName}",
|
495
829
|
method: "delete",
|
496
|
-
...variables
|
830
|
+
...variables,
|
831
|
+
signal
|
497
832
|
});
|
498
|
-
const
|
499
|
-
|
500
|
-
|
501
|
-
|
833
|
+
const branchTransaction = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/transaction", method: "post", ...variables, signal });
|
834
|
+
const insertRecord = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/data", method: "post", ...variables, signal });
|
835
|
+
const getFileItem = (variables, signal) => dataPlaneFetch({
|
836
|
+
url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}/column/{columnName}/file/{fileId}",
|
837
|
+
method: "get",
|
838
|
+
...variables,
|
839
|
+
signal
|
502
840
|
});
|
503
|
-
const
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
841
|
+
const putFileItem = (variables, signal) => dataPlaneFetch({
|
842
|
+
url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}/column/{columnName}/file/{fileId}",
|
843
|
+
method: "put",
|
844
|
+
...variables,
|
845
|
+
signal
|
846
|
+
});
|
847
|
+
const deleteFileItem = (variables, signal) => dataPlaneFetch({
|
848
|
+
url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}/column/{columnName}/file/{fileId}",
|
509
849
|
method: "delete",
|
510
|
-
...variables
|
850
|
+
...variables,
|
851
|
+
signal
|
852
|
+
});
|
853
|
+
const getFile = (variables, signal) => dataPlaneFetch({
|
854
|
+
url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}/column/{columnName}/file",
|
855
|
+
method: "get",
|
856
|
+
...variables,
|
857
|
+
signal
|
858
|
+
});
|
859
|
+
const putFile = (variables, signal) => dataPlaneFetch({
|
860
|
+
url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}/column/{columnName}/file",
|
861
|
+
method: "put",
|
862
|
+
...variables,
|
863
|
+
signal
|
511
864
|
});
|
512
|
-
const getRecord = (variables) =>
|
865
|
+
const getRecord = (variables, signal) => dataPlaneFetch({
|
513
866
|
url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}",
|
514
867
|
method: "get",
|
515
|
-
...variables
|
868
|
+
...variables,
|
869
|
+
signal
|
516
870
|
});
|
517
|
-
const
|
518
|
-
const
|
871
|
+
const insertRecordWithID = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}", method: "put", ...variables, signal });
|
872
|
+
const updateRecordWithID = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}", method: "patch", ...variables, signal });
|
873
|
+
const upsertRecordWithID = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}", method: "post", ...variables, signal });
|
874
|
+
const deleteRecord = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/data/{recordId}", method: "delete", ...variables, signal });
|
875
|
+
const bulkInsertTableRecords = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/bulk", method: "post", ...variables, signal });
|
876
|
+
const queryTable = (variables, signal) => dataPlaneFetch({
|
519
877
|
url: "/db/{dbBranchName}/tables/{tableName}/query",
|
520
878
|
method: "post",
|
521
|
-
...variables
|
879
|
+
...variables,
|
880
|
+
signal
|
522
881
|
});
|
523
|
-
const
|
882
|
+
const searchBranch = (variables, signal) => dataPlaneFetch({
|
883
|
+
url: "/db/{dbBranchName}/search",
|
884
|
+
method: "post",
|
885
|
+
...variables,
|
886
|
+
signal
|
887
|
+
});
|
888
|
+
const searchTable = (variables, signal) => dataPlaneFetch({
|
524
889
|
url: "/db/{dbBranchName}/tables/{tableName}/search",
|
525
890
|
method: "post",
|
526
|
-
...variables
|
891
|
+
...variables,
|
892
|
+
signal
|
527
893
|
});
|
528
|
-
const
|
529
|
-
url: "/db/{dbBranchName}/
|
894
|
+
const sqlQuery = (variables, signal) => dataPlaneFetch({
|
895
|
+
url: "/db/{dbBranchName}/sql",
|
530
896
|
method: "post",
|
531
|
-
...variables
|
897
|
+
...variables,
|
898
|
+
signal
|
532
899
|
});
|
533
|
-
const
|
534
|
-
|
900
|
+
const vectorSearchTable = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/vectorSearch", method: "post", ...variables, signal });
|
901
|
+
const askTable = (variables, signal) => dataPlaneFetch({
|
902
|
+
url: "/db/{dbBranchName}/tables/{tableName}/ask",
|
535
903
|
method: "post",
|
536
|
-
...variables
|
904
|
+
...variables,
|
905
|
+
signal
|
537
906
|
});
|
538
|
-
const
|
539
|
-
|
540
|
-
|
541
|
-
createWorkspace,
|
542
|
-
getWorkspacesList,
|
543
|
-
getWorkspace,
|
544
|
-
updateWorkspace,
|
545
|
-
deleteWorkspace,
|
546
|
-
getWorkspaceMembersList,
|
547
|
-
updateWorkspaceMemberRole,
|
548
|
-
removeWorkspaceMember,
|
549
|
-
inviteWorkspaceMember,
|
550
|
-
updateWorkspaceMemberInvite,
|
551
|
-
cancelWorkspaceMemberInvite,
|
552
|
-
resendWorkspaceMemberInvite,
|
553
|
-
acceptWorkspaceMemberInvite
|
554
|
-
},
|
555
|
-
database: {
|
556
|
-
getDatabaseList,
|
557
|
-
createDatabase,
|
558
|
-
deleteDatabase,
|
559
|
-
getDatabaseMetadata,
|
560
|
-
updateDatabaseMetadata,
|
561
|
-
getGitBranchesMapping,
|
562
|
-
addGitBranchesEntry,
|
563
|
-
removeGitBranchesEntry,
|
564
|
-
resolveBranch
|
565
|
-
},
|
907
|
+
const summarizeTable = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/summarize", method: "post", ...variables, signal });
|
908
|
+
const aggregateTable = (variables, signal) => dataPlaneFetch({ url: "/db/{dbBranchName}/tables/{tableName}/aggregate", method: "post", ...variables, signal });
|
909
|
+
const operationsByTag$2 = {
|
566
910
|
branch: {
|
567
911
|
getBranchList,
|
568
912
|
getBranchDetails,
|
569
913
|
createBranch,
|
570
914
|
deleteBranch,
|
915
|
+
copyBranch,
|
571
916
|
updateBranchMetadata,
|
572
917
|
getBranchMetadata,
|
573
|
-
getBranchStats
|
918
|
+
getBranchStats,
|
919
|
+
getGitBranchesMapping,
|
920
|
+
addGitBranchesEntry,
|
921
|
+
removeGitBranchesEntry,
|
922
|
+
resolveBranch
|
923
|
+
},
|
924
|
+
migrations: {
|
925
|
+
getBranchMigrationHistory,
|
926
|
+
getBranchMigrationPlan,
|
927
|
+
executeBranchMigrationPlan,
|
928
|
+
getBranchSchemaHistory,
|
929
|
+
compareBranchWithUserSchema,
|
930
|
+
compareBranchSchemas,
|
931
|
+
updateBranchSchema,
|
932
|
+
previewBranchSchemaEdit,
|
933
|
+
applyBranchSchemaEdit,
|
934
|
+
pushBranchMigrations
|
574
935
|
},
|
575
936
|
migrationRequests: {
|
576
|
-
|
937
|
+
queryMigrationRequests,
|
577
938
|
createMigrationRequest,
|
578
939
|
getMigrationRequest,
|
579
940
|
updateMigrationRequest,
|
@@ -582,17 +943,6 @@ const operationsByTag = {
|
|
582
943
|
getMigrationRequestIsMerged,
|
583
944
|
mergeMigrationRequest
|
584
945
|
},
|
585
|
-
branchSchema: {
|
586
|
-
getBranchMigrationHistory,
|
587
|
-
executeBranchMigrationPlan,
|
588
|
-
getBranchMigrationPlan,
|
589
|
-
compareBranchWithUserSchema,
|
590
|
-
compareBranchSchemas,
|
591
|
-
updateBranchSchema,
|
592
|
-
previewBranchSchemaEdit,
|
593
|
-
applyBranchSchemaEdit,
|
594
|
-
getBranchSchemaHistory
|
595
|
-
},
|
596
946
|
table: {
|
597
947
|
createTable,
|
598
948
|
deleteTable,
|
@@ -602,24 +952,174 @@ const operationsByTag = {
|
|
602
952
|
getTableColumns,
|
603
953
|
addTableColumn,
|
604
954
|
getColumn,
|
605
|
-
|
606
|
-
|
955
|
+
updateColumn,
|
956
|
+
deleteColumn
|
607
957
|
},
|
608
958
|
records: {
|
959
|
+
branchTransaction,
|
609
960
|
insertRecord,
|
961
|
+
getRecord,
|
610
962
|
insertRecordWithID,
|
611
963
|
updateRecordWithID,
|
612
964
|
upsertRecordWithID,
|
613
965
|
deleteRecord,
|
614
|
-
|
615
|
-
|
966
|
+
bulkInsertTableRecords
|
967
|
+
},
|
968
|
+
files: { getFileItem, putFileItem, deleteFileItem, getFile, putFile },
|
969
|
+
searchAndFilter: {
|
616
970
|
queryTable,
|
617
|
-
searchTable,
|
618
971
|
searchBranch,
|
619
|
-
|
972
|
+
searchTable,
|
973
|
+
sqlQuery,
|
974
|
+
vectorSearchTable,
|
975
|
+
askTable,
|
976
|
+
summarizeTable,
|
977
|
+
aggregateTable
|
620
978
|
}
|
621
979
|
};
|
622
980
|
|
981
|
+
const controlPlaneFetch = async (options) => fetch$1({ ...options, endpoint: "controlPlane" });
|
982
|
+
|
983
|
+
const getUser = (variables, signal) => controlPlaneFetch({
|
984
|
+
url: "/user",
|
985
|
+
method: "get",
|
986
|
+
...variables,
|
987
|
+
signal
|
988
|
+
});
|
989
|
+
const updateUser = (variables, signal) => controlPlaneFetch({
|
990
|
+
url: "/user",
|
991
|
+
method: "put",
|
992
|
+
...variables,
|
993
|
+
signal
|
994
|
+
});
|
995
|
+
const deleteUser = (variables, signal) => controlPlaneFetch({
|
996
|
+
url: "/user",
|
997
|
+
method: "delete",
|
998
|
+
...variables,
|
999
|
+
signal
|
1000
|
+
});
|
1001
|
+
const getUserAPIKeys = (variables, signal) => controlPlaneFetch({
|
1002
|
+
url: "/user/keys",
|
1003
|
+
method: "get",
|
1004
|
+
...variables,
|
1005
|
+
signal
|
1006
|
+
});
|
1007
|
+
const createUserAPIKey = (variables, signal) => controlPlaneFetch({
|
1008
|
+
url: "/user/keys/{keyName}",
|
1009
|
+
method: "post",
|
1010
|
+
...variables,
|
1011
|
+
signal
|
1012
|
+
});
|
1013
|
+
const deleteUserAPIKey = (variables, signal) => controlPlaneFetch({
|
1014
|
+
url: "/user/keys/{keyName}",
|
1015
|
+
method: "delete",
|
1016
|
+
...variables,
|
1017
|
+
signal
|
1018
|
+
});
|
1019
|
+
const getWorkspacesList = (variables, signal) => controlPlaneFetch({
|
1020
|
+
url: "/workspaces",
|
1021
|
+
method: "get",
|
1022
|
+
...variables,
|
1023
|
+
signal
|
1024
|
+
});
|
1025
|
+
const createWorkspace = (variables, signal) => controlPlaneFetch({
|
1026
|
+
url: "/workspaces",
|
1027
|
+
method: "post",
|
1028
|
+
...variables,
|
1029
|
+
signal
|
1030
|
+
});
|
1031
|
+
const getWorkspace = (variables, signal) => controlPlaneFetch({
|
1032
|
+
url: "/workspaces/{workspaceId}",
|
1033
|
+
method: "get",
|
1034
|
+
...variables,
|
1035
|
+
signal
|
1036
|
+
});
|
1037
|
+
const updateWorkspace = (variables, signal) => controlPlaneFetch({
|
1038
|
+
url: "/workspaces/{workspaceId}",
|
1039
|
+
method: "put",
|
1040
|
+
...variables,
|
1041
|
+
signal
|
1042
|
+
});
|
1043
|
+
const deleteWorkspace = (variables, signal) => controlPlaneFetch({
|
1044
|
+
url: "/workspaces/{workspaceId}",
|
1045
|
+
method: "delete",
|
1046
|
+
...variables,
|
1047
|
+
signal
|
1048
|
+
});
|
1049
|
+
const getWorkspaceMembersList = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/members", method: "get", ...variables, signal });
|
1050
|
+
const updateWorkspaceMemberRole = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/members/{userId}", method: "put", ...variables, signal });
|
1051
|
+
const removeWorkspaceMember = (variables, signal) => controlPlaneFetch({
|
1052
|
+
url: "/workspaces/{workspaceId}/members/{userId}",
|
1053
|
+
method: "delete",
|
1054
|
+
...variables,
|
1055
|
+
signal
|
1056
|
+
});
|
1057
|
+
const inviteWorkspaceMember = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/invites", method: "post", ...variables, signal });
|
1058
|
+
const updateWorkspaceMemberInvite = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/invites/{inviteId}", method: "patch", ...variables, signal });
|
1059
|
+
const cancelWorkspaceMemberInvite = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/invites/{inviteId}", method: "delete", ...variables, signal });
|
1060
|
+
const acceptWorkspaceMemberInvite = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/invites/{inviteKey}/accept", method: "post", ...variables, signal });
|
1061
|
+
const resendWorkspaceMemberInvite = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/invites/{inviteId}/resend", method: "post", ...variables, signal });
|
1062
|
+
const getDatabaseList = (variables, signal) => controlPlaneFetch({
|
1063
|
+
url: "/workspaces/{workspaceId}/dbs",
|
1064
|
+
method: "get",
|
1065
|
+
...variables,
|
1066
|
+
signal
|
1067
|
+
});
|
1068
|
+
const createDatabase = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/dbs/{dbName}", method: "put", ...variables, signal });
|
1069
|
+
const deleteDatabase = (variables, signal) => controlPlaneFetch({
|
1070
|
+
url: "/workspaces/{workspaceId}/dbs/{dbName}",
|
1071
|
+
method: "delete",
|
1072
|
+
...variables,
|
1073
|
+
signal
|
1074
|
+
});
|
1075
|
+
const getDatabaseMetadata = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/dbs/{dbName}", method: "get", ...variables, signal });
|
1076
|
+
const updateDatabaseMetadata = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/dbs/{dbName}", method: "patch", ...variables, signal });
|
1077
|
+
const renameDatabase = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/dbs/{dbName}/rename", method: "post", ...variables, signal });
|
1078
|
+
const getDatabaseGithubSettings = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/dbs/{dbName}/github", method: "get", ...variables, signal });
|
1079
|
+
const updateDatabaseGithubSettings = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/dbs/{dbName}/github", method: "put", ...variables, signal });
|
1080
|
+
const deleteDatabaseGithubSettings = (variables, signal) => controlPlaneFetch({ url: "/workspaces/{workspaceId}/dbs/{dbName}/github", method: "delete", ...variables, signal });
|
1081
|
+
const listRegions = (variables, signal) => controlPlaneFetch({
|
1082
|
+
url: "/workspaces/{workspaceId}/regions",
|
1083
|
+
method: "get",
|
1084
|
+
...variables,
|
1085
|
+
signal
|
1086
|
+
});
|
1087
|
+
const operationsByTag$1 = {
|
1088
|
+
users: { getUser, updateUser, deleteUser },
|
1089
|
+
authentication: { getUserAPIKeys, createUserAPIKey, deleteUserAPIKey },
|
1090
|
+
workspaces: {
|
1091
|
+
getWorkspacesList,
|
1092
|
+
createWorkspace,
|
1093
|
+
getWorkspace,
|
1094
|
+
updateWorkspace,
|
1095
|
+
deleteWorkspace,
|
1096
|
+
getWorkspaceMembersList,
|
1097
|
+
updateWorkspaceMemberRole,
|
1098
|
+
removeWorkspaceMember
|
1099
|
+
},
|
1100
|
+
invites: {
|
1101
|
+
inviteWorkspaceMember,
|
1102
|
+
updateWorkspaceMemberInvite,
|
1103
|
+
cancelWorkspaceMemberInvite,
|
1104
|
+
acceptWorkspaceMemberInvite,
|
1105
|
+
resendWorkspaceMemberInvite
|
1106
|
+
},
|
1107
|
+
databases: {
|
1108
|
+
getDatabaseList,
|
1109
|
+
createDatabase,
|
1110
|
+
deleteDatabase,
|
1111
|
+
getDatabaseMetadata,
|
1112
|
+
updateDatabaseMetadata,
|
1113
|
+
renameDatabase,
|
1114
|
+
getDatabaseGithubSettings,
|
1115
|
+
updateDatabaseGithubSettings,
|
1116
|
+
deleteDatabaseGithubSettings,
|
1117
|
+
listRegions
|
1118
|
+
}
|
1119
|
+
};
|
1120
|
+
|
1121
|
+
const operationsByTag = deepMerge(operationsByTag$2, operationsByTag$1);
|
1122
|
+
|
623
1123
|
function getHostUrl(provider, type) {
|
624
1124
|
if (isHostProviderAlias(provider)) {
|
625
1125
|
return providers[provider][type];
|
@@ -631,11 +1131,15 @@ function getHostUrl(provider, type) {
|
|
631
1131
|
const providers = {
|
632
1132
|
production: {
|
633
1133
|
main: "https://api.xata.io",
|
634
|
-
workspaces: "https://{workspaceId}.xata.sh"
|
1134
|
+
workspaces: "https://{workspaceId}.{region}.xata.sh"
|
635
1135
|
},
|
636
1136
|
staging: {
|
637
|
-
main: "https://staging.
|
638
|
-
workspaces: "https://{workspaceId}.staging.
|
1137
|
+
main: "https://api.staging-xata.dev",
|
1138
|
+
workspaces: "https://{workspaceId}.{region}.staging-xata.dev"
|
1139
|
+
},
|
1140
|
+
dev: {
|
1141
|
+
main: "https://api.dev-xata.dev",
|
1142
|
+
workspaces: "https://{workspaceId}.{region}.dev-xata.dev"
|
639
1143
|
}
|
640
1144
|
};
|
641
1145
|
function isHostProviderAlias(alias) {
|
@@ -644,6 +1148,32 @@ function isHostProviderAlias(alias) {
|
|
644
1148
|
function isHostProviderBuilder(builder) {
|
645
1149
|
return isObject(builder) && isString(builder.main) && isString(builder.workspaces);
|
646
1150
|
}
|
1151
|
+
function parseProviderString(provider = "production") {
|
1152
|
+
if (isHostProviderAlias(provider)) {
|
1153
|
+
return provider;
|
1154
|
+
}
|
1155
|
+
const [main, workspaces] = provider.split(",");
|
1156
|
+
if (!main || !workspaces)
|
1157
|
+
return null;
|
1158
|
+
return { main, workspaces };
|
1159
|
+
}
|
1160
|
+
function buildProviderString(provider) {
|
1161
|
+
if (isHostProviderAlias(provider))
|
1162
|
+
return provider;
|
1163
|
+
return `${provider.main},${provider.workspaces}`;
|
1164
|
+
}
|
1165
|
+
function parseWorkspacesUrlParts(url) {
|
1166
|
+
if (!isString(url))
|
1167
|
+
return null;
|
1168
|
+
const regex = /(?:https:\/\/)?([^.]+)(?:\.([^.]+))\.xata\.sh.*/;
|
1169
|
+
const regexDev = /(?:https:\/\/)?([^.]+)(?:\.([^.]+))\.dev-xata\.dev.*/;
|
1170
|
+
const regexStaging = /(?:https:\/\/)?([^.]+)(?:\.([^.]+))\.staging-xata\.dev.*/;
|
1171
|
+
const regexProdTesting = /(?:https:\/\/)?([^.]+)(?:\.([^.]+))\.xata\.tech.*/;
|
1172
|
+
const match = url.match(regex) || url.match(regexDev) || url.match(regexStaging) || url.match(regexProdTesting);
|
1173
|
+
if (!match)
|
1174
|
+
return null;
|
1175
|
+
return { workspace: match[1], region: match[2] };
|
1176
|
+
}
|
647
1177
|
|
648
1178
|
var __accessCheck$7 = (obj, member, msg) => {
|
649
1179
|
if (!member.has(obj))
|
@@ -671,15 +1201,19 @@ class XataApiClient {
|
|
671
1201
|
const provider = options.host ?? "production";
|
672
1202
|
const apiKey = options.apiKey ?? getAPIKey();
|
673
1203
|
const trace = options.trace ?? defaultTrace;
|
1204
|
+
const clientID = generateUUID();
|
674
1205
|
if (!apiKey) {
|
675
1206
|
throw new Error("Could not resolve a valid apiKey");
|
676
1207
|
}
|
677
1208
|
__privateSet$7(this, _extraProps, {
|
678
1209
|
apiUrl: getHostUrl(provider, "main"),
|
679
1210
|
workspacesApiUrl: getHostUrl(provider, "workspaces"),
|
680
|
-
|
1211
|
+
fetch: getFetchImplementation(options.fetch),
|
681
1212
|
apiKey,
|
682
|
-
trace
|
1213
|
+
trace,
|
1214
|
+
clientName: options.clientName,
|
1215
|
+
xataAgentExtra: options.xataAgentExtra,
|
1216
|
+
clientID
|
683
1217
|
});
|
684
1218
|
}
|
685
1219
|
get user() {
|
@@ -687,21 +1221,41 @@ class XataApiClient {
|
|
687
1221
|
__privateGet$7(this, _namespaces).user = new UserApi(__privateGet$7(this, _extraProps));
|
688
1222
|
return __privateGet$7(this, _namespaces).user;
|
689
1223
|
}
|
1224
|
+
get authentication() {
|
1225
|
+
if (!__privateGet$7(this, _namespaces).authentication)
|
1226
|
+
__privateGet$7(this, _namespaces).authentication = new AuthenticationApi(__privateGet$7(this, _extraProps));
|
1227
|
+
return __privateGet$7(this, _namespaces).authentication;
|
1228
|
+
}
|
690
1229
|
get workspaces() {
|
691
1230
|
if (!__privateGet$7(this, _namespaces).workspaces)
|
692
1231
|
__privateGet$7(this, _namespaces).workspaces = new WorkspaceApi(__privateGet$7(this, _extraProps));
|
693
1232
|
return __privateGet$7(this, _namespaces).workspaces;
|
694
1233
|
}
|
695
|
-
get
|
696
|
-
if (!__privateGet$7(this, _namespaces).
|
697
|
-
__privateGet$7(this, _namespaces).
|
698
|
-
return __privateGet$7(this, _namespaces).
|
1234
|
+
get invites() {
|
1235
|
+
if (!__privateGet$7(this, _namespaces).invites)
|
1236
|
+
__privateGet$7(this, _namespaces).invites = new InvitesApi(__privateGet$7(this, _extraProps));
|
1237
|
+
return __privateGet$7(this, _namespaces).invites;
|
1238
|
+
}
|
1239
|
+
get database() {
|
1240
|
+
if (!__privateGet$7(this, _namespaces).database)
|
1241
|
+
__privateGet$7(this, _namespaces).database = new DatabaseApi(__privateGet$7(this, _extraProps));
|
1242
|
+
return __privateGet$7(this, _namespaces).database;
|
699
1243
|
}
|
700
1244
|
get branches() {
|
701
1245
|
if (!__privateGet$7(this, _namespaces).branches)
|
702
1246
|
__privateGet$7(this, _namespaces).branches = new BranchApi(__privateGet$7(this, _extraProps));
|
703
1247
|
return __privateGet$7(this, _namespaces).branches;
|
704
1248
|
}
|
1249
|
+
get migrations() {
|
1250
|
+
if (!__privateGet$7(this, _namespaces).migrations)
|
1251
|
+
__privateGet$7(this, _namespaces).migrations = new MigrationsApi(__privateGet$7(this, _extraProps));
|
1252
|
+
return __privateGet$7(this, _namespaces).migrations;
|
1253
|
+
}
|
1254
|
+
get migrationRequests() {
|
1255
|
+
if (!__privateGet$7(this, _namespaces).migrationRequests)
|
1256
|
+
__privateGet$7(this, _namespaces).migrationRequests = new MigrationRequestsApi(__privateGet$7(this, _extraProps));
|
1257
|
+
return __privateGet$7(this, _namespaces).migrationRequests;
|
1258
|
+
}
|
705
1259
|
get tables() {
|
706
1260
|
if (!__privateGet$7(this, _namespaces).tables)
|
707
1261
|
__privateGet$7(this, _namespaces).tables = new TableApi(__privateGet$7(this, _extraProps));
|
@@ -712,15 +1266,15 @@ class XataApiClient {
|
|
712
1266
|
__privateGet$7(this, _namespaces).records = new RecordsApi(__privateGet$7(this, _extraProps));
|
713
1267
|
return __privateGet$7(this, _namespaces).records;
|
714
1268
|
}
|
715
|
-
get
|
716
|
-
if (!__privateGet$7(this, _namespaces).
|
717
|
-
__privateGet$7(this, _namespaces).
|
718
|
-
return __privateGet$7(this, _namespaces).
|
1269
|
+
get files() {
|
1270
|
+
if (!__privateGet$7(this, _namespaces).files)
|
1271
|
+
__privateGet$7(this, _namespaces).files = new FilesApi(__privateGet$7(this, _extraProps));
|
1272
|
+
return __privateGet$7(this, _namespaces).files;
|
719
1273
|
}
|
720
|
-
get
|
721
|
-
if (!__privateGet$7(this, _namespaces).
|
722
|
-
__privateGet$7(this, _namespaces).
|
723
|
-
return __privateGet$7(this, _namespaces).
|
1274
|
+
get searchAndFilter() {
|
1275
|
+
if (!__privateGet$7(this, _namespaces).searchAndFilter)
|
1276
|
+
__privateGet$7(this, _namespaces).searchAndFilter = new SearchAndFilterApi(__privateGet$7(this, _extraProps));
|
1277
|
+
return __privateGet$7(this, _namespaces).searchAndFilter;
|
724
1278
|
}
|
725
1279
|
}
|
726
1280
|
_extraProps = new WeakMap();
|
@@ -732,24 +1286,29 @@ class UserApi {
|
|
732
1286
|
getUser() {
|
733
1287
|
return operationsByTag.users.getUser({ ...this.extraProps });
|
734
1288
|
}
|
735
|
-
updateUser(user) {
|
1289
|
+
updateUser({ user }) {
|
736
1290
|
return operationsByTag.users.updateUser({ body: user, ...this.extraProps });
|
737
1291
|
}
|
738
1292
|
deleteUser() {
|
739
1293
|
return operationsByTag.users.deleteUser({ ...this.extraProps });
|
740
1294
|
}
|
1295
|
+
}
|
1296
|
+
class AuthenticationApi {
|
1297
|
+
constructor(extraProps) {
|
1298
|
+
this.extraProps = extraProps;
|
1299
|
+
}
|
741
1300
|
getUserAPIKeys() {
|
742
|
-
return operationsByTag.
|
1301
|
+
return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps });
|
743
1302
|
}
|
744
|
-
createUserAPIKey(
|
745
|
-
return operationsByTag.
|
746
|
-
pathParams: { keyName },
|
1303
|
+
createUserAPIKey({ name }) {
|
1304
|
+
return operationsByTag.authentication.createUserAPIKey({
|
1305
|
+
pathParams: { keyName: name },
|
747
1306
|
...this.extraProps
|
748
1307
|
});
|
749
1308
|
}
|
750
|
-
deleteUserAPIKey(
|
751
|
-
return operationsByTag.
|
752
|
-
pathParams: { keyName },
|
1309
|
+
deleteUserAPIKey({ name }) {
|
1310
|
+
return operationsByTag.authentication.deleteUserAPIKey({
|
1311
|
+
pathParams: { keyName: name },
|
753
1312
|
...this.extraProps
|
754
1313
|
});
|
755
1314
|
}
|
@@ -758,196 +1317,262 @@ class WorkspaceApi {
|
|
758
1317
|
constructor(extraProps) {
|
759
1318
|
this.extraProps = extraProps;
|
760
1319
|
}
|
761
|
-
|
1320
|
+
getWorkspacesList() {
|
1321
|
+
return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps });
|
1322
|
+
}
|
1323
|
+
createWorkspace({ data }) {
|
762
1324
|
return operationsByTag.workspaces.createWorkspace({
|
763
|
-
body:
|
1325
|
+
body: data,
|
764
1326
|
...this.extraProps
|
765
1327
|
});
|
766
1328
|
}
|
767
|
-
|
768
|
-
return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps });
|
769
|
-
}
|
770
|
-
getWorkspace(workspaceId) {
|
1329
|
+
getWorkspace({ workspace }) {
|
771
1330
|
return operationsByTag.workspaces.getWorkspace({
|
772
|
-
pathParams: { workspaceId },
|
1331
|
+
pathParams: { workspaceId: workspace },
|
773
1332
|
...this.extraProps
|
774
1333
|
});
|
775
1334
|
}
|
776
|
-
updateWorkspace(
|
1335
|
+
updateWorkspace({
|
1336
|
+
workspace,
|
1337
|
+
update
|
1338
|
+
}) {
|
777
1339
|
return operationsByTag.workspaces.updateWorkspace({
|
778
|
-
pathParams: { workspaceId },
|
779
|
-
body:
|
1340
|
+
pathParams: { workspaceId: workspace },
|
1341
|
+
body: update,
|
780
1342
|
...this.extraProps
|
781
1343
|
});
|
782
1344
|
}
|
783
|
-
deleteWorkspace(
|
1345
|
+
deleteWorkspace({ workspace }) {
|
784
1346
|
return operationsByTag.workspaces.deleteWorkspace({
|
785
|
-
pathParams: { workspaceId },
|
1347
|
+
pathParams: { workspaceId: workspace },
|
786
1348
|
...this.extraProps
|
787
1349
|
});
|
788
1350
|
}
|
789
|
-
getWorkspaceMembersList(
|
1351
|
+
getWorkspaceMembersList({ workspace }) {
|
790
1352
|
return operationsByTag.workspaces.getWorkspaceMembersList({
|
791
|
-
pathParams: { workspaceId },
|
1353
|
+
pathParams: { workspaceId: workspace },
|
792
1354
|
...this.extraProps
|
793
1355
|
});
|
794
1356
|
}
|
795
|
-
updateWorkspaceMemberRole(
|
1357
|
+
updateWorkspaceMemberRole({
|
1358
|
+
workspace,
|
1359
|
+
user,
|
1360
|
+
role
|
1361
|
+
}) {
|
796
1362
|
return operationsByTag.workspaces.updateWorkspaceMemberRole({
|
797
|
-
pathParams: { workspaceId, userId },
|
1363
|
+
pathParams: { workspaceId: workspace, userId: user },
|
798
1364
|
body: { role },
|
799
1365
|
...this.extraProps
|
800
1366
|
});
|
801
1367
|
}
|
802
|
-
removeWorkspaceMember(
|
1368
|
+
removeWorkspaceMember({
|
1369
|
+
workspace,
|
1370
|
+
user
|
1371
|
+
}) {
|
803
1372
|
return operationsByTag.workspaces.removeWorkspaceMember({
|
804
|
-
pathParams: { workspaceId, userId },
|
1373
|
+
pathParams: { workspaceId: workspace, userId: user },
|
805
1374
|
...this.extraProps
|
806
1375
|
});
|
807
1376
|
}
|
808
|
-
|
809
|
-
|
810
|
-
|
1377
|
+
}
|
1378
|
+
class InvitesApi {
|
1379
|
+
constructor(extraProps) {
|
1380
|
+
this.extraProps = extraProps;
|
1381
|
+
}
|
1382
|
+
inviteWorkspaceMember({
|
1383
|
+
workspace,
|
1384
|
+
email,
|
1385
|
+
role
|
1386
|
+
}) {
|
1387
|
+
return operationsByTag.invites.inviteWorkspaceMember({
|
1388
|
+
pathParams: { workspaceId: workspace },
|
811
1389
|
body: { email, role },
|
812
1390
|
...this.extraProps
|
813
1391
|
});
|
814
1392
|
}
|
815
|
-
updateWorkspaceMemberInvite(
|
816
|
-
|
817
|
-
|
1393
|
+
updateWorkspaceMemberInvite({
|
1394
|
+
workspace,
|
1395
|
+
invite,
|
1396
|
+
role
|
1397
|
+
}) {
|
1398
|
+
return operationsByTag.invites.updateWorkspaceMemberInvite({
|
1399
|
+
pathParams: { workspaceId: workspace, inviteId: invite },
|
818
1400
|
body: { role },
|
819
1401
|
...this.extraProps
|
820
1402
|
});
|
821
1403
|
}
|
822
|
-
cancelWorkspaceMemberInvite(
|
823
|
-
|
824
|
-
|
1404
|
+
cancelWorkspaceMemberInvite({
|
1405
|
+
workspace,
|
1406
|
+
invite
|
1407
|
+
}) {
|
1408
|
+
return operationsByTag.invites.cancelWorkspaceMemberInvite({
|
1409
|
+
pathParams: { workspaceId: workspace, inviteId: invite },
|
825
1410
|
...this.extraProps
|
826
1411
|
});
|
827
1412
|
}
|
828
|
-
|
829
|
-
|
830
|
-
|
1413
|
+
acceptWorkspaceMemberInvite({
|
1414
|
+
workspace,
|
1415
|
+
key
|
1416
|
+
}) {
|
1417
|
+
return operationsByTag.invites.acceptWorkspaceMemberInvite({
|
1418
|
+
pathParams: { workspaceId: workspace, inviteKey: key },
|
831
1419
|
...this.extraProps
|
832
1420
|
});
|
833
1421
|
}
|
834
|
-
|
835
|
-
|
836
|
-
|
1422
|
+
resendWorkspaceMemberInvite({
|
1423
|
+
workspace,
|
1424
|
+
invite
|
1425
|
+
}) {
|
1426
|
+
return operationsByTag.invites.resendWorkspaceMemberInvite({
|
1427
|
+
pathParams: { workspaceId: workspace, inviteId: invite },
|
837
1428
|
...this.extraProps
|
838
1429
|
});
|
839
1430
|
}
|
840
1431
|
}
|
841
|
-
class
|
1432
|
+
class BranchApi {
|
842
1433
|
constructor(extraProps) {
|
843
1434
|
this.extraProps = extraProps;
|
844
1435
|
}
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
return operationsByTag.database.createDatabase({
|
853
|
-
pathParams: { workspace, dbName },
|
854
|
-
body: options,
|
855
|
-
...this.extraProps
|
856
|
-
});
|
857
|
-
}
|
858
|
-
deleteDatabase(workspace, dbName) {
|
859
|
-
return operationsByTag.database.deleteDatabase({
|
860
|
-
pathParams: { workspace, dbName },
|
861
|
-
...this.extraProps
|
862
|
-
});
|
863
|
-
}
|
864
|
-
getDatabaseMetadata(workspace, dbName) {
|
865
|
-
return operationsByTag.database.getDatabaseMetadata({
|
866
|
-
pathParams: { workspace, dbName },
|
867
|
-
...this.extraProps
|
868
|
-
});
|
869
|
-
}
|
870
|
-
updateDatabaseMetadata(workspace, dbName, options = {}) {
|
871
|
-
return operationsByTag.database.updateDatabaseMetadata({
|
872
|
-
pathParams: { workspace, dbName },
|
873
|
-
body: options,
|
1436
|
+
getBranchList({
|
1437
|
+
workspace,
|
1438
|
+
region,
|
1439
|
+
database
|
1440
|
+
}) {
|
1441
|
+
return operationsByTag.branch.getBranchList({
|
1442
|
+
pathParams: { workspace, region, dbName: database },
|
874
1443
|
...this.extraProps
|
875
1444
|
});
|
876
1445
|
}
|
877
|
-
|
878
|
-
|
879
|
-
|
1446
|
+
getBranchDetails({
|
1447
|
+
workspace,
|
1448
|
+
region,
|
1449
|
+
database,
|
1450
|
+
branch
|
1451
|
+
}) {
|
1452
|
+
return operationsByTag.branch.getBranchDetails({
|
1453
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
880
1454
|
...this.extraProps
|
881
1455
|
});
|
882
1456
|
}
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
1457
|
+
createBranch({
|
1458
|
+
workspace,
|
1459
|
+
region,
|
1460
|
+
database,
|
1461
|
+
branch,
|
1462
|
+
from,
|
1463
|
+
metadata
|
1464
|
+
}) {
|
1465
|
+
return operationsByTag.branch.createBranch({
|
1466
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
1467
|
+
body: { from, metadata },
|
887
1468
|
...this.extraProps
|
888
1469
|
});
|
889
1470
|
}
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
1471
|
+
deleteBranch({
|
1472
|
+
workspace,
|
1473
|
+
region,
|
1474
|
+
database,
|
1475
|
+
branch
|
1476
|
+
}) {
|
1477
|
+
return operationsByTag.branch.deleteBranch({
|
1478
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
894
1479
|
...this.extraProps
|
895
1480
|
});
|
896
1481
|
}
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
1482
|
+
copyBranch({
|
1483
|
+
workspace,
|
1484
|
+
region,
|
1485
|
+
database,
|
1486
|
+
branch,
|
1487
|
+
destinationBranch,
|
1488
|
+
limit
|
1489
|
+
}) {
|
1490
|
+
return operationsByTag.branch.copyBranch({
|
1491
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
1492
|
+
body: { destinationBranch, limit },
|
901
1493
|
...this.extraProps
|
902
1494
|
});
|
903
1495
|
}
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
1496
|
+
updateBranchMetadata({
|
1497
|
+
workspace,
|
1498
|
+
region,
|
1499
|
+
database,
|
1500
|
+
branch,
|
1501
|
+
metadata
|
1502
|
+
}) {
|
1503
|
+
return operationsByTag.branch.updateBranchMetadata({
|
1504
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
1505
|
+
body: metadata,
|
912
1506
|
...this.extraProps
|
913
1507
|
});
|
914
1508
|
}
|
915
|
-
|
916
|
-
|
917
|
-
|
1509
|
+
getBranchMetadata({
|
1510
|
+
workspace,
|
1511
|
+
region,
|
1512
|
+
database,
|
1513
|
+
branch
|
1514
|
+
}) {
|
1515
|
+
return operationsByTag.branch.getBranchMetadata({
|
1516
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
918
1517
|
...this.extraProps
|
919
1518
|
});
|
920
1519
|
}
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
1520
|
+
getBranchStats({
|
1521
|
+
workspace,
|
1522
|
+
region,
|
1523
|
+
database,
|
1524
|
+
branch
|
1525
|
+
}) {
|
1526
|
+
return operationsByTag.branch.getBranchStats({
|
1527
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
926
1528
|
...this.extraProps
|
927
1529
|
});
|
928
1530
|
}
|
929
|
-
|
930
|
-
|
931
|
-
|
1531
|
+
getGitBranchesMapping({
|
1532
|
+
workspace,
|
1533
|
+
region,
|
1534
|
+
database
|
1535
|
+
}) {
|
1536
|
+
return operationsByTag.branch.getGitBranchesMapping({
|
1537
|
+
pathParams: { workspace, region, dbName: database },
|
932
1538
|
...this.extraProps
|
933
1539
|
});
|
934
|
-
}
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
1540
|
+
}
|
1541
|
+
addGitBranchesEntry({
|
1542
|
+
workspace,
|
1543
|
+
region,
|
1544
|
+
database,
|
1545
|
+
gitBranch,
|
1546
|
+
xataBranch
|
1547
|
+
}) {
|
1548
|
+
return operationsByTag.branch.addGitBranchesEntry({
|
1549
|
+
pathParams: { workspace, region, dbName: database },
|
1550
|
+
body: { gitBranch, xataBranch },
|
939
1551
|
...this.extraProps
|
940
1552
|
});
|
941
1553
|
}
|
942
|
-
|
943
|
-
|
944
|
-
|
1554
|
+
removeGitBranchesEntry({
|
1555
|
+
workspace,
|
1556
|
+
region,
|
1557
|
+
database,
|
1558
|
+
gitBranch
|
1559
|
+
}) {
|
1560
|
+
return operationsByTag.branch.removeGitBranchesEntry({
|
1561
|
+
pathParams: { workspace, region, dbName: database },
|
1562
|
+
queryParams: { gitBranch },
|
945
1563
|
...this.extraProps
|
946
1564
|
});
|
947
1565
|
}
|
948
|
-
|
949
|
-
|
950
|
-
|
1566
|
+
resolveBranch({
|
1567
|
+
workspace,
|
1568
|
+
region,
|
1569
|
+
database,
|
1570
|
+
gitBranch,
|
1571
|
+
fallbackBranch
|
1572
|
+
}) {
|
1573
|
+
return operationsByTag.branch.resolveBranch({
|
1574
|
+
pathParams: { workspace, region, dbName: database },
|
1575
|
+
queryParams: { gitBranch, fallbackBranch },
|
951
1576
|
...this.extraProps
|
952
1577
|
});
|
953
1578
|
}
|
@@ -956,67 +1581,134 @@ class TableApi {
|
|
956
1581
|
constructor(extraProps) {
|
957
1582
|
this.extraProps = extraProps;
|
958
1583
|
}
|
959
|
-
createTable(
|
1584
|
+
createTable({
|
1585
|
+
workspace,
|
1586
|
+
region,
|
1587
|
+
database,
|
1588
|
+
branch,
|
1589
|
+
table
|
1590
|
+
}) {
|
960
1591
|
return operationsByTag.table.createTable({
|
961
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName },
|
1592
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
962
1593
|
...this.extraProps
|
963
1594
|
});
|
964
1595
|
}
|
965
|
-
deleteTable(
|
1596
|
+
deleteTable({
|
1597
|
+
workspace,
|
1598
|
+
region,
|
1599
|
+
database,
|
1600
|
+
branch,
|
1601
|
+
table
|
1602
|
+
}) {
|
966
1603
|
return operationsByTag.table.deleteTable({
|
967
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName },
|
1604
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
968
1605
|
...this.extraProps
|
969
1606
|
});
|
970
1607
|
}
|
971
|
-
updateTable(
|
1608
|
+
updateTable({
|
1609
|
+
workspace,
|
1610
|
+
region,
|
1611
|
+
database,
|
1612
|
+
branch,
|
1613
|
+
table,
|
1614
|
+
update
|
1615
|
+
}) {
|
972
1616
|
return operationsByTag.table.updateTable({
|
973
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName },
|
974
|
-
body:
|
1617
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
1618
|
+
body: update,
|
975
1619
|
...this.extraProps
|
976
1620
|
});
|
977
1621
|
}
|
978
|
-
getTableSchema(
|
1622
|
+
getTableSchema({
|
1623
|
+
workspace,
|
1624
|
+
region,
|
1625
|
+
database,
|
1626
|
+
branch,
|
1627
|
+
table
|
1628
|
+
}) {
|
979
1629
|
return operationsByTag.table.getTableSchema({
|
980
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName },
|
1630
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
981
1631
|
...this.extraProps
|
982
1632
|
});
|
983
1633
|
}
|
984
|
-
setTableSchema(
|
1634
|
+
setTableSchema({
|
1635
|
+
workspace,
|
1636
|
+
region,
|
1637
|
+
database,
|
1638
|
+
branch,
|
1639
|
+
table,
|
1640
|
+
schema
|
1641
|
+
}) {
|
985
1642
|
return operationsByTag.table.setTableSchema({
|
986
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName },
|
987
|
-
body:
|
1643
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
1644
|
+
body: schema,
|
988
1645
|
...this.extraProps
|
989
1646
|
});
|
990
1647
|
}
|
991
|
-
getTableColumns(
|
1648
|
+
getTableColumns({
|
1649
|
+
workspace,
|
1650
|
+
region,
|
1651
|
+
database,
|
1652
|
+
branch,
|
1653
|
+
table
|
1654
|
+
}) {
|
992
1655
|
return operationsByTag.table.getTableColumns({
|
993
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName },
|
1656
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
994
1657
|
...this.extraProps
|
995
1658
|
});
|
996
1659
|
}
|
997
|
-
addTableColumn(
|
1660
|
+
addTableColumn({
|
1661
|
+
workspace,
|
1662
|
+
region,
|
1663
|
+
database,
|
1664
|
+
branch,
|
1665
|
+
table,
|
1666
|
+
column
|
1667
|
+
}) {
|
998
1668
|
return operationsByTag.table.addTableColumn({
|
999
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName },
|
1669
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
1000
1670
|
body: column,
|
1001
1671
|
...this.extraProps
|
1002
1672
|
});
|
1003
1673
|
}
|
1004
|
-
getColumn(
|
1674
|
+
getColumn({
|
1675
|
+
workspace,
|
1676
|
+
region,
|
1677
|
+
database,
|
1678
|
+
branch,
|
1679
|
+
table,
|
1680
|
+
column
|
1681
|
+
}) {
|
1005
1682
|
return operationsByTag.table.getColumn({
|
1006
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName, columnName },
|
1683
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column },
|
1007
1684
|
...this.extraProps
|
1008
1685
|
});
|
1009
1686
|
}
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1687
|
+
updateColumn({
|
1688
|
+
workspace,
|
1689
|
+
region,
|
1690
|
+
database,
|
1691
|
+
branch,
|
1692
|
+
table,
|
1693
|
+
column,
|
1694
|
+
update
|
1695
|
+
}) {
|
1696
|
+
return operationsByTag.table.updateColumn({
|
1697
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column },
|
1698
|
+
body: update,
|
1013
1699
|
...this.extraProps
|
1014
1700
|
});
|
1015
1701
|
}
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1702
|
+
deleteColumn({
|
1703
|
+
workspace,
|
1704
|
+
region,
|
1705
|
+
database,
|
1706
|
+
branch,
|
1707
|
+
table,
|
1708
|
+
column
|
1709
|
+
}) {
|
1710
|
+
return operationsByTag.table.deleteColumn({
|
1711
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column },
|
1020
1712
|
...this.extraProps
|
1021
1713
|
});
|
1022
1714
|
}
|
@@ -1025,225 +1717,740 @@ class RecordsApi {
|
|
1025
1717
|
constructor(extraProps) {
|
1026
1718
|
this.extraProps = extraProps;
|
1027
1719
|
}
|
1028
|
-
insertRecord(
|
1720
|
+
insertRecord({
|
1721
|
+
workspace,
|
1722
|
+
region,
|
1723
|
+
database,
|
1724
|
+
branch,
|
1725
|
+
table,
|
1726
|
+
record,
|
1727
|
+
columns
|
1728
|
+
}) {
|
1029
1729
|
return operationsByTag.records.insertRecord({
|
1030
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName },
|
1031
|
-
queryParams:
|
1730
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
1731
|
+
queryParams: { columns },
|
1032
1732
|
body: record,
|
1033
1733
|
...this.extraProps
|
1034
1734
|
});
|
1035
1735
|
}
|
1036
|
-
|
1736
|
+
getRecord({
|
1737
|
+
workspace,
|
1738
|
+
region,
|
1739
|
+
database,
|
1740
|
+
branch,
|
1741
|
+
table,
|
1742
|
+
id,
|
1743
|
+
columns
|
1744
|
+
}) {
|
1745
|
+
return operationsByTag.records.getRecord({
|
1746
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id },
|
1747
|
+
queryParams: { columns },
|
1748
|
+
...this.extraProps
|
1749
|
+
});
|
1750
|
+
}
|
1751
|
+
insertRecordWithID({
|
1752
|
+
workspace,
|
1753
|
+
region,
|
1754
|
+
database,
|
1755
|
+
branch,
|
1756
|
+
table,
|
1757
|
+
id,
|
1758
|
+
record,
|
1759
|
+
columns,
|
1760
|
+
createOnly,
|
1761
|
+
ifVersion
|
1762
|
+
}) {
|
1037
1763
|
return operationsByTag.records.insertRecordWithID({
|
1038
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName, recordId },
|
1039
|
-
queryParams:
|
1764
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id },
|
1765
|
+
queryParams: { columns, createOnly, ifVersion },
|
1040
1766
|
body: record,
|
1041
1767
|
...this.extraProps
|
1042
1768
|
});
|
1043
1769
|
}
|
1044
|
-
updateRecordWithID(
|
1770
|
+
updateRecordWithID({
|
1771
|
+
workspace,
|
1772
|
+
region,
|
1773
|
+
database,
|
1774
|
+
branch,
|
1775
|
+
table,
|
1776
|
+
id,
|
1777
|
+
record,
|
1778
|
+
columns,
|
1779
|
+
ifVersion
|
1780
|
+
}) {
|
1045
1781
|
return operationsByTag.records.updateRecordWithID({
|
1046
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName, recordId },
|
1047
|
-
queryParams:
|
1782
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id },
|
1783
|
+
queryParams: { columns, ifVersion },
|
1048
1784
|
body: record,
|
1049
1785
|
...this.extraProps
|
1050
1786
|
});
|
1051
1787
|
}
|
1052
|
-
upsertRecordWithID(
|
1788
|
+
upsertRecordWithID({
|
1789
|
+
workspace,
|
1790
|
+
region,
|
1791
|
+
database,
|
1792
|
+
branch,
|
1793
|
+
table,
|
1794
|
+
id,
|
1795
|
+
record,
|
1796
|
+
columns,
|
1797
|
+
ifVersion
|
1798
|
+
}) {
|
1053
1799
|
return operationsByTag.records.upsertRecordWithID({
|
1054
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName, recordId },
|
1055
|
-
queryParams:
|
1800
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id },
|
1801
|
+
queryParams: { columns, ifVersion },
|
1056
1802
|
body: record,
|
1057
1803
|
...this.extraProps
|
1058
1804
|
});
|
1059
1805
|
}
|
1060
|
-
deleteRecord(
|
1806
|
+
deleteRecord({
|
1807
|
+
workspace,
|
1808
|
+
region,
|
1809
|
+
database,
|
1810
|
+
branch,
|
1811
|
+
table,
|
1812
|
+
id,
|
1813
|
+
columns
|
1814
|
+
}) {
|
1061
1815
|
return operationsByTag.records.deleteRecord({
|
1062
|
-
pathParams: { workspace, dbBranchName: `${database}:${branch}`, tableName, recordId },
|
1063
|
-
queryParams:
|
1816
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id },
|
1817
|
+
queryParams: { columns },
|
1064
1818
|
...this.extraProps
|
1065
1819
|
});
|
1066
1820
|
}
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1821
|
+
bulkInsertTableRecords({
|
1822
|
+
workspace,
|
1823
|
+
region,
|
1824
|
+
database,
|
1825
|
+
branch,
|
1826
|
+
table,
|
1827
|
+
records,
|
1828
|
+
columns
|
1829
|
+
}) {
|
1830
|
+
return operationsByTag.records.bulkInsertTableRecords({
|
1831
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
1832
|
+
queryParams: { columns },
|
1833
|
+
body: { records },
|
1071
1834
|
...this.extraProps
|
1072
1835
|
});
|
1073
1836
|
}
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1837
|
+
branchTransaction({
|
1838
|
+
workspace,
|
1839
|
+
region,
|
1840
|
+
database,
|
1841
|
+
branch,
|
1842
|
+
operations
|
1843
|
+
}) {
|
1844
|
+
return operationsByTag.records.branchTransaction({
|
1845
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
1846
|
+
body: { operations },
|
1079
1847
|
...this.extraProps
|
1080
1848
|
});
|
1081
1849
|
}
|
1082
|
-
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1850
|
+
}
|
1851
|
+
class FilesApi {
|
1852
|
+
constructor(extraProps) {
|
1853
|
+
this.extraProps = extraProps;
|
1854
|
+
}
|
1855
|
+
getFileItem({
|
1856
|
+
workspace,
|
1857
|
+
region,
|
1858
|
+
database,
|
1859
|
+
branch,
|
1860
|
+
table,
|
1861
|
+
record,
|
1862
|
+
column,
|
1863
|
+
fileId
|
1864
|
+
}) {
|
1865
|
+
return operationsByTag.files.getFileItem({
|
1866
|
+
pathParams: {
|
1867
|
+
workspace,
|
1868
|
+
region,
|
1869
|
+
dbBranchName: `${database}:${branch}`,
|
1870
|
+
tableName: table,
|
1871
|
+
recordId: record,
|
1872
|
+
columnName: column,
|
1873
|
+
fileId
|
1874
|
+
},
|
1086
1875
|
...this.extraProps
|
1087
1876
|
});
|
1088
1877
|
}
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1878
|
+
putFileItem({
|
1879
|
+
workspace,
|
1880
|
+
region,
|
1881
|
+
database,
|
1882
|
+
branch,
|
1883
|
+
table,
|
1884
|
+
record,
|
1885
|
+
column,
|
1886
|
+
fileId,
|
1887
|
+
file
|
1888
|
+
}) {
|
1889
|
+
return operationsByTag.files.putFileItem({
|
1890
|
+
pathParams: {
|
1891
|
+
workspace,
|
1892
|
+
region,
|
1893
|
+
dbBranchName: `${database}:${branch}`,
|
1894
|
+
tableName: table,
|
1895
|
+
recordId: record,
|
1896
|
+
columnName: column,
|
1897
|
+
fileId
|
1898
|
+
},
|
1899
|
+
body: file,
|
1900
|
+
...this.extraProps
|
1901
|
+
});
|
1902
|
+
}
|
1903
|
+
deleteFileItem({
|
1904
|
+
workspace,
|
1905
|
+
region,
|
1906
|
+
database,
|
1907
|
+
branch,
|
1908
|
+
table,
|
1909
|
+
record,
|
1910
|
+
column,
|
1911
|
+
fileId
|
1912
|
+
}) {
|
1913
|
+
return operationsByTag.files.deleteFileItem({
|
1914
|
+
pathParams: {
|
1915
|
+
workspace,
|
1916
|
+
region,
|
1917
|
+
dbBranchName: `${database}:${branch}`,
|
1918
|
+
tableName: table,
|
1919
|
+
recordId: record,
|
1920
|
+
columnName: column,
|
1921
|
+
fileId
|
1922
|
+
},
|
1093
1923
|
...this.extraProps
|
1094
1924
|
});
|
1095
1925
|
}
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1926
|
+
getFile({
|
1927
|
+
workspace,
|
1928
|
+
region,
|
1929
|
+
database,
|
1930
|
+
branch,
|
1931
|
+
table,
|
1932
|
+
record,
|
1933
|
+
column
|
1934
|
+
}) {
|
1935
|
+
return operationsByTag.files.getFile({
|
1936
|
+
pathParams: {
|
1937
|
+
workspace,
|
1938
|
+
region,
|
1939
|
+
dbBranchName: `${database}:${branch}`,
|
1940
|
+
tableName: table,
|
1941
|
+
recordId: record,
|
1942
|
+
columnName: column
|
1943
|
+
},
|
1100
1944
|
...this.extraProps
|
1101
1945
|
});
|
1102
1946
|
}
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1947
|
+
putFile({
|
1948
|
+
workspace,
|
1949
|
+
region,
|
1950
|
+
database,
|
1951
|
+
branch,
|
1952
|
+
table,
|
1953
|
+
record,
|
1954
|
+
column,
|
1955
|
+
file
|
1956
|
+
}) {
|
1957
|
+
return operationsByTag.files.putFile({
|
1958
|
+
pathParams: {
|
1959
|
+
workspace,
|
1960
|
+
region,
|
1961
|
+
dbBranchName: `${database}:${branch}`,
|
1962
|
+
tableName: table,
|
1963
|
+
recordId: record,
|
1964
|
+
columnName: column
|
1965
|
+
},
|
1966
|
+
body: file,
|
1107
1967
|
...this.extraProps
|
1108
1968
|
});
|
1109
1969
|
}
|
1110
1970
|
}
|
1111
|
-
class
|
1971
|
+
class SearchAndFilterApi {
|
1112
1972
|
constructor(extraProps) {
|
1113
1973
|
this.extraProps = extraProps;
|
1114
1974
|
}
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1975
|
+
queryTable({
|
1976
|
+
workspace,
|
1977
|
+
region,
|
1978
|
+
database,
|
1979
|
+
branch,
|
1980
|
+
table,
|
1981
|
+
filter,
|
1982
|
+
sort,
|
1983
|
+
page,
|
1984
|
+
columns,
|
1985
|
+
consistency
|
1986
|
+
}) {
|
1987
|
+
return operationsByTag.searchAndFilter.queryTable({
|
1988
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
1989
|
+
body: { filter, sort, page, columns, consistency },
|
1990
|
+
...this.extraProps
|
1991
|
+
});
|
1992
|
+
}
|
1993
|
+
searchTable({
|
1994
|
+
workspace,
|
1995
|
+
region,
|
1996
|
+
database,
|
1997
|
+
branch,
|
1998
|
+
table,
|
1999
|
+
query,
|
2000
|
+
fuzziness,
|
2001
|
+
target,
|
2002
|
+
prefix,
|
2003
|
+
filter,
|
2004
|
+
highlight,
|
2005
|
+
boosters
|
2006
|
+
}) {
|
2007
|
+
return operationsByTag.searchAndFilter.searchTable({
|
2008
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
2009
|
+
body: { query, fuzziness, target, prefix, filter, highlight, boosters },
|
2010
|
+
...this.extraProps
|
2011
|
+
});
|
2012
|
+
}
|
2013
|
+
searchBranch({
|
2014
|
+
workspace,
|
2015
|
+
region,
|
2016
|
+
database,
|
2017
|
+
branch,
|
2018
|
+
tables,
|
2019
|
+
query,
|
2020
|
+
fuzziness,
|
2021
|
+
prefix,
|
2022
|
+
highlight
|
2023
|
+
}) {
|
2024
|
+
return operationsByTag.searchAndFilter.searchBranch({
|
2025
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2026
|
+
body: { tables, query, fuzziness, prefix, highlight },
|
2027
|
+
...this.extraProps
|
2028
|
+
});
|
2029
|
+
}
|
2030
|
+
vectorSearchTable({
|
2031
|
+
workspace,
|
2032
|
+
region,
|
2033
|
+
database,
|
2034
|
+
branch,
|
2035
|
+
table,
|
2036
|
+
queryVector,
|
2037
|
+
column,
|
2038
|
+
similarityFunction,
|
2039
|
+
size,
|
2040
|
+
filter
|
2041
|
+
}) {
|
2042
|
+
return operationsByTag.searchAndFilter.vectorSearchTable({
|
2043
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
2044
|
+
body: { queryVector, column, similarityFunction, size, filter },
|
2045
|
+
...this.extraProps
|
2046
|
+
});
|
2047
|
+
}
|
2048
|
+
askTable({
|
2049
|
+
workspace,
|
2050
|
+
region,
|
2051
|
+
database,
|
2052
|
+
branch,
|
2053
|
+
table,
|
2054
|
+
options
|
2055
|
+
}) {
|
2056
|
+
return operationsByTag.searchAndFilter.askTable({
|
2057
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
2058
|
+
body: { ...options },
|
2059
|
+
...this.extraProps
|
2060
|
+
});
|
2061
|
+
}
|
2062
|
+
summarizeTable({
|
2063
|
+
workspace,
|
2064
|
+
region,
|
2065
|
+
database,
|
2066
|
+
branch,
|
2067
|
+
table,
|
2068
|
+
filter,
|
2069
|
+
columns,
|
2070
|
+
summaries,
|
2071
|
+
sort,
|
2072
|
+
summariesFilter,
|
2073
|
+
page,
|
2074
|
+
consistency
|
2075
|
+
}) {
|
2076
|
+
return operationsByTag.searchAndFilter.summarizeTable({
|
2077
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
2078
|
+
body: { filter, columns, summaries, sort, summariesFilter, page, consistency },
|
2079
|
+
...this.extraProps
|
2080
|
+
});
|
2081
|
+
}
|
2082
|
+
aggregateTable({
|
2083
|
+
workspace,
|
2084
|
+
region,
|
2085
|
+
database,
|
2086
|
+
branch,
|
2087
|
+
table,
|
2088
|
+
filter,
|
2089
|
+
aggs
|
2090
|
+
}) {
|
2091
|
+
return operationsByTag.searchAndFilter.aggregateTable({
|
2092
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table },
|
2093
|
+
body: { filter, aggs },
|
1119
2094
|
...this.extraProps
|
1120
2095
|
});
|
1121
2096
|
}
|
1122
|
-
|
2097
|
+
}
|
2098
|
+
class MigrationRequestsApi {
|
2099
|
+
constructor(extraProps) {
|
2100
|
+
this.extraProps = extraProps;
|
2101
|
+
}
|
2102
|
+
queryMigrationRequests({
|
2103
|
+
workspace,
|
2104
|
+
region,
|
2105
|
+
database,
|
2106
|
+
filter,
|
2107
|
+
sort,
|
2108
|
+
page,
|
2109
|
+
columns
|
2110
|
+
}) {
|
2111
|
+
return operationsByTag.migrationRequests.queryMigrationRequests({
|
2112
|
+
pathParams: { workspace, region, dbName: database },
|
2113
|
+
body: { filter, sort, page, columns },
|
2114
|
+
...this.extraProps
|
2115
|
+
});
|
2116
|
+
}
|
2117
|
+
createMigrationRequest({
|
2118
|
+
workspace,
|
2119
|
+
region,
|
2120
|
+
database,
|
2121
|
+
migration
|
2122
|
+
}) {
|
1123
2123
|
return operationsByTag.migrationRequests.createMigrationRequest({
|
1124
|
-
pathParams: { workspace, dbName: database },
|
1125
|
-
body:
|
2124
|
+
pathParams: { workspace, region, dbName: database },
|
2125
|
+
body: migration,
|
1126
2126
|
...this.extraProps
|
1127
2127
|
});
|
1128
2128
|
}
|
1129
|
-
getMigrationRequest(
|
2129
|
+
getMigrationRequest({
|
2130
|
+
workspace,
|
2131
|
+
region,
|
2132
|
+
database,
|
2133
|
+
migrationRequest
|
2134
|
+
}) {
|
1130
2135
|
return operationsByTag.migrationRequests.getMigrationRequest({
|
1131
|
-
pathParams: { workspace, dbName: database, mrNumber: migrationRequest },
|
2136
|
+
pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest },
|
1132
2137
|
...this.extraProps
|
1133
2138
|
});
|
1134
2139
|
}
|
1135
|
-
updateMigrationRequest(
|
2140
|
+
updateMigrationRequest({
|
2141
|
+
workspace,
|
2142
|
+
region,
|
2143
|
+
database,
|
2144
|
+
migrationRequest,
|
2145
|
+
update
|
2146
|
+
}) {
|
1136
2147
|
return operationsByTag.migrationRequests.updateMigrationRequest({
|
1137
|
-
pathParams: { workspace, dbName: database, mrNumber: migrationRequest },
|
1138
|
-
body:
|
2148
|
+
pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest },
|
2149
|
+
body: update,
|
1139
2150
|
...this.extraProps
|
1140
2151
|
});
|
1141
2152
|
}
|
1142
|
-
listMigrationRequestsCommits(
|
2153
|
+
listMigrationRequestsCommits({
|
2154
|
+
workspace,
|
2155
|
+
region,
|
2156
|
+
database,
|
2157
|
+
migrationRequest,
|
2158
|
+
page
|
2159
|
+
}) {
|
1143
2160
|
return operationsByTag.migrationRequests.listMigrationRequestsCommits({
|
1144
|
-
pathParams: { workspace, dbName: database, mrNumber: migrationRequest },
|
1145
|
-
body:
|
2161
|
+
pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest },
|
2162
|
+
body: { page },
|
1146
2163
|
...this.extraProps
|
1147
2164
|
});
|
1148
2165
|
}
|
1149
|
-
compareMigrationRequest(
|
2166
|
+
compareMigrationRequest({
|
2167
|
+
workspace,
|
2168
|
+
region,
|
2169
|
+
database,
|
2170
|
+
migrationRequest
|
2171
|
+
}) {
|
1150
2172
|
return operationsByTag.migrationRequests.compareMigrationRequest({
|
1151
|
-
pathParams: { workspace, dbName: database, mrNumber: migrationRequest },
|
2173
|
+
pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest },
|
1152
2174
|
...this.extraProps
|
1153
2175
|
});
|
1154
2176
|
}
|
1155
|
-
getMigrationRequestIsMerged(
|
2177
|
+
getMigrationRequestIsMerged({
|
2178
|
+
workspace,
|
2179
|
+
region,
|
2180
|
+
database,
|
2181
|
+
migrationRequest
|
2182
|
+
}) {
|
1156
2183
|
return operationsByTag.migrationRequests.getMigrationRequestIsMerged({
|
1157
|
-
pathParams: { workspace, dbName: database, mrNumber: migrationRequest },
|
2184
|
+
pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest },
|
1158
2185
|
...this.extraProps
|
1159
2186
|
});
|
1160
2187
|
}
|
1161
|
-
mergeMigrationRequest(
|
2188
|
+
mergeMigrationRequest({
|
2189
|
+
workspace,
|
2190
|
+
region,
|
2191
|
+
database,
|
2192
|
+
migrationRequest
|
2193
|
+
}) {
|
1162
2194
|
return operationsByTag.migrationRequests.mergeMigrationRequest({
|
1163
|
-
pathParams: { workspace, dbName: database, mrNumber: migrationRequest },
|
2195
|
+
pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest },
|
1164
2196
|
...this.extraProps
|
1165
2197
|
});
|
1166
2198
|
}
|
1167
2199
|
}
|
1168
|
-
class
|
2200
|
+
class MigrationsApi {
|
1169
2201
|
constructor(extraProps) {
|
1170
2202
|
this.extraProps = extraProps;
|
1171
2203
|
}
|
1172
|
-
getBranchMigrationHistory(
|
1173
|
-
|
1174
|
-
|
1175
|
-
|
2204
|
+
getBranchMigrationHistory({
|
2205
|
+
workspace,
|
2206
|
+
region,
|
2207
|
+
database,
|
2208
|
+
branch,
|
2209
|
+
limit,
|
2210
|
+
startFrom
|
2211
|
+
}) {
|
2212
|
+
return operationsByTag.migrations.getBranchMigrationHistory({
|
2213
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2214
|
+
body: { limit, startFrom },
|
2215
|
+
...this.extraProps
|
2216
|
+
});
|
2217
|
+
}
|
2218
|
+
getBranchMigrationPlan({
|
2219
|
+
workspace,
|
2220
|
+
region,
|
2221
|
+
database,
|
2222
|
+
branch,
|
2223
|
+
schema
|
2224
|
+
}) {
|
2225
|
+
return operationsByTag.migrations.getBranchMigrationPlan({
|
2226
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2227
|
+
body: schema,
|
1176
2228
|
...this.extraProps
|
1177
2229
|
});
|
1178
2230
|
}
|
1179
|
-
executeBranchMigrationPlan(
|
1180
|
-
|
1181
|
-
|
1182
|
-
|
2231
|
+
executeBranchMigrationPlan({
|
2232
|
+
workspace,
|
2233
|
+
region,
|
2234
|
+
database,
|
2235
|
+
branch,
|
2236
|
+
plan
|
2237
|
+
}) {
|
2238
|
+
return operationsByTag.migrations.executeBranchMigrationPlan({
|
2239
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2240
|
+
body: plan,
|
2241
|
+
...this.extraProps
|
2242
|
+
});
|
2243
|
+
}
|
2244
|
+
getBranchSchemaHistory({
|
2245
|
+
workspace,
|
2246
|
+
region,
|
2247
|
+
database,
|
2248
|
+
branch,
|
2249
|
+
page
|
2250
|
+
}) {
|
2251
|
+
return operationsByTag.migrations.getBranchSchemaHistory({
|
2252
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2253
|
+
body: { page },
|
2254
|
+
...this.extraProps
|
2255
|
+
});
|
2256
|
+
}
|
2257
|
+
compareBranchWithUserSchema({
|
2258
|
+
workspace,
|
2259
|
+
region,
|
2260
|
+
database,
|
2261
|
+
branch,
|
2262
|
+
schema,
|
2263
|
+
schemaOperations,
|
2264
|
+
branchOperations
|
2265
|
+
}) {
|
2266
|
+
return operationsByTag.migrations.compareBranchWithUserSchema({
|
2267
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2268
|
+
body: { schema, schemaOperations, branchOperations },
|
2269
|
+
...this.extraProps
|
2270
|
+
});
|
2271
|
+
}
|
2272
|
+
compareBranchSchemas({
|
2273
|
+
workspace,
|
2274
|
+
region,
|
2275
|
+
database,
|
2276
|
+
branch,
|
2277
|
+
compare,
|
2278
|
+
sourceBranchOperations,
|
2279
|
+
targetBranchOperations
|
2280
|
+
}) {
|
2281
|
+
return operationsByTag.migrations.compareBranchSchemas({
|
2282
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare },
|
2283
|
+
body: { sourceBranchOperations, targetBranchOperations },
|
2284
|
+
...this.extraProps
|
2285
|
+
});
|
2286
|
+
}
|
2287
|
+
updateBranchSchema({
|
2288
|
+
workspace,
|
2289
|
+
region,
|
2290
|
+
database,
|
2291
|
+
branch,
|
2292
|
+
migration
|
2293
|
+
}) {
|
2294
|
+
return operationsByTag.migrations.updateBranchSchema({
|
2295
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2296
|
+
body: migration,
|
1183
2297
|
...this.extraProps
|
1184
2298
|
});
|
1185
2299
|
}
|
1186
|
-
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
2300
|
+
previewBranchSchemaEdit({
|
2301
|
+
workspace,
|
2302
|
+
region,
|
2303
|
+
database,
|
2304
|
+
branch,
|
2305
|
+
data
|
2306
|
+
}) {
|
2307
|
+
return operationsByTag.migrations.previewBranchSchemaEdit({
|
2308
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2309
|
+
body: data,
|
1190
2310
|
...this.extraProps
|
1191
2311
|
});
|
1192
2312
|
}
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
2313
|
+
applyBranchSchemaEdit({
|
2314
|
+
workspace,
|
2315
|
+
region,
|
2316
|
+
database,
|
2317
|
+
branch,
|
2318
|
+
edits
|
2319
|
+
}) {
|
2320
|
+
return operationsByTag.migrations.applyBranchSchemaEdit({
|
2321
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2322
|
+
body: { edits },
|
1197
2323
|
...this.extraProps
|
1198
2324
|
});
|
1199
2325
|
}
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
2326
|
+
pushBranchMigrations({
|
2327
|
+
workspace,
|
2328
|
+
region,
|
2329
|
+
database,
|
2330
|
+
branch,
|
2331
|
+
migrations
|
2332
|
+
}) {
|
2333
|
+
return operationsByTag.migrations.pushBranchMigrations({
|
2334
|
+
pathParams: { workspace, region, dbBranchName: `${database}:${branch}` },
|
2335
|
+
body: { migrations },
|
1204
2336
|
...this.extraProps
|
1205
2337
|
});
|
1206
2338
|
}
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
2339
|
+
}
|
2340
|
+
class DatabaseApi {
|
2341
|
+
constructor(extraProps) {
|
2342
|
+
this.extraProps = extraProps;
|
2343
|
+
}
|
2344
|
+
getDatabaseList({ workspace }) {
|
2345
|
+
return operationsByTag.databases.getDatabaseList({
|
2346
|
+
pathParams: { workspaceId: workspace },
|
1211
2347
|
...this.extraProps
|
1212
2348
|
});
|
1213
2349
|
}
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
|
2350
|
+
createDatabase({
|
2351
|
+
workspace,
|
2352
|
+
database,
|
2353
|
+
data
|
2354
|
+
}) {
|
2355
|
+
return operationsByTag.databases.createDatabase({
|
2356
|
+
pathParams: { workspaceId: workspace, dbName: database },
|
2357
|
+
body: data,
|
1218
2358
|
...this.extraProps
|
1219
2359
|
});
|
1220
2360
|
}
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
2361
|
+
deleteDatabase({
|
2362
|
+
workspace,
|
2363
|
+
database
|
2364
|
+
}) {
|
2365
|
+
return operationsByTag.databases.deleteDatabase({
|
2366
|
+
pathParams: { workspaceId: workspace, dbName: database },
|
2367
|
+
...this.extraProps
|
2368
|
+
});
|
2369
|
+
}
|
2370
|
+
getDatabaseMetadata({
|
2371
|
+
workspace,
|
2372
|
+
database
|
2373
|
+
}) {
|
2374
|
+
return operationsByTag.databases.getDatabaseMetadata({
|
2375
|
+
pathParams: { workspaceId: workspace, dbName: database },
|
2376
|
+
...this.extraProps
|
2377
|
+
});
|
2378
|
+
}
|
2379
|
+
updateDatabaseMetadata({
|
2380
|
+
workspace,
|
2381
|
+
database,
|
2382
|
+
metadata
|
2383
|
+
}) {
|
2384
|
+
return operationsByTag.databases.updateDatabaseMetadata({
|
2385
|
+
pathParams: { workspaceId: workspace, dbName: database },
|
2386
|
+
body: metadata,
|
2387
|
+
...this.extraProps
|
2388
|
+
});
|
2389
|
+
}
|
2390
|
+
renameDatabase({
|
2391
|
+
workspace,
|
2392
|
+
database,
|
2393
|
+
newName
|
2394
|
+
}) {
|
2395
|
+
return operationsByTag.databases.renameDatabase({
|
2396
|
+
pathParams: { workspaceId: workspace, dbName: database },
|
2397
|
+
body: { newName },
|
2398
|
+
...this.extraProps
|
2399
|
+
});
|
2400
|
+
}
|
2401
|
+
getDatabaseGithubSettings({
|
2402
|
+
workspace,
|
2403
|
+
database
|
2404
|
+
}) {
|
2405
|
+
return operationsByTag.databases.getDatabaseGithubSettings({
|
2406
|
+
pathParams: { workspaceId: workspace, dbName: database },
|
1225
2407
|
...this.extraProps
|
1226
2408
|
});
|
1227
2409
|
}
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
|
2410
|
+
updateDatabaseGithubSettings({
|
2411
|
+
workspace,
|
2412
|
+
database,
|
2413
|
+
settings
|
2414
|
+
}) {
|
2415
|
+
return operationsByTag.databases.updateDatabaseGithubSettings({
|
2416
|
+
pathParams: { workspaceId: workspace, dbName: database },
|
2417
|
+
body: settings,
|
2418
|
+
...this.extraProps
|
2419
|
+
});
|
2420
|
+
}
|
2421
|
+
deleteDatabaseGithubSettings({
|
2422
|
+
workspace,
|
2423
|
+
database
|
2424
|
+
}) {
|
2425
|
+
return operationsByTag.databases.deleteDatabaseGithubSettings({
|
2426
|
+
pathParams: { workspaceId: workspace, dbName: database },
|
2427
|
+
...this.extraProps
|
2428
|
+
});
|
2429
|
+
}
|
2430
|
+
listRegions({ workspace }) {
|
2431
|
+
return operationsByTag.databases.listRegions({
|
2432
|
+
pathParams: { workspaceId: workspace },
|
1232
2433
|
...this.extraProps
|
1233
2434
|
});
|
1234
2435
|
}
|
1235
2436
|
}
|
1236
2437
|
|
1237
2438
|
class XataApiPlugin {
|
1238
|
-
|
1239
|
-
|
1240
|
-
return new XataApiClient({ fetch: fetchImpl, apiKey });
|
2439
|
+
build(options) {
|
2440
|
+
return new XataApiClient(options);
|
1241
2441
|
}
|
1242
2442
|
}
|
1243
2443
|
|
1244
2444
|
class XataPlugin {
|
1245
2445
|
}
|
1246
2446
|
|
2447
|
+
function cleanFilter(filter) {
|
2448
|
+
if (!filter)
|
2449
|
+
return void 0;
|
2450
|
+
const values = Object.values(filter).filter(Boolean).filter((value) => Array.isArray(value) ? value.length > 0 : true);
|
2451
|
+
return values.length > 0 ? filter : void 0;
|
2452
|
+
}
|
2453
|
+
|
1247
2454
|
var __accessCheck$6 = (obj, member, msg) => {
|
1248
2455
|
if (!member.has(obj))
|
1249
2456
|
throw TypeError("Cannot " + msg);
|
@@ -1276,11 +2483,11 @@ class Page {
|
|
1276
2483
|
async previousPage(size, offset) {
|
1277
2484
|
return __privateGet$6(this, _query).getPaginated({ pagination: { size, offset, before: this.meta.page.cursor } });
|
1278
2485
|
}
|
1279
|
-
async
|
1280
|
-
return __privateGet$6(this, _query).getPaginated({ pagination: { size, offset,
|
2486
|
+
async startPage(size, offset) {
|
2487
|
+
return __privateGet$6(this, _query).getPaginated({ pagination: { size, offset, start: this.meta.page.cursor } });
|
1281
2488
|
}
|
1282
|
-
async
|
1283
|
-
return __privateGet$6(this, _query).getPaginated({ pagination: { size, offset,
|
2489
|
+
async endPage(size, offset) {
|
2490
|
+
return __privateGet$6(this, _query).getPaginated({ pagination: { size, offset, end: this.meta.page.cursor } });
|
1284
2491
|
}
|
1285
2492
|
hasNextPage() {
|
1286
2493
|
return this.meta.page.more;
|
@@ -1292,7 +2499,7 @@ const PAGINATION_DEFAULT_SIZE = 20;
|
|
1292
2499
|
const PAGINATION_MAX_OFFSET = 800;
|
1293
2500
|
const PAGINATION_DEFAULT_OFFSET = 0;
|
1294
2501
|
function isCursorPaginationOptions(options) {
|
1295
|
-
return isDefined(options) && (isDefined(options.
|
2502
|
+
return isDefined(options) && (isDefined(options.start) || isDefined(options.end) || isDefined(options.after) || isDefined(options.before));
|
1296
2503
|
}
|
1297
2504
|
const _RecordArray = class extends Array {
|
1298
2505
|
constructor(...args) {
|
@@ -1313,6 +2520,12 @@ const _RecordArray = class extends Array {
|
|
1313
2520
|
toArray() {
|
1314
2521
|
return new Array(...this);
|
1315
2522
|
}
|
2523
|
+
toSerializable() {
|
2524
|
+
return JSON.parse(this.toString());
|
2525
|
+
}
|
2526
|
+
toString() {
|
2527
|
+
return JSON.stringify(this.toArray());
|
2528
|
+
}
|
1316
2529
|
map(callbackfn, thisArg) {
|
1317
2530
|
return this.toArray().map(callbackfn, thisArg);
|
1318
2531
|
}
|
@@ -1324,12 +2537,12 @@ const _RecordArray = class extends Array {
|
|
1324
2537
|
const newPage = await __privateGet$6(this, _page).previousPage(size, offset);
|
1325
2538
|
return new _RecordArray(newPage);
|
1326
2539
|
}
|
1327
|
-
async
|
1328
|
-
const newPage = await __privateGet$6(this, _page).
|
2540
|
+
async startPage(size, offset) {
|
2541
|
+
const newPage = await __privateGet$6(this, _page).startPage(size, offset);
|
1329
2542
|
return new _RecordArray(newPage);
|
1330
2543
|
}
|
1331
|
-
async
|
1332
|
-
const newPage = await __privateGet$6(this, _page).
|
2544
|
+
async endPage(size, offset) {
|
2545
|
+
const newPage = await __privateGet$6(this, _page).endPage(size, offset);
|
1333
2546
|
return new _RecordArray(newPage);
|
1334
2547
|
}
|
1335
2548
|
hasNextPage() {
|
@@ -1357,9 +2570,14 @@ var __privateSet$5 = (obj, member, value, setter) => {
|
|
1357
2570
|
setter ? setter.call(obj, value) : member.set(obj, value);
|
1358
2571
|
return value;
|
1359
2572
|
};
|
1360
|
-
var
|
2573
|
+
var __privateMethod$3 = (obj, member, method) => {
|
2574
|
+
__accessCheck$5(obj, member, "access private method");
|
2575
|
+
return method;
|
2576
|
+
};
|
2577
|
+
var _table$1, _repository, _data, _cleanFilterConstraint, cleanFilterConstraint_fn;
|
1361
2578
|
const _Query = class {
|
1362
2579
|
constructor(repository, table, data, rawParent) {
|
2580
|
+
__privateAdd$5(this, _cleanFilterConstraint);
|
1363
2581
|
__privateAdd$5(this, _table$1, void 0);
|
1364
2582
|
__privateAdd$5(this, _repository, void 0);
|
1365
2583
|
__privateAdd$5(this, _data, { filter: {} });
|
@@ -1378,9 +2596,11 @@ const _Query = class {
|
|
1378
2596
|
__privateGet$5(this, _data).filter.$not = data.filter?.$not ?? parent?.filter?.$not;
|
1379
2597
|
__privateGet$5(this, _data).filter.$none = data.filter?.$none ?? parent?.filter?.$none;
|
1380
2598
|
__privateGet$5(this, _data).sort = data.sort ?? parent?.sort;
|
1381
|
-
__privateGet$5(this, _data).columns = data.columns ?? parent?.columns
|
2599
|
+
__privateGet$5(this, _data).columns = data.columns ?? parent?.columns;
|
2600
|
+
__privateGet$5(this, _data).consistency = data.consistency ?? parent?.consistency;
|
1382
2601
|
__privateGet$5(this, _data).pagination = data.pagination ?? parent?.pagination;
|
1383
2602
|
__privateGet$5(this, _data).cache = data.cache ?? parent?.cache;
|
2603
|
+
__privateGet$5(this, _data).fetchOptions = data.fetchOptions ?? parent?.fetchOptions;
|
1384
2604
|
this.any = this.any.bind(this);
|
1385
2605
|
this.all = this.all.bind(this);
|
1386
2606
|
this.not = this.not.bind(this);
|
@@ -1416,22 +2636,17 @@ const _Query = class {
|
|
1416
2636
|
}
|
1417
2637
|
filter(a, b) {
|
1418
2638
|
if (arguments.length === 1) {
|
1419
|
-
const constraints = Object.entries(a ?? {}).map(([column, constraint]) => ({
|
2639
|
+
const constraints = Object.entries(a ?? {}).map(([column, constraint]) => ({
|
2640
|
+
[column]: __privateMethod$3(this, _cleanFilterConstraint, cleanFilterConstraint_fn).call(this, column, constraint)
|
2641
|
+
}));
|
1420
2642
|
const $all = compact([__privateGet$5(this, _data).filter?.$all].flat().concat(constraints));
|
1421
2643
|
return new _Query(__privateGet$5(this, _repository), __privateGet$5(this, _table$1), { filter: { $all } }, __privateGet$5(this, _data));
|
1422
2644
|
} else {
|
1423
|
-
const constraints = isDefined(a) && isDefined(b) ? [{ [a]: this.
|
2645
|
+
const constraints = isDefined(a) && isDefined(b) ? [{ [a]: __privateMethod$3(this, _cleanFilterConstraint, cleanFilterConstraint_fn).call(this, a, b) }] : void 0;
|
1424
2646
|
const $all = compact([__privateGet$5(this, _data).filter?.$all].flat().concat(constraints));
|
1425
2647
|
return new _Query(__privateGet$5(this, _repository), __privateGet$5(this, _table$1), { filter: { $all } }, __privateGet$5(this, _data));
|
1426
2648
|
}
|
1427
2649
|
}
|
1428
|
-
defaultFilter(column, value) {
|
1429
|
-
const columnType = __privateGet$5(this, _table$1).schema?.columns.find(({ name }) => name === column)?.type;
|
1430
|
-
if (columnType === "multiple" && (isString(value) || isStringArray(value))) {
|
1431
|
-
return { $includes: value };
|
1432
|
-
}
|
1433
|
-
return value;
|
1434
|
-
}
|
1435
2650
|
sort(column, direction = "asc") {
|
1436
2651
|
const originalSort = [__privateGet$5(this, _data).sort ?? []].flat();
|
1437
2652
|
const sort = [...originalSort, { column, direction }];
|
@@ -1499,19 +2714,29 @@ const _Query = class {
|
|
1499
2714
|
throw new Error("No results found.");
|
1500
2715
|
return records[0];
|
1501
2716
|
}
|
2717
|
+
async summarize(params = {}) {
|
2718
|
+
const { summaries, summariesFilter, ...options } = params;
|
2719
|
+
const query = new _Query(
|
2720
|
+
__privateGet$5(this, _repository),
|
2721
|
+
__privateGet$5(this, _table$1),
|
2722
|
+
options,
|
2723
|
+
__privateGet$5(this, _data)
|
2724
|
+
);
|
2725
|
+
return __privateGet$5(this, _repository).summarizeTable(query, summaries, summariesFilter);
|
2726
|
+
}
|
1502
2727
|
cache(ttl) {
|
1503
2728
|
return new _Query(__privateGet$5(this, _repository), __privateGet$5(this, _table$1), { cache: ttl }, __privateGet$5(this, _data));
|
1504
2729
|
}
|
1505
2730
|
nextPage(size, offset) {
|
1506
|
-
return this.
|
2731
|
+
return this.startPage(size, offset);
|
1507
2732
|
}
|
1508
2733
|
previousPage(size, offset) {
|
1509
|
-
return this.
|
2734
|
+
return this.startPage(size, offset);
|
1510
2735
|
}
|
1511
|
-
|
2736
|
+
startPage(size, offset) {
|
1512
2737
|
return this.getPaginated({ pagination: { size, offset } });
|
1513
2738
|
}
|
1514
|
-
|
2739
|
+
endPage(size, offset) {
|
1515
2740
|
return this.getPaginated({ pagination: { size, offset, before: "end" } });
|
1516
2741
|
}
|
1517
2742
|
hasNextPage() {
|
@@ -1522,9 +2747,20 @@ let Query = _Query;
|
|
1522
2747
|
_table$1 = new WeakMap();
|
1523
2748
|
_repository = new WeakMap();
|
1524
2749
|
_data = new WeakMap();
|
2750
|
+
_cleanFilterConstraint = new WeakSet();
|
2751
|
+
cleanFilterConstraint_fn = function(column, value) {
|
2752
|
+
const columnType = __privateGet$5(this, _table$1).schema?.columns.find(({ name }) => name === column)?.type;
|
2753
|
+
if (columnType === "multiple" && (isString(value) || isStringArray(value))) {
|
2754
|
+
return { $includes: value };
|
2755
|
+
}
|
2756
|
+
if (columnType === "link" && isObject(value) && isString(value.id)) {
|
2757
|
+
return value.id;
|
2758
|
+
}
|
2759
|
+
return value;
|
2760
|
+
};
|
1525
2761
|
function cleanParent(data, parent) {
|
1526
2762
|
if (isCursorPaginationOptions(data.pagination)) {
|
1527
|
-
return { ...parent,
|
2763
|
+
return { ...parent, sort: void 0, filter: void 0 };
|
1528
2764
|
}
|
1529
2765
|
return parent;
|
1530
2766
|
}
|
@@ -1542,7 +2778,11 @@ function isSortFilterString(value) {
|
|
1542
2778
|
return isString(value);
|
1543
2779
|
}
|
1544
2780
|
function isSortFilterBase(filter) {
|
1545
|
-
return isObject(filter) && Object.
|
2781
|
+
return isObject(filter) && Object.entries(filter).every(([key, value]) => {
|
2782
|
+
if (key === "*")
|
2783
|
+
return value === "random";
|
2784
|
+
return value === "asc" || value === "desc";
|
2785
|
+
});
|
1546
2786
|
}
|
1547
2787
|
function isSortFilterObject(filter) {
|
1548
2788
|
return isObject(filter) && !isSortFilterBase(filter) && filter.column !== void 0;
|
@@ -1583,7 +2823,8 @@ var __privateMethod$2 = (obj, member, method) => {
|
|
1583
2823
|
__accessCheck$4(obj, member, "access private method");
|
1584
2824
|
return method;
|
1585
2825
|
};
|
1586
|
-
var _table, _getFetchProps, _db, _cache, _schemaTables$2, _trace, _insertRecordWithoutId, insertRecordWithoutId_fn, _insertRecordWithId, insertRecordWithId_fn,
|
2826
|
+
var _table, _getFetchProps, _db, _cache, _schemaTables$2, _trace, _insertRecordWithoutId, insertRecordWithoutId_fn, _insertRecordWithId, insertRecordWithId_fn, _insertRecords, insertRecords_fn, _updateRecordWithID, updateRecordWithID_fn, _updateRecords, updateRecords_fn, _upsertRecordWithID, upsertRecordWithID_fn, _deleteRecord, deleteRecord_fn, _deleteRecords, deleteRecords_fn, _setCacheQuery, setCacheQuery_fn, _getCacheQuery, getCacheQuery_fn, _getSchemaTables$1, getSchemaTables_fn$1;
|
2827
|
+
const BULK_OPERATION_MAX_SIZE = 1e3;
|
1587
2828
|
class Repository extends Query {
|
1588
2829
|
}
|
1589
2830
|
class RestRepository extends Query {
|
@@ -1595,10 +2836,12 @@ class RestRepository extends Query {
|
|
1595
2836
|
);
|
1596
2837
|
__privateAdd$4(this, _insertRecordWithoutId);
|
1597
2838
|
__privateAdd$4(this, _insertRecordWithId);
|
1598
|
-
__privateAdd$4(this,
|
2839
|
+
__privateAdd$4(this, _insertRecords);
|
1599
2840
|
__privateAdd$4(this, _updateRecordWithID);
|
2841
|
+
__privateAdd$4(this, _updateRecords);
|
1600
2842
|
__privateAdd$4(this, _upsertRecordWithID);
|
1601
2843
|
__privateAdd$4(this, _deleteRecord);
|
2844
|
+
__privateAdd$4(this, _deleteRecords);
|
1602
2845
|
__privateAdd$4(this, _setCacheQuery);
|
1603
2846
|
__privateAdd$4(this, _getCacheQuery);
|
1604
2847
|
__privateAdd$4(this, _getSchemaTables$1);
|
@@ -1609,10 +2852,10 @@ class RestRepository extends Query {
|
|
1609
2852
|
__privateAdd$4(this, _schemaTables$2, void 0);
|
1610
2853
|
__privateAdd$4(this, _trace, void 0);
|
1611
2854
|
__privateSet$4(this, _table, options.table);
|
1612
|
-
__privateSet$4(this, _getFetchProps, options.pluginOptions.getFetchProps);
|
1613
2855
|
__privateSet$4(this, _db, options.db);
|
1614
2856
|
__privateSet$4(this, _cache, options.pluginOptions.cache);
|
1615
2857
|
__privateSet$4(this, _schemaTables$2, options.schemaTables);
|
2858
|
+
__privateSet$4(this, _getFetchProps, () => ({ ...options.pluginOptions, sessionID: generateUUID() }));
|
1616
2859
|
const trace = options.pluginOptions.trace ?? defaultTrace;
|
1617
2860
|
__privateSet$4(this, _trace, async (name, fn, options2 = {}) => {
|
1618
2861
|
return trace(name, fn, {
|
@@ -1623,25 +2866,28 @@ class RestRepository extends Query {
|
|
1623
2866
|
});
|
1624
2867
|
});
|
1625
2868
|
}
|
1626
|
-
async create(a, b, c) {
|
2869
|
+
async create(a, b, c, d) {
|
1627
2870
|
return __privateGet$4(this, _trace).call(this, "create", async () => {
|
2871
|
+
const ifVersion = parseIfVersion(b, c, d);
|
1628
2872
|
if (Array.isArray(a)) {
|
1629
2873
|
if (a.length === 0)
|
1630
2874
|
return [];
|
1631
|
-
const
|
1632
|
-
|
2875
|
+
const ids = await __privateMethod$2(this, _insertRecords, insertRecords_fn).call(this, a, { ifVersion, createOnly: true });
|
2876
|
+
const columns = isStringArray(b) ? b : ["*"];
|
2877
|
+
const result = await this.read(ids, columns);
|
2878
|
+
return result;
|
1633
2879
|
}
|
1634
2880
|
if (isString(a) && isObject(b)) {
|
1635
2881
|
if (a === "")
|
1636
2882
|
throw new Error("The id can't be empty");
|
1637
2883
|
const columns = isStringArray(c) ? c : void 0;
|
1638
|
-
return __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a, b, columns);
|
2884
|
+
return await __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a, b, columns, { createOnly: true, ifVersion });
|
1639
2885
|
}
|
1640
2886
|
if (isObject(a) && isString(a.id)) {
|
1641
2887
|
if (a.id === "")
|
1642
2888
|
throw new Error("The id can't be empty");
|
1643
2889
|
const columns = isStringArray(b) ? b : void 0;
|
1644
|
-
return __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a.id, { ...a, id: void 0 }, columns);
|
2890
|
+
return await __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a.id, { ...a, id: void 0 }, columns, { createOnly: true, ifVersion });
|
1645
2891
|
}
|
1646
2892
|
if (isObject(a)) {
|
1647
2893
|
const columns = isStringArray(b) ? b : void 0;
|
@@ -1666,20 +2912,20 @@ class RestRepository extends Query {
|
|
1666
2912
|
}
|
1667
2913
|
const id = extractId(a);
|
1668
2914
|
if (id) {
|
1669
|
-
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
1670
2915
|
try {
|
1671
2916
|
const response = await getRecord({
|
1672
2917
|
pathParams: {
|
1673
2918
|
workspace: "{workspaceId}",
|
1674
2919
|
dbBranchName: "{dbBranch}",
|
2920
|
+
region: "{region}",
|
1675
2921
|
tableName: __privateGet$4(this, _table),
|
1676
2922
|
recordId: id
|
1677
2923
|
},
|
1678
2924
|
queryParams: { columns },
|
1679
|
-
...
|
2925
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1680
2926
|
});
|
1681
2927
|
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1682
|
-
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response);
|
2928
|
+
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response, columns);
|
1683
2929
|
} catch (e) {
|
1684
2930
|
if (isObject(e) && e.status === 404) {
|
1685
2931
|
return null;
|
@@ -1709,31 +2955,42 @@ class RestRepository extends Query {
|
|
1709
2955
|
return result;
|
1710
2956
|
});
|
1711
2957
|
}
|
1712
|
-
async update(a, b, c) {
|
2958
|
+
async update(a, b, c, d) {
|
1713
2959
|
return __privateGet$4(this, _trace).call(this, "update", async () => {
|
2960
|
+
const ifVersion = parseIfVersion(b, c, d);
|
1714
2961
|
if (Array.isArray(a)) {
|
1715
2962
|
if (a.length === 0)
|
1716
2963
|
return [];
|
1717
|
-
|
1718
|
-
|
1719
|
-
|
2964
|
+
const existing = await this.read(a, ["id"]);
|
2965
|
+
const updates = a.filter((_item, index) => existing[index] !== null);
|
2966
|
+
await __privateMethod$2(this, _updateRecords, updateRecords_fn).call(this, updates, {
|
2967
|
+
ifVersion,
|
2968
|
+
upsert: false
|
2969
|
+
});
|
1720
2970
|
const columns = isStringArray(b) ? b : ["*"];
|
1721
|
-
|
1722
|
-
|
1723
|
-
if (isString(a) && isObject(b)) {
|
1724
|
-
const columns = isStringArray(c) ? c : void 0;
|
1725
|
-
return __privateMethod$2(this, _updateRecordWithID, updateRecordWithID_fn).call(this, a, b, columns);
|
2971
|
+
const result = await this.read(a, columns);
|
2972
|
+
return result;
|
1726
2973
|
}
|
1727
|
-
|
1728
|
-
|
1729
|
-
|
2974
|
+
try {
|
2975
|
+
if (isString(a) && isObject(b)) {
|
2976
|
+
const columns = isStringArray(c) ? c : void 0;
|
2977
|
+
return await __privateMethod$2(this, _updateRecordWithID, updateRecordWithID_fn).call(this, a, b, columns, { ifVersion });
|
2978
|
+
}
|
2979
|
+
if (isObject(a) && isString(a.id)) {
|
2980
|
+
const columns = isStringArray(b) ? b : void 0;
|
2981
|
+
return await __privateMethod$2(this, _updateRecordWithID, updateRecordWithID_fn).call(this, a.id, { ...a, id: void 0 }, columns, { ifVersion });
|
2982
|
+
}
|
2983
|
+
} catch (error) {
|
2984
|
+
if (error.status === 422)
|
2985
|
+
return null;
|
2986
|
+
throw error;
|
1730
2987
|
}
|
1731
2988
|
throw new Error("Invalid arguments for update method");
|
1732
2989
|
});
|
1733
2990
|
}
|
1734
|
-
async updateOrThrow(a, b, c) {
|
2991
|
+
async updateOrThrow(a, b, c, d) {
|
1735
2992
|
return __privateGet$4(this, _trace).call(this, "updateOrThrow", async () => {
|
1736
|
-
const result = await this.update(a, b, c);
|
2993
|
+
const result = await this.update(a, b, c, d);
|
1737
2994
|
if (Array.isArray(result)) {
|
1738
2995
|
const missingIds = compact(
|
1739
2996
|
a.filter((_item, index) => result[index] === null).map((item) => extractId(item))
|
@@ -1750,37 +3007,69 @@ class RestRepository extends Query {
|
|
1750
3007
|
return result;
|
1751
3008
|
});
|
1752
3009
|
}
|
1753
|
-
async createOrUpdate(a, b, c) {
|
3010
|
+
async createOrUpdate(a, b, c, d) {
|
1754
3011
|
return __privateGet$4(this, _trace).call(this, "createOrUpdate", async () => {
|
3012
|
+
const ifVersion = parseIfVersion(b, c, d);
|
1755
3013
|
if (Array.isArray(a)) {
|
1756
3014
|
if (a.length === 0)
|
1757
3015
|
return [];
|
1758
|
-
|
1759
|
-
|
1760
|
-
|
3016
|
+
await __privateMethod$2(this, _updateRecords, updateRecords_fn).call(this, a, {
|
3017
|
+
ifVersion,
|
3018
|
+
upsert: true
|
3019
|
+
});
|
1761
3020
|
const columns = isStringArray(b) ? b : ["*"];
|
1762
|
-
|
3021
|
+
const result = await this.read(a, columns);
|
3022
|
+
return result;
|
1763
3023
|
}
|
1764
3024
|
if (isString(a) && isObject(b)) {
|
1765
3025
|
const columns = isStringArray(c) ? c : void 0;
|
1766
|
-
return __privateMethod$2(this, _upsertRecordWithID, upsertRecordWithID_fn).call(this, a, b, columns);
|
3026
|
+
return __privateMethod$2(this, _upsertRecordWithID, upsertRecordWithID_fn).call(this, a, b, columns, { ifVersion });
|
1767
3027
|
}
|
1768
3028
|
if (isObject(a) && isString(a.id)) {
|
1769
3029
|
const columns = isStringArray(c) ? c : void 0;
|
1770
|
-
return __privateMethod$2(this, _upsertRecordWithID, upsertRecordWithID_fn).call(this, a.id, { ...a, id: void 0 }, columns);
|
3030
|
+
return __privateMethod$2(this, _upsertRecordWithID, upsertRecordWithID_fn).call(this, a.id, { ...a, id: void 0 }, columns, { ifVersion });
|
1771
3031
|
}
|
1772
3032
|
throw new Error("Invalid arguments for createOrUpdate method");
|
1773
3033
|
});
|
1774
3034
|
}
|
3035
|
+
async createOrReplace(a, b, c, d) {
|
3036
|
+
return __privateGet$4(this, _trace).call(this, "createOrReplace", async () => {
|
3037
|
+
const ifVersion = parseIfVersion(b, c, d);
|
3038
|
+
if (Array.isArray(a)) {
|
3039
|
+
if (a.length === 0)
|
3040
|
+
return [];
|
3041
|
+
const ids = await __privateMethod$2(this, _insertRecords, insertRecords_fn).call(this, a, { ifVersion, createOnly: false });
|
3042
|
+
const columns = isStringArray(b) ? b : ["*"];
|
3043
|
+
const result = await this.read(ids, columns);
|
3044
|
+
return result;
|
3045
|
+
}
|
3046
|
+
if (isString(a) && isObject(b)) {
|
3047
|
+
const columns = isStringArray(c) ? c : void 0;
|
3048
|
+
return __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a, b, columns, { createOnly: false, ifVersion });
|
3049
|
+
}
|
3050
|
+
if (isObject(a) && isString(a.id)) {
|
3051
|
+
const columns = isStringArray(c) ? c : void 0;
|
3052
|
+
return __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a.id, { ...a, id: void 0 }, columns, { createOnly: false, ifVersion });
|
3053
|
+
}
|
3054
|
+
throw new Error("Invalid arguments for createOrReplace method");
|
3055
|
+
});
|
3056
|
+
}
|
1775
3057
|
async delete(a, b) {
|
1776
3058
|
return __privateGet$4(this, _trace).call(this, "delete", async () => {
|
1777
3059
|
if (Array.isArray(a)) {
|
1778
3060
|
if (a.length === 0)
|
1779
3061
|
return [];
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
3062
|
+
const ids = a.map((o) => {
|
3063
|
+
if (isString(o))
|
3064
|
+
return o;
|
3065
|
+
if (isString(o.id))
|
3066
|
+
return o.id;
|
3067
|
+
throw new Error("Invalid arguments for delete method");
|
3068
|
+
});
|
3069
|
+
const columns = isStringArray(b) ? b : ["*"];
|
3070
|
+
const result = await this.read(a, columns);
|
3071
|
+
await __privateMethod$2(this, _deleteRecords, deleteRecords_fn).call(this, ids);
|
3072
|
+
return result;
|
1784
3073
|
}
|
1785
3074
|
if (isString(a)) {
|
1786
3075
|
return __privateMethod$2(this, _deleteRecord, deleteRecord_fn).call(this, a, b);
|
@@ -1811,21 +3100,64 @@ class RestRepository extends Query {
|
|
1811
3100
|
}
|
1812
3101
|
async search(query, options = {}) {
|
1813
3102
|
return __privateGet$4(this, _trace).call(this, "search", async () => {
|
1814
|
-
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
1815
3103
|
const { records } = await searchTable({
|
1816
|
-
pathParams: {
|
3104
|
+
pathParams: {
|
3105
|
+
workspace: "{workspaceId}",
|
3106
|
+
dbBranchName: "{dbBranch}",
|
3107
|
+
region: "{region}",
|
3108
|
+
tableName: __privateGet$4(this, _table)
|
3109
|
+
},
|
1817
3110
|
body: {
|
1818
3111
|
query,
|
1819
3112
|
fuzziness: options.fuzziness,
|
1820
3113
|
prefix: options.prefix,
|
1821
3114
|
highlight: options.highlight,
|
1822
3115
|
filter: options.filter,
|
1823
|
-
boosters: options.boosters
|
3116
|
+
boosters: options.boosters,
|
3117
|
+
page: options.page,
|
3118
|
+
target: options.target
|
3119
|
+
},
|
3120
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
3121
|
+
});
|
3122
|
+
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
3123
|
+
return records.map((item) => initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), item, ["*"]));
|
3124
|
+
});
|
3125
|
+
}
|
3126
|
+
async vectorSearch(column, query, options) {
|
3127
|
+
return __privateGet$4(this, _trace).call(this, "vectorSearch", async () => {
|
3128
|
+
const { records } = await vectorSearchTable({
|
3129
|
+
pathParams: {
|
3130
|
+
workspace: "{workspaceId}",
|
3131
|
+
dbBranchName: "{dbBranch}",
|
3132
|
+
region: "{region}",
|
3133
|
+
tableName: __privateGet$4(this, _table)
|
3134
|
+
},
|
3135
|
+
body: {
|
3136
|
+
column,
|
3137
|
+
queryVector: query,
|
3138
|
+
similarityFunction: options?.similarityFunction,
|
3139
|
+
size: options?.size,
|
3140
|
+
filter: options?.filter
|
1824
3141
|
},
|
1825
|
-
...
|
3142
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1826
3143
|
});
|
1827
3144
|
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1828
|
-
return records.map((item) => initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), item));
|
3145
|
+
return records.map((item) => initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), item, ["*"]));
|
3146
|
+
});
|
3147
|
+
}
|
3148
|
+
async aggregate(aggs, filter) {
|
3149
|
+
return __privateGet$4(this, _trace).call(this, "aggregate", async () => {
|
3150
|
+
const result = await aggregateTable({
|
3151
|
+
pathParams: {
|
3152
|
+
workspace: "{workspaceId}",
|
3153
|
+
dbBranchName: "{dbBranch}",
|
3154
|
+
region: "{region}",
|
3155
|
+
tableName: __privateGet$4(this, _table)
|
3156
|
+
},
|
3157
|
+
body: { aggs, filter },
|
3158
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
3159
|
+
});
|
3160
|
+
return result;
|
1829
3161
|
});
|
1830
3162
|
}
|
1831
3163
|
async query(query) {
|
@@ -1834,24 +3166,83 @@ class RestRepository extends Query {
|
|
1834
3166
|
if (cacheQuery)
|
1835
3167
|
return new Page(query, cacheQuery.meta, cacheQuery.records);
|
1836
3168
|
const data = query.getQueryOptions();
|
1837
|
-
const body = {
|
1838
|
-
filter: cleanFilter(data.filter),
|
1839
|
-
sort: data.sort !== void 0 ? buildSortFilter(data.sort) : void 0,
|
1840
|
-
page: data.pagination,
|
1841
|
-
columns: data.columns
|
1842
|
-
};
|
1843
|
-
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
1844
3169
|
const { meta, records: objects } = await queryTable({
|
1845
|
-
pathParams: {
|
1846
|
-
|
1847
|
-
|
3170
|
+
pathParams: {
|
3171
|
+
workspace: "{workspaceId}",
|
3172
|
+
dbBranchName: "{dbBranch}",
|
3173
|
+
region: "{region}",
|
3174
|
+
tableName: __privateGet$4(this, _table)
|
3175
|
+
},
|
3176
|
+
body: {
|
3177
|
+
filter: cleanFilter(data.filter),
|
3178
|
+
sort: data.sort !== void 0 ? buildSortFilter(data.sort) : void 0,
|
3179
|
+
page: data.pagination,
|
3180
|
+
columns: data.columns ?? ["*"],
|
3181
|
+
consistency: data.consistency
|
3182
|
+
},
|
3183
|
+
fetchOptions: data.fetchOptions,
|
3184
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1848
3185
|
});
|
1849
3186
|
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1850
|
-
const records = objects.map(
|
3187
|
+
const records = objects.map(
|
3188
|
+
(record) => initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), record, data.columns ?? ["*"])
|
3189
|
+
);
|
1851
3190
|
await __privateMethod$2(this, _setCacheQuery, setCacheQuery_fn).call(this, query, meta, records);
|
1852
3191
|
return new Page(query, meta, records);
|
1853
3192
|
});
|
1854
3193
|
}
|
3194
|
+
async summarizeTable(query, summaries, summariesFilter) {
|
3195
|
+
return __privateGet$4(this, _trace).call(this, "summarize", async () => {
|
3196
|
+
const data = query.getQueryOptions();
|
3197
|
+
const result = await summarizeTable({
|
3198
|
+
pathParams: {
|
3199
|
+
workspace: "{workspaceId}",
|
3200
|
+
dbBranchName: "{dbBranch}",
|
3201
|
+
region: "{region}",
|
3202
|
+
tableName: __privateGet$4(this, _table)
|
3203
|
+
},
|
3204
|
+
body: {
|
3205
|
+
filter: cleanFilter(data.filter),
|
3206
|
+
sort: data.sort !== void 0 ? buildSortFilter(data.sort) : void 0,
|
3207
|
+
columns: data.columns,
|
3208
|
+
consistency: data.consistency,
|
3209
|
+
page: data.pagination?.size !== void 0 ? { size: data.pagination?.size } : void 0,
|
3210
|
+
summaries,
|
3211
|
+
summariesFilter
|
3212
|
+
},
|
3213
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
3214
|
+
});
|
3215
|
+
return result;
|
3216
|
+
});
|
3217
|
+
}
|
3218
|
+
ask(question, options) {
|
3219
|
+
const params = {
|
3220
|
+
pathParams: {
|
3221
|
+
workspace: "{workspaceId}",
|
3222
|
+
dbBranchName: "{dbBranch}",
|
3223
|
+
region: "{region}",
|
3224
|
+
tableName: __privateGet$4(this, _table)
|
3225
|
+
},
|
3226
|
+
body: {
|
3227
|
+
question,
|
3228
|
+
...options
|
3229
|
+
},
|
3230
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
3231
|
+
};
|
3232
|
+
if (options?.onMessage) {
|
3233
|
+
fetchSSERequest({
|
3234
|
+
endpoint: "dataPlane",
|
3235
|
+
url: "/db/{dbBranchName}/tables/{tableName}/ask",
|
3236
|
+
method: "POST",
|
3237
|
+
onMessage: (message) => {
|
3238
|
+
options.onMessage?.({ answer: message.text, records: message.records });
|
3239
|
+
},
|
3240
|
+
...params
|
3241
|
+
});
|
3242
|
+
} else {
|
3243
|
+
return askTable(params);
|
3244
|
+
}
|
3245
|
+
}
|
1855
3246
|
}
|
1856
3247
|
_table = new WeakMap();
|
1857
3248
|
_getFetchProps = new WeakMap();
|
@@ -1861,68 +3252,86 @@ _schemaTables$2 = new WeakMap();
|
|
1861
3252
|
_trace = new WeakMap();
|
1862
3253
|
_insertRecordWithoutId = new WeakSet();
|
1863
3254
|
insertRecordWithoutId_fn = async function(object, columns = ["*"]) {
|
1864
|
-
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
1865
3255
|
const record = transformObjectLinks(object);
|
1866
3256
|
const response = await insertRecord({
|
1867
3257
|
pathParams: {
|
1868
3258
|
workspace: "{workspaceId}",
|
1869
3259
|
dbBranchName: "{dbBranch}",
|
3260
|
+
region: "{region}",
|
1870
3261
|
tableName: __privateGet$4(this, _table)
|
1871
3262
|
},
|
1872
3263
|
queryParams: { columns },
|
1873
3264
|
body: record,
|
1874
|
-
...
|
3265
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1875
3266
|
});
|
1876
3267
|
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1877
|
-
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response);
|
3268
|
+
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response, columns);
|
1878
3269
|
};
|
1879
3270
|
_insertRecordWithId = new WeakSet();
|
1880
|
-
insertRecordWithId_fn = async function(recordId, object, columns = ["*"]) {
|
1881
|
-
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
3271
|
+
insertRecordWithId_fn = async function(recordId, object, columns = ["*"], { createOnly, ifVersion }) {
|
1882
3272
|
const record = transformObjectLinks(object);
|
1883
3273
|
const response = await insertRecordWithID({
|
1884
3274
|
pathParams: {
|
1885
3275
|
workspace: "{workspaceId}",
|
1886
3276
|
dbBranchName: "{dbBranch}",
|
3277
|
+
region: "{region}",
|
1887
3278
|
tableName: __privateGet$4(this, _table),
|
1888
3279
|
recordId
|
1889
3280
|
},
|
1890
3281
|
body: record,
|
1891
|
-
queryParams: { createOnly
|
1892
|
-
...
|
3282
|
+
queryParams: { createOnly, columns, ifVersion },
|
3283
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1893
3284
|
});
|
1894
3285
|
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1895
|
-
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response);
|
1896
|
-
};
|
1897
|
-
|
1898
|
-
|
1899
|
-
const
|
1900
|
-
|
1901
|
-
|
1902
|
-
|
1903
|
-
|
1904
|
-
|
1905
|
-
|
1906
|
-
|
1907
|
-
|
1908
|
-
|
3286
|
+
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response, columns);
|
3287
|
+
};
|
3288
|
+
_insertRecords = new WeakSet();
|
3289
|
+
insertRecords_fn = async function(objects, { createOnly, ifVersion }) {
|
3290
|
+
const chunkedOperations = chunk(
|
3291
|
+
objects.map((object) => ({
|
3292
|
+
insert: { table: __privateGet$4(this, _table), record: transformObjectLinks(object), createOnly, ifVersion }
|
3293
|
+
})),
|
3294
|
+
BULK_OPERATION_MAX_SIZE
|
3295
|
+
);
|
3296
|
+
const ids = [];
|
3297
|
+
for (const operations of chunkedOperations) {
|
3298
|
+
const { results } = await branchTransaction({
|
3299
|
+
pathParams: {
|
3300
|
+
workspace: "{workspaceId}",
|
3301
|
+
dbBranchName: "{dbBranch}",
|
3302
|
+
region: "{region}"
|
3303
|
+
},
|
3304
|
+
body: { operations },
|
3305
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
3306
|
+
});
|
3307
|
+
for (const result of results) {
|
3308
|
+
if (result.operation === "insert") {
|
3309
|
+
ids.push(result.id);
|
3310
|
+
} else {
|
3311
|
+
ids.push(null);
|
3312
|
+
}
|
3313
|
+
}
|
1909
3314
|
}
|
1910
|
-
|
1911
|
-
return response.records?.map((item) => initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), item));
|
3315
|
+
return ids;
|
1912
3316
|
};
|
1913
3317
|
_updateRecordWithID = new WeakSet();
|
1914
|
-
updateRecordWithID_fn = async function(recordId, object, columns = ["*"]) {
|
1915
|
-
const
|
1916
|
-
const record = transformObjectLinks(object);
|
3318
|
+
updateRecordWithID_fn = async function(recordId, object, columns = ["*"], { ifVersion }) {
|
3319
|
+
const { id: _id, ...record } = transformObjectLinks(object);
|
1917
3320
|
try {
|
1918
3321
|
const response = await updateRecordWithID({
|
1919
|
-
pathParams: {
|
1920
|
-
|
3322
|
+
pathParams: {
|
3323
|
+
workspace: "{workspaceId}",
|
3324
|
+
dbBranchName: "{dbBranch}",
|
3325
|
+
region: "{region}",
|
3326
|
+
tableName: __privateGet$4(this, _table),
|
3327
|
+
recordId
|
3328
|
+
},
|
3329
|
+
queryParams: { columns, ifVersion },
|
1921
3330
|
body: record,
|
1922
|
-
...
|
3331
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1923
3332
|
});
|
1924
3333
|
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1925
|
-
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response);
|
3334
|
+
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response, columns);
|
1926
3335
|
} catch (e) {
|
1927
3336
|
if (isObject(e) && e.status === 404) {
|
1928
3337
|
return null;
|
@@ -1930,29 +3339,68 @@ updateRecordWithID_fn = async function(recordId, object, columns = ["*"]) {
|
|
1930
3339
|
throw e;
|
1931
3340
|
}
|
1932
3341
|
};
|
3342
|
+
_updateRecords = new WeakSet();
|
3343
|
+
updateRecords_fn = async function(objects, { ifVersion, upsert }) {
|
3344
|
+
const chunkedOperations = chunk(
|
3345
|
+
objects.map(({ id, ...object }) => ({
|
3346
|
+
update: { table: __privateGet$4(this, _table), id, ifVersion, upsert, fields: transformObjectLinks(object) }
|
3347
|
+
})),
|
3348
|
+
BULK_OPERATION_MAX_SIZE
|
3349
|
+
);
|
3350
|
+
const ids = [];
|
3351
|
+
for (const operations of chunkedOperations) {
|
3352
|
+
const { results } = await branchTransaction({
|
3353
|
+
pathParams: {
|
3354
|
+
workspace: "{workspaceId}",
|
3355
|
+
dbBranchName: "{dbBranch}",
|
3356
|
+
region: "{region}"
|
3357
|
+
},
|
3358
|
+
body: { operations },
|
3359
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
3360
|
+
});
|
3361
|
+
for (const result of results) {
|
3362
|
+
if (result.operation === "update") {
|
3363
|
+
ids.push(result.id);
|
3364
|
+
} else {
|
3365
|
+
ids.push(null);
|
3366
|
+
}
|
3367
|
+
}
|
3368
|
+
}
|
3369
|
+
return ids;
|
3370
|
+
};
|
1933
3371
|
_upsertRecordWithID = new WeakSet();
|
1934
|
-
upsertRecordWithID_fn = async function(recordId, object, columns = ["*"]) {
|
1935
|
-
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
3372
|
+
upsertRecordWithID_fn = async function(recordId, object, columns = ["*"], { ifVersion }) {
|
1936
3373
|
const response = await upsertRecordWithID({
|
1937
|
-
pathParams: {
|
1938
|
-
|
3374
|
+
pathParams: {
|
3375
|
+
workspace: "{workspaceId}",
|
3376
|
+
dbBranchName: "{dbBranch}",
|
3377
|
+
region: "{region}",
|
3378
|
+
tableName: __privateGet$4(this, _table),
|
3379
|
+
recordId
|
3380
|
+
},
|
3381
|
+
queryParams: { columns, ifVersion },
|
1939
3382
|
body: object,
|
1940
|
-
...
|
3383
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1941
3384
|
});
|
1942
3385
|
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1943
|
-
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response);
|
3386
|
+
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response, columns);
|
1944
3387
|
};
|
1945
3388
|
_deleteRecord = new WeakSet();
|
1946
3389
|
deleteRecord_fn = async function(recordId, columns = ["*"]) {
|
1947
|
-
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
1948
3390
|
try {
|
1949
3391
|
const response = await deleteRecord({
|
1950
|
-
pathParams: {
|
3392
|
+
pathParams: {
|
3393
|
+
workspace: "{workspaceId}",
|
3394
|
+
dbBranchName: "{dbBranch}",
|
3395
|
+
region: "{region}",
|
3396
|
+
tableName: __privateGet$4(this, _table),
|
3397
|
+
recordId
|
3398
|
+
},
|
1951
3399
|
queryParams: { columns },
|
1952
|
-
...
|
3400
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1953
3401
|
});
|
1954
3402
|
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1955
|
-
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response);
|
3403
|
+
return initObject(__privateGet$4(this, _db), schemaTables, __privateGet$4(this, _table), response, columns);
|
1956
3404
|
} catch (e) {
|
1957
3405
|
if (isObject(e) && e.status === 404) {
|
1958
3406
|
return null;
|
@@ -1960,17 +3408,36 @@ deleteRecord_fn = async function(recordId, columns = ["*"]) {
|
|
1960
3408
|
throw e;
|
1961
3409
|
}
|
1962
3410
|
};
|
3411
|
+
_deleteRecords = new WeakSet();
|
3412
|
+
deleteRecords_fn = async function(recordIds) {
|
3413
|
+
const chunkedOperations = chunk(
|
3414
|
+
recordIds.map((id) => ({ delete: { table: __privateGet$4(this, _table), id } })),
|
3415
|
+
BULK_OPERATION_MAX_SIZE
|
3416
|
+
);
|
3417
|
+
for (const operations of chunkedOperations) {
|
3418
|
+
await branchTransaction({
|
3419
|
+
pathParams: {
|
3420
|
+
workspace: "{workspaceId}",
|
3421
|
+
dbBranchName: "{dbBranch}",
|
3422
|
+
region: "{region}"
|
3423
|
+
},
|
3424
|
+
body: { operations },
|
3425
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
3426
|
+
});
|
3427
|
+
}
|
3428
|
+
};
|
1963
3429
|
_setCacheQuery = new WeakSet();
|
1964
3430
|
setCacheQuery_fn = async function(query, meta, records) {
|
1965
|
-
await __privateGet$4(this, _cache)
|
3431
|
+
await __privateGet$4(this, _cache)?.set(`query_${__privateGet$4(this, _table)}:${query.key()}`, { date: new Date(), meta, records });
|
1966
3432
|
};
|
1967
3433
|
_getCacheQuery = new WeakSet();
|
1968
3434
|
getCacheQuery_fn = async function(query) {
|
1969
3435
|
const key = `query_${__privateGet$4(this, _table)}:${query.key()}`;
|
1970
|
-
const result = await __privateGet$4(this, _cache)
|
3436
|
+
const result = await __privateGet$4(this, _cache)?.get(key);
|
1971
3437
|
if (!result)
|
1972
3438
|
return null;
|
1973
|
-
const
|
3439
|
+
const defaultTTL = __privateGet$4(this, _cache)?.defaultQueryTTL ?? -1;
|
3440
|
+
const { cache: ttl = defaultTTL } = query.getQueryOptions();
|
1974
3441
|
if (ttl < 0)
|
1975
3442
|
return null;
|
1976
3443
|
const hasExpired = result.date.getTime() + ttl < Date.now();
|
@@ -1980,10 +3447,9 @@ _getSchemaTables$1 = new WeakSet();
|
|
1980
3447
|
getSchemaTables_fn$1 = async function() {
|
1981
3448
|
if (__privateGet$4(this, _schemaTables$2))
|
1982
3449
|
return __privateGet$4(this, _schemaTables$2);
|
1983
|
-
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
1984
3450
|
const { schema } = await getBranchDetails({
|
1985
|
-
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}" },
|
1986
|
-
...
|
3451
|
+
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}", region: "{region}" },
|
3452
|
+
...__privateGet$4(this, _getFetchProps).call(this)
|
1987
3453
|
});
|
1988
3454
|
__privateSet$4(this, _schemaTables$2, schema.tables);
|
1989
3455
|
return schema.tables;
|
@@ -1995,22 +3461,24 @@ const transformObjectLinks = (object) => {
|
|
1995
3461
|
return { ...acc, [key]: isIdentifiable(value) ? value.id : value };
|
1996
3462
|
}, {});
|
1997
3463
|
};
|
1998
|
-
const initObject = (db, schemaTables, table, object) => {
|
1999
|
-
const
|
3464
|
+
const initObject = (db, schemaTables, table, object, selectedColumns) => {
|
3465
|
+
const data = {};
|
2000
3466
|
const { xata, ...rest } = object ?? {};
|
2001
|
-
Object.assign(
|
3467
|
+
Object.assign(data, rest);
|
2002
3468
|
const { columns } = schemaTables.find(({ name }) => name === table) ?? {};
|
2003
3469
|
if (!columns)
|
2004
3470
|
console.error(`Table ${table} not found in schema`);
|
2005
3471
|
for (const column of columns ?? []) {
|
2006
|
-
|
3472
|
+
if (!isValidColumn(selectedColumns, column))
|
3473
|
+
continue;
|
3474
|
+
const value = data[column.name];
|
2007
3475
|
switch (column.type) {
|
2008
3476
|
case "datetime": {
|
2009
|
-
const date = value !== void 0 ? new Date(value) :
|
2010
|
-
if (date && isNaN(date.getTime())) {
|
3477
|
+
const date = value !== void 0 ? new Date(value) : null;
|
3478
|
+
if (date !== null && isNaN(date.getTime())) {
|
2011
3479
|
console.error(`Failed to parse date ${value} for field ${column.name}`);
|
2012
|
-
} else
|
2013
|
-
|
3480
|
+
} else {
|
3481
|
+
data[column.name] = date;
|
2014
3482
|
}
|
2015
3483
|
break;
|
2016
3484
|
}
|
@@ -2019,41 +3487,62 @@ const initObject = (db, schemaTables, table, object) => {
|
|
2019
3487
|
if (!linkTable) {
|
2020
3488
|
console.error(`Failed to parse link for field ${column.name}`);
|
2021
3489
|
} else if (isObject(value)) {
|
2022
|
-
|
3490
|
+
const selectedLinkColumns = selectedColumns.reduce((acc, item) => {
|
3491
|
+
if (item === column.name) {
|
3492
|
+
return [...acc, "*"];
|
3493
|
+
}
|
3494
|
+
if (item.startsWith(`${column.name}.`)) {
|
3495
|
+
const [, ...path] = item.split(".");
|
3496
|
+
return [...acc, path.join(".")];
|
3497
|
+
}
|
3498
|
+
return acc;
|
3499
|
+
}, []);
|
3500
|
+
data[column.name] = initObject(db, schemaTables, linkTable, value, selectedLinkColumns);
|
2023
3501
|
} else {
|
2024
|
-
|
3502
|
+
data[column.name] = null;
|
2025
3503
|
}
|
2026
3504
|
break;
|
2027
3505
|
}
|
2028
3506
|
default:
|
2029
|
-
|
3507
|
+
data[column.name] = value ?? null;
|
2030
3508
|
if (column.notNull === true && value === null) {
|
2031
3509
|
console.error(`Parse error, column ${column.name} is non nullable and value resolves null`);
|
2032
3510
|
}
|
2033
3511
|
break;
|
2034
3512
|
}
|
2035
3513
|
}
|
2036
|
-
|
2037
|
-
|
3514
|
+
const record = { ...data };
|
3515
|
+
record.read = function(columns2) {
|
3516
|
+
return db[table].read(record["id"], columns2);
|
3517
|
+
};
|
3518
|
+
record.update = function(data2, b, c) {
|
3519
|
+
const columns2 = isStringArray(b) ? b : ["*"];
|
3520
|
+
const ifVersion = parseIfVersion(b, c);
|
3521
|
+
return db[table].update(record["id"], data2, columns2, { ifVersion });
|
2038
3522
|
};
|
2039
|
-
|
2040
|
-
|
3523
|
+
record.replace = function(data2, b, c) {
|
3524
|
+
const columns2 = isStringArray(b) ? b : ["*"];
|
3525
|
+
const ifVersion = parseIfVersion(b, c);
|
3526
|
+
return db[table].createOrReplace(record["id"], data2, columns2, { ifVersion });
|
2041
3527
|
};
|
2042
|
-
|
2043
|
-
return db[table].delete(
|
3528
|
+
record.delete = function() {
|
3529
|
+
return db[table].delete(record["id"]);
|
2044
3530
|
};
|
2045
|
-
|
3531
|
+
record.getMetadata = function() {
|
2046
3532
|
return xata;
|
2047
3533
|
};
|
2048
|
-
|
2049
|
-
|
3534
|
+
record.toSerializable = function() {
|
3535
|
+
return JSON.parse(JSON.stringify(transformObjectLinks(data)));
|
3536
|
+
};
|
3537
|
+
record.toString = function() {
|
3538
|
+
return JSON.stringify(transformObjectLinks(data));
|
3539
|
+
};
|
3540
|
+
for (const prop of ["read", "update", "replace", "delete", "getMetadata", "toSerializable", "toString"]) {
|
3541
|
+
Object.defineProperty(record, prop, { enumerable: false });
|
2050
3542
|
}
|
2051
|
-
Object.freeze(
|
2052
|
-
return
|
3543
|
+
Object.freeze(record);
|
3544
|
+
return record;
|
2053
3545
|
};
|
2054
|
-
function isResponseWithRecords(value) {
|
2055
|
-
return isObject(value) && Array.isArray(value.records);
|
2056
|
-
}
|
2057
3546
|
function extractId(value) {
|
2058
3547
|
if (isString(value))
|
2059
3548
|
return value;
|
@@ -2061,11 +3550,22 @@ function extractId(value) {
|
|
2061
3550
|
return value.id;
|
2062
3551
|
return void 0;
|
2063
3552
|
}
|
2064
|
-
function
|
2065
|
-
if (
|
2066
|
-
return
|
2067
|
-
|
2068
|
-
|
3553
|
+
function isValidColumn(columns, column) {
|
3554
|
+
if (columns.includes("*"))
|
3555
|
+
return true;
|
3556
|
+
if (column.type === "link") {
|
3557
|
+
const linkColumns = columns.filter((item) => item.startsWith(column.name));
|
3558
|
+
return linkColumns.length > 0;
|
3559
|
+
}
|
3560
|
+
return columns.includes(column.name);
|
3561
|
+
}
|
3562
|
+
function parseIfVersion(...args) {
|
3563
|
+
for (const arg of args) {
|
3564
|
+
if (isObject(arg) && isNumber(arg.ifVersion)) {
|
3565
|
+
return arg.ifVersion;
|
3566
|
+
}
|
3567
|
+
}
|
3568
|
+
return void 0;
|
2069
3569
|
}
|
2070
3570
|
|
2071
3571
|
var __accessCheck$3 = (obj, member, msg) => {
|
@@ -2225,23 +3725,23 @@ class SearchPlugin extends XataPlugin {
|
|
2225
3725
|
__privateAdd$1(this, _schemaTables, void 0);
|
2226
3726
|
__privateSet$1(this, _schemaTables, schemaTables);
|
2227
3727
|
}
|
2228
|
-
build(
|
3728
|
+
build(pluginOptions) {
|
2229
3729
|
return {
|
2230
3730
|
all: async (query, options = {}) => {
|
2231
|
-
const records = await __privateMethod$1(this, _search, search_fn).call(this, query, options,
|
2232
|
-
const schemaTables = await __privateMethod$1(this, _getSchemaTables, getSchemaTables_fn).call(this,
|
3731
|
+
const records = await __privateMethod$1(this, _search, search_fn).call(this, query, options, pluginOptions);
|
3732
|
+
const schemaTables = await __privateMethod$1(this, _getSchemaTables, getSchemaTables_fn).call(this, pluginOptions);
|
2233
3733
|
return records.map((record) => {
|
2234
3734
|
const { table = "orphan" } = record.xata;
|
2235
|
-
return { table, record: initObject(this.db, schemaTables, table, record) };
|
3735
|
+
return { table, record: initObject(this.db, schemaTables, table, record, ["*"]) };
|
2236
3736
|
});
|
2237
3737
|
},
|
2238
3738
|
byTable: async (query, options = {}) => {
|
2239
|
-
const records = await __privateMethod$1(this, _search, search_fn).call(this, query, options,
|
2240
|
-
const schemaTables = await __privateMethod$1(this, _getSchemaTables, getSchemaTables_fn).call(this,
|
3739
|
+
const records = await __privateMethod$1(this, _search, search_fn).call(this, query, options, pluginOptions);
|
3740
|
+
const schemaTables = await __privateMethod$1(this, _getSchemaTables, getSchemaTables_fn).call(this, pluginOptions);
|
2241
3741
|
return records.reduce((acc, record) => {
|
2242
3742
|
const { table = "orphan" } = record.xata;
|
2243
3743
|
const items = acc[table] ?? [];
|
2244
|
-
const item = initObject(this.db, schemaTables, table, record);
|
3744
|
+
const item = initObject(this.db, schemaTables, table, record, ["*"]);
|
2245
3745
|
return { ...acc, [table]: [...items, item] };
|
2246
3746
|
}, {});
|
2247
3747
|
}
|
@@ -2250,108 +3750,39 @@ class SearchPlugin extends XataPlugin {
|
|
2250
3750
|
}
|
2251
3751
|
_schemaTables = new WeakMap();
|
2252
3752
|
_search = new WeakSet();
|
2253
|
-
search_fn = async function(query, options,
|
2254
|
-
const
|
2255
|
-
const { tables, fuzziness, highlight, prefix } = options ?? {};
|
3753
|
+
search_fn = async function(query, options, pluginOptions) {
|
3754
|
+
const { tables, fuzziness, highlight, prefix, page } = options ?? {};
|
2256
3755
|
const { records } = await searchBranch({
|
2257
|
-
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}" },
|
2258
|
-
body: { tables, query, fuzziness, prefix, highlight },
|
2259
|
-
...
|
3756
|
+
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}", region: "{region}" },
|
3757
|
+
body: { tables, query, fuzziness, prefix, highlight, page },
|
3758
|
+
...pluginOptions
|
2260
3759
|
});
|
2261
3760
|
return records;
|
2262
3761
|
};
|
2263
3762
|
_getSchemaTables = new WeakSet();
|
2264
|
-
getSchemaTables_fn = async function(
|
3763
|
+
getSchemaTables_fn = async function(pluginOptions) {
|
2265
3764
|
if (__privateGet$1(this, _schemaTables))
|
2266
3765
|
return __privateGet$1(this, _schemaTables);
|
2267
|
-
const fetchProps = await getFetchProps();
|
2268
3766
|
const { schema } = await getBranchDetails({
|
2269
|
-
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}" },
|
2270
|
-
...
|
3767
|
+
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}", region: "{region}" },
|
3768
|
+
...pluginOptions
|
2271
3769
|
});
|
2272
3770
|
__privateSet$1(this, _schemaTables, schema.tables);
|
2273
3771
|
return schema.tables;
|
2274
3772
|
};
|
2275
3773
|
|
2276
|
-
|
2277
|
-
|
2278
|
-
|
2279
|
-
|
2280
|
-
|
2281
|
-
|
2282
|
-
|
2283
|
-
|
2284
|
-
|
2285
|
-
|
2286
|
-
|
2287
|
-
|
2288
|
-
const gitBranch = envBranch || await getGitBranch();
|
2289
|
-
return resolveXataBranch(gitBranch, options);
|
2290
|
-
}
|
2291
|
-
async function getCurrentBranchDetails(options) {
|
2292
|
-
const branch = await getCurrentBranchName(options);
|
2293
|
-
return getDatabaseBranch(branch, options);
|
2294
|
-
}
|
2295
|
-
async function resolveXataBranch(gitBranch, options) {
|
2296
|
-
const databaseURL = options?.databaseURL || getDatabaseURL();
|
2297
|
-
const apiKey = options?.apiKey || getAPIKey();
|
2298
|
-
if (!databaseURL)
|
2299
|
-
throw new Error(
|
2300
|
-
"A databaseURL was not defined. Either set the XATA_DATABASE_URL env variable or pass the argument explicitely"
|
2301
|
-
);
|
2302
|
-
if (!apiKey)
|
2303
|
-
throw new Error(
|
2304
|
-
"An API key was not defined. Either set the XATA_API_KEY env variable or pass the argument explicitely"
|
2305
|
-
);
|
2306
|
-
const [protocol, , host, , dbName] = databaseURL.split("/");
|
2307
|
-
const [workspace] = host.split(".");
|
2308
|
-
const { fallbackBranch } = getEnvironment();
|
2309
|
-
const { branch } = await resolveBranch({
|
2310
|
-
apiKey,
|
2311
|
-
apiUrl: databaseURL,
|
2312
|
-
fetchImpl: getFetchImplementation(options?.fetchImpl),
|
2313
|
-
workspacesApiUrl: `${protocol}//${host}`,
|
2314
|
-
pathParams: { dbName, workspace },
|
2315
|
-
queryParams: { gitBranch, fallbackBranch },
|
2316
|
-
trace: defaultTrace
|
2317
|
-
});
|
2318
|
-
return branch;
|
2319
|
-
}
|
2320
|
-
async function getDatabaseBranch(branch, options) {
|
2321
|
-
const databaseURL = options?.databaseURL || getDatabaseURL();
|
2322
|
-
const apiKey = options?.apiKey || getAPIKey();
|
2323
|
-
if (!databaseURL)
|
2324
|
-
throw new Error(
|
2325
|
-
"A databaseURL was not defined. Either set the XATA_DATABASE_URL env variable or pass the argument explicitely"
|
2326
|
-
);
|
2327
|
-
if (!apiKey)
|
2328
|
-
throw new Error(
|
2329
|
-
"An API key was not defined. Either set the XATA_API_KEY env variable or pass the argument explicitely"
|
2330
|
-
);
|
2331
|
-
const [protocol, , host, , database] = databaseURL.split("/");
|
2332
|
-
const [workspace] = host.split(".");
|
2333
|
-
const dbBranchName = `${database}:${branch}`;
|
2334
|
-
try {
|
2335
|
-
return await getBranchDetails({
|
2336
|
-
apiKey,
|
2337
|
-
apiUrl: databaseURL,
|
2338
|
-
fetchImpl: getFetchImplementation(options?.fetchImpl),
|
2339
|
-
workspacesApiUrl: `${protocol}//${host}`,
|
2340
|
-
pathParams: { dbBranchName, workspace },
|
2341
|
-
trace: defaultTrace
|
2342
|
-
});
|
2343
|
-
} catch (err) {
|
2344
|
-
if (isObject(err) && err.status === 404)
|
2345
|
-
return null;
|
2346
|
-
throw err;
|
2347
|
-
}
|
2348
|
-
}
|
2349
|
-
function getDatabaseURL() {
|
2350
|
-
try {
|
2351
|
-
const { databaseURL } = getEnvironment();
|
2352
|
-
return databaseURL;
|
2353
|
-
} catch (err) {
|
2354
|
-
return void 0;
|
3774
|
+
class TransactionPlugin extends XataPlugin {
|
3775
|
+
build(pluginOptions) {
|
3776
|
+
return {
|
3777
|
+
run: async (operations) => {
|
3778
|
+
const response = await branchTransaction({
|
3779
|
+
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}", region: "{region}" },
|
3780
|
+
body: { operations },
|
3781
|
+
...pluginOptions
|
3782
|
+
});
|
3783
|
+
return response;
|
3784
|
+
}
|
3785
|
+
};
|
2355
3786
|
}
|
2356
3787
|
}
|
2357
3788
|
|
@@ -2378,88 +3809,115 @@ var __privateMethod = (obj, member, method) => {
|
|
2378
3809
|
return method;
|
2379
3810
|
};
|
2380
3811
|
const buildClient = (plugins) => {
|
2381
|
-
var
|
3812
|
+
var _options, _parseOptions, parseOptions_fn, _getFetchProps, getFetchProps_fn, _a;
|
2382
3813
|
return _a = class {
|
2383
3814
|
constructor(options = {}, schemaTables) {
|
2384
3815
|
__privateAdd(this, _parseOptions);
|
2385
3816
|
__privateAdd(this, _getFetchProps);
|
2386
|
-
__privateAdd(this, _evaluateBranch);
|
2387
|
-
__privateAdd(this, _branch, void 0);
|
2388
3817
|
__privateAdd(this, _options, void 0);
|
2389
3818
|
const safeOptions = __privateMethod(this, _parseOptions, parseOptions_fn).call(this, options);
|
2390
3819
|
__privateSet(this, _options, safeOptions);
|
2391
3820
|
const pluginOptions = {
|
2392
|
-
|
3821
|
+
...__privateMethod(this, _getFetchProps, getFetchProps_fn).call(this, safeOptions),
|
2393
3822
|
cache: safeOptions.cache,
|
2394
|
-
|
3823
|
+
host: safeOptions.host
|
2395
3824
|
};
|
2396
3825
|
const db = new SchemaPlugin(schemaTables).build(pluginOptions);
|
2397
3826
|
const search = new SearchPlugin(db, schemaTables).build(pluginOptions);
|
3827
|
+
const transactions = new TransactionPlugin().build(pluginOptions);
|
2398
3828
|
this.db = db;
|
2399
3829
|
this.search = search;
|
3830
|
+
this.transactions = transactions;
|
2400
3831
|
for (const [key, namespace] of Object.entries(plugins ?? {})) {
|
2401
3832
|
if (namespace === void 0)
|
2402
3833
|
continue;
|
2403
|
-
|
2404
|
-
if (result instanceof Promise) {
|
2405
|
-
void result.then((namespace2) => {
|
2406
|
-
this[key] = namespace2;
|
2407
|
-
});
|
2408
|
-
} else {
|
2409
|
-
this[key] = result;
|
2410
|
-
}
|
3834
|
+
this[key] = namespace.build(pluginOptions);
|
2411
3835
|
}
|
2412
3836
|
}
|
2413
3837
|
async getConfig() {
|
2414
3838
|
const databaseURL = __privateGet(this, _options).databaseURL;
|
2415
|
-
const branch =
|
3839
|
+
const branch = __privateGet(this, _options).branch;
|
2416
3840
|
return { databaseURL, branch };
|
2417
3841
|
}
|
2418
|
-
},
|
3842
|
+
}, _options = new WeakMap(), _parseOptions = new WeakSet(), parseOptions_fn = function(options) {
|
3843
|
+
const enableBrowser = options?.enableBrowser ?? getEnableBrowserVariable() ?? false;
|
3844
|
+
const isBrowser = typeof window !== "undefined" && typeof Deno === "undefined";
|
3845
|
+
if (isBrowser && !enableBrowser) {
|
3846
|
+
throw new Error(
|
3847
|
+
"You are trying to use Xata from the browser, which is potentially a non-secure environment. If you understand the security concerns, such as leaking your credentials, pass `enableBrowser: true` to the client options to remove this error."
|
3848
|
+
);
|
3849
|
+
}
|
2419
3850
|
const fetch = getFetchImplementation(options?.fetch);
|
2420
3851
|
const databaseURL = options?.databaseURL || getDatabaseURL();
|
2421
3852
|
const apiKey = options?.apiKey || getAPIKey();
|
2422
3853
|
const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 });
|
2423
3854
|
const trace = options?.trace ?? defaultTrace;
|
2424
|
-
const
|
3855
|
+
const clientName = options?.clientName;
|
3856
|
+
const host = options?.host ?? "production";
|
3857
|
+
const xataAgentExtra = options?.xataAgentExtra;
|
2425
3858
|
if (!apiKey) {
|
2426
3859
|
throw new Error("Option apiKey is required");
|
2427
3860
|
}
|
2428
3861
|
if (!databaseURL) {
|
2429
3862
|
throw new Error("Option databaseURL is required");
|
2430
3863
|
}
|
2431
|
-
|
2432
|
-
|
2433
|
-
const
|
2434
|
-
if (
|
2435
|
-
|
3864
|
+
const envBranch = getBranch();
|
3865
|
+
const previewBranch = getPreviewBranch();
|
3866
|
+
const branch = options?.branch || previewBranch || envBranch || "main";
|
3867
|
+
if (!!previewBranch && branch !== previewBranch) {
|
3868
|
+
console.warn(
|
3869
|
+
`Ignoring preview branch ${previewBranch} because branch option was passed to the client constructor with value ${branch}`
|
3870
|
+
);
|
3871
|
+
} else if (!!envBranch && branch !== envBranch) {
|
3872
|
+
console.warn(
|
3873
|
+
`Ignoring branch ${envBranch} because branch option was passed to the client constructor with value ${branch}`
|
3874
|
+
);
|
3875
|
+
} else if (!!previewBranch && !!envBranch && previewBranch !== envBranch) {
|
3876
|
+
console.warn(
|
3877
|
+
`Ignoring preview branch ${previewBranch} and branch ${envBranch} because branch option was passed to the client constructor with value ${branch}`
|
3878
|
+
);
|
3879
|
+
} else if (!previewBranch && !envBranch && options?.branch === void 0) {
|
3880
|
+
console.warn(
|
3881
|
+
`No branch was passed to the client constructor. Using default branch ${branch}. You can set the branch with the environment variable XATA_BRANCH or by passing the branch option to the client constructor.`
|
3882
|
+
);
|
3883
|
+
}
|
3884
|
+
return {
|
3885
|
+
fetch,
|
3886
|
+
databaseURL,
|
3887
|
+
apiKey,
|
3888
|
+
branch,
|
3889
|
+
cache,
|
3890
|
+
trace,
|
3891
|
+
host,
|
3892
|
+
clientID: generateUUID(),
|
3893
|
+
enableBrowser,
|
3894
|
+
clientName,
|
3895
|
+
xataAgentExtra
|
3896
|
+
};
|
3897
|
+
}, _getFetchProps = new WeakSet(), getFetchProps_fn = function({
|
3898
|
+
fetch,
|
3899
|
+
apiKey,
|
3900
|
+
databaseURL,
|
3901
|
+
branch,
|
3902
|
+
trace,
|
3903
|
+
clientID,
|
3904
|
+
clientName,
|
3905
|
+
xataAgentExtra
|
3906
|
+
}) {
|
2436
3907
|
return {
|
2437
|
-
|
3908
|
+
fetch,
|
2438
3909
|
apiKey,
|
2439
3910
|
apiUrl: "",
|
2440
3911
|
workspacesApiUrl: (path, params) => {
|
2441
3912
|
const hasBranch = params.dbBranchName ?? params.branch;
|
2442
|
-
const newPath = path.replace(/^\/db\/[^/]+/, hasBranch !== void 0 ? `:${
|
3913
|
+
const newPath = path.replace(/^\/db\/[^/]+/, hasBranch !== void 0 ? `:${branch}` : "");
|
2443
3914
|
return databaseURL + newPath;
|
2444
3915
|
},
|
2445
|
-
trace
|
2446
|
-
|
2447
|
-
|
2448
|
-
|
2449
|
-
return __privateGet(this, _branch);
|
2450
|
-
if (param === void 0)
|
2451
|
-
return void 0;
|
2452
|
-
const strategies = Array.isArray(param) ? [...param] : [param];
|
2453
|
-
const evaluateBranch = async (strategy) => {
|
2454
|
-
return isBranchStrategyBuilder(strategy) ? await strategy() : strategy;
|
3916
|
+
trace,
|
3917
|
+
clientID,
|
3918
|
+
clientName,
|
3919
|
+
xataAgentExtra
|
2455
3920
|
};
|
2456
|
-
for await (const strategy of strategies) {
|
2457
|
-
const branch = await evaluateBranch(strategy);
|
2458
|
-
if (branch) {
|
2459
|
-
__privateSet(this, _branch, branch);
|
2460
|
-
return branch;
|
2461
|
-
}
|
2462
|
-
}
|
2463
3921
|
}, _a;
|
2464
3922
|
};
|
2465
3923
|
class BaseClient extends buildClient() {
|
@@ -2533,7 +3991,7 @@ const deserialize = (json) => {
|
|
2533
3991
|
};
|
2534
3992
|
|
2535
3993
|
function buildWorkerRunner(config) {
|
2536
|
-
return function xataWorker(name,
|
3994
|
+
return function xataWorker(name, worker) {
|
2537
3995
|
return async (...args) => {
|
2538
3996
|
const url = process.env.NODE_ENV === "development" ? `http://localhost:64749/${name}` : `https://dispatcher.xata.workers.dev/${config.workspace}/${config.worker}/${name}`;
|
2539
3997
|
const result = await fetch(url, {
|
@@ -2554,5 +4012,5 @@ class XataError extends Error {
|
|
2554
4012
|
}
|
2555
4013
|
}
|
2556
4014
|
|
2557
|
-
export { BaseClient, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Query, RecordArray, Repository, RestRepository, SchemaPlugin, SearchPlugin, Serializer, SimpleCache, XataApiClient, XataApiPlugin, XataError, XataPlugin, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, applyBranchSchemaEdit, buildClient, buildWorkerRunner, bulkInsertTableRecords, cancelWorkspaceMemberInvite, compareBranchSchemas, compareBranchWithUserSchema, compareMigrationRequest, contains, createBranch, createDatabase, createMigrationRequest, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, deserialize, endsWith, equals, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchSchemaHistory, getBranchStats, getColumn,
|
4015
|
+
export { BaseClient, FetcherError, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Query, RecordArray, Repository, RestRepository, SchemaPlugin, SearchPlugin, Serializer, SimpleCache, XataApiClient, XataApiPlugin, XataError, XataPlugin, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, aggregateTable, applyBranchSchemaEdit, askTable, branchTransaction, buildClient, buildPreviewBranchName, buildProviderString, buildWorkerRunner, bulkInsertTableRecords, cancelWorkspaceMemberInvite, compareBranchSchemas, compareBranchWithUserSchema, compareMigrationRequest, contains, copyBranch, createBranch, createDatabase, createMigrationRequest, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteDatabaseGithubSettings, deleteFileItem, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, deserialize, endsWith, equals, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranch, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchSchemaHistory, getBranchStats, getColumn, getDatabaseGithubSettings, getDatabaseList, getDatabaseMetadata, getDatabaseURL, getFile, getFileItem, getGitBranchesMapping, getHostUrl, getMigrationRequest, getMigrationRequestIsMerged, getPreviewBranch, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, greaterEquals, greaterThan, greaterThanEquals, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isHostProviderAlias, isHostProviderBuilder, isIdentifiable, isNot, isXataRecord, le, lessEquals, lessThan, lessThanEquals, listMigrationRequestsCommits, listRegions, lt, lte, mergeMigrationRequest, notExists, operationsByTag, parseProviderString, parseWorkspacesUrlParts, pattern, previewBranchSchemaEdit, pushBranchMigrations, putFile, putFileItem, queryMigrationRequests, queryTable, removeGitBranchesEntry, removeWorkspaceMember, renameDatabase, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, serialize, setTableSchema, sqlQuery, startsWith, summarizeTable, updateBranchMetadata, updateBranchSchema, updateColumn, updateDatabaseGithubSettings, updateDatabaseMetadata, updateMigrationRequest, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberInvite, updateWorkspaceMemberRole, upsertRecordWithID, vectorSearchTable };
|
2558
4016
|
//# sourceMappingURL=index.mjs.map
|