@taylordb/query-builder 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -2
- package/dist/cjs/@types/query-builder.d.ts +4 -0
- package/dist/cjs/__tests__/query-builder.spec.js +191 -0
- package/dist/cjs/__tests__/query-builder.spec.js.map +1 -1
- package/dist/cjs/__tests__/taylorclient.types.d.ts +21 -223
- package/dist/cjs/__tests__/taylorclient.types.js +25 -31
- package/dist/cjs/__tests__/taylorclient.types.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +13 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/query-builder.d.ts +9 -11
- package/dist/cjs/query-builder.js +3 -19
- package/dist/cjs/query-builder.js.map +1 -1
- package/dist/esm/@types/query-builder.d.ts +4 -0
- package/dist/esm/__tests__/query-builder.spec.js +192 -1
- package/dist/esm/__tests__/query-builder.spec.js.map +1 -1
- package/dist/esm/__tests__/taylorclient.types.d.ts +21 -223
- package/dist/esm/__tests__/taylorclient.types.js +24 -29
- package/dist/esm/__tests__/taylorclient.types.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/query-builder.d.ts +9 -11
- package/dist/esm/query-builder.js +3 -19
- package/dist/esm/query-builder.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/docs/field-types.md +43 -4
- package/llm.txt +2 -2
- package/package.json +2 -2
|
@@ -1,34 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2025 TaylorDB
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the MIT license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
3
|
+
exports.taylorSchema = void 0;
|
|
4
|
+
const index_js_1 = require("../index.js");
|
|
5
|
+
exports.taylorSchema = (0, index_js_1.defineTaylorSchema)({
|
|
6
|
+
selectTable: {
|
|
7
|
+
id: (0, index_js_1.autoNumberField)(),
|
|
8
|
+
name: (0, index_js_1.textField)({ required: true }),
|
|
9
|
+
color: (0, index_js_1.textField)({ required: true }),
|
|
10
|
+
},
|
|
11
|
+
attachmentTable: {
|
|
12
|
+
id: (0, index_js_1.autoNumberField)(),
|
|
13
|
+
name: (0, index_js_1.textField)({ required: true }),
|
|
14
|
+
metadata: (0, index_js_1.textField)({ required: true }),
|
|
15
|
+
size: (0, index_js_1.numberField)({ required: true }),
|
|
16
|
+
fileType: (0, index_js_1.textField)({ required: true }),
|
|
17
|
+
url: (0, index_js_1.textField)({ required: true }),
|
|
18
|
+
searchText: (0, index_js_1.searchField)(),
|
|
19
|
+
},
|
|
20
|
+
collaborators: {
|
|
21
|
+
id: (0, index_js_1.autoNumberField)(),
|
|
22
|
+
name: (0, index_js_1.textField)({ required: true }),
|
|
23
|
+
emailAddress: (0, index_js_1.textField)({ required: true }),
|
|
24
|
+
avatar: (0, index_js_1.textField)({ required: true }),
|
|
25
|
+
searchText: (0, index_js_1.searchField)(),
|
|
26
|
+
},
|
|
27
|
+
});
|
|
34
28
|
//# sourceMappingURL=taylorclient.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taylorclient.types.js","sourceRoot":"","sources":["../../../src/__tests__/taylorclient.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taylorclient.types.js","sourceRoot":"","sources":["../../../src/__tests__/taylorclient.types.ts"],"names":[],"mappings":";;;AAAA,0CAMqB;AAGR,QAAA,YAAY,GAAG,IAAA,6BAAkB,EAAC;IAC7C,WAAW,EAAE;QACX,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,KAAK,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACrC;IACD,eAAe,EAAE;QACf,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,QAAQ,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,EAAE,IAAA,sBAAW,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClC,UAAU,EAAE,IAAA,sBAAW,GAAE;KAC1B;IACD,aAAa,EAAE;QACb,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,YAAY,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrC,UAAU,EAAE,IAAA,sBAAW,GAAE;KAC1B;CACF,CAAC,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { attachmentField, autoDateField, autoNumberField, checkboxField, dateField, defineTaylorSchema, linkField, numberField, searchField, selectField, textField, } from '@taylordb/shared';
|
|
2
|
+
export type { AttachmentFieldDescriptor, AutoDateFieldDescriptor, AutoNumberFieldDescriptor, CheckboxFieldDescriptor, DateFieldDescriptor, InferTaylorDatabase, InferTaylorField, InferTaylorTable, LinkFieldDescriptor, NumberFieldDescriptor, SearchFieldDescriptor, SelectFieldDescriptor, TaylorFieldDescriptor, TaylorRuntimeSchema, TaylorTableSchema, TextFieldDescriptor, } from '@taylordb/shared';
|
|
1
3
|
export { avg, count, max, median, min, range, stdDev, sum, unique, } from './aggregation-helpers.js';
|
|
2
4
|
export type { AggregationHelper } from './aggregation-helpers.js';
|
|
3
5
|
export { PluginActionBuilder, PluginBuilder } from './plugin-action-builder.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createQueryBuilder = exports.PluginBuilder = exports.PluginActionBuilder = exports.unique = exports.sum = exports.stdDev = exports.range = exports.min = exports.median = exports.max = exports.count = exports.avg = void 0;
|
|
3
|
+
exports.createQueryBuilder = exports.PluginBuilder = exports.PluginActionBuilder = exports.unique = exports.sum = exports.stdDev = exports.range = exports.min = exports.median = exports.max = exports.count = exports.avg = exports.textField = exports.selectField = exports.searchField = exports.numberField = exports.linkField = exports.defineTaylorSchema = exports.dateField = exports.checkboxField = exports.autoNumberField = exports.autoDateField = exports.attachmentField = void 0;
|
|
4
|
+
var shared_1 = require("@taylordb/shared");
|
|
5
|
+
Object.defineProperty(exports, "attachmentField", { enumerable: true, get: function () { return shared_1.attachmentField; } });
|
|
6
|
+
Object.defineProperty(exports, "autoDateField", { enumerable: true, get: function () { return shared_1.autoDateField; } });
|
|
7
|
+
Object.defineProperty(exports, "autoNumberField", { enumerable: true, get: function () { return shared_1.autoNumberField; } });
|
|
8
|
+
Object.defineProperty(exports, "checkboxField", { enumerable: true, get: function () { return shared_1.checkboxField; } });
|
|
9
|
+
Object.defineProperty(exports, "dateField", { enumerable: true, get: function () { return shared_1.dateField; } });
|
|
10
|
+
Object.defineProperty(exports, "defineTaylorSchema", { enumerable: true, get: function () { return shared_1.defineTaylorSchema; } });
|
|
11
|
+
Object.defineProperty(exports, "linkField", { enumerable: true, get: function () { return shared_1.linkField; } });
|
|
12
|
+
Object.defineProperty(exports, "numberField", { enumerable: true, get: function () { return shared_1.numberField; } });
|
|
13
|
+
Object.defineProperty(exports, "searchField", { enumerable: true, get: function () { return shared_1.searchField; } });
|
|
14
|
+
Object.defineProperty(exports, "selectField", { enumerable: true, get: function () { return shared_1.selectField; } });
|
|
15
|
+
Object.defineProperty(exports, "textField", { enumerable: true, get: function () { return shared_1.textField; } });
|
|
4
16
|
var aggregation_helpers_js_1 = require("./aggregation-helpers.js");
|
|
5
17
|
Object.defineProperty(exports, "avg", { enumerable: true, get: function () { return aggregation_helpers_js_1.avg; } });
|
|
6
18
|
Object.defineProperty(exports, "count", { enumerable: true, get: function () { return aggregation_helpers_js_1.count; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mEAUkC;AAThC,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AAGR,uEAAgF;AAAvE,+HAAA,mBAAmB,OAAA;AAAE,yHAAA,aAAa,OAAA;AAC3C,uDAAwD;AAA/C,sHAAA,kBAAkB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAY0B;AAXxB,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,qGAAA,WAAW,OAAA;AACX,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AAoBX,mEAUkC;AAThC,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AAGR,uEAAgF;AAAvE,+HAAA,mBAAmB,OAAA;AAAE,yHAAA,aAAa,OAAA;AAC3C,uDAAwD;AAA/C,sHAAA,kBAAkB,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Attachment } from '@taylordb/shared';
|
|
2
2
|
import { AbstractLinkColumn, AnyDB, QueryNode, RootQueryNode, SelectionQueryNode } from './@types/internal-types.js';
|
|
3
|
-
import { LinkColumnNames, NonLinkColumnNames } from './@types/query-builder.js';
|
|
3
|
+
import { LinkColumnNames, NonLinkColumnNames, TableNames } from './@types/query-builder.js';
|
|
4
4
|
import { InferDataType, ResolveSelection, ResolveWithObject, ResolveWithPlain } from './@types/type-helpers.js';
|
|
5
5
|
import { AggregationQueryBuilder } from './aggregation-query-builder.js';
|
|
6
6
|
import { AnyQueryBuilder, AreAllBuildersSubscribable, BatchQueryBuilder } from './batch-query-builder.js';
|
|
@@ -189,11 +189,6 @@ export declare class QueryBuilder<DB extends AnyDB, TableName extends keyof DB,
|
|
|
189
189
|
* @private
|
|
190
190
|
*/
|
|
191
191
|
private _transformResponse;
|
|
192
|
-
/**
|
|
193
|
-
* Checks if an object looks like an attachment object.
|
|
194
|
-
* @private
|
|
195
|
-
*/
|
|
196
|
-
private _isAttachmentObject;
|
|
197
192
|
subscribe(callback: (result: Selection[]) => void): Promise<{
|
|
198
193
|
unsubscribe: () => Promise<void>;
|
|
199
194
|
}>;
|
|
@@ -210,6 +205,8 @@ export declare class QueryBuilder<DB extends AnyDB, TableName extends keyof DB,
|
|
|
210
205
|
*/
|
|
211
206
|
export type ReadBlacklistTable = 'attachmentTable';
|
|
212
207
|
export type MutationBlacklistTable = 'attachmentTable' | 'collaborators';
|
|
208
|
+
type ReadableTableNames<DB> = Exclude<TableNames<DB>, ReadBlacklistTable> & string;
|
|
209
|
+
type MutableTableNames<DB> = Exclude<TableNames<DB>, MutationBlacklistTable> & string;
|
|
213
210
|
export declare class BaseRootQueryBuilder<DB extends AnyDB> {
|
|
214
211
|
protected _executor: Executor;
|
|
215
212
|
constructor(executor: Executor);
|
|
@@ -226,7 +223,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
|
|
|
226
223
|
* const userQuery = qb.selectFrom('users');
|
|
227
224
|
* ```
|
|
228
225
|
*/
|
|
229
|
-
selectFrom<TableName extends
|
|
226
|
+
selectFrom<TableName extends ReadableTableNames<DB>>(from: TableName): QueryBuilder<DB, TableName>;
|
|
230
227
|
/**
|
|
231
228
|
* Creates a new insert query builder for the specified table.
|
|
232
229
|
* @param into - The name of the table to insert into.
|
|
@@ -238,7 +235,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
|
|
|
238
235
|
* const insertQuery = qb.insertInto('users');
|
|
239
236
|
* ```
|
|
240
237
|
*/
|
|
241
|
-
insertInto<TableName extends
|
|
238
|
+
insertInto<TableName extends MutableTableNames<DB>>(into: TableName): InsertQueryBuilder<DB, TableName>;
|
|
242
239
|
/**
|
|
243
240
|
* Creates a new update query builder for the specified table.
|
|
244
241
|
* @param tableName - The name of the table to update.
|
|
@@ -250,7 +247,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
|
|
|
250
247
|
* const updateQuery = qb.update('users');
|
|
251
248
|
* ```
|
|
252
249
|
*/
|
|
253
|
-
update<TableName extends
|
|
250
|
+
update<TableName extends MutableTableNames<DB>>(tableName: TableName): UpdateQueryBuilder<DB, TableName>;
|
|
254
251
|
/**
|
|
255
252
|
* Creates a builder scoped to a specific plugin for executing plugin actions.
|
|
256
253
|
* @param pluginName - The name of the plugin.
|
|
@@ -276,7 +273,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
|
|
|
276
273
|
* const deleteQuery = qb.deleteFrom('users');
|
|
277
274
|
* ```
|
|
278
275
|
*/
|
|
279
|
-
deleteFrom<TableName extends
|
|
276
|
+
deleteFrom<TableName extends MutableTableNames<DB>>(tableName: TableName): DeleteQueryBuilder<DB, TableName>;
|
|
280
277
|
/**
|
|
281
278
|
* Creates a new batch query builder.
|
|
282
279
|
* @param builders - An array of query builders to execute in a batch.
|
|
@@ -304,7 +301,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
|
|
|
304
301
|
* const aggregateQuery = qb.aggregateFrom('users');
|
|
305
302
|
* ```
|
|
306
303
|
*/
|
|
307
|
-
aggregateFrom<TableName extends
|
|
304
|
+
aggregateFrom<TableName extends ReadableTableNames<DB>>(tableName: TableName): AggregationQueryBuilder<DB, TableName>;
|
|
308
305
|
uploadAttachments(files: {
|
|
309
306
|
file: Blob;
|
|
310
307
|
name: string;
|
|
@@ -327,3 +324,4 @@ export declare function createQueryBuilder<DB extends AnyDB>(config: {
|
|
|
327
324
|
baseId: string;
|
|
328
325
|
apiKey: string;
|
|
329
326
|
}): RootQueryBuilder<DB>;
|
|
327
|
+
export {};
|
|
@@ -253,12 +253,10 @@ class QueryBuilder extends where_query_builder_js_1.FilterableQueryBuilder {
|
|
|
253
253
|
if (Array.isArray(data)) {
|
|
254
254
|
return data.map(item => this._transformResponse(item));
|
|
255
255
|
}
|
|
256
|
+
if (typeof data === 'string' && data.startsWith('files/')) {
|
|
257
|
+
return `${MEDIA_UPLOADER_HOST}/${data}`;
|
|
258
|
+
}
|
|
256
259
|
if (data && typeof data === 'object') {
|
|
257
|
-
// Check if this looks like an attachment object
|
|
258
|
-
if (this._isAttachmentObject(data)) {
|
|
259
|
-
return `${MEDIA_UPLOADER_HOST}/${data.url}`;
|
|
260
|
-
}
|
|
261
|
-
// Recursively transform nested objects
|
|
262
260
|
const transformed = {};
|
|
263
261
|
for (const [key, value] of Object.entries(data)) {
|
|
264
262
|
transformed[key] = this._transformResponse(value);
|
|
@@ -267,20 +265,6 @@ class QueryBuilder extends where_query_builder_js_1.FilterableQueryBuilder {
|
|
|
267
265
|
}
|
|
268
266
|
return data;
|
|
269
267
|
}
|
|
270
|
-
/**
|
|
271
|
-
* Checks if an object looks like an attachment object.
|
|
272
|
-
* @private
|
|
273
|
-
*/
|
|
274
|
-
_isAttachmentObject(obj) {
|
|
275
|
-
return (obj &&
|
|
276
|
-
typeof obj === 'object' &&
|
|
277
|
-
'id' in obj &&
|
|
278
|
-
'url' in obj &&
|
|
279
|
-
'fileType' in obj &&
|
|
280
|
-
'size' in obj &&
|
|
281
|
-
typeof obj.url === 'string' &&
|
|
282
|
-
obj.url.startsWith('files/'));
|
|
283
|
-
}
|
|
284
268
|
subscribe(callback) {
|
|
285
269
|
return this._executor.subscribe([this], callback);
|
|
286
270
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { ColumnType } from '@taylordb/shared';
|
|
1
2
|
import { AbstractLinkColumn } from './internal-types';
|
|
3
|
+
export type TableNames<DB> = {
|
|
4
|
+
[K in keyof DB]: DB[K] extends Record<string, any> ? keyof DB[K] extends never ? never : DB[K][keyof DB[K]] extends ColumnType<any, any, any, any, any, any> ? K : never : never;
|
|
5
|
+
}[keyof DB];
|
|
2
6
|
export type NonLinkColumnNames<T> = {
|
|
3
7
|
[K in keyof T]: T[K] extends AbstractLinkColumn ? never : K;
|
|
4
8
|
}[keyof T];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Attachment, } from '@taylordb/shared';
|
|
2
|
-
import { createQueryBuilder, sum } from '../index.js';
|
|
2
|
+
import { autoNumberField, dateField, defineTaylorSchema, linkField, numberField, searchField, selectField, textField, createQueryBuilder, sum, } from '../index.js';
|
|
3
3
|
import { SocketConnection } from '../socket-connection.js';
|
|
4
4
|
export const CustomersStatusOptions = ['Pending', 'Active'];
|
|
5
5
|
export const TagsOptions = ['Urgent', 'Low Priority'];
|
|
@@ -13,6 +13,115 @@ jest.mock('socket.io-client', () => {
|
|
|
13
13
|
io: jest.fn(() => mockSocket),
|
|
14
14
|
};
|
|
15
15
|
});
|
|
16
|
+
describe('runtime schema helpers', () => {
|
|
17
|
+
it('preserves runtime field metadata and infers query-builder types', () => {
|
|
18
|
+
const runtimeSchema = defineTaylorSchema({
|
|
19
|
+
projects: {
|
|
20
|
+
id: autoNumberField(),
|
|
21
|
+
name: textField({ required: true }),
|
|
22
|
+
budget: numberField({ required: false }),
|
|
23
|
+
status: selectField({
|
|
24
|
+
required: false,
|
|
25
|
+
mode: 'single',
|
|
26
|
+
options: ['Pending', 'Active'],
|
|
27
|
+
}),
|
|
28
|
+
tags: selectField({
|
|
29
|
+
required: false,
|
|
30
|
+
mode: 'multi',
|
|
31
|
+
options: ['Urgent', 'Low Priority'],
|
|
32
|
+
}),
|
|
33
|
+
owner: linkField({ required: false, linkedTo: 'collaborators' }),
|
|
34
|
+
createdAt: dateField({ required: false }),
|
|
35
|
+
searchText: searchField(),
|
|
36
|
+
},
|
|
37
|
+
collaborators: {
|
|
38
|
+
id: autoNumberField(),
|
|
39
|
+
name: textField({ required: true }),
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
expect(runtimeSchema.projects.status).toEqual({
|
|
43
|
+
type: 'select',
|
|
44
|
+
required: false,
|
|
45
|
+
mode: 'single',
|
|
46
|
+
options: ['Pending', 'Active'],
|
|
47
|
+
insertable: true,
|
|
48
|
+
updatable: true,
|
|
49
|
+
});
|
|
50
|
+
expect(runtimeSchema.projects.owner).toMatchObject({
|
|
51
|
+
type: 'link',
|
|
52
|
+
required: false,
|
|
53
|
+
linkedTo: 'collaborators',
|
|
54
|
+
insertable: true,
|
|
55
|
+
updatable: true,
|
|
56
|
+
});
|
|
57
|
+
expect(runtimeSchema.projects.id).toMatchObject({
|
|
58
|
+
type: 'autoNumber',
|
|
59
|
+
insertable: false,
|
|
60
|
+
updatable: false,
|
|
61
|
+
});
|
|
62
|
+
const qb = createQueryBuilder({
|
|
63
|
+
baseUrl: 'http://localhost',
|
|
64
|
+
baseId: 'test-base-id',
|
|
65
|
+
apiKey: 'test',
|
|
66
|
+
});
|
|
67
|
+
qb.selectFrom('projects')
|
|
68
|
+
.select(['name', 'status'])
|
|
69
|
+
.where('status', '=', 'Active')
|
|
70
|
+
.where('tags', 'hasAnyOf', ['Urgent'])
|
|
71
|
+
.where('owner', '=', 1)
|
|
72
|
+
.where('budget', '>=', 100);
|
|
73
|
+
qb.insertInto('projects').values({
|
|
74
|
+
name: 'Runtime schema',
|
|
75
|
+
status: 'Pending',
|
|
76
|
+
tags: ['Low Priority'],
|
|
77
|
+
owner: [1],
|
|
78
|
+
budget: 10,
|
|
79
|
+
createdAt: '2026-05-19',
|
|
80
|
+
searchText: 'runtime schema',
|
|
81
|
+
});
|
|
82
|
+
qb.update('projects').set({
|
|
83
|
+
status: 'Active',
|
|
84
|
+
tags: ['Urgent'],
|
|
85
|
+
owner: { newIds: [1], deletedIds: [] },
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
it('keeps generated plugin action types strict', () => {
|
|
89
|
+
const qb = createQueryBuilder({
|
|
90
|
+
baseUrl: 'http://localhost',
|
|
91
|
+
baseId: 'test-base-id',
|
|
92
|
+
apiKey: 'test',
|
|
93
|
+
});
|
|
94
|
+
qb.plugin('email').action('send').input({
|
|
95
|
+
recordId: 1,
|
|
96
|
+
scheduledAt: '2026-05-19T00:00:00Z',
|
|
97
|
+
});
|
|
98
|
+
// @ts-expect-error unknown plugins must be rejected
|
|
99
|
+
qb.plugin('not-a-plugin');
|
|
100
|
+
// @ts-expect-error unknown actions must be rejected
|
|
101
|
+
qb.plugin('email').action('not-an-action');
|
|
102
|
+
// @ts-expect-error input must match the action input type
|
|
103
|
+
qb.plugin('email').action('send').input({ recordId: 'wrong' });
|
|
104
|
+
// @ts-expect-error excess input fields must be rejected
|
|
105
|
+
qb.plugin('email').action('send').input({ unknown: true });
|
|
106
|
+
});
|
|
107
|
+
it('does not expose plugins as queryable tables', () => {
|
|
108
|
+
const qb = createQueryBuilder({
|
|
109
|
+
baseUrl: 'http://localhost',
|
|
110
|
+
baseId: 'test-base-id',
|
|
111
|
+
apiKey: 'test',
|
|
112
|
+
});
|
|
113
|
+
// @ts-expect-error plugin metadata is not a readable table
|
|
114
|
+
qb.selectFrom('_plugins');
|
|
115
|
+
// @ts-expect-error plugin metadata is not an insertable table
|
|
116
|
+
qb.insertInto('_plugins');
|
|
117
|
+
// @ts-expect-error plugin metadata is not an updatable table
|
|
118
|
+
qb.update('_plugins');
|
|
119
|
+
// @ts-expect-error plugin metadata is not a deletable table
|
|
120
|
+
qb.deleteFrom('_plugins');
|
|
121
|
+
// @ts-expect-error plugin metadata is not an aggregatable table
|
|
122
|
+
qb.aggregateFrom('_plugins');
|
|
123
|
+
});
|
|
124
|
+
});
|
|
16
125
|
describe('QueryBuilder', () => {
|
|
17
126
|
let mockRawRequest;
|
|
18
127
|
beforeEach(() => {
|
|
@@ -646,6 +755,88 @@ describe('QueryBuilder', () => {
|
|
|
646
755
|
size: 1483249,
|
|
647
756
|
});
|
|
648
757
|
});
|
|
758
|
+
it('should transform attachment path strings to absolute URLs in select response', async () => {
|
|
759
|
+
mockRawRequest.mockResolvedValueOnce([
|
|
760
|
+
[
|
|
761
|
+
{
|
|
762
|
+
id: 1,
|
|
763
|
+
firstName: 'Jane',
|
|
764
|
+
avatar: [
|
|
765
|
+
'files/bucket/31529ce5.png',
|
|
766
|
+
'files/bucket/another-file.jpg',
|
|
767
|
+
],
|
|
768
|
+
},
|
|
769
|
+
],
|
|
770
|
+
]);
|
|
771
|
+
const result = await qb
|
|
772
|
+
.selectFrom('customers')
|
|
773
|
+
.select(['firstName', 'avatar'])
|
|
774
|
+
.executeTakeFirst();
|
|
775
|
+
expect(result).toEqual({
|
|
776
|
+
id: 1,
|
|
777
|
+
firstName: 'Jane',
|
|
778
|
+
avatar: [
|
|
779
|
+
'https://media.taylordb.ai/files/bucket/31529ce5.png',
|
|
780
|
+
'https://media.taylordb.ai/files/bucket/another-file.jpg',
|
|
781
|
+
],
|
|
782
|
+
});
|
|
783
|
+
});
|
|
784
|
+
it('should not transform non-attachment strings in select response', async () => {
|
|
785
|
+
mockRawRequest.mockResolvedValueOnce([
|
|
786
|
+
[
|
|
787
|
+
{
|
|
788
|
+
id: 1,
|
|
789
|
+
firstName: 'Jane',
|
|
790
|
+
lastName: 'Doe',
|
|
791
|
+
},
|
|
792
|
+
],
|
|
793
|
+
]);
|
|
794
|
+
const result = await qb
|
|
795
|
+
.selectFrom('customers')
|
|
796
|
+
.select(['firstName', 'lastName'])
|
|
797
|
+
.executeTakeFirst();
|
|
798
|
+
expect(result).toEqual({ id: 1, firstName: 'Jane', lastName: 'Doe' });
|
|
799
|
+
});
|
|
800
|
+
it('should return empty array for empty attachment field in select response', async () => {
|
|
801
|
+
mockRawRequest.mockResolvedValueOnce([
|
|
802
|
+
[
|
|
803
|
+
{
|
|
804
|
+
id: 1,
|
|
805
|
+
firstName: 'Jane',
|
|
806
|
+
avatar: [],
|
|
807
|
+
},
|
|
808
|
+
],
|
|
809
|
+
]);
|
|
810
|
+
const result = await qb
|
|
811
|
+
.selectFrom('customers')
|
|
812
|
+
.select(['firstName', 'avatar'])
|
|
813
|
+
.executeTakeFirst();
|
|
814
|
+
expect(result).toEqual({ id: 1, firstName: 'Jane', avatar: [] });
|
|
815
|
+
});
|
|
816
|
+
it('should transform attachment paths in a list of records', async () => {
|
|
817
|
+
mockRawRequest.mockResolvedValueOnce([
|
|
818
|
+
[
|
|
819
|
+
{ id: 1, firstName: 'Jane', avatar: ['files/bucket/a.png'] },
|
|
820
|
+
{ id: 2, firstName: 'John', avatar: ['files/bucket/b.png'] },
|
|
821
|
+
],
|
|
822
|
+
]);
|
|
823
|
+
const result = await qb
|
|
824
|
+
.selectFrom('customers')
|
|
825
|
+
.select(['firstName', 'avatar'])
|
|
826
|
+
.execute();
|
|
827
|
+
expect(result).toEqual([
|
|
828
|
+
{
|
|
829
|
+
id: 1,
|
|
830
|
+
firstName: 'Jane',
|
|
831
|
+
avatar: ['https://media.taylordb.ai/files/bucket/a.png'],
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
id: 2,
|
|
835
|
+
firstName: 'John',
|
|
836
|
+
avatar: ['https://media.taylordb.ai/files/bucket/b.png'],
|
|
837
|
+
},
|
|
838
|
+
]);
|
|
839
|
+
});
|
|
649
840
|
it('should compile an insert query with multi-select array and execute', async () => {
|
|
650
841
|
await qb
|
|
651
842
|
.insertInto('orders')
|