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