@malloy-publisher/server 0.0.119 → 0.0.120
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/dist/app/api-doc.yaml +324 -335
- package/dist/app/assets/{HomePage-BxFnfH3M.js → HomePage-xhvGPTSO.js} +1 -1
- package/dist/app/assets/{MainPage-D301Y0mT.js → MainPage-Bq95p8Cl.js} +1 -1
- package/dist/app/assets/{ModelPage-Df8ivC1J.js → ModelPage-CbfBNWIi.js} +1 -1
- package/dist/app/assets/{PackagePage-CE41SCV_.js → PackagePage-CGS612C4.js} +1 -1
- package/dist/app/assets/ProjectPage-Dpn9pqSB.js +1 -0
- package/dist/app/assets/{RouteError-l_WGtNhS.js → RouteError-BLPhl1wC.js} +1 -1
- package/dist/app/assets/{WorkbookPage-CY-1oBvt.js → WorkbookPage-Dt93gSZ3.js} +1 -1
- package/dist/app/assets/{index-D5BBaLz8.js → index-B8wuAjgG.js} +1 -1
- package/dist/app/assets/{index-DjbXd602.js → index-CVbROKL7.js} +113 -113
- package/dist/app/assets/{index-DlZbNvNc.js → index-DxKW6bXB.js} +1 -1
- package/dist/app/assets/{index.umd-DQiSWsWe.js → index.umd-CVy5LWk2.js} +1 -1
- package/dist/app/index.html +1 -1
- package/dist/server.js +35396 -144724
- package/k6-tests/common.ts +12 -3
- package/package.json +1 -1
- package/src/controller/connection.controller.ts +82 -72
- package/src/controller/query.controller.ts +1 -1
- package/src/server.ts +6 -48
- package/src/service/connection.ts +384 -305
- package/src/service/db_utils.ts +407 -303
- package/src/service/package.spec.ts +8 -97
- package/src/service/package.ts +24 -46
- package/src/service/project.ts +8 -24
- package/src/service/project_store.ts +0 -1
- package/dist/app/assets/ProjectPage-DA66xbmQ.js +0 -1
- package/src/controller/schedule.controller.ts +0 -21
- package/src/service/scheduler.ts +0 -190
package/dist/app/api-doc.yaml
CHANGED
|
@@ -21,12 +21,10 @@ info:
|
|
|
21
21
|
```
|
|
22
22
|
Projects
|
|
23
23
|
├── Connections
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
│ └── Schedules
|
|
29
|
-
└── Watch Mode
|
|
24
|
+
└── Packages
|
|
25
|
+
├── Models
|
|
26
|
+
├── Notebooks
|
|
27
|
+
└── Databases
|
|
30
28
|
```
|
|
31
29
|
|
|
32
30
|
For examples, see the Malloy samples packages (https://github.com/malloydata/malloy-samples) repository.
|
|
@@ -49,12 +47,8 @@ tags:
|
|
|
49
47
|
description: Malloy model access and compilation operations
|
|
50
48
|
- name: notebooks
|
|
51
49
|
description: Malloy notebook access and execution operations
|
|
52
|
-
- name: queryresults
|
|
53
|
-
description: Query execution and result retrieval operations
|
|
54
50
|
- name: databases
|
|
55
51
|
description: Embedded database management and access
|
|
56
|
-
- name: schedules
|
|
57
|
-
description: Scheduled task management and monitoring
|
|
58
52
|
- name: watch-mode
|
|
59
53
|
description: Real-time file watching for development workflows
|
|
60
54
|
|
|
@@ -77,39 +71,6 @@ paths:
|
|
|
77
71
|
schema:
|
|
78
72
|
$ref: "#/components/schemas/ServerStatus"
|
|
79
73
|
|
|
80
|
-
/connections/test:
|
|
81
|
-
post:
|
|
82
|
-
tags:
|
|
83
|
-
- connections
|
|
84
|
-
operationId: test-connection-configuration
|
|
85
|
-
summary: Test database connection configuration
|
|
86
|
-
description: |
|
|
87
|
-
Validates a database connection configuration without adding it to any project.
|
|
88
|
-
This endpoint allows you to test connection parameters, credentials, and network
|
|
89
|
-
connectivity before committing the connection to a project. Useful for troubleshooting
|
|
90
|
-
connection issues and validating configurations during setup.
|
|
91
|
-
requestBody:
|
|
92
|
-
required: true
|
|
93
|
-
content:
|
|
94
|
-
application/json:
|
|
95
|
-
schema:
|
|
96
|
-
$ref: "#/components/schemas/Connection"
|
|
97
|
-
responses:
|
|
98
|
-
"200":
|
|
99
|
-
description: Connection test result
|
|
100
|
-
content:
|
|
101
|
-
application/json:
|
|
102
|
-
schema:
|
|
103
|
-
$ref: "#/components/schemas/ConnectionStatus"
|
|
104
|
-
"400":
|
|
105
|
-
$ref: "#/components/responses/BadRequest"
|
|
106
|
-
"401":
|
|
107
|
-
$ref: "#/components/responses/Unauthorized"
|
|
108
|
-
"404":
|
|
109
|
-
$ref: "#/components/responses/NotFound"
|
|
110
|
-
"500":
|
|
111
|
-
$ref: "#/components/responses/InternalServerError"
|
|
112
|
-
|
|
113
74
|
/projects:
|
|
114
75
|
get:
|
|
115
76
|
tags:
|
|
@@ -327,16 +288,16 @@ paths:
|
|
|
327
288
|
"500":
|
|
328
289
|
$ref: "#/components/responses/InternalServerError"
|
|
329
290
|
|
|
330
|
-
/projects/{projectName}/connections/{connectionName}/
|
|
291
|
+
/projects/{projectName}/connections/{connectionName}/schemas:
|
|
331
292
|
get:
|
|
332
293
|
tags:
|
|
333
294
|
- connections
|
|
334
|
-
operationId:
|
|
335
|
-
summary:
|
|
295
|
+
operationId: list-schemas
|
|
296
|
+
summary: List database schemas
|
|
336
297
|
description: |
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
298
|
+
Retrieves a list of all schemas (databases) available in the specified connection.
|
|
299
|
+
Each schema includes metadata such as name, description, and whether it's the default schema.
|
|
300
|
+
This endpoint is useful for exploring the database structure and discovering available data sources.
|
|
340
301
|
parameters:
|
|
341
302
|
- name: projectName
|
|
342
303
|
in: path
|
|
@@ -352,11 +313,13 @@ paths:
|
|
|
352
313
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
353
314
|
responses:
|
|
354
315
|
"200":
|
|
355
|
-
description:
|
|
316
|
+
description: A list of schemas available in the connection with metadata
|
|
356
317
|
content:
|
|
357
318
|
application/json:
|
|
358
319
|
schema:
|
|
359
|
-
|
|
320
|
+
type: array
|
|
321
|
+
items:
|
|
322
|
+
$ref: "#/components/schemas/Schema"
|
|
360
323
|
"401":
|
|
361
324
|
$ref: "#/components/responses/Unauthorized"
|
|
362
325
|
"404":
|
|
@@ -364,19 +327,16 @@ paths:
|
|
|
364
327
|
"500":
|
|
365
328
|
$ref: "#/components/responses/InternalServerError"
|
|
366
329
|
|
|
367
|
-
/projects/{projectName}/connections/{connectionName}/
|
|
330
|
+
/projects/{projectName}/connections/{connectionName}/schemas/{schemaName}/tables:
|
|
368
331
|
get:
|
|
369
332
|
tags:
|
|
370
333
|
- connections
|
|
371
|
-
operationId:
|
|
372
|
-
|
|
373
|
-
summary: Get SQL source (deprecated)
|
|
334
|
+
operationId: list-tables
|
|
335
|
+
summary: List tables in database
|
|
374
336
|
description: |
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
Creates a Malloy source from a SQL statement using the specified connection.
|
|
379
|
-
The SQL statement is executed to generate a source definition that can be used in Malloy models.
|
|
337
|
+
Retrieves a list of all tables and views available in the specified database schema.
|
|
338
|
+
This endpoint is useful for discovering available data sources and exploring the database
|
|
339
|
+
structure. The schema must exist in the connection for this operation to succeed.
|
|
380
340
|
parameters:
|
|
381
341
|
- name: projectName
|
|
382
342
|
in: path
|
|
@@ -390,65 +350,21 @@ paths:
|
|
|
390
350
|
required: true
|
|
391
351
|
schema:
|
|
392
352
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
393
|
-
- name:
|
|
394
|
-
in: query
|
|
395
|
-
description: SQL statement
|
|
396
|
-
required: false
|
|
397
|
-
schema:
|
|
398
|
-
type: string
|
|
399
|
-
responses:
|
|
400
|
-
"200":
|
|
401
|
-
description: SQL source information
|
|
402
|
-
content:
|
|
403
|
-
application/json:
|
|
404
|
-
schema:
|
|
405
|
-
$ref: "#/components/schemas/SqlSource"
|
|
406
|
-
"401":
|
|
407
|
-
$ref: "#/components/responses/Unauthorized"
|
|
408
|
-
"404":
|
|
409
|
-
$ref: "#/components/responses/NotFound"
|
|
410
|
-
"500":
|
|
411
|
-
$ref: "#/components/responses/InternalServerError"
|
|
412
|
-
post:
|
|
413
|
-
tags:
|
|
414
|
-
- connections
|
|
415
|
-
operationId: post-sqlsource
|
|
416
|
-
summary: Create SQL source from statement
|
|
417
|
-
description: |
|
|
418
|
-
Creates a Malloy source from a SQL statement using the specified database connection.
|
|
419
|
-
The SQL statement is executed to generate a source definition that can be used in Malloy models.
|
|
420
|
-
This is the preferred method over the deprecated GET version as it provides better security
|
|
421
|
-
and supports larger SQL statements.
|
|
422
|
-
parameters:
|
|
423
|
-
- name: projectName
|
|
424
|
-
in: path
|
|
425
|
-
description: Name of the project
|
|
426
|
-
required: true
|
|
427
|
-
schema:
|
|
428
|
-
$ref: "#/components/schemas/IdentifierPattern"
|
|
429
|
-
- name: connectionName
|
|
353
|
+
- name: schemaName
|
|
430
354
|
in: path
|
|
431
|
-
description: Name of the
|
|
355
|
+
description: Name of the schema
|
|
432
356
|
required: true
|
|
433
357
|
schema:
|
|
434
358
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
435
|
-
requestBody:
|
|
436
|
-
description: SQL statement to fetch the SQL source
|
|
437
|
-
required: true
|
|
438
|
-
content:
|
|
439
|
-
application/json:
|
|
440
|
-
schema:
|
|
441
|
-
type: object
|
|
442
|
-
properties:
|
|
443
|
-
sqlStatement:
|
|
444
|
-
type: string
|
|
445
359
|
responses:
|
|
446
360
|
"200":
|
|
447
|
-
description:
|
|
361
|
+
description: A list of table names available in the specified schema
|
|
448
362
|
content:
|
|
449
363
|
application/json:
|
|
450
364
|
schema:
|
|
451
|
-
|
|
365
|
+
type: array
|
|
366
|
+
items:
|
|
367
|
+
$ref: "#/components/schemas/Table"
|
|
452
368
|
"401":
|
|
453
369
|
$ref: "#/components/responses/Unauthorized"
|
|
454
370
|
"404":
|
|
@@ -456,16 +372,17 @@ paths:
|
|
|
456
372
|
"500":
|
|
457
373
|
$ref: "#/components/responses/InternalServerError"
|
|
458
374
|
|
|
459
|
-
/projects/{projectName}/connections/{connectionName}/
|
|
375
|
+
/projects/{projectName}/connections/{connectionName}/schemas/{schemaName}/tables/{tablePath}:
|
|
460
376
|
get:
|
|
461
377
|
tags:
|
|
462
378
|
- connections
|
|
463
|
-
operationId: get-
|
|
464
|
-
summary: Get table
|
|
379
|
+
operationId: get-table
|
|
380
|
+
summary: Get table details from database
|
|
465
381
|
description: |
|
|
466
|
-
Retrieves
|
|
467
|
-
This
|
|
468
|
-
|
|
382
|
+
Retrieves a table from the specified database schema.
|
|
383
|
+
This endpoint is useful for discovering available data sources and exploring the database
|
|
384
|
+
structure. The schema must exist in the connection for this operation to succeed.
|
|
385
|
+
The tablePath is the full path to the table, including the schema name.
|
|
469
386
|
parameters:
|
|
470
387
|
- name: projectName
|
|
471
388
|
in: path
|
|
@@ -479,25 +396,25 @@ paths:
|
|
|
479
396
|
required: true
|
|
480
397
|
schema:
|
|
481
398
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
482
|
-
- name:
|
|
483
|
-
in:
|
|
484
|
-
description:
|
|
485
|
-
required:
|
|
399
|
+
- name: schemaName
|
|
400
|
+
in: path
|
|
401
|
+
description: Name of the schema
|
|
402
|
+
required: true
|
|
486
403
|
schema:
|
|
487
|
-
|
|
404
|
+
$ref: "#/components/schemas/IdentifierPattern"
|
|
488
405
|
- name: tablePath
|
|
489
|
-
in:
|
|
490
|
-
description:
|
|
491
|
-
required:
|
|
406
|
+
in: path
|
|
407
|
+
description: Full path to the table
|
|
408
|
+
required: true
|
|
492
409
|
schema:
|
|
493
|
-
|
|
410
|
+
$ref: "#/components/schemas/IdentifierPattern"
|
|
494
411
|
responses:
|
|
495
412
|
"200":
|
|
496
|
-
description: Table
|
|
413
|
+
description: Table information
|
|
497
414
|
content:
|
|
498
415
|
application/json:
|
|
499
416
|
schema:
|
|
500
|
-
$ref: "#/components/schemas/
|
|
417
|
+
$ref: "#/components/schemas/Table"
|
|
501
418
|
"401":
|
|
502
419
|
$ref: "#/components/responses/Unauthorized"
|
|
503
420
|
"404":
|
|
@@ -505,16 +422,20 @@ paths:
|
|
|
505
422
|
"500":
|
|
506
423
|
$ref: "#/components/responses/InternalServerError"
|
|
507
424
|
|
|
508
|
-
|
|
425
|
+
# TODO: Remove this endpoint.
|
|
426
|
+
/projects/{projectName}/connections/{connectionName}/sqlSource:
|
|
509
427
|
get:
|
|
510
428
|
tags:
|
|
511
429
|
- connections
|
|
512
|
-
operationId:
|
|
513
|
-
|
|
430
|
+
operationId: get-sqlsource
|
|
431
|
+
deprecated: true
|
|
432
|
+
summary: Get SQL source (deprecated)
|
|
514
433
|
description: |
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
434
|
+
**DEPRECATED**: This endpoint is deprecated and may be removed in future versions.
|
|
435
|
+
Use the POST version instead for better security and functionality.
|
|
436
|
+
|
|
437
|
+
Creates a Malloy source from a SQL statement using the specified connection.
|
|
438
|
+
The SQL statement is executed to generate a source definition that can be used in Malloy models.
|
|
518
439
|
parameters:
|
|
519
440
|
- name: projectName
|
|
520
441
|
in: path
|
|
@@ -528,21 +449,19 @@ paths:
|
|
|
528
449
|
required: true
|
|
529
450
|
schema:
|
|
530
451
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
531
|
-
- name:
|
|
532
|
-
in:
|
|
533
|
-
description:
|
|
534
|
-
required:
|
|
452
|
+
- name: sqlStatement
|
|
453
|
+
in: query
|
|
454
|
+
description: SQL statement
|
|
455
|
+
required: false
|
|
535
456
|
schema:
|
|
536
|
-
|
|
457
|
+
type: string
|
|
537
458
|
responses:
|
|
538
459
|
"200":
|
|
539
|
-
description:
|
|
460
|
+
description: SQL source information
|
|
540
461
|
content:
|
|
541
462
|
application/json:
|
|
542
463
|
schema:
|
|
543
|
-
|
|
544
|
-
items:
|
|
545
|
-
type: string
|
|
464
|
+
$ref: "#/components/schemas/SqlSource"
|
|
546
465
|
"401":
|
|
547
466
|
$ref: "#/components/responses/Unauthorized"
|
|
548
467
|
"404":
|
|
@@ -550,16 +469,14 @@ paths:
|
|
|
550
469
|
"500":
|
|
551
470
|
$ref: "#/components/responses/InternalServerError"
|
|
552
471
|
|
|
553
|
-
|
|
554
|
-
get:
|
|
472
|
+
post:
|
|
555
473
|
tags:
|
|
556
474
|
- connections
|
|
557
|
-
operationId:
|
|
558
|
-
summary:
|
|
475
|
+
operationId: post-sqlsource
|
|
476
|
+
summary: Create SQL source from statement
|
|
559
477
|
description: |
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
This endpoint is useful for exploring the database structure and discovering available data sources.
|
|
478
|
+
Creates a Malloy source from a SQL statement using the specified database connection.
|
|
479
|
+
The SQL statement is executed to generate a source definition that can be used in Malloy models.
|
|
563
480
|
parameters:
|
|
564
481
|
- name: projectName
|
|
565
482
|
in: path
|
|
@@ -573,15 +490,23 @@ paths:
|
|
|
573
490
|
required: true
|
|
574
491
|
schema:
|
|
575
492
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
493
|
+
requestBody:
|
|
494
|
+
description: SQL statement to fetch the SQL source
|
|
495
|
+
required: true
|
|
496
|
+
content:
|
|
497
|
+
application/json:
|
|
498
|
+
schema:
|
|
499
|
+
type: object
|
|
500
|
+
properties:
|
|
501
|
+
sqlStatement:
|
|
502
|
+
type: string
|
|
576
503
|
responses:
|
|
577
504
|
"200":
|
|
578
|
-
description:
|
|
505
|
+
description: SQL source information
|
|
579
506
|
content:
|
|
580
507
|
application/json:
|
|
581
508
|
schema:
|
|
582
|
-
|
|
583
|
-
items:
|
|
584
|
-
$ref: "#/components/schemas/SchemaName"
|
|
509
|
+
$ref: "#/components/schemas/SqlSource"
|
|
585
510
|
"401":
|
|
586
511
|
$ref: "#/components/responses/Unauthorized"
|
|
587
512
|
"404":
|
|
@@ -589,19 +514,15 @@ paths:
|
|
|
589
514
|
"500":
|
|
590
515
|
$ref: "#/components/responses/InternalServerError"
|
|
591
516
|
|
|
592
|
-
/projects/{projectName}/connections/{connectionName}/
|
|
593
|
-
|
|
517
|
+
/projects/{projectName}/connections/{connectionName}/sqlQuery:
|
|
518
|
+
post:
|
|
594
519
|
tags:
|
|
595
520
|
- connections
|
|
596
|
-
operationId:
|
|
597
|
-
|
|
598
|
-
summary: Execute SQL query (deprecated)
|
|
521
|
+
operationId: post-querydata
|
|
522
|
+
summary: Execute SQL query
|
|
599
523
|
description: |
|
|
600
|
-
**DEPRECATED**: This endpoint is deprecated and may be removed in future versions.
|
|
601
|
-
Use the POST version instead for better security and functionality.
|
|
602
|
-
|
|
603
524
|
Executes a SQL statement against the specified database connection and returns the results.
|
|
604
|
-
The
|
|
525
|
+
The results include data, metadata, and execution information.
|
|
605
526
|
parameters:
|
|
606
527
|
- name: projectName
|
|
607
528
|
in: path
|
|
@@ -615,18 +536,22 @@ paths:
|
|
|
615
536
|
required: true
|
|
616
537
|
schema:
|
|
617
538
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
618
|
-
- name: sqlStatement
|
|
619
|
-
in: query
|
|
620
|
-
description: SQL statement
|
|
621
|
-
required: false
|
|
622
|
-
schema:
|
|
623
|
-
type: string
|
|
624
539
|
- name: options
|
|
625
540
|
in: query
|
|
626
541
|
description: Options
|
|
627
542
|
required: false
|
|
628
543
|
schema:
|
|
629
544
|
type: string
|
|
545
|
+
requestBody:
|
|
546
|
+
description: SQL statement to execute
|
|
547
|
+
required: true
|
|
548
|
+
content:
|
|
549
|
+
application/json:
|
|
550
|
+
schema:
|
|
551
|
+
type: object
|
|
552
|
+
properties:
|
|
553
|
+
sqlStatement:
|
|
554
|
+
type: string
|
|
630
555
|
responses:
|
|
631
556
|
"200":
|
|
632
557
|
description: Query execution results
|
|
@@ -640,15 +565,15 @@ paths:
|
|
|
640
565
|
$ref: "#/components/responses/NotFound"
|
|
641
566
|
"500":
|
|
642
567
|
$ref: "#/components/responses/InternalServerError"
|
|
568
|
+
/projects/{projectName}/connections/{connectionName}/sqlTemporaryTable:
|
|
643
569
|
post:
|
|
644
570
|
tags:
|
|
645
571
|
- connections
|
|
646
|
-
operationId: post-
|
|
647
|
-
summary:
|
|
572
|
+
operationId: post-temporarytable
|
|
573
|
+
summary: Create temporary table
|
|
648
574
|
description: |
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
and supports larger SQL statements. The results include data, metadata, and execution information.
|
|
575
|
+
Creates a temporary table from a SQL statement using the specified database connection.
|
|
576
|
+
Temporary tables are useful for storing intermediate results during complex queries and data processing workflows.
|
|
652
577
|
parameters:
|
|
653
578
|
- name: projectName
|
|
654
579
|
in: path
|
|
@@ -662,14 +587,8 @@ paths:
|
|
|
662
587
|
required: true
|
|
663
588
|
schema:
|
|
664
589
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
665
|
-
- name: options
|
|
666
|
-
in: query
|
|
667
|
-
description: Options
|
|
668
|
-
required: false
|
|
669
|
-
schema:
|
|
670
|
-
type: string
|
|
671
590
|
requestBody:
|
|
672
|
-
description: SQL statement to
|
|
591
|
+
description: SQL statement to create the temporary table
|
|
673
592
|
required: true
|
|
674
593
|
content:
|
|
675
594
|
application/json:
|
|
@@ -680,11 +599,11 @@ paths:
|
|
|
680
599
|
type: string
|
|
681
600
|
responses:
|
|
682
601
|
"200":
|
|
683
|
-
description:
|
|
602
|
+
description: Temporary table information
|
|
684
603
|
content:
|
|
685
604
|
application/json:
|
|
686
605
|
schema:
|
|
687
|
-
$ref: "#/components/schemas/
|
|
606
|
+
$ref: "#/components/schemas/TemporaryTable"
|
|
688
607
|
"401":
|
|
689
608
|
$ref: "#/components/responses/Unauthorized"
|
|
690
609
|
"404":
|
|
@@ -692,6 +611,7 @@ paths:
|
|
|
692
611
|
"500":
|
|
693
612
|
$ref: "#/components/responses/InternalServerError"
|
|
694
613
|
|
|
614
|
+
# TODO: Remove this endpoint.
|
|
695
615
|
/projects/{projectName}/connections/{connectionName}/temporaryTable:
|
|
696
616
|
get:
|
|
697
617
|
tags:
|
|
@@ -717,36 +637,92 @@ paths:
|
|
|
717
637
|
description: Name of the connection
|
|
718
638
|
required: true
|
|
719
639
|
schema:
|
|
720
|
-
$ref: "#/components/schemas/IdentifierPattern"
|
|
721
|
-
- name: sqlStatement
|
|
640
|
+
$ref: "#/components/schemas/IdentifierPattern"
|
|
641
|
+
- name: sqlStatement
|
|
642
|
+
in: query
|
|
643
|
+
description: SQL statement
|
|
644
|
+
required: false
|
|
645
|
+
schema:
|
|
646
|
+
type: string
|
|
647
|
+
responses:
|
|
648
|
+
"200":
|
|
649
|
+
description: Temporary table information
|
|
650
|
+
content:
|
|
651
|
+
application/json:
|
|
652
|
+
schema:
|
|
653
|
+
$ref: "#/components/schemas/TemporaryTable"
|
|
654
|
+
"401":
|
|
655
|
+
$ref: "#/components/responses/Unauthorized"
|
|
656
|
+
"404":
|
|
657
|
+
$ref: "#/components/responses/NotFound"
|
|
658
|
+
"500":
|
|
659
|
+
$ref: "#/components/responses/InternalServerError"
|
|
660
|
+
|
|
661
|
+
# TODO: Remove this endpoint. This is deprecated and replaced by /projects/{projectName}/connections/{connectionName}/table resource.
|
|
662
|
+
/projects/{projectName}/connections/{connectionName}/tableSource:
|
|
663
|
+
get:
|
|
664
|
+
tags:
|
|
665
|
+
- connections
|
|
666
|
+
operationId: get-tablesource
|
|
667
|
+
summary: Get table source information
|
|
668
|
+
deprecated: true
|
|
669
|
+
description: |
|
|
670
|
+
Retrieves information about a specific table or view from the database connection.
|
|
671
|
+
This includes table schema, column definitions, and metadata. The table can be specified
|
|
672
|
+
by either tableKey or tablePath parameters, depending on the database type.
|
|
673
|
+
parameters:
|
|
674
|
+
- name: projectName
|
|
675
|
+
in: path
|
|
676
|
+
description: Name of the project
|
|
677
|
+
required: true
|
|
678
|
+
schema:
|
|
679
|
+
$ref: "#/components/schemas/IdentifierPattern"
|
|
680
|
+
- name: connectionName
|
|
681
|
+
in: path
|
|
682
|
+
description: Name of the connection
|
|
683
|
+
required: true
|
|
684
|
+
schema:
|
|
685
|
+
$ref: "#/components/schemas/IdentifierPattern"
|
|
686
|
+
- name: tableKey
|
|
687
|
+
in: query
|
|
688
|
+
description: Table key
|
|
689
|
+
required: false
|
|
690
|
+
schema:
|
|
691
|
+
type: string
|
|
692
|
+
- name: tablePath
|
|
722
693
|
in: query
|
|
723
|
-
description:
|
|
694
|
+
description: Table path
|
|
724
695
|
required: false
|
|
725
696
|
schema:
|
|
726
697
|
type: string
|
|
727
698
|
responses:
|
|
728
699
|
"200":
|
|
729
|
-
description:
|
|
700
|
+
description: Table source information
|
|
730
701
|
content:
|
|
731
702
|
application/json:
|
|
732
703
|
schema:
|
|
733
|
-
$ref: "#/components/schemas/
|
|
704
|
+
$ref: "#/components/schemas/TableSource"
|
|
734
705
|
"401":
|
|
735
706
|
$ref: "#/components/responses/Unauthorized"
|
|
736
707
|
"404":
|
|
737
708
|
$ref: "#/components/responses/NotFound"
|
|
738
709
|
"500":
|
|
739
710
|
$ref: "#/components/responses/InternalServerError"
|
|
740
|
-
|
|
711
|
+
|
|
712
|
+
# TODO: Remove this endpoint.
|
|
713
|
+
/projects/{projectName}/connections/{connectionName}/queryData:
|
|
714
|
+
get:
|
|
741
715
|
tags:
|
|
742
716
|
- connections
|
|
743
|
-
operationId:
|
|
744
|
-
|
|
717
|
+
operationId: get-querydata
|
|
718
|
+
deprecated: true
|
|
719
|
+
summary: Execute SQL query (deprecated)
|
|
745
720
|
description: |
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
721
|
+
**DEPRECATED**: This endpoint is deprecated and may be removed in future versions.
|
|
722
|
+
Use the POST version instead for better security and functionality.
|
|
723
|
+
|
|
724
|
+
Executes a SQL statement against the specified database connection and returns the results.
|
|
725
|
+
The query results include data, metadata, and execution information.
|
|
750
726
|
parameters:
|
|
751
727
|
- name: projectName
|
|
752
728
|
in: path
|
|
@@ -760,23 +736,25 @@ paths:
|
|
|
760
736
|
required: true
|
|
761
737
|
schema:
|
|
762
738
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
739
|
+
- name: sqlStatement
|
|
740
|
+
in: query
|
|
741
|
+
description: SQL statement
|
|
742
|
+
required: false
|
|
743
|
+
schema:
|
|
744
|
+
type: string
|
|
745
|
+
- name: options
|
|
746
|
+
in: query
|
|
747
|
+
description: Options
|
|
748
|
+
required: false
|
|
749
|
+
schema:
|
|
750
|
+
type: string
|
|
773
751
|
responses:
|
|
774
752
|
"200":
|
|
775
|
-
description:
|
|
753
|
+
description: Query execution results
|
|
776
754
|
content:
|
|
777
755
|
application/json:
|
|
778
756
|
schema:
|
|
779
|
-
$ref: "#/components/schemas/
|
|
757
|
+
$ref: "#/components/schemas/QueryData"
|
|
780
758
|
"401":
|
|
781
759
|
$ref: "#/components/responses/Unauthorized"
|
|
782
760
|
"404":
|
|
@@ -1084,16 +1062,17 @@ paths:
|
|
|
1084
1062
|
"501":
|
|
1085
1063
|
$ref: "#/components/responses/NotImplemented"
|
|
1086
1064
|
|
|
1087
|
-
/projects/{projectName}/packages/{packageName}/
|
|
1088
|
-
|
|
1065
|
+
/projects/{projectName}/packages/{packageName}/models/{path}/query:
|
|
1066
|
+
post:
|
|
1089
1067
|
tags:
|
|
1090
|
-
-
|
|
1091
|
-
operationId:
|
|
1092
|
-
summary:
|
|
1068
|
+
- models
|
|
1069
|
+
operationId: execute-query-model
|
|
1070
|
+
summary: Execute Malloy query
|
|
1093
1071
|
description: |
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1072
|
+
Executes a Malloy query against a model and returns the results. The query can be specified
|
|
1073
|
+
as a raw Malloy query string or by referencing a named query within the model. This endpoint
|
|
1074
|
+
supports both ad-hoc queries and predefined model queries, making it flexible for various
|
|
1075
|
+
use cases including data exploration, reporting, and application integration.
|
|
1097
1076
|
parameters:
|
|
1098
1077
|
- name: projectName
|
|
1099
1078
|
in: path
|
|
@@ -1107,21 +1086,27 @@ paths:
|
|
|
1107
1086
|
required: true
|
|
1108
1087
|
schema:
|
|
1109
1088
|
$ref: "#/components/schemas/IdentifierPattern"
|
|
1110
|
-
- name:
|
|
1111
|
-
in:
|
|
1112
|
-
description:
|
|
1113
|
-
required:
|
|
1089
|
+
- name: path
|
|
1090
|
+
in: path
|
|
1091
|
+
description: Path to the model within the package
|
|
1092
|
+
required: true
|
|
1114
1093
|
schema:
|
|
1115
|
-
$ref: "#/components/schemas/
|
|
1094
|
+
$ref: "#/components/schemas/PathPattern"
|
|
1095
|
+
requestBody:
|
|
1096
|
+
required: true
|
|
1097
|
+
content:
|
|
1098
|
+
application/json:
|
|
1099
|
+
schema:
|
|
1100
|
+
$ref: "#/components/schemas/QueryRequest"
|
|
1116
1101
|
responses:
|
|
1117
1102
|
"200":
|
|
1118
|
-
description:
|
|
1103
|
+
description: Query execution results
|
|
1119
1104
|
content:
|
|
1120
|
-
application/json:
|
|
1105
|
+
"application/json":
|
|
1121
1106
|
schema:
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1107
|
+
$ref: "#/components/schemas/QueryResult"
|
|
1108
|
+
"400":
|
|
1109
|
+
$ref: "#/components/responses/BadRequest"
|
|
1125
1110
|
"401":
|
|
1126
1111
|
$ref: "#/components/responses/Unauthorized"
|
|
1127
1112
|
"404":
|
|
@@ -1130,17 +1115,17 @@ paths:
|
|
|
1130
1115
|
$ref: "#/components/responses/InternalServerError"
|
|
1131
1116
|
"501":
|
|
1132
1117
|
$ref: "#/components/responses/NotImplemented"
|
|
1133
|
-
|
|
1134
|
-
/projects/{projectName}/packages/{packageName}/notebooks
|
|
1118
|
+
|
|
1119
|
+
/projects/{projectName}/packages/{packageName}/notebooks:
|
|
1135
1120
|
get:
|
|
1136
1121
|
tags:
|
|
1137
1122
|
- notebooks
|
|
1138
|
-
operationId:
|
|
1139
|
-
summary:
|
|
1123
|
+
operationId: list-notebooks
|
|
1124
|
+
summary: List package notebooks
|
|
1140
1125
|
description: |
|
|
1141
|
-
Retrieves a
|
|
1142
|
-
|
|
1143
|
-
|
|
1126
|
+
Retrieves a list of all Malloy notebooks within the specified package. Each notebook entry
|
|
1127
|
+
includes the relative path, package name, and any compilation errors. This endpoint
|
|
1128
|
+
is useful for discovering available notebooks and checking their status.
|
|
1144
1129
|
parameters:
|
|
1145
1130
|
- name: projectName
|
|
1146
1131
|
in: path
|
|
@@ -1153,13 +1138,7 @@ paths:
|
|
|
1153
1138
|
description: Name of the package
|
|
1154
1139
|
required: true
|
|
1155
1140
|
schema:
|
|
1156
|
-
|
|
1157
|
-
- name: path
|
|
1158
|
-
in: path
|
|
1159
|
-
description: Path to notebook within the package.
|
|
1160
|
-
required: true
|
|
1161
|
-
schema:
|
|
1162
|
-
type: string
|
|
1141
|
+
$ref: "#/components/schemas/IdentifierPattern"
|
|
1163
1142
|
- name: versionId
|
|
1164
1143
|
in: query
|
|
1165
1144
|
description: Version identifier for the package
|
|
@@ -1168,11 +1147,13 @@ paths:
|
|
|
1168
1147
|
$ref: "#/components/schemas/VersionIdPattern"
|
|
1169
1148
|
responses:
|
|
1170
1149
|
"200":
|
|
1171
|
-
description: A
|
|
1150
|
+
description: A list of models in the package
|
|
1172
1151
|
content:
|
|
1173
|
-
|
|
1152
|
+
application/json:
|
|
1174
1153
|
schema:
|
|
1175
|
-
|
|
1154
|
+
type: array
|
|
1155
|
+
items:
|
|
1156
|
+
$ref: "#/components/schemas/Notebook"
|
|
1176
1157
|
"401":
|
|
1177
1158
|
$ref: "#/components/responses/Unauthorized"
|
|
1178
1159
|
"404":
|
|
@@ -1182,17 +1163,18 @@ paths:
|
|
|
1182
1163
|
"501":
|
|
1183
1164
|
$ref: "#/components/responses/NotImplemented"
|
|
1184
1165
|
|
|
1185
|
-
|
|
1166
|
+
# TODO: Notebooks should return the notebook file content, not the compiled notebook. The front end shoould
|
|
1167
|
+
# run the individual notebook cells against the backend.
|
|
1168
|
+
/projects/{projectName}/packages/{packageName}/notebooks/{path}:
|
|
1186
1169
|
get:
|
|
1187
1170
|
tags:
|
|
1188
|
-
-
|
|
1189
|
-
operationId:
|
|
1190
|
-
summary:
|
|
1171
|
+
- notebooks
|
|
1172
|
+
operationId: get-notebook
|
|
1173
|
+
summary: Get compiled Malloy notebook
|
|
1191
1174
|
description: |
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
use cases including data exploration, reporting, and application integration.
|
|
1175
|
+
Retrieves a compiled Malloy notebook with its cells, results, and metadata. The notebook
|
|
1176
|
+
is compiled using the specified version of the Malloy compiler. This endpoint provides
|
|
1177
|
+
access to the notebook's structure, cells, and execution results for use in applications.
|
|
1196
1178
|
parameters:
|
|
1197
1179
|
- name: projectName
|
|
1198
1180
|
in: path
|
|
@@ -1205,46 +1187,26 @@ paths:
|
|
|
1205
1187
|
description: Name of the package
|
|
1206
1188
|
required: true
|
|
1207
1189
|
schema:
|
|
1208
|
-
|
|
1190
|
+
type: string
|
|
1209
1191
|
- name: path
|
|
1210
1192
|
in: path
|
|
1211
|
-
description: Path to
|
|
1193
|
+
description: Path to notebook within the package.
|
|
1212
1194
|
required: true
|
|
1213
|
-
schema:
|
|
1214
|
-
$ref: "#/components/schemas/PathPattern"
|
|
1215
|
-
- in: query
|
|
1216
|
-
name: query
|
|
1217
|
-
description: Query string to execute on the model. If the query parameter is set, the queryName parameter must be empty.
|
|
1218
|
-
required: false
|
|
1219
|
-
schema:
|
|
1220
|
-
type: string
|
|
1221
|
-
- in: query
|
|
1222
|
-
name: sourceName
|
|
1223
|
-
description: Name of the source in the model to use for queryName, search, and topValue requests.
|
|
1224
|
-
required: false
|
|
1225
|
-
schema:
|
|
1226
|
-
type: string
|
|
1227
|
-
- in: query
|
|
1228
|
-
name: queryName
|
|
1229
|
-
description: Name of a query to execute on a source in the model. Requires the sourceName parameter is set. If the queryName parameter is set, the query parameter must be empty.
|
|
1230
|
-
required: false
|
|
1231
1195
|
schema:
|
|
1232
1196
|
type: string
|
|
1233
|
-
-
|
|
1234
|
-
|
|
1235
|
-
description: Version
|
|
1197
|
+
- name: versionId
|
|
1198
|
+
in: query
|
|
1199
|
+
description: Version identifier for the package
|
|
1236
1200
|
required: false
|
|
1237
1201
|
schema:
|
|
1238
|
-
|
|
1202
|
+
$ref: "#/components/schemas/VersionIdPattern"
|
|
1239
1203
|
responses:
|
|
1240
1204
|
"200":
|
|
1241
|
-
description:
|
|
1205
|
+
description: A Malloy notebook.
|
|
1242
1206
|
content:
|
|
1243
1207
|
"application/json":
|
|
1244
1208
|
schema:
|
|
1245
|
-
$ref: "#/components/schemas/
|
|
1246
|
-
"400":
|
|
1247
|
-
$ref: "#/components/responses/BadRequest"
|
|
1209
|
+
$ref: "#/components/schemas/CompiledNotebook"
|
|
1248
1210
|
"401":
|
|
1249
1211
|
$ref: "#/components/responses/Unauthorized"
|
|
1250
1212
|
"404":
|
|
@@ -1254,6 +1216,7 @@ paths:
|
|
|
1254
1216
|
"501":
|
|
1255
1217
|
$ref: "#/components/responses/NotImplemented"
|
|
1256
1218
|
|
|
1219
|
+
|
|
1257
1220
|
/projects/{projectName}/packages/{packageName}/databases:
|
|
1258
1221
|
get:
|
|
1259
1222
|
tags:
|
|
@@ -1301,52 +1264,38 @@ paths:
|
|
|
1301
1264
|
"501":
|
|
1302
1265
|
$ref: "#/components/responses/NotImplemented"
|
|
1303
1266
|
|
|
1304
|
-
/
|
|
1305
|
-
|
|
1267
|
+
/connections/test:
|
|
1268
|
+
post:
|
|
1306
1269
|
tags:
|
|
1307
|
-
-
|
|
1308
|
-
operationId:
|
|
1309
|
-
summary:
|
|
1270
|
+
- connectionsTest
|
|
1271
|
+
operationId: test-connection-configuration
|
|
1272
|
+
summary: Test database connection configuration
|
|
1310
1273
|
description: |
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
- name: packageName
|
|
1322
|
-
in: path
|
|
1323
|
-
description: Name of the package
|
|
1324
|
-
required: true
|
|
1325
|
-
schema:
|
|
1326
|
-
$ref: "#/components/schemas/IdentifierPattern"
|
|
1327
|
-
- name: versionId
|
|
1328
|
-
in: query
|
|
1329
|
-
description: Version identifier for the package
|
|
1330
|
-
required: false
|
|
1331
|
-
schema:
|
|
1332
|
-
$ref: "#/components/schemas/VersionIdPattern"
|
|
1274
|
+
Validates a database connection configuration without adding it to any project.
|
|
1275
|
+
This endpoint allows you to test connection parameters, credentials, and network
|
|
1276
|
+
connectivity before committing the connection to a project. Useful for troubleshooting
|
|
1277
|
+
connection issues and validating configurations during setup.
|
|
1278
|
+
requestBody:
|
|
1279
|
+
required: true
|
|
1280
|
+
content:
|
|
1281
|
+
application/json:
|
|
1282
|
+
schema:
|
|
1283
|
+
$ref: '#/components/schemas/Connection'
|
|
1333
1284
|
responses:
|
|
1334
1285
|
"200":
|
|
1335
|
-
description:
|
|
1286
|
+
description: Connection test result
|
|
1336
1287
|
content:
|
|
1337
1288
|
application/json:
|
|
1338
1289
|
schema:
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1290
|
+
$ref: '#/components/schemas/ConnectionStatus'
|
|
1291
|
+
"400":
|
|
1292
|
+
$ref: "#/components/responses/BadRequest"
|
|
1342
1293
|
"401":
|
|
1343
1294
|
$ref: "#/components/responses/Unauthorized"
|
|
1344
1295
|
"404":
|
|
1345
1296
|
$ref: "#/components/responses/NotFound"
|
|
1346
1297
|
"500":
|
|
1347
1298
|
$ref: "#/components/responses/InternalServerError"
|
|
1348
|
-
"501":
|
|
1349
|
-
$ref: "#/components/responses/NotImplemented"
|
|
1350
1299
|
|
|
1351
1300
|
/watch-mode/status:
|
|
1352
1301
|
get:
|
|
@@ -1648,6 +1597,23 @@ components:
|
|
|
1648
1597
|
items:
|
|
1649
1598
|
type: string
|
|
1650
1599
|
|
|
1600
|
+
QueryRequest:
|
|
1601
|
+
type: object
|
|
1602
|
+
description: Request body for executing a Malloy query
|
|
1603
|
+
properties:
|
|
1604
|
+
query:
|
|
1605
|
+
type: string
|
|
1606
|
+
description: Query string to execute on the model. If the query parameter is set, the queryName parameter must be empty.
|
|
1607
|
+
sourceName:
|
|
1608
|
+
type: string
|
|
1609
|
+
description: Name of the source in the model to use for queryName, search, and topValue requests.
|
|
1610
|
+
queryName:
|
|
1611
|
+
type: string
|
|
1612
|
+
description: Name of a query to execute on a source in the model. Requires the sourceName parameter is set. If the queryName parameter is set, the query parameter must be empty.
|
|
1613
|
+
versionId:
|
|
1614
|
+
type: string
|
|
1615
|
+
description: Version ID
|
|
1616
|
+
|
|
1651
1617
|
NotebookCell:
|
|
1652
1618
|
type: object
|
|
1653
1619
|
description: Individual cell within a Malloy notebook
|
|
@@ -1696,30 +1662,7 @@ components:
|
|
|
1696
1662
|
description: Type of embedded database
|
|
1697
1663
|
enum: ["embedded", "materialized"]
|
|
1698
1664
|
|
|
1699
|
-
|
|
1700
|
-
type: object
|
|
1701
|
-
description: Scheduled task configuration and status
|
|
1702
|
-
properties:
|
|
1703
|
-
resource:
|
|
1704
|
-
type: string
|
|
1705
|
-
description: Resource path in the package that the schedule is attached to
|
|
1706
|
-
schedule:
|
|
1707
|
-
type: string
|
|
1708
|
-
description: Schedule expression in cron format for executing the task
|
|
1709
|
-
action:
|
|
1710
|
-
type: string
|
|
1711
|
-
description: Action to execute when the schedule triggers
|
|
1712
|
-
connection:
|
|
1713
|
-
type: string
|
|
1714
|
-
description: Name of the connection to perform the action on
|
|
1715
|
-
lastRunTime:
|
|
1716
|
-
type: number
|
|
1717
|
-
description: Unix timestamp in milliseconds of the last execution
|
|
1718
|
-
lastRunStatus:
|
|
1719
|
-
type: string
|
|
1720
|
-
description: Status of the last execution
|
|
1721
|
-
|
|
1722
|
-
SchemaName:
|
|
1665
|
+
Schema:
|
|
1723
1666
|
description: A schema name in a Connection.
|
|
1724
1667
|
type: object
|
|
1725
1668
|
properties:
|
|
@@ -1749,7 +1692,7 @@ components:
|
|
|
1749
1692
|
type:
|
|
1750
1693
|
type: string
|
|
1751
1694
|
description: Type of database connection
|
|
1752
|
-
enum: [postgres, bigquery, snowflake, trino, mysql]
|
|
1695
|
+
enum: [postgres, bigquery, snowflake, trino, mysql, duckdb]
|
|
1753
1696
|
attributes:
|
|
1754
1697
|
$ref: "#/components/schemas/ConnectionAttributes"
|
|
1755
1698
|
postgresConnection:
|
|
@@ -1762,6 +1705,8 @@ components:
|
|
|
1762
1705
|
$ref: "#/components/schemas/TrinoConnection"
|
|
1763
1706
|
mysqlConnection:
|
|
1764
1707
|
$ref: "#/components/schemas/MysqlConnection"
|
|
1708
|
+
duckdbConnection:
|
|
1709
|
+
$ref: "#/components/schemas/DuckdbConnection"
|
|
1765
1710
|
|
|
1766
1711
|
ConnectionAttributes:
|
|
1767
1712
|
type: object
|
|
@@ -1898,6 +1843,36 @@ components:
|
|
|
1898
1843
|
type: string
|
|
1899
1844
|
description: Trino password for authentication
|
|
1900
1845
|
|
|
1846
|
+
DuckdbConnection:
|
|
1847
|
+
type: object
|
|
1848
|
+
description: DuckDB database connection configuration
|
|
1849
|
+
properties:
|
|
1850
|
+
attachedDatabases:
|
|
1851
|
+
array:
|
|
1852
|
+
$ref: "#/components/schemas/AttachedDatabase"
|
|
1853
|
+
|
|
1854
|
+
AttachedDatabase:
|
|
1855
|
+
type: object
|
|
1856
|
+
description: Attached DuckDB database
|
|
1857
|
+
properties:
|
|
1858
|
+
name:
|
|
1859
|
+
type: string
|
|
1860
|
+
description: Name of the connection
|
|
1861
|
+
type:
|
|
1862
|
+
type: string
|
|
1863
|
+
description: Type of database connection
|
|
1864
|
+
enum: [bigquery, snowflake, postgres]
|
|
1865
|
+
attributes:
|
|
1866
|
+
$ref: "#/components/schemas/ConnectionAttributes"
|
|
1867
|
+
bigqueryConnection:
|
|
1868
|
+
$ref: "#/components/schemas/BigqueryConnection"
|
|
1869
|
+
snowflakeConnection:
|
|
1870
|
+
$ref: "#/components/schemas/SnowflakeConnection"
|
|
1871
|
+
postgresConnection:
|
|
1872
|
+
$ref: "#/components/schemas/PostgresConnection"
|
|
1873
|
+
|
|
1874
|
+
|
|
1875
|
+
# TODO: What is this? Can we remove it?
|
|
1901
1876
|
SqlSource:
|
|
1902
1877
|
type: object
|
|
1903
1878
|
properties:
|
|
@@ -1908,8 +1883,22 @@ components:
|
|
|
1908
1883
|
source:
|
|
1909
1884
|
type: string
|
|
1910
1885
|
|
|
1886
|
+
Table:
|
|
1887
|
+
type: object
|
|
1888
|
+
properties:
|
|
1889
|
+
resource:
|
|
1890
|
+
type: string
|
|
1891
|
+
description: Resource path to the table.
|
|
1892
|
+
columns:
|
|
1893
|
+
description: Table fields
|
|
1894
|
+
type: array
|
|
1895
|
+
items:
|
|
1896
|
+
$ref: "#/components/schemas/Column"
|
|
1897
|
+
|
|
1898
|
+
# TODO: Remove this. Replaced by Table
|
|
1911
1899
|
TableSource:
|
|
1912
1900
|
type: object
|
|
1901
|
+
deprecated: true
|
|
1913
1902
|
properties:
|
|
1914
1903
|
resource:
|
|
1915
1904
|
type: string
|