drizzle-cube 0.1.3 → 0.1.4
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 +24 -2
- package/dist/adapters/hono/index.d.ts +5 -1
- package/dist/adapters/hono/index.js +187 -93
- package/dist/client/client/CubeClient.d.ts +14 -0
- package/dist/client/components/AnalyticsDashboard.d.ts +2 -0
- package/dist/client/components/AnalyticsPage.d.ts +1 -0
- package/dist/client/components/AnalyticsPortlet.d.ts +6 -0
- package/dist/client/components/ChartConfigEditor.d.ts +8 -0
- package/dist/client/components/ChartErrorBoundary.d.ts +21 -0
- package/dist/client/components/DashboardEditModal.d.ts +14 -0
- package/dist/client/components/DashboardGrid.d.ts +11 -0
- package/dist/client/components/Modal.d.ts +15 -0
- package/dist/client/components/PortletContainer.d.ts +10 -0
- package/dist/client/components/PortletEditModal.d.ts +12 -0
- package/dist/client/components/charts/AreaChart.d.ts +2 -0
- package/dist/client/components/charts/BarChart.d.ts +2 -0
- package/dist/client/components/charts/ChartContainer.d.ts +7 -0
- package/dist/client/components/charts/ChartLegend.d.ts +7 -0
- package/dist/client/components/charts/ChartTooltip.d.ts +7 -0
- package/dist/client/components/charts/DataTable.d.ts +2 -0
- package/dist/client/components/charts/LineChart.d.ts +2 -0
- package/dist/client/components/charts/PieChart.d.ts +2 -0
- package/dist/client/components/charts/RadarChart.d.ts +2 -0
- package/dist/client/components/charts/RadialBarChart.d.ts +2 -0
- package/dist/client/components/charts/ScatterChart.d.ts +2 -0
- package/dist/client/components/charts/TreeMapChart.d.ts +2 -0
- package/dist/client/components/charts/index.d.ts +13 -0
- package/dist/client/hooks/useCubeQuery.d.ts +8 -0
- package/dist/client/index.d.ts +14 -0
- package/dist/client/index.js +23813 -4
- package/dist/client/providers/CubeProvider.d.ts +15 -0
- package/dist/client/styles.css +1 -0
- package/dist/client/types.d.ts +111 -0
- package/dist/client/utils/chartConstants.d.ts +15 -0
- package/dist/client/utils/chartUtils.d.ts +9 -0
- package/dist/client/utils/index.d.ts +87 -0
- package/dist/server/index.d.ts +74 -1155
- package/dist/server/index.js +1036 -2842
- package/package.json +10 -3
package/dist/server/index.d.ts
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { AnyColumn } from 'drizzle-orm';
|
|
2
|
-
import { Many } from 'drizzle-orm';
|
|
3
|
-
import { One } from 'drizzle-orm';
|
|
4
|
-
import { PgColumn } from 'drizzle-orm/pg-core';
|
|
5
|
-
import { PgTableWithColumns } from 'drizzle-orm/pg-core';
|
|
6
|
-
import { Relations } from 'drizzle-orm';
|
|
7
2
|
import { SQL } from 'drizzle-orm';
|
|
8
3
|
|
|
9
4
|
/**
|
|
@@ -13,7 +8,7 @@ export declare abstract class BaseDatabaseExecutor<TSchema extends Record<string
|
|
|
13
8
|
db: DrizzleDatabase<TSchema>;
|
|
14
9
|
schema?: TSchema | undefined;
|
|
15
10
|
constructor(db: DrizzleDatabase<TSchema>, schema?: TSchema | undefined);
|
|
16
|
-
abstract execute<T = any[]>(query: SQL | any): Promise<T>;
|
|
11
|
+
abstract execute<T = any[]>(query: SQL | any, measureFields?: string[]): Promise<T>;
|
|
17
12
|
abstract getEngineType(): 'postgres' | 'mysql' | 'sqlite';
|
|
18
13
|
}
|
|
19
14
|
|
|
@@ -106,6 +101,8 @@ export declare interface Cube<TSchema extends Record<string, any> = Record<strin
|
|
|
106
101
|
dimensions: Record<string, Dimension<TSchema>>;
|
|
107
102
|
/** Cube measures using direct column references */
|
|
108
103
|
measures: Record<string, Measure<TSchema>>;
|
|
104
|
+
/** Optional joins to other cubes for multi-cube queries */
|
|
105
|
+
joins?: Record<string, CubeJoin<TSchema>>;
|
|
109
106
|
}
|
|
110
107
|
|
|
111
108
|
/**
|
|
@@ -150,14 +147,6 @@ export declare interface CubeMetadata {
|
|
|
150
147
|
segments: any[];
|
|
151
148
|
}
|
|
152
149
|
|
|
153
|
-
/**
|
|
154
|
-
* Enhanced Cube with join definitions for multi-cube support
|
|
155
|
-
*/
|
|
156
|
-
export declare interface CubeWithJoins<TSchema extends Record<string, any> = Record<string, any>> extends Cube<TSchema> {
|
|
157
|
-
/** Joins to other cubes for multi-cube queries */
|
|
158
|
-
joins?: Record<string, CubeJoin<TSchema>>;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
150
|
/**
|
|
162
151
|
* Database executor that wraps Drizzle ORM
|
|
163
152
|
* Provides type-safe SQL execution with engine-specific implementations
|
|
@@ -168,7 +157,7 @@ export declare interface DatabaseExecutor<TSchema extends Record<string, any> =
|
|
|
168
157
|
/** Optional schema for type inference */
|
|
169
158
|
schema?: TSchema;
|
|
170
159
|
/** Execute a Drizzle SQL query or query object */
|
|
171
|
-
execute<T = any[]>(query: SQL | any): Promise<T>;
|
|
160
|
+
execute<T = any[]>(query: SQL | any, measureFields?: string[]): Promise<T>;
|
|
172
161
|
/** Get the database engine type */
|
|
173
162
|
getEngineType(): 'postgres' | 'mysql' | 'sqlite';
|
|
174
163
|
}
|
|
@@ -194,121 +183,6 @@ export declare function defineLegacyCube<TSchema extends Record<string, any>>(_s
|
|
|
194
183
|
name: string;
|
|
195
184
|
}): SemanticCube<TSchema>;
|
|
196
185
|
|
|
197
|
-
export declare const departments: PgTableWithColumns< {
|
|
198
|
-
name: "departments";
|
|
199
|
-
schema: undefined;
|
|
200
|
-
columns: {
|
|
201
|
-
id: PgColumn< {
|
|
202
|
-
name: "id";
|
|
203
|
-
tableName: "departments";
|
|
204
|
-
dataType: "number";
|
|
205
|
-
columnType: "PgInteger";
|
|
206
|
-
data: number;
|
|
207
|
-
driverParam: string | number;
|
|
208
|
-
notNull: true;
|
|
209
|
-
hasDefault: false;
|
|
210
|
-
isPrimaryKey: true;
|
|
211
|
-
isAutoincrement: false;
|
|
212
|
-
hasRuntimeDefault: false;
|
|
213
|
-
enumValues: undefined;
|
|
214
|
-
baseColumn: never;
|
|
215
|
-
identity: undefined;
|
|
216
|
-
generated: undefined;
|
|
217
|
-
}, {}, {}>;
|
|
218
|
-
name: PgColumn< {
|
|
219
|
-
name: "name";
|
|
220
|
-
tableName: "departments";
|
|
221
|
-
dataType: "string";
|
|
222
|
-
columnType: "PgText";
|
|
223
|
-
data: string;
|
|
224
|
-
driverParam: string;
|
|
225
|
-
notNull: true;
|
|
226
|
-
hasDefault: false;
|
|
227
|
-
isPrimaryKey: false;
|
|
228
|
-
isAutoincrement: false;
|
|
229
|
-
hasRuntimeDefault: false;
|
|
230
|
-
enumValues: [string, ...string[]];
|
|
231
|
-
baseColumn: never;
|
|
232
|
-
identity: undefined;
|
|
233
|
-
generated: undefined;
|
|
234
|
-
}, {}, {}>;
|
|
235
|
-
description: PgColumn< {
|
|
236
|
-
name: "description";
|
|
237
|
-
tableName: "departments";
|
|
238
|
-
dataType: "string";
|
|
239
|
-
columnType: "PgText";
|
|
240
|
-
data: string;
|
|
241
|
-
driverParam: string;
|
|
242
|
-
notNull: false;
|
|
243
|
-
hasDefault: false;
|
|
244
|
-
isPrimaryKey: false;
|
|
245
|
-
isAutoincrement: false;
|
|
246
|
-
hasRuntimeDefault: false;
|
|
247
|
-
enumValues: [string, ...string[]];
|
|
248
|
-
baseColumn: never;
|
|
249
|
-
identity: undefined;
|
|
250
|
-
generated: undefined;
|
|
251
|
-
}, {}, {}>;
|
|
252
|
-
organisation: PgColumn< {
|
|
253
|
-
name: "organisation";
|
|
254
|
-
tableName: "departments";
|
|
255
|
-
dataType: "number";
|
|
256
|
-
columnType: "PgInteger";
|
|
257
|
-
data: number;
|
|
258
|
-
driverParam: string | number;
|
|
259
|
-
notNull: true;
|
|
260
|
-
hasDefault: false;
|
|
261
|
-
isPrimaryKey: false;
|
|
262
|
-
isAutoincrement: false;
|
|
263
|
-
hasRuntimeDefault: false;
|
|
264
|
-
enumValues: undefined;
|
|
265
|
-
baseColumn: never;
|
|
266
|
-
identity: undefined;
|
|
267
|
-
generated: undefined;
|
|
268
|
-
}, {}, {}>;
|
|
269
|
-
createdAt: PgColumn< {
|
|
270
|
-
name: "created_at";
|
|
271
|
-
tableName: "departments";
|
|
272
|
-
dataType: "date";
|
|
273
|
-
columnType: "PgTimestamp";
|
|
274
|
-
data: Date;
|
|
275
|
-
driverParam: string;
|
|
276
|
-
notNull: false;
|
|
277
|
-
hasDefault: true;
|
|
278
|
-
isPrimaryKey: false;
|
|
279
|
-
isAutoincrement: false;
|
|
280
|
-
hasRuntimeDefault: false;
|
|
281
|
-
enumValues: undefined;
|
|
282
|
-
baseColumn: never;
|
|
283
|
-
identity: undefined;
|
|
284
|
-
generated: undefined;
|
|
285
|
-
}, {}, {}>;
|
|
286
|
-
updatedAt: PgColumn< {
|
|
287
|
-
name: "updated_at";
|
|
288
|
-
tableName: "departments";
|
|
289
|
-
dataType: "date";
|
|
290
|
-
columnType: "PgTimestamp";
|
|
291
|
-
data: Date;
|
|
292
|
-
driverParam: string;
|
|
293
|
-
notNull: false;
|
|
294
|
-
hasDefault: true;
|
|
295
|
-
isPrimaryKey: false;
|
|
296
|
-
isAutoincrement: false;
|
|
297
|
-
hasRuntimeDefault: false;
|
|
298
|
-
enumValues: undefined;
|
|
299
|
-
baseColumn: never;
|
|
300
|
-
identity: undefined;
|
|
301
|
-
generated: undefined;
|
|
302
|
-
}, {}, {}>;
|
|
303
|
-
};
|
|
304
|
-
dialect: "pg";
|
|
305
|
-
}>;
|
|
306
|
-
|
|
307
|
-
export declare const departmentsRelations: Relations<"departments", {
|
|
308
|
-
organisation: One<"organisations", true>;
|
|
309
|
-
employees: Many<"employees">;
|
|
310
|
-
}>;
|
|
311
|
-
|
|
312
186
|
/**
|
|
313
187
|
* Dimension definition
|
|
314
188
|
*/
|
|
@@ -374,785 +248,6 @@ export declare type DrizzleDatabase<TSchema extends Record<string, any> = Record
|
|
|
374
248
|
schema?: TSchema;
|
|
375
249
|
};
|
|
376
250
|
|
|
377
|
-
export declare const employees: PgTableWithColumns< {
|
|
378
|
-
name: "employees";
|
|
379
|
-
schema: undefined;
|
|
380
|
-
columns: {
|
|
381
|
-
id: PgColumn< {
|
|
382
|
-
name: "id";
|
|
383
|
-
tableName: "employees";
|
|
384
|
-
dataType: "number";
|
|
385
|
-
columnType: "PgInteger";
|
|
386
|
-
data: number;
|
|
387
|
-
driverParam: string | number;
|
|
388
|
-
notNull: true;
|
|
389
|
-
hasDefault: false;
|
|
390
|
-
isPrimaryKey: true;
|
|
391
|
-
isAutoincrement: false;
|
|
392
|
-
hasRuntimeDefault: false;
|
|
393
|
-
enumValues: undefined;
|
|
394
|
-
baseColumn: never;
|
|
395
|
-
identity: undefined;
|
|
396
|
-
generated: undefined;
|
|
397
|
-
}, {}, {}>;
|
|
398
|
-
name: PgColumn< {
|
|
399
|
-
name: "name";
|
|
400
|
-
tableName: "employees";
|
|
401
|
-
dataType: "string";
|
|
402
|
-
columnType: "PgText";
|
|
403
|
-
data: string;
|
|
404
|
-
driverParam: string;
|
|
405
|
-
notNull: true;
|
|
406
|
-
hasDefault: false;
|
|
407
|
-
isPrimaryKey: false;
|
|
408
|
-
isAutoincrement: false;
|
|
409
|
-
hasRuntimeDefault: false;
|
|
410
|
-
enumValues: [string, ...string[]];
|
|
411
|
-
baseColumn: never;
|
|
412
|
-
identity: undefined;
|
|
413
|
-
generated: undefined;
|
|
414
|
-
}, {}, {}>;
|
|
415
|
-
email: PgColumn< {
|
|
416
|
-
name: "email";
|
|
417
|
-
tableName: "employees";
|
|
418
|
-
dataType: "string";
|
|
419
|
-
columnType: "PgText";
|
|
420
|
-
data: string;
|
|
421
|
-
driverParam: string;
|
|
422
|
-
notNull: true;
|
|
423
|
-
hasDefault: false;
|
|
424
|
-
isPrimaryKey: false;
|
|
425
|
-
isAutoincrement: false;
|
|
426
|
-
hasRuntimeDefault: false;
|
|
427
|
-
enumValues: [string, ...string[]];
|
|
428
|
-
baseColumn: never;
|
|
429
|
-
identity: undefined;
|
|
430
|
-
generated: undefined;
|
|
431
|
-
}, {}, {}>;
|
|
432
|
-
active: PgColumn< {
|
|
433
|
-
name: "active";
|
|
434
|
-
tableName: "employees";
|
|
435
|
-
dataType: "boolean";
|
|
436
|
-
columnType: "PgBoolean";
|
|
437
|
-
data: boolean;
|
|
438
|
-
driverParam: boolean;
|
|
439
|
-
notNull: false;
|
|
440
|
-
hasDefault: true;
|
|
441
|
-
isPrimaryKey: false;
|
|
442
|
-
isAutoincrement: false;
|
|
443
|
-
hasRuntimeDefault: false;
|
|
444
|
-
enumValues: undefined;
|
|
445
|
-
baseColumn: never;
|
|
446
|
-
identity: undefined;
|
|
447
|
-
generated: undefined;
|
|
448
|
-
}, {}, {}>;
|
|
449
|
-
fteBasis: PgColumn< {
|
|
450
|
-
name: "fte_basis";
|
|
451
|
-
tableName: "employees";
|
|
452
|
-
dataType: "string";
|
|
453
|
-
columnType: "PgNumeric";
|
|
454
|
-
data: string;
|
|
455
|
-
driverParam: string;
|
|
456
|
-
notNull: false;
|
|
457
|
-
hasDefault: true;
|
|
458
|
-
isPrimaryKey: false;
|
|
459
|
-
isAutoincrement: false;
|
|
460
|
-
hasRuntimeDefault: false;
|
|
461
|
-
enumValues: undefined;
|
|
462
|
-
baseColumn: never;
|
|
463
|
-
identity: undefined;
|
|
464
|
-
generated: undefined;
|
|
465
|
-
}, {}, {}>;
|
|
466
|
-
startDate: PgColumn< {
|
|
467
|
-
name: "start_date";
|
|
468
|
-
tableName: "employees";
|
|
469
|
-
dataType: "date";
|
|
470
|
-
columnType: "PgTimestamp";
|
|
471
|
-
data: Date;
|
|
472
|
-
driverParam: string;
|
|
473
|
-
notNull: false;
|
|
474
|
-
hasDefault: false;
|
|
475
|
-
isPrimaryKey: false;
|
|
476
|
-
isAutoincrement: false;
|
|
477
|
-
hasRuntimeDefault: false;
|
|
478
|
-
enumValues: undefined;
|
|
479
|
-
baseColumn: never;
|
|
480
|
-
identity: undefined;
|
|
481
|
-
generated: undefined;
|
|
482
|
-
}, {}, {}>;
|
|
483
|
-
endDate: PgColumn< {
|
|
484
|
-
name: "end_date";
|
|
485
|
-
tableName: "employees";
|
|
486
|
-
dataType: "date";
|
|
487
|
-
columnType: "PgTimestamp";
|
|
488
|
-
data: Date;
|
|
489
|
-
driverParam: string;
|
|
490
|
-
notNull: false;
|
|
491
|
-
hasDefault: false;
|
|
492
|
-
isPrimaryKey: false;
|
|
493
|
-
isAutoincrement: false;
|
|
494
|
-
hasRuntimeDefault: false;
|
|
495
|
-
enumValues: undefined;
|
|
496
|
-
baseColumn: never;
|
|
497
|
-
identity: undefined;
|
|
498
|
-
generated: undefined;
|
|
499
|
-
}, {}, {}>;
|
|
500
|
-
department: PgColumn< {
|
|
501
|
-
name: "department";
|
|
502
|
-
tableName: "employees";
|
|
503
|
-
dataType: "number";
|
|
504
|
-
columnType: "PgInteger";
|
|
505
|
-
data: number;
|
|
506
|
-
driverParam: string | number;
|
|
507
|
-
notNull: false;
|
|
508
|
-
hasDefault: false;
|
|
509
|
-
isPrimaryKey: false;
|
|
510
|
-
isAutoincrement: false;
|
|
511
|
-
hasRuntimeDefault: false;
|
|
512
|
-
enumValues: undefined;
|
|
513
|
-
baseColumn: never;
|
|
514
|
-
identity: undefined;
|
|
515
|
-
generated: undefined;
|
|
516
|
-
}, {}, {}>;
|
|
517
|
-
supplier: PgColumn< {
|
|
518
|
-
name: "supplier";
|
|
519
|
-
tableName: "employees";
|
|
520
|
-
dataType: "number";
|
|
521
|
-
columnType: "PgInteger";
|
|
522
|
-
data: number;
|
|
523
|
-
driverParam: string | number;
|
|
524
|
-
notNull: false;
|
|
525
|
-
hasDefault: false;
|
|
526
|
-
isPrimaryKey: false;
|
|
527
|
-
isAutoincrement: false;
|
|
528
|
-
hasRuntimeDefault: false;
|
|
529
|
-
enumValues: undefined;
|
|
530
|
-
baseColumn: never;
|
|
531
|
-
identity: undefined;
|
|
532
|
-
generated: undefined;
|
|
533
|
-
}, {}, {}>;
|
|
534
|
-
organisation: PgColumn< {
|
|
535
|
-
name: "organisation";
|
|
536
|
-
tableName: "employees";
|
|
537
|
-
dataType: "number";
|
|
538
|
-
columnType: "PgInteger";
|
|
539
|
-
data: number;
|
|
540
|
-
driverParam: string | number;
|
|
541
|
-
notNull: true;
|
|
542
|
-
hasDefault: false;
|
|
543
|
-
isPrimaryKey: false;
|
|
544
|
-
isAutoincrement: false;
|
|
545
|
-
hasRuntimeDefault: false;
|
|
546
|
-
enumValues: undefined;
|
|
547
|
-
baseColumn: never;
|
|
548
|
-
identity: undefined;
|
|
549
|
-
generated: undefined;
|
|
550
|
-
}, {}, {}>;
|
|
551
|
-
createdAt: PgColumn< {
|
|
552
|
-
name: "created_at";
|
|
553
|
-
tableName: "employees";
|
|
554
|
-
dataType: "date";
|
|
555
|
-
columnType: "PgTimestamp";
|
|
556
|
-
data: Date;
|
|
557
|
-
driverParam: string;
|
|
558
|
-
notNull: false;
|
|
559
|
-
hasDefault: true;
|
|
560
|
-
isPrimaryKey: false;
|
|
561
|
-
isAutoincrement: false;
|
|
562
|
-
hasRuntimeDefault: false;
|
|
563
|
-
enumValues: undefined;
|
|
564
|
-
baseColumn: never;
|
|
565
|
-
identity: undefined;
|
|
566
|
-
generated: undefined;
|
|
567
|
-
}, {}, {}>;
|
|
568
|
-
updatedAt: PgColumn< {
|
|
569
|
-
name: "updated_at";
|
|
570
|
-
tableName: "employees";
|
|
571
|
-
dataType: "date";
|
|
572
|
-
columnType: "PgTimestamp";
|
|
573
|
-
data: Date;
|
|
574
|
-
driverParam: string;
|
|
575
|
-
notNull: false;
|
|
576
|
-
hasDefault: true;
|
|
577
|
-
isPrimaryKey: false;
|
|
578
|
-
isAutoincrement: false;
|
|
579
|
-
hasRuntimeDefault: false;
|
|
580
|
-
enumValues: undefined;
|
|
581
|
-
baseColumn: never;
|
|
582
|
-
identity: undefined;
|
|
583
|
-
generated: undefined;
|
|
584
|
-
}, {}, {}>;
|
|
585
|
-
};
|
|
586
|
-
dialect: "pg";
|
|
587
|
-
}>;
|
|
588
|
-
|
|
589
|
-
export declare const employeesRelations: Relations<"employees", {
|
|
590
|
-
organisation: One<"organisations", true>;
|
|
591
|
-
department: One<"departments", false>;
|
|
592
|
-
supplier: One<"suppliers", false>;
|
|
593
|
-
}>;
|
|
594
|
-
|
|
595
|
-
export declare type ExampleSchema = typeof exampleSchema;
|
|
596
|
-
|
|
597
|
-
export declare const exampleSchema: {
|
|
598
|
-
organisations: PgTableWithColumns< {
|
|
599
|
-
name: "organisations";
|
|
600
|
-
schema: undefined;
|
|
601
|
-
columns: {
|
|
602
|
-
id: PgColumn< {
|
|
603
|
-
name: "id";
|
|
604
|
-
tableName: "organisations";
|
|
605
|
-
dataType: "number";
|
|
606
|
-
columnType: "PgInteger";
|
|
607
|
-
data: number;
|
|
608
|
-
driverParam: string | number;
|
|
609
|
-
notNull: true;
|
|
610
|
-
hasDefault: false;
|
|
611
|
-
isPrimaryKey: true;
|
|
612
|
-
isAutoincrement: false;
|
|
613
|
-
hasRuntimeDefault: false;
|
|
614
|
-
enumValues: undefined;
|
|
615
|
-
baseColumn: never;
|
|
616
|
-
identity: undefined;
|
|
617
|
-
generated: undefined;
|
|
618
|
-
}, {}, {}>;
|
|
619
|
-
name: PgColumn< {
|
|
620
|
-
name: "name";
|
|
621
|
-
tableName: "organisations";
|
|
622
|
-
dataType: "string";
|
|
623
|
-
columnType: "PgText";
|
|
624
|
-
data: string;
|
|
625
|
-
driverParam: string;
|
|
626
|
-
notNull: true;
|
|
627
|
-
hasDefault: false;
|
|
628
|
-
isPrimaryKey: false;
|
|
629
|
-
isAutoincrement: false;
|
|
630
|
-
hasRuntimeDefault: false;
|
|
631
|
-
enumValues: [string, ...string[]];
|
|
632
|
-
baseColumn: never;
|
|
633
|
-
identity: undefined;
|
|
634
|
-
generated: undefined;
|
|
635
|
-
}, {}, {}>;
|
|
636
|
-
description: PgColumn< {
|
|
637
|
-
name: "description";
|
|
638
|
-
tableName: "organisations";
|
|
639
|
-
dataType: "string";
|
|
640
|
-
columnType: "PgText";
|
|
641
|
-
data: string;
|
|
642
|
-
driverParam: string;
|
|
643
|
-
notNull: false;
|
|
644
|
-
hasDefault: false;
|
|
645
|
-
isPrimaryKey: false;
|
|
646
|
-
isAutoincrement: false;
|
|
647
|
-
hasRuntimeDefault: false;
|
|
648
|
-
enumValues: [string, ...string[]];
|
|
649
|
-
baseColumn: never;
|
|
650
|
-
identity: undefined;
|
|
651
|
-
generated: undefined;
|
|
652
|
-
}, {}, {}>;
|
|
653
|
-
createdAt: PgColumn< {
|
|
654
|
-
name: "created_at";
|
|
655
|
-
tableName: "organisations";
|
|
656
|
-
dataType: "date";
|
|
657
|
-
columnType: "PgTimestamp";
|
|
658
|
-
data: Date;
|
|
659
|
-
driverParam: string;
|
|
660
|
-
notNull: false;
|
|
661
|
-
hasDefault: true;
|
|
662
|
-
isPrimaryKey: false;
|
|
663
|
-
isAutoincrement: false;
|
|
664
|
-
hasRuntimeDefault: false;
|
|
665
|
-
enumValues: undefined;
|
|
666
|
-
baseColumn: never;
|
|
667
|
-
identity: undefined;
|
|
668
|
-
generated: undefined;
|
|
669
|
-
}, {}, {}>;
|
|
670
|
-
updatedAt: PgColumn< {
|
|
671
|
-
name: "updated_at";
|
|
672
|
-
tableName: "organisations";
|
|
673
|
-
dataType: "date";
|
|
674
|
-
columnType: "PgTimestamp";
|
|
675
|
-
data: Date;
|
|
676
|
-
driverParam: string;
|
|
677
|
-
notNull: false;
|
|
678
|
-
hasDefault: true;
|
|
679
|
-
isPrimaryKey: false;
|
|
680
|
-
isAutoincrement: false;
|
|
681
|
-
hasRuntimeDefault: false;
|
|
682
|
-
enumValues: undefined;
|
|
683
|
-
baseColumn: never;
|
|
684
|
-
identity: undefined;
|
|
685
|
-
generated: undefined;
|
|
686
|
-
}, {}, {}>;
|
|
687
|
-
};
|
|
688
|
-
dialect: "pg";
|
|
689
|
-
}>;
|
|
690
|
-
departments: PgTableWithColumns< {
|
|
691
|
-
name: "departments";
|
|
692
|
-
schema: undefined;
|
|
693
|
-
columns: {
|
|
694
|
-
id: PgColumn< {
|
|
695
|
-
name: "id";
|
|
696
|
-
tableName: "departments";
|
|
697
|
-
dataType: "number";
|
|
698
|
-
columnType: "PgInteger";
|
|
699
|
-
data: number;
|
|
700
|
-
driverParam: string | number;
|
|
701
|
-
notNull: true;
|
|
702
|
-
hasDefault: false;
|
|
703
|
-
isPrimaryKey: true;
|
|
704
|
-
isAutoincrement: false;
|
|
705
|
-
hasRuntimeDefault: false;
|
|
706
|
-
enumValues: undefined;
|
|
707
|
-
baseColumn: never;
|
|
708
|
-
identity: undefined;
|
|
709
|
-
generated: undefined;
|
|
710
|
-
}, {}, {}>;
|
|
711
|
-
name: PgColumn< {
|
|
712
|
-
name: "name";
|
|
713
|
-
tableName: "departments";
|
|
714
|
-
dataType: "string";
|
|
715
|
-
columnType: "PgText";
|
|
716
|
-
data: string;
|
|
717
|
-
driverParam: string;
|
|
718
|
-
notNull: true;
|
|
719
|
-
hasDefault: false;
|
|
720
|
-
isPrimaryKey: false;
|
|
721
|
-
isAutoincrement: false;
|
|
722
|
-
hasRuntimeDefault: false;
|
|
723
|
-
enumValues: [string, ...string[]];
|
|
724
|
-
baseColumn: never;
|
|
725
|
-
identity: undefined;
|
|
726
|
-
generated: undefined;
|
|
727
|
-
}, {}, {}>;
|
|
728
|
-
description: PgColumn< {
|
|
729
|
-
name: "description";
|
|
730
|
-
tableName: "departments";
|
|
731
|
-
dataType: "string";
|
|
732
|
-
columnType: "PgText";
|
|
733
|
-
data: string;
|
|
734
|
-
driverParam: string;
|
|
735
|
-
notNull: false;
|
|
736
|
-
hasDefault: false;
|
|
737
|
-
isPrimaryKey: false;
|
|
738
|
-
isAutoincrement: false;
|
|
739
|
-
hasRuntimeDefault: false;
|
|
740
|
-
enumValues: [string, ...string[]];
|
|
741
|
-
baseColumn: never;
|
|
742
|
-
identity: undefined;
|
|
743
|
-
generated: undefined;
|
|
744
|
-
}, {}, {}>;
|
|
745
|
-
organisation: PgColumn< {
|
|
746
|
-
name: "organisation";
|
|
747
|
-
tableName: "departments";
|
|
748
|
-
dataType: "number";
|
|
749
|
-
columnType: "PgInteger";
|
|
750
|
-
data: number;
|
|
751
|
-
driverParam: string | number;
|
|
752
|
-
notNull: true;
|
|
753
|
-
hasDefault: false;
|
|
754
|
-
isPrimaryKey: false;
|
|
755
|
-
isAutoincrement: false;
|
|
756
|
-
hasRuntimeDefault: false;
|
|
757
|
-
enumValues: undefined;
|
|
758
|
-
baseColumn: never;
|
|
759
|
-
identity: undefined;
|
|
760
|
-
generated: undefined;
|
|
761
|
-
}, {}, {}>;
|
|
762
|
-
createdAt: PgColumn< {
|
|
763
|
-
name: "created_at";
|
|
764
|
-
tableName: "departments";
|
|
765
|
-
dataType: "date";
|
|
766
|
-
columnType: "PgTimestamp";
|
|
767
|
-
data: Date;
|
|
768
|
-
driverParam: string;
|
|
769
|
-
notNull: false;
|
|
770
|
-
hasDefault: true;
|
|
771
|
-
isPrimaryKey: false;
|
|
772
|
-
isAutoincrement: false;
|
|
773
|
-
hasRuntimeDefault: false;
|
|
774
|
-
enumValues: undefined;
|
|
775
|
-
baseColumn: never;
|
|
776
|
-
identity: undefined;
|
|
777
|
-
generated: undefined;
|
|
778
|
-
}, {}, {}>;
|
|
779
|
-
updatedAt: PgColumn< {
|
|
780
|
-
name: "updated_at";
|
|
781
|
-
tableName: "departments";
|
|
782
|
-
dataType: "date";
|
|
783
|
-
columnType: "PgTimestamp";
|
|
784
|
-
data: Date;
|
|
785
|
-
driverParam: string;
|
|
786
|
-
notNull: false;
|
|
787
|
-
hasDefault: true;
|
|
788
|
-
isPrimaryKey: false;
|
|
789
|
-
isAutoincrement: false;
|
|
790
|
-
hasRuntimeDefault: false;
|
|
791
|
-
enumValues: undefined;
|
|
792
|
-
baseColumn: never;
|
|
793
|
-
identity: undefined;
|
|
794
|
-
generated: undefined;
|
|
795
|
-
}, {}, {}>;
|
|
796
|
-
};
|
|
797
|
-
dialect: "pg";
|
|
798
|
-
}>;
|
|
799
|
-
suppliers: PgTableWithColumns< {
|
|
800
|
-
name: "suppliers";
|
|
801
|
-
schema: undefined;
|
|
802
|
-
columns: {
|
|
803
|
-
id: PgColumn< {
|
|
804
|
-
name: "id";
|
|
805
|
-
tableName: "suppliers";
|
|
806
|
-
dataType: "number";
|
|
807
|
-
columnType: "PgInteger";
|
|
808
|
-
data: number;
|
|
809
|
-
driverParam: string | number;
|
|
810
|
-
notNull: true;
|
|
811
|
-
hasDefault: false;
|
|
812
|
-
isPrimaryKey: true;
|
|
813
|
-
isAutoincrement: false;
|
|
814
|
-
hasRuntimeDefault: false;
|
|
815
|
-
enumValues: undefined;
|
|
816
|
-
baseColumn: never;
|
|
817
|
-
identity: undefined;
|
|
818
|
-
generated: undefined;
|
|
819
|
-
}, {}, {}>;
|
|
820
|
-
name: PgColumn< {
|
|
821
|
-
name: "name";
|
|
822
|
-
tableName: "suppliers";
|
|
823
|
-
dataType: "string";
|
|
824
|
-
columnType: "PgText";
|
|
825
|
-
data: string;
|
|
826
|
-
driverParam: string;
|
|
827
|
-
notNull: true;
|
|
828
|
-
hasDefault: false;
|
|
829
|
-
isPrimaryKey: false;
|
|
830
|
-
isAutoincrement: false;
|
|
831
|
-
hasRuntimeDefault: false;
|
|
832
|
-
enumValues: [string, ...string[]];
|
|
833
|
-
baseColumn: never;
|
|
834
|
-
identity: undefined;
|
|
835
|
-
generated: undefined;
|
|
836
|
-
}, {}, {}>;
|
|
837
|
-
description: PgColumn< {
|
|
838
|
-
name: "description";
|
|
839
|
-
tableName: "suppliers";
|
|
840
|
-
dataType: "string";
|
|
841
|
-
columnType: "PgText";
|
|
842
|
-
data: string;
|
|
843
|
-
driverParam: string;
|
|
844
|
-
notNull: false;
|
|
845
|
-
hasDefault: false;
|
|
846
|
-
isPrimaryKey: false;
|
|
847
|
-
isAutoincrement: false;
|
|
848
|
-
hasRuntimeDefault: false;
|
|
849
|
-
enumValues: [string, ...string[]];
|
|
850
|
-
baseColumn: never;
|
|
851
|
-
identity: undefined;
|
|
852
|
-
generated: undefined;
|
|
853
|
-
}, {}, {}>;
|
|
854
|
-
internal: PgColumn< {
|
|
855
|
-
name: "internal";
|
|
856
|
-
tableName: "suppliers";
|
|
857
|
-
dataType: "boolean";
|
|
858
|
-
columnType: "PgBoolean";
|
|
859
|
-
data: boolean;
|
|
860
|
-
driverParam: boolean;
|
|
861
|
-
notNull: false;
|
|
862
|
-
hasDefault: true;
|
|
863
|
-
isPrimaryKey: false;
|
|
864
|
-
isAutoincrement: false;
|
|
865
|
-
hasRuntimeDefault: false;
|
|
866
|
-
enumValues: undefined;
|
|
867
|
-
baseColumn: never;
|
|
868
|
-
identity: undefined;
|
|
869
|
-
generated: undefined;
|
|
870
|
-
}, {}, {}>;
|
|
871
|
-
organisation: PgColumn< {
|
|
872
|
-
name: "organisation";
|
|
873
|
-
tableName: "suppliers";
|
|
874
|
-
dataType: "number";
|
|
875
|
-
columnType: "PgInteger";
|
|
876
|
-
data: number;
|
|
877
|
-
driverParam: string | number;
|
|
878
|
-
notNull: true;
|
|
879
|
-
hasDefault: false;
|
|
880
|
-
isPrimaryKey: false;
|
|
881
|
-
isAutoincrement: false;
|
|
882
|
-
hasRuntimeDefault: false;
|
|
883
|
-
enumValues: undefined;
|
|
884
|
-
baseColumn: never;
|
|
885
|
-
identity: undefined;
|
|
886
|
-
generated: undefined;
|
|
887
|
-
}, {}, {}>;
|
|
888
|
-
createdAt: PgColumn< {
|
|
889
|
-
name: "created_at";
|
|
890
|
-
tableName: "suppliers";
|
|
891
|
-
dataType: "date";
|
|
892
|
-
columnType: "PgTimestamp";
|
|
893
|
-
data: Date;
|
|
894
|
-
driverParam: string;
|
|
895
|
-
notNull: false;
|
|
896
|
-
hasDefault: true;
|
|
897
|
-
isPrimaryKey: false;
|
|
898
|
-
isAutoincrement: false;
|
|
899
|
-
hasRuntimeDefault: false;
|
|
900
|
-
enumValues: undefined;
|
|
901
|
-
baseColumn: never;
|
|
902
|
-
identity: undefined;
|
|
903
|
-
generated: undefined;
|
|
904
|
-
}, {}, {}>;
|
|
905
|
-
updatedAt: PgColumn< {
|
|
906
|
-
name: "updated_at";
|
|
907
|
-
tableName: "suppliers";
|
|
908
|
-
dataType: "date";
|
|
909
|
-
columnType: "PgTimestamp";
|
|
910
|
-
data: Date;
|
|
911
|
-
driverParam: string;
|
|
912
|
-
notNull: false;
|
|
913
|
-
hasDefault: true;
|
|
914
|
-
isPrimaryKey: false;
|
|
915
|
-
isAutoincrement: false;
|
|
916
|
-
hasRuntimeDefault: false;
|
|
917
|
-
enumValues: undefined;
|
|
918
|
-
baseColumn: never;
|
|
919
|
-
identity: undefined;
|
|
920
|
-
generated: undefined;
|
|
921
|
-
}, {}, {}>;
|
|
922
|
-
};
|
|
923
|
-
dialect: "pg";
|
|
924
|
-
}>;
|
|
925
|
-
employees: PgTableWithColumns< {
|
|
926
|
-
name: "employees";
|
|
927
|
-
schema: undefined;
|
|
928
|
-
columns: {
|
|
929
|
-
id: PgColumn< {
|
|
930
|
-
name: "id";
|
|
931
|
-
tableName: "employees";
|
|
932
|
-
dataType: "number";
|
|
933
|
-
columnType: "PgInteger";
|
|
934
|
-
data: number;
|
|
935
|
-
driverParam: string | number;
|
|
936
|
-
notNull: true;
|
|
937
|
-
hasDefault: false;
|
|
938
|
-
isPrimaryKey: true;
|
|
939
|
-
isAutoincrement: false;
|
|
940
|
-
hasRuntimeDefault: false;
|
|
941
|
-
enumValues: undefined;
|
|
942
|
-
baseColumn: never;
|
|
943
|
-
identity: undefined;
|
|
944
|
-
generated: undefined;
|
|
945
|
-
}, {}, {}>;
|
|
946
|
-
name: PgColumn< {
|
|
947
|
-
name: "name";
|
|
948
|
-
tableName: "employees";
|
|
949
|
-
dataType: "string";
|
|
950
|
-
columnType: "PgText";
|
|
951
|
-
data: string;
|
|
952
|
-
driverParam: string;
|
|
953
|
-
notNull: true;
|
|
954
|
-
hasDefault: false;
|
|
955
|
-
isPrimaryKey: false;
|
|
956
|
-
isAutoincrement: false;
|
|
957
|
-
hasRuntimeDefault: false;
|
|
958
|
-
enumValues: [string, ...string[]];
|
|
959
|
-
baseColumn: never;
|
|
960
|
-
identity: undefined;
|
|
961
|
-
generated: undefined;
|
|
962
|
-
}, {}, {}>;
|
|
963
|
-
email: PgColumn< {
|
|
964
|
-
name: "email";
|
|
965
|
-
tableName: "employees";
|
|
966
|
-
dataType: "string";
|
|
967
|
-
columnType: "PgText";
|
|
968
|
-
data: string;
|
|
969
|
-
driverParam: string;
|
|
970
|
-
notNull: true;
|
|
971
|
-
hasDefault: false;
|
|
972
|
-
isPrimaryKey: false;
|
|
973
|
-
isAutoincrement: false;
|
|
974
|
-
hasRuntimeDefault: false;
|
|
975
|
-
enumValues: [string, ...string[]];
|
|
976
|
-
baseColumn: never;
|
|
977
|
-
identity: undefined;
|
|
978
|
-
generated: undefined;
|
|
979
|
-
}, {}, {}>;
|
|
980
|
-
active: PgColumn< {
|
|
981
|
-
name: "active";
|
|
982
|
-
tableName: "employees";
|
|
983
|
-
dataType: "boolean";
|
|
984
|
-
columnType: "PgBoolean";
|
|
985
|
-
data: boolean;
|
|
986
|
-
driverParam: boolean;
|
|
987
|
-
notNull: false;
|
|
988
|
-
hasDefault: true;
|
|
989
|
-
isPrimaryKey: false;
|
|
990
|
-
isAutoincrement: false;
|
|
991
|
-
hasRuntimeDefault: false;
|
|
992
|
-
enumValues: undefined;
|
|
993
|
-
baseColumn: never;
|
|
994
|
-
identity: undefined;
|
|
995
|
-
generated: undefined;
|
|
996
|
-
}, {}, {}>;
|
|
997
|
-
fteBasis: PgColumn< {
|
|
998
|
-
name: "fte_basis";
|
|
999
|
-
tableName: "employees";
|
|
1000
|
-
dataType: "string";
|
|
1001
|
-
columnType: "PgNumeric";
|
|
1002
|
-
data: string;
|
|
1003
|
-
driverParam: string;
|
|
1004
|
-
notNull: false;
|
|
1005
|
-
hasDefault: true;
|
|
1006
|
-
isPrimaryKey: false;
|
|
1007
|
-
isAutoincrement: false;
|
|
1008
|
-
hasRuntimeDefault: false;
|
|
1009
|
-
enumValues: undefined;
|
|
1010
|
-
baseColumn: never;
|
|
1011
|
-
identity: undefined;
|
|
1012
|
-
generated: undefined;
|
|
1013
|
-
}, {}, {}>;
|
|
1014
|
-
startDate: PgColumn< {
|
|
1015
|
-
name: "start_date";
|
|
1016
|
-
tableName: "employees";
|
|
1017
|
-
dataType: "date";
|
|
1018
|
-
columnType: "PgTimestamp";
|
|
1019
|
-
data: Date;
|
|
1020
|
-
driverParam: string;
|
|
1021
|
-
notNull: false;
|
|
1022
|
-
hasDefault: false;
|
|
1023
|
-
isPrimaryKey: false;
|
|
1024
|
-
isAutoincrement: false;
|
|
1025
|
-
hasRuntimeDefault: false;
|
|
1026
|
-
enumValues: undefined;
|
|
1027
|
-
baseColumn: never;
|
|
1028
|
-
identity: undefined;
|
|
1029
|
-
generated: undefined;
|
|
1030
|
-
}, {}, {}>;
|
|
1031
|
-
endDate: PgColumn< {
|
|
1032
|
-
name: "end_date";
|
|
1033
|
-
tableName: "employees";
|
|
1034
|
-
dataType: "date";
|
|
1035
|
-
columnType: "PgTimestamp";
|
|
1036
|
-
data: Date;
|
|
1037
|
-
driverParam: string;
|
|
1038
|
-
notNull: false;
|
|
1039
|
-
hasDefault: false;
|
|
1040
|
-
isPrimaryKey: false;
|
|
1041
|
-
isAutoincrement: false;
|
|
1042
|
-
hasRuntimeDefault: false;
|
|
1043
|
-
enumValues: undefined;
|
|
1044
|
-
baseColumn: never;
|
|
1045
|
-
identity: undefined;
|
|
1046
|
-
generated: undefined;
|
|
1047
|
-
}, {}, {}>;
|
|
1048
|
-
department: PgColumn< {
|
|
1049
|
-
name: "department";
|
|
1050
|
-
tableName: "employees";
|
|
1051
|
-
dataType: "number";
|
|
1052
|
-
columnType: "PgInteger";
|
|
1053
|
-
data: number;
|
|
1054
|
-
driverParam: string | number;
|
|
1055
|
-
notNull: false;
|
|
1056
|
-
hasDefault: false;
|
|
1057
|
-
isPrimaryKey: false;
|
|
1058
|
-
isAutoincrement: false;
|
|
1059
|
-
hasRuntimeDefault: false;
|
|
1060
|
-
enumValues: undefined;
|
|
1061
|
-
baseColumn: never;
|
|
1062
|
-
identity: undefined;
|
|
1063
|
-
generated: undefined;
|
|
1064
|
-
}, {}, {}>;
|
|
1065
|
-
supplier: PgColumn< {
|
|
1066
|
-
name: "supplier";
|
|
1067
|
-
tableName: "employees";
|
|
1068
|
-
dataType: "number";
|
|
1069
|
-
columnType: "PgInteger";
|
|
1070
|
-
data: number;
|
|
1071
|
-
driverParam: string | number;
|
|
1072
|
-
notNull: false;
|
|
1073
|
-
hasDefault: false;
|
|
1074
|
-
isPrimaryKey: false;
|
|
1075
|
-
isAutoincrement: false;
|
|
1076
|
-
hasRuntimeDefault: false;
|
|
1077
|
-
enumValues: undefined;
|
|
1078
|
-
baseColumn: never;
|
|
1079
|
-
identity: undefined;
|
|
1080
|
-
generated: undefined;
|
|
1081
|
-
}, {}, {}>;
|
|
1082
|
-
organisation: PgColumn< {
|
|
1083
|
-
name: "organisation";
|
|
1084
|
-
tableName: "employees";
|
|
1085
|
-
dataType: "number";
|
|
1086
|
-
columnType: "PgInteger";
|
|
1087
|
-
data: number;
|
|
1088
|
-
driverParam: string | number;
|
|
1089
|
-
notNull: true;
|
|
1090
|
-
hasDefault: false;
|
|
1091
|
-
isPrimaryKey: false;
|
|
1092
|
-
isAutoincrement: false;
|
|
1093
|
-
hasRuntimeDefault: false;
|
|
1094
|
-
enumValues: undefined;
|
|
1095
|
-
baseColumn: never;
|
|
1096
|
-
identity: undefined;
|
|
1097
|
-
generated: undefined;
|
|
1098
|
-
}, {}, {}>;
|
|
1099
|
-
createdAt: PgColumn< {
|
|
1100
|
-
name: "created_at";
|
|
1101
|
-
tableName: "employees";
|
|
1102
|
-
dataType: "date";
|
|
1103
|
-
columnType: "PgTimestamp";
|
|
1104
|
-
data: Date;
|
|
1105
|
-
driverParam: string;
|
|
1106
|
-
notNull: false;
|
|
1107
|
-
hasDefault: true;
|
|
1108
|
-
isPrimaryKey: false;
|
|
1109
|
-
isAutoincrement: false;
|
|
1110
|
-
hasRuntimeDefault: false;
|
|
1111
|
-
enumValues: undefined;
|
|
1112
|
-
baseColumn: never;
|
|
1113
|
-
identity: undefined;
|
|
1114
|
-
generated: undefined;
|
|
1115
|
-
}, {}, {}>;
|
|
1116
|
-
updatedAt: PgColumn< {
|
|
1117
|
-
name: "updated_at";
|
|
1118
|
-
tableName: "employees";
|
|
1119
|
-
dataType: "date";
|
|
1120
|
-
columnType: "PgTimestamp";
|
|
1121
|
-
data: Date;
|
|
1122
|
-
driverParam: string;
|
|
1123
|
-
notNull: false;
|
|
1124
|
-
hasDefault: true;
|
|
1125
|
-
isPrimaryKey: false;
|
|
1126
|
-
isAutoincrement: false;
|
|
1127
|
-
hasRuntimeDefault: false;
|
|
1128
|
-
enumValues: undefined;
|
|
1129
|
-
baseColumn: never;
|
|
1130
|
-
identity: undefined;
|
|
1131
|
-
generated: undefined;
|
|
1132
|
-
}, {}, {}>;
|
|
1133
|
-
};
|
|
1134
|
-
dialect: "pg";
|
|
1135
|
-
}>;
|
|
1136
|
-
organisationsRelations: Relations<"organisations", {
|
|
1137
|
-
departments: Many<"departments">;
|
|
1138
|
-
suppliers: Many<"suppliers">;
|
|
1139
|
-
employees: Many<"employees">;
|
|
1140
|
-
}>;
|
|
1141
|
-
departmentsRelations: Relations<"departments", {
|
|
1142
|
-
organisation: One<"organisations", true>;
|
|
1143
|
-
employees: Many<"employees">;
|
|
1144
|
-
}>;
|
|
1145
|
-
suppliersRelations: Relations<"suppliers", {
|
|
1146
|
-
organisation: One<"organisations", true>;
|
|
1147
|
-
employees: Many<"employees">;
|
|
1148
|
-
}>;
|
|
1149
|
-
employeesRelations: Relations<"employees", {
|
|
1150
|
-
organisation: One<"organisations", true>;
|
|
1151
|
-
department: One<"departments", false>;
|
|
1152
|
-
supplier: One<"suppliers", false>;
|
|
1153
|
-
}>;
|
|
1154
|
-
};
|
|
1155
|
-
|
|
1156
251
|
/**
|
|
1157
252
|
* Filter definitions with logical operators
|
|
1158
253
|
*/
|
|
@@ -1263,7 +358,7 @@ export declare class MultiCubeBuilder<TSchema extends Record<string, any> = Reco
|
|
|
1263
358
|
/**
|
|
1264
359
|
* Build a multi-cube query plan
|
|
1265
360
|
*/
|
|
1266
|
-
buildMultiCubeQueryPlan(cubes: Map<string,
|
|
361
|
+
buildMultiCubeQueryPlan(cubes: Map<string, Cube<TSchema>>, query: SemanticQuery, ctx: QueryContext<TSchema>): MultiCubeQueryPlan<TSchema>;
|
|
1267
362
|
/**
|
|
1268
363
|
* Choose the primary cube based on query analysis
|
|
1269
364
|
*/
|
|
@@ -1334,113 +429,18 @@ export declare interface MultiCubeQueryPlan<TSchema extends Record<string, any>
|
|
|
1334
429
|
* Works with mysql2 driver
|
|
1335
430
|
*/
|
|
1336
431
|
export declare class MySQLExecutor<TSchema extends Record<string, any> = Record<string, any>> extends BaseDatabaseExecutor<TSchema> {
|
|
1337
|
-
execute<T = any[]>(query: SQL | any): Promise<T>;
|
|
432
|
+
execute<T = any[]>(query: SQL | any, measureFields?: string[]): Promise<T>;
|
|
433
|
+
/**
|
|
434
|
+
* Convert numeric string fields to numbers (only for measure fields)
|
|
435
|
+
*/
|
|
436
|
+
private convertNumericFields;
|
|
437
|
+
/**
|
|
438
|
+
* Coerce a value to a number if it represents a numeric type
|
|
439
|
+
*/
|
|
440
|
+
private coerceToNumber;
|
|
1338
441
|
getEngineType(): 'mysql';
|
|
1339
442
|
}
|
|
1340
443
|
|
|
1341
|
-
/**
|
|
1342
|
-
* Example schema for demonstrating Drizzle cube definitions
|
|
1343
|
-
* This shows how to define cubes using actual Drizzle schema
|
|
1344
|
-
*/
|
|
1345
|
-
export declare const organisations: PgTableWithColumns< {
|
|
1346
|
-
name: "organisations";
|
|
1347
|
-
schema: undefined;
|
|
1348
|
-
columns: {
|
|
1349
|
-
id: PgColumn< {
|
|
1350
|
-
name: "id";
|
|
1351
|
-
tableName: "organisations";
|
|
1352
|
-
dataType: "number";
|
|
1353
|
-
columnType: "PgInteger";
|
|
1354
|
-
data: number;
|
|
1355
|
-
driverParam: string | number;
|
|
1356
|
-
notNull: true;
|
|
1357
|
-
hasDefault: false;
|
|
1358
|
-
isPrimaryKey: true;
|
|
1359
|
-
isAutoincrement: false;
|
|
1360
|
-
hasRuntimeDefault: false;
|
|
1361
|
-
enumValues: undefined;
|
|
1362
|
-
baseColumn: never;
|
|
1363
|
-
identity: undefined;
|
|
1364
|
-
generated: undefined;
|
|
1365
|
-
}, {}, {}>;
|
|
1366
|
-
name: PgColumn< {
|
|
1367
|
-
name: "name";
|
|
1368
|
-
tableName: "organisations";
|
|
1369
|
-
dataType: "string";
|
|
1370
|
-
columnType: "PgText";
|
|
1371
|
-
data: string;
|
|
1372
|
-
driverParam: string;
|
|
1373
|
-
notNull: true;
|
|
1374
|
-
hasDefault: false;
|
|
1375
|
-
isPrimaryKey: false;
|
|
1376
|
-
isAutoincrement: false;
|
|
1377
|
-
hasRuntimeDefault: false;
|
|
1378
|
-
enumValues: [string, ...string[]];
|
|
1379
|
-
baseColumn: never;
|
|
1380
|
-
identity: undefined;
|
|
1381
|
-
generated: undefined;
|
|
1382
|
-
}, {}, {}>;
|
|
1383
|
-
description: PgColumn< {
|
|
1384
|
-
name: "description";
|
|
1385
|
-
tableName: "organisations";
|
|
1386
|
-
dataType: "string";
|
|
1387
|
-
columnType: "PgText";
|
|
1388
|
-
data: string;
|
|
1389
|
-
driverParam: string;
|
|
1390
|
-
notNull: false;
|
|
1391
|
-
hasDefault: false;
|
|
1392
|
-
isPrimaryKey: false;
|
|
1393
|
-
isAutoincrement: false;
|
|
1394
|
-
hasRuntimeDefault: false;
|
|
1395
|
-
enumValues: [string, ...string[]];
|
|
1396
|
-
baseColumn: never;
|
|
1397
|
-
identity: undefined;
|
|
1398
|
-
generated: undefined;
|
|
1399
|
-
}, {}, {}>;
|
|
1400
|
-
createdAt: PgColumn< {
|
|
1401
|
-
name: "created_at";
|
|
1402
|
-
tableName: "organisations";
|
|
1403
|
-
dataType: "date";
|
|
1404
|
-
columnType: "PgTimestamp";
|
|
1405
|
-
data: Date;
|
|
1406
|
-
driverParam: string;
|
|
1407
|
-
notNull: false;
|
|
1408
|
-
hasDefault: true;
|
|
1409
|
-
isPrimaryKey: false;
|
|
1410
|
-
isAutoincrement: false;
|
|
1411
|
-
hasRuntimeDefault: false;
|
|
1412
|
-
enumValues: undefined;
|
|
1413
|
-
baseColumn: never;
|
|
1414
|
-
identity: undefined;
|
|
1415
|
-
generated: undefined;
|
|
1416
|
-
}, {}, {}>;
|
|
1417
|
-
updatedAt: PgColumn< {
|
|
1418
|
-
name: "updated_at";
|
|
1419
|
-
tableName: "organisations";
|
|
1420
|
-
dataType: "date";
|
|
1421
|
-
columnType: "PgTimestamp";
|
|
1422
|
-
data: Date;
|
|
1423
|
-
driverParam: string;
|
|
1424
|
-
notNull: false;
|
|
1425
|
-
hasDefault: true;
|
|
1426
|
-
isPrimaryKey: false;
|
|
1427
|
-
isAutoincrement: false;
|
|
1428
|
-
hasRuntimeDefault: false;
|
|
1429
|
-
enumValues: undefined;
|
|
1430
|
-
baseColumn: never;
|
|
1431
|
-
identity: undefined;
|
|
1432
|
-
generated: undefined;
|
|
1433
|
-
}, {}, {}>;
|
|
1434
|
-
};
|
|
1435
|
-
dialect: "pg";
|
|
1436
|
-
}>;
|
|
1437
|
-
|
|
1438
|
-
export declare const organisationsRelations: Relations<"organisations", {
|
|
1439
|
-
departments: Many<"departments">;
|
|
1440
|
-
suppliers: Many<"suppliers">;
|
|
1441
|
-
employees: Many<"employees">;
|
|
1442
|
-
}>;
|
|
1443
|
-
|
|
1444
444
|
/**
|
|
1445
445
|
* Parse YAML content and return validation result with converted cubes
|
|
1446
446
|
*/
|
|
@@ -1451,11 +451,15 @@ export declare function parseYamlCubes(yamlContent: string): YamlValidationResul
|
|
|
1451
451
|
* Works with postgres.js and Neon drivers
|
|
1452
452
|
*/
|
|
1453
453
|
export declare class PostgresExecutor<TSchema extends Record<string, any> = Record<string, any>> extends BaseDatabaseExecutor<TSchema> {
|
|
1454
|
-
execute<T = any[]>(query: SQL | any): Promise<T>;
|
|
454
|
+
execute<T = any[]>(query: SQL | any, measureFields?: string[]): Promise<T>;
|
|
1455
455
|
/**
|
|
1456
|
-
* Convert numeric string fields to numbers
|
|
456
|
+
* Convert numeric string fields to numbers (only for measure fields)
|
|
1457
457
|
*/
|
|
1458
458
|
private convertNumericFields;
|
|
459
|
+
/**
|
|
460
|
+
* Coerce a value to a number if it represents a numeric type
|
|
461
|
+
*/
|
|
462
|
+
private coerceToNumber;
|
|
1459
463
|
getEngineType(): 'postgres';
|
|
1460
464
|
}
|
|
1461
465
|
|
|
@@ -1478,7 +482,7 @@ export declare class QueryExecutor<TSchema extends Record<string, any> = Record<
|
|
|
1478
482
|
/**
|
|
1479
483
|
* Unified query execution method that handles both single and multi-cube queries
|
|
1480
484
|
*/
|
|
1481
|
-
execute(cubes: Map<string,
|
|
485
|
+
execute(cubes: Map<string, Cube<TSchema>>, query: SemanticQuery, securityContext: SecurityContext): Promise<QueryResult>;
|
|
1482
486
|
/**
|
|
1483
487
|
* Legacy interface for single cube queries
|
|
1484
488
|
*/
|
|
@@ -1502,6 +506,17 @@ export declare class QueryExecutor<TSchema extends Record<string, any> = Record<
|
|
|
1502
506
|
sql: string;
|
|
1503
507
|
params?: any[];
|
|
1504
508
|
}>;
|
|
509
|
+
/**
|
|
510
|
+
* Generate raw SQL for multi-cube queries without execution
|
|
511
|
+
*/
|
|
512
|
+
generateMultiCubeSQL(cubes: Map<string, Cube<TSchema>>, query: SemanticQuery, securityContext: SecurityContext): Promise<{
|
|
513
|
+
sql: string;
|
|
514
|
+
params?: any[];
|
|
515
|
+
}>;
|
|
516
|
+
/**
|
|
517
|
+
* Build multi-cube query (extracted from executeMultiCube for reuse)
|
|
518
|
+
*/
|
|
519
|
+
private buildMultiCubeQuery;
|
|
1505
520
|
/**
|
|
1506
521
|
* Generate SQL for Cube
|
|
1507
522
|
*/
|
|
@@ -1530,12 +545,25 @@ export declare class QueryExecutor<TSchema extends Record<string, any> = Record<
|
|
|
1530
545
|
* Build filter condition using Drizzle operators
|
|
1531
546
|
*/
|
|
1532
547
|
private buildFilterCondition;
|
|
548
|
+
/**
|
|
549
|
+
* Build date range condition for time dimensions
|
|
550
|
+
*/
|
|
551
|
+
private buildDateRangeCondition;
|
|
552
|
+
/**
|
|
553
|
+
* Parse relative date range expressions like "last 7 days", "this month"
|
|
554
|
+
*/
|
|
555
|
+
private parseRelativeDateRange;
|
|
556
|
+
/**
|
|
557
|
+
* Normalize date values to handle both string and Date objects
|
|
558
|
+
* For PostgreSQL timestamp fields, Drizzle expects Date objects
|
|
559
|
+
*/
|
|
560
|
+
private normalizeDate;
|
|
1533
561
|
/**
|
|
1534
562
|
* Build GROUP BY fields from dimensions and time dimensions (Cube)
|
|
1535
563
|
*/
|
|
1536
564
|
private buildGroupByFields;
|
|
1537
565
|
/**
|
|
1538
|
-
* Build ORDER BY clause
|
|
566
|
+
* Build ORDER BY clause with automatic time dimension sorting
|
|
1539
567
|
*/
|
|
1540
568
|
private buildOrderBy;
|
|
1541
569
|
/**
|
|
@@ -1669,19 +697,19 @@ export declare class SemanticLayerCompiler<TSchema extends Record<string, any> =
|
|
|
1669
697
|
/**
|
|
1670
698
|
* Register a simplified cube with dynamic query building
|
|
1671
699
|
*/
|
|
1672
|
-
registerCube(cube:
|
|
700
|
+
registerCube(cube: Cube<TSchema>): void;
|
|
1673
701
|
/**
|
|
1674
702
|
* Get a cube by name
|
|
1675
703
|
*/
|
|
1676
|
-
getCube(name: string):
|
|
704
|
+
getCube(name: string): Cube<TSchema> | undefined;
|
|
1677
705
|
/**
|
|
1678
706
|
* Get all registered cubes
|
|
1679
707
|
*/
|
|
1680
|
-
getAllCubes():
|
|
708
|
+
getAllCubes(): Cube<TSchema>[];
|
|
1681
709
|
/**
|
|
1682
710
|
* Get all cubes as a Map for multi-cube queries
|
|
1683
711
|
*/
|
|
1684
|
-
getAllCubesMap(): Map<string,
|
|
712
|
+
getAllCubesMap(): Map<string, Cube<TSchema>>;
|
|
1685
713
|
/**
|
|
1686
714
|
* Unified query execution method that handles both single and multi-cube queries
|
|
1687
715
|
*/
|
|
@@ -1709,6 +737,13 @@ export declare class SemanticLayerCompiler<TSchema extends Record<string, any> =
|
|
|
1709
737
|
sql: string;
|
|
1710
738
|
params?: any[];
|
|
1711
739
|
}>;
|
|
740
|
+
/**
|
|
741
|
+
* Get SQL for a multi-cube query without executing it (debugging)
|
|
742
|
+
*/
|
|
743
|
+
generateMultiCubeSQL(query: SemanticQuery, securityContext: SecurityContext): Promise<{
|
|
744
|
+
sql: string;
|
|
745
|
+
params?: any[];
|
|
746
|
+
}>;
|
|
1712
747
|
/**
|
|
1713
748
|
* Check if a cube exists
|
|
1714
749
|
*/
|
|
@@ -1725,6 +760,14 @@ export declare class SemanticLayerCompiler<TSchema extends Record<string, any> =
|
|
|
1725
760
|
* Get cube names
|
|
1726
761
|
*/
|
|
1727
762
|
getCubeNames(): string[];
|
|
763
|
+
/**
|
|
764
|
+
* Validate a query against registered cubes
|
|
765
|
+
* Ensures all referenced cubes and fields exist
|
|
766
|
+
*/
|
|
767
|
+
validateQuery(query: SemanticQuery): {
|
|
768
|
+
isValid: boolean;
|
|
769
|
+
errors: string[];
|
|
770
|
+
};
|
|
1728
771
|
}
|
|
1729
772
|
|
|
1730
773
|
/**
|
|
@@ -2061,7 +1104,15 @@ export { SQL }
|
|
|
2061
1104
|
* Works with better-sqlite3 driver
|
|
2062
1105
|
*/
|
|
2063
1106
|
export declare class SQLiteExecutor<TSchema extends Record<string, any> = Record<string, any>> extends BaseDatabaseExecutor<TSchema> {
|
|
2064
|
-
execute<T = any[]>(query: SQL | any): Promise<T>;
|
|
1107
|
+
execute<T = any[]>(query: SQL | any, measureFields?: string[]): Promise<T>;
|
|
1108
|
+
/**
|
|
1109
|
+
* Convert numeric string fields to numbers (only for measure fields)
|
|
1110
|
+
*/
|
|
1111
|
+
private convertNumericFields;
|
|
1112
|
+
/**
|
|
1113
|
+
* Coerce a value to a number if it represents a numeric type
|
|
1114
|
+
*/
|
|
1115
|
+
private coerceToNumber;
|
|
2065
1116
|
getEngineType(): 'sqlite';
|
|
2066
1117
|
}
|
|
2067
1118
|
|
|
@@ -2073,138 +1124,6 @@ export declare interface SqlResult {
|
|
|
2073
1124
|
params?: any[];
|
|
2074
1125
|
}
|
|
2075
1126
|
|
|
2076
|
-
export declare const suppliers: PgTableWithColumns< {
|
|
2077
|
-
name: "suppliers";
|
|
2078
|
-
schema: undefined;
|
|
2079
|
-
columns: {
|
|
2080
|
-
id: PgColumn< {
|
|
2081
|
-
name: "id";
|
|
2082
|
-
tableName: "suppliers";
|
|
2083
|
-
dataType: "number";
|
|
2084
|
-
columnType: "PgInteger";
|
|
2085
|
-
data: number;
|
|
2086
|
-
driverParam: string | number;
|
|
2087
|
-
notNull: true;
|
|
2088
|
-
hasDefault: false;
|
|
2089
|
-
isPrimaryKey: true;
|
|
2090
|
-
isAutoincrement: false;
|
|
2091
|
-
hasRuntimeDefault: false;
|
|
2092
|
-
enumValues: undefined;
|
|
2093
|
-
baseColumn: never;
|
|
2094
|
-
identity: undefined;
|
|
2095
|
-
generated: undefined;
|
|
2096
|
-
}, {}, {}>;
|
|
2097
|
-
name: PgColumn< {
|
|
2098
|
-
name: "name";
|
|
2099
|
-
tableName: "suppliers";
|
|
2100
|
-
dataType: "string";
|
|
2101
|
-
columnType: "PgText";
|
|
2102
|
-
data: string;
|
|
2103
|
-
driverParam: string;
|
|
2104
|
-
notNull: true;
|
|
2105
|
-
hasDefault: false;
|
|
2106
|
-
isPrimaryKey: false;
|
|
2107
|
-
isAutoincrement: false;
|
|
2108
|
-
hasRuntimeDefault: false;
|
|
2109
|
-
enumValues: [string, ...string[]];
|
|
2110
|
-
baseColumn: never;
|
|
2111
|
-
identity: undefined;
|
|
2112
|
-
generated: undefined;
|
|
2113
|
-
}, {}, {}>;
|
|
2114
|
-
description: PgColumn< {
|
|
2115
|
-
name: "description";
|
|
2116
|
-
tableName: "suppliers";
|
|
2117
|
-
dataType: "string";
|
|
2118
|
-
columnType: "PgText";
|
|
2119
|
-
data: string;
|
|
2120
|
-
driverParam: string;
|
|
2121
|
-
notNull: false;
|
|
2122
|
-
hasDefault: false;
|
|
2123
|
-
isPrimaryKey: false;
|
|
2124
|
-
isAutoincrement: false;
|
|
2125
|
-
hasRuntimeDefault: false;
|
|
2126
|
-
enumValues: [string, ...string[]];
|
|
2127
|
-
baseColumn: never;
|
|
2128
|
-
identity: undefined;
|
|
2129
|
-
generated: undefined;
|
|
2130
|
-
}, {}, {}>;
|
|
2131
|
-
internal: PgColumn< {
|
|
2132
|
-
name: "internal";
|
|
2133
|
-
tableName: "suppliers";
|
|
2134
|
-
dataType: "boolean";
|
|
2135
|
-
columnType: "PgBoolean";
|
|
2136
|
-
data: boolean;
|
|
2137
|
-
driverParam: boolean;
|
|
2138
|
-
notNull: false;
|
|
2139
|
-
hasDefault: true;
|
|
2140
|
-
isPrimaryKey: false;
|
|
2141
|
-
isAutoincrement: false;
|
|
2142
|
-
hasRuntimeDefault: false;
|
|
2143
|
-
enumValues: undefined;
|
|
2144
|
-
baseColumn: never;
|
|
2145
|
-
identity: undefined;
|
|
2146
|
-
generated: undefined;
|
|
2147
|
-
}, {}, {}>;
|
|
2148
|
-
organisation: PgColumn< {
|
|
2149
|
-
name: "organisation";
|
|
2150
|
-
tableName: "suppliers";
|
|
2151
|
-
dataType: "number";
|
|
2152
|
-
columnType: "PgInteger";
|
|
2153
|
-
data: number;
|
|
2154
|
-
driverParam: string | number;
|
|
2155
|
-
notNull: true;
|
|
2156
|
-
hasDefault: false;
|
|
2157
|
-
isPrimaryKey: false;
|
|
2158
|
-
isAutoincrement: false;
|
|
2159
|
-
hasRuntimeDefault: false;
|
|
2160
|
-
enumValues: undefined;
|
|
2161
|
-
baseColumn: never;
|
|
2162
|
-
identity: undefined;
|
|
2163
|
-
generated: undefined;
|
|
2164
|
-
}, {}, {}>;
|
|
2165
|
-
createdAt: PgColumn< {
|
|
2166
|
-
name: "created_at";
|
|
2167
|
-
tableName: "suppliers";
|
|
2168
|
-
dataType: "date";
|
|
2169
|
-
columnType: "PgTimestamp";
|
|
2170
|
-
data: Date;
|
|
2171
|
-
driverParam: string;
|
|
2172
|
-
notNull: false;
|
|
2173
|
-
hasDefault: true;
|
|
2174
|
-
isPrimaryKey: false;
|
|
2175
|
-
isAutoincrement: false;
|
|
2176
|
-
hasRuntimeDefault: false;
|
|
2177
|
-
enumValues: undefined;
|
|
2178
|
-
baseColumn: never;
|
|
2179
|
-
identity: undefined;
|
|
2180
|
-
generated: undefined;
|
|
2181
|
-
}, {}, {}>;
|
|
2182
|
-
updatedAt: PgColumn< {
|
|
2183
|
-
name: "updated_at";
|
|
2184
|
-
tableName: "suppliers";
|
|
2185
|
-
dataType: "date";
|
|
2186
|
-
columnType: "PgTimestamp";
|
|
2187
|
-
data: Date;
|
|
2188
|
-
driverParam: string;
|
|
2189
|
-
notNull: false;
|
|
2190
|
-
hasDefault: true;
|
|
2191
|
-
isPrimaryKey: false;
|
|
2192
|
-
isAutoincrement: false;
|
|
2193
|
-
hasRuntimeDefault: false;
|
|
2194
|
-
enumValues: undefined;
|
|
2195
|
-
baseColumn: never;
|
|
2196
|
-
identity: undefined;
|
|
2197
|
-
generated: undefined;
|
|
2198
|
-
}, {}, {}>;
|
|
2199
|
-
};
|
|
2200
|
-
dialect: "pg";
|
|
2201
|
-
}>;
|
|
2202
|
-
|
|
2203
|
-
export declare const suppliersRelations: Relations<"suppliers", {
|
|
2204
|
-
organisation: One<"organisations", true>;
|
|
2205
|
-
employees: Many<"employees">;
|
|
2206
|
-
}>;
|
|
2207
|
-
|
|
2208
1127
|
/**
|
|
2209
1128
|
* Time dimension with granularity
|
|
2210
1129
|
*/
|