@metabase/cli 0.1.0 → 0.1.1
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 +972 -57
- package/dist/add-collection--zwkmE1S.mjs +11 -0
- package/dist/add-collection-B1qe0D1U.mjs +54 -0
- package/dist/api-key-gzCbKDjL.mjs +13 -0
- package/dist/archive-CitmlD1e.mjs +39 -0
- package/dist/{archive-CsWeHXle.mjs → archive-CnhWegtR.mjs} +7 -4
- package/dist/archive-DQjBOXnx.mjs +44 -0
- package/dist/archive-Ni8-lQ1Y.mjs +44 -0
- package/dist/auth-BPjsrFxM.mjs +19 -0
- package/dist/{body-Dv9hQ0Qk.mjs → body-DRBgxS6-.mjs} +3 -2
- package/dist/{branches-BujtceGr.mjs → branches-C5Jcw8wu.mjs} +8 -6
- package/dist/cancel-Ca3r7Y6v.mjs +56 -0
- package/dist/{cancel-task-CT2xUMRg.mjs → cancel-task-C1-8vDKS.mjs} +9 -7
- package/dist/card-BGAy3eIb.mjs +20 -0
- package/dist/{card-CsXk8T6A.mjs → card-CAEZWixN.mjs} +34 -15
- package/dist/cards-CILfMPUP.mjs +37 -0
- package/dist/cli.mjs +33 -14
- package/dist/collection-B3sPXRLs.mjs +163 -0
- package/dist/collection-D8cnCB98.mjs +19 -0
- package/dist/create-3Z6rm-4O.mjs +44 -0
- package/dist/create-BsY5RrVY.mjs +44 -0
- package/dist/create-C4OCclBD.mjs +48 -0
- package/dist/create-COsD7Vzm.mjs +48 -0
- package/dist/create-CP8ou91U.mjs +125 -0
- package/dist/create-CeIi_QLj.mjs +66 -0
- package/dist/create-CqNw6PmR.mjs +50 -0
- package/dist/create-DE_5NrFy.mjs +48 -0
- package/dist/{create-B8ektf-R.mjs → create-MEhhhgMC.mjs} +8 -6
- package/dist/create-QxDmleKJ.mjs +48 -0
- package/dist/{create-branch-goZBTNnr.mjs → create-branch-CKMYaAHk.mjs} +9 -7
- package/dist/credentials-CwRKvdP2.mjs +85 -0
- package/dist/{current-task-DBjRNCFq.mjs → current-task-Dutjys16.mjs} +9 -7
- package/dist/dashboard-B4fVp392.mjs +20 -0
- package/dist/dashboard-CnMD04PQ.mjs +163 -0
- package/dist/database-BMTb0CzV.mjs +17 -0
- package/dist/database-Dvkfy3JM.mjs +51 -0
- package/dist/db-ACuuaEok.mjs +22 -0
- package/dist/{delete-8vGU35r3.mjs → delete-BMQZuVXZ.mjs} +7 -5
- package/dist/{delete-B27KLF5X.mjs → delete-BvcA4jPj.mjs} +7 -5
- package/dist/{delete-runtime-Byr60cR3.mjs → delete-runtime-BMzvfj_B.mjs} +4 -4
- package/dist/{delete-table-BNaJ_gA4.mjs → delete-table-DUPjHKk4.mjs} +7 -5
- package/dist/deprovision-Bsc1S15j.mjs +61 -0
- package/dist/{dirty-aNUuph4I.mjs → dirty-CXcdoUhY.mjs} +8 -6
- package/dist/docker-D-ieBsP7.mjs +612 -0
- package/dist/eid-pvOsEMPZ.mjs +13 -0
- package/dist/{export-QDkuuzSE.mjs → export-BjGhLEOi.mjs} +30 -23
- package/dist/field-BI2bt8e9.mjs +18 -0
- package/dist/field-DciLbuv-.mjs +276 -0
- package/dist/fields-Do8HHm_T.mjs +38 -0
- package/dist/flag-pair-DtR1AiBQ.mjs +17 -0
- package/dist/{get-BGBIzMKY.mjs → get-BGFGWkH0.mjs} +6 -4
- package/dist/get-BmE_VHdl.mjs +36 -0
- package/dist/{get-DI_IJvgk.mjs → get-C7sshmqF.mjs} +6 -4
- package/dist/get-CObKBj2J.mjs +36 -0
- package/dist/get-Cq5U_Eep.mjs +40 -0
- package/dist/get-D4GUJBiX.mjs +41 -0
- package/dist/{get-COXHplHP.mjs → get-DFrsi77F.mjs} +7 -5
- package/dist/get-DczxeETg.mjs +53 -0
- package/dist/{get-Cl8-IauC.mjs → get-DeQa3ThJ.mjs} +7 -4
- package/dist/get-DhZ_dGUb.mjs +36 -0
- package/dist/{get-i6LWOByV.mjs → get-DzCVafyO.mjs} +6 -4
- package/dist/get-YCnVqq-z.mjs +49 -0
- package/dist/get-run-CTyW29s3.mjs +36 -0
- package/dist/git-sync-BOmT8HEU.mjs +28 -0
- package/dist/{has-remote-changes-hjKoQuRy.mjs → has-remote-changes-xX8vMVsX.mjs} +8 -6
- package/dist/{import-HJsSKRYx.mjs → import-CaAUNtXz.mjs} +11 -9
- package/dist/{input-Dojr-RTw.mjs → input-ikCiip6x.mjs} +2 -1
- package/dist/is-dirty-CPu-xqkW.mjs +10 -0
- package/dist/{is-dirty-1Qy7hiHB.mjs → is-dirty-mgxEwEk4.mjs} +5 -4
- package/dist/items-Cg67tdto.mjs +77 -0
- package/dist/{key-DBxPSFwi.mjs → key-NDEARu2L.mjs} +1 -1
- package/dist/{license-MoWse3ZI.mjs → license-CwKzVMD0.mjs} +3 -3
- package/dist/list-BqdNQ1nU.mjs +47 -0
- package/dist/list-BwGdD45N.mjs +32 -0
- package/dist/list-CfOVsAZz.mjs +55 -0
- package/dist/list-CpyNn1Zn.mjs +32 -0
- package/dist/list-CwwOoGLK.mjs +40 -0
- package/dist/{list-C_PRdL5e.mjs → list-DD8CQx8l.mjs} +7 -5
- package/dist/{list-Bk6RsbJl.mjs → list-DL-RWpIE.mjs} +5 -3
- package/dist/list-DLlq3FyS.mjs +61 -0
- package/dist/list-DdQ4jmUQ.mjs +52 -0
- package/dist/{list-C4Ajrw8f.mjs → list-DshbLoqR.mjs} +6 -3
- package/dist/{list-C8tdLOH5.mjs → list-DzTMpoBs.mjs} +5 -3
- package/dist/list-JgRtCzz3.mjs +32 -0
- package/dist/{list-CWt3fqrZ.mjs → list-WzgJcwB5.mjs} +5 -3
- package/dist/{login-C9WTwNn6.mjs → login-DJnmR2wX.mjs} +14 -5
- package/dist/{logout-oLszGCOg.mjs → logout-BMe_1Zp8.mjs} +7 -6
- package/dist/logs-CQxKJ3HG.mjs +58 -0
- package/dist/{manifest-CAdjQYH8.mjs → manifest-Dv5B9Blc.mjs} +3 -7
- package/dist/measure-BEQfnLdN.mjs +67 -0
- package/dist/measure-BGyYbtqO.mjs +19 -0
- package/dist/metadata-CLIALntn.mjs +37 -0
- package/dist/metadata-T-fNUWg_.mjs +38 -0
- package/dist/{package-BGfw4ZWJ.mjs → package-DBsS7a5x.mjs} +7 -1
- package/dist/paginate-CTSfuYiF.mjs +49 -0
- package/dist/parse-id-BUOZQqjp.mjs +12 -0
- package/dist/parse-ref-DGvh4aDn.mjs +17 -0
- package/dist/parse-schemas-BnW4T1_I.mjs +12 -0
- package/dist/{poll-ILanYysl.mjs → poll-DMmmZWvi.mjs} +2 -1
- package/dist/{poll-task-DbpsiQhl.mjs → poll-task-2Ckiwp8U.mjs} +8 -7
- package/dist/predicates-DiIiS3k7.mjs +153 -0
- package/dist/preflight-CC_g6EWU.mjs +91 -0
- package/dist/{prompt-DpT8yAVy.mjs → prompt-Bf3DQ-qE.mjs} +1 -1
- package/dist/provision-BUgWJWAV.mjs +77 -0
- package/dist/ps-BUNHygf-.mjs +10 -0
- package/dist/ps-Yv0JjLVN.mjs +78 -0
- package/dist/{query-PihYi-UZ.mjs → query-CzfbuG8a.mjs} +38 -13
- package/dist/query-UIebHmbT.mjs +90 -0
- package/dist/remove-BAUbcwuF.mjs +98 -0
- package/dist/{remove-B2hVYn1v.mjs → remove-CN2PNGTR.mjs} +6 -5
- package/dist/remove-collection-C6NxEh53.mjs +38 -0
- package/dist/render-DXv-D6fU.mjs +182 -0
- package/dist/rescan-values-CcB4F9qa.mjs +43 -0
- package/dist/revision-message-flag-CWQbKhdl.mjs +11 -0
- package/dist/{run-C2so6Qp6.mjs → run-BjXZtu_6.mjs} +27 -36
- package/dist/runs-CXx7l1NY.mjs +54 -0
- package/dist/{runtime-C9CEZhcn.mjs → runtime-D7jihh81.mjs} +425 -442
- package/dist/schema-tables-BCJT2DM_.mjs +45 -0
- package/dist/schemas-DlNpbn4H.mjs +47 -0
- package/dist/{search-CopOytXY.mjs → search-Dt-6mdHZ.mjs} +6 -19
- package/dist/segment-BMrUBz94.mjs +70 -0
- package/dist/segment-C52QNnSs.mjs +19 -0
- package/dist/{set-BcF7M1GQ.mjs → set-DCESWpi3.mjs} +6 -4
- package/dist/{set-CbibegpA.mjs → set-L7cuHjVZ.mjs} +8 -6
- package/dist/{setting-U3NtBMFo.mjs → setting-DysGAuYS.mjs} +3 -3
- package/dist/setup-_ypJDPAY.mjs +71 -0
- package/dist/snippet-Dw0Sjzkr.mjs +64 -0
- package/dist/snippet-vb3G9R8a.mjs +19 -0
- package/dist/start-BokXnb0V.mjs +350 -0
- package/dist/{stash-DOBbYozC.mjs → stash-CaGX6PfX.mjs} +9 -7
- package/dist/{status-Buf1ZbNR.mjs → status-BaX9vedb.mjs} +10 -8
- package/dist/{status-CUcs8XBH.mjs → status-CyecXzN4.mjs} +4 -2
- package/dist/{status-D1F5XHae.mjs → status-RpVyPEty.mjs} +4 -2
- package/dist/stop-BRuF_Cg1.mjs +81 -0
- package/dist/summary-CpEOiOlZ.mjs +41 -0
- package/dist/sync-schema-4Cl4h8Jn.mjs +43 -0
- package/dist/table-BeMWuvzO.mjs +19 -0
- package/dist/{table-Cfk7oSvw.mjs → table-jljEqZ0R.mjs} +22 -9
- package/dist/transform-DwRc-w6y.mjs +24 -0
- package/dist/{transform-B5uRpg1G.mjs → transform-IEX4Mx3X.mjs} +56 -2
- package/dist/transform-job-BigWrctt.mjs +19 -0
- package/dist/{transform-job-C7QXWTVE.mjs → transform-job-Csr86muI.mjs} +7 -0
- package/dist/translate-DqLlXXUx.mjs +111 -0
- package/dist/tree-BT24nkLM.mjs +32 -0
- package/dist/update-BCXKQi2n.mjs +52 -0
- package/dist/{update-CL8tRbxr.mjs → update-BXbLmC2b.mjs} +9 -7
- package/dist/update-C1Frz9GR.mjs +52 -0
- package/dist/update-C5goGhNr.mjs +56 -0
- package/dist/update-CCOyB0iT.mjs +73 -0
- package/dist/update-D04NMueX.mjs +59 -0
- package/dist/update-D6WVtNV1.mjs +57 -0
- package/dist/update-DFR46LsB.mjs +56 -0
- package/dist/update-DyLItrpV.mjs +56 -0
- package/dist/update-dashcard-av0_PYeg.mjs +71 -0
- package/dist/update-mrgvQF4i.mjs +51 -0
- package/dist/url-x4wn_l3k.mjs +54 -0
- package/dist/uuid-BZHbti8B.mjs +47 -0
- package/dist/validate-DCYx6jdL.mjs +1496 -0
- package/dist/validate-query-B07oGG4K.mjs +37 -0
- package/dist/values-Be6i0Fs9.mjs +36 -0
- package/dist/{wait-Bugr9eXD.mjs → wait-BMqQD8k_.mjs} +10 -8
- package/dist/wait-CWizX_sR.mjs +19 -0
- package/dist/wait-flags-DO3ar2tf.mjs +35 -0
- package/dist/workspace-CG1xyJ86.mjs +24 -0
- package/dist/workspace-DVuqKJGG.mjs +72 -0
- package/dist/workspace-credentials-B6BL-X0d.mjs +139 -0
- package/package.json +7 -1
- package/dist/auth-BF7IjZIH.mjs +0 -18
- package/dist/card-_Ta7zdYe.mjs +0 -19
- package/dist/create-CI2Cunq5.mjs +0 -38
- package/dist/create-DdbU3TLX.mjs +0 -42
- package/dist/database-PA9Goi25.mjs +0 -33
- package/dist/db-DMghzgb6.mjs +0 -17
- package/dist/field-C8IVs6rp.mjs +0 -76
- package/dist/field-DaYo_90x.mjs +0 -13
- package/dist/get-Cwpj7lDe.mjs +0 -35
- package/dist/get-Dh_acl8q.mjs +0 -34
- package/dist/is-dirty-DpKn9HJp.mjs +0 -8
- package/dist/list-CBSBHtK-.mjs +0 -38
- package/dist/parse-id-BhmmfyCP.mjs +0 -14
- package/dist/sync-BPyGXfUk.mjs +0 -26
- package/dist/table-D7nJt7JO.mjs +0 -16
- package/dist/transform-UbyewMxY.mjs +0 -21
- package/dist/transform-job-CrYkr-Ma.mjs +0 -19
- package/dist/update-DU2oU2j-.mjs +0 -49
- /package/dist/{body-flags-BUA9XV1u.mjs → body-flags-BK7J6Daz.mjs} +0 -0
- /package/dist/{setting-26ckqHAP.mjs → setting-CTaAeMci.mjs} +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import "./package-
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
3
|
+
import { renderItem } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { parseId } from "./parse-id-BUOZQqjp.mjs";
|
|
7
|
+
import { Transform, transformView } from "./transform-IEX4Mx3X.mjs";
|
|
6
8
|
|
|
7
9
|
//#region src/commands/transform/get.ts
|
|
8
10
|
var get_default = defineMetabaseCommand({
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderItem } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, outputFlags, parseEnum, profileFlag } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { parseId } from "./parse-id-BUOZQqjp.mjs";
|
|
7
|
+
import "./field-DciLbuv-.mjs";
|
|
8
|
+
import "./table-jljEqZ0R.mjs";
|
|
9
|
+
import { Database, databaseView } from "./database-Dvkfy3JM.mjs";
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
|
|
12
|
+
//#region src/commands/db/get.ts
|
|
13
|
+
const DatabaseGetInclude = z.enum(["tables", "tables.fields"]);
|
|
14
|
+
var get_default = defineMetabaseCommand({
|
|
15
|
+
meta: {
|
|
16
|
+
name: "get",
|
|
17
|
+
description: "Get a database by id"
|
|
18
|
+
},
|
|
19
|
+
args: {
|
|
20
|
+
...outputFlags,
|
|
21
|
+
...profileFlag,
|
|
22
|
+
...connectionFlags,
|
|
23
|
+
include: {
|
|
24
|
+
type: "string",
|
|
25
|
+
description: `Hydrate related entities: ${DatabaseGetInclude.options.join("|")}`
|
|
26
|
+
},
|
|
27
|
+
id: {
|
|
28
|
+
type: "positional",
|
|
29
|
+
description: "Database id",
|
|
30
|
+
required: true
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
outputSchema: Database,
|
|
34
|
+
examples: [
|
|
35
|
+
"metabase db get 1",
|
|
36
|
+
"metabase db get 1 --json",
|
|
37
|
+
"metabase db get 1 --include tables.fields --json"
|
|
38
|
+
],
|
|
39
|
+
async run({ args, ctx, getClient }) {
|
|
40
|
+
const id = parseId(args.id);
|
|
41
|
+
const include = parseEnum(args.include, DatabaseGetInclude, "--include");
|
|
42
|
+
const client = await getClient();
|
|
43
|
+
const database = await client.requestParsed(Database, `/api/database/${id}`, { query: { include } });
|
|
44
|
+
renderItem(database, databaseView, ctx);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
export { get_default as default };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderItem } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { parseId } from "./parse-id-BUOZQqjp.mjs";
|
|
7
|
+
import { TransformRun, transformRunView } from "./transform-IEX4Mx3X.mjs";
|
|
8
|
+
|
|
9
|
+
//#region src/commands/transform/get-run.ts
|
|
10
|
+
var get_run_default = defineMetabaseCommand({
|
|
11
|
+
meta: {
|
|
12
|
+
name: "get-run",
|
|
13
|
+
description: "Get a transform run by id"
|
|
14
|
+
},
|
|
15
|
+
args: {
|
|
16
|
+
...outputFlags,
|
|
17
|
+
...profileFlag,
|
|
18
|
+
...connectionFlags,
|
|
19
|
+
id: {
|
|
20
|
+
type: "positional",
|
|
21
|
+
description: "Run id",
|
|
22
|
+
required: true
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
outputSchema: TransformRun,
|
|
26
|
+
examples: ["metabase transform get-run 1", "metabase transform get-run 1 --json"],
|
|
27
|
+
async run({ args, ctx, getClient }) {
|
|
28
|
+
const id = parseId(args.id, "run id");
|
|
29
|
+
const client = await getClient();
|
|
30
|
+
const run = await client.requestParsed(TransformRun, `/api/transform/run/${id}`);
|
|
31
|
+
renderItem(run, transformRunView, ctx);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { get_run_default as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineCommand } from "citty";
|
|
2
|
+
|
|
3
|
+
//#region src/commands/git-sync/index.ts
|
|
4
|
+
var git_sync_default = defineCommand({
|
|
5
|
+
meta: {
|
|
6
|
+
name: "git-sync",
|
|
7
|
+
description: "Sync Metabase content with a git remote"
|
|
8
|
+
},
|
|
9
|
+
subCommands: {
|
|
10
|
+
status: () => import("./status-BaX9vedb.mjs").then((mod) => mod.default),
|
|
11
|
+
"is-dirty": () => import("./is-dirty-CPu-xqkW.mjs").then((mod) => mod.default),
|
|
12
|
+
"has-remote-changes": () => import("./has-remote-changes-xX8vMVsX.mjs").then((mod) => mod.default),
|
|
13
|
+
dirty: () => import("./dirty-CXcdoUhY.mjs").then((mod) => mod.default),
|
|
14
|
+
"current-task": () => import("./current-task-Dutjys16.mjs").then((mod) => mod.default),
|
|
15
|
+
"cancel-task": () => import("./cancel-task-C1-8vDKS.mjs").then((mod) => mod.default),
|
|
16
|
+
wait: () => import("./wait-BMqQD8k_.mjs").then((mod) => mod.default),
|
|
17
|
+
import: () => import("./import-CaAUNtXz.mjs").then((mod) => mod.default),
|
|
18
|
+
export: () => import("./export-BjGhLEOi.mjs").then((mod) => mod.default),
|
|
19
|
+
stash: () => import("./stash-CaGX6PfX.mjs").then((mod) => mod.default),
|
|
20
|
+
branches: () => import("./branches-C5Jcw8wu.mjs").then((mod) => mod.default),
|
|
21
|
+
"create-branch": () => import("./create-branch-CKMYaAHk.mjs").then((mod) => mod.default),
|
|
22
|
+
"add-collection": () => import("./add-collection--zwkmE1S.mjs").then((mod) => mod.default),
|
|
23
|
+
"remove-collection": () => import("./remove-collection-C6NxEh53.mjs").then((mod) => mod.default)
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
export { git_sync_default as default };
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import "./package-
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import "./
|
|
3
|
+
import { renderItem } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { REMOTE_SYNC_PATHS } from "./poll-task-2Ckiwp8U.mjs";
|
|
7
|
+
import "./poll-DMmmZWvi.mjs";
|
|
6
8
|
import { z } from "zod";
|
|
7
9
|
|
|
8
|
-
//#region src/commands/sync/has-remote-changes.ts
|
|
10
|
+
//#region src/commands/git-sync/has-remote-changes.ts
|
|
9
11
|
const HasRemoteChangesResult = z.object({
|
|
10
12
|
has_changes: z.boolean(),
|
|
11
13
|
remote_version: z.string().nullable(),
|
|
@@ -50,7 +52,7 @@ var has_remote_changes_default = defineMetabaseCommand({
|
|
|
50
52
|
}
|
|
51
53
|
},
|
|
52
54
|
outputSchema: HasRemoteChangesResult,
|
|
53
|
-
examples: ["metabase sync has-remote-changes", "metabase sync has-remote-changes --force-refresh --json"],
|
|
55
|
+
examples: ["metabase git-sync has-remote-changes", "metabase git-sync has-remote-changes --force-refresh --json"],
|
|
54
56
|
async run({ args, ctx, getClient }) {
|
|
55
57
|
const client = await getClient();
|
|
56
58
|
const result = await client.requestParsed(HasRemoteChangesResult, REMOTE_SYNC_PATHS.hasRemoteChanges, { query: { "force-refresh": args.forceRefresh } });
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import "./package-
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import "./
|
|
3
|
+
import { renderItem } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { parseId } from "./parse-id-BUOZQqjp.mjs";
|
|
7
|
+
import { REMOTE_SYNC_PATHS, SyncTask, pollFlags, pollSyncTask, throwIfFailedTask } from "./poll-task-2Ckiwp8U.mjs";
|
|
8
|
+
import "./poll-DMmmZWvi.mjs";
|
|
7
9
|
import { z } from "zod";
|
|
8
10
|
|
|
9
|
-
//#region src/commands/sync/import.ts
|
|
11
|
+
//#region src/commands/git-sync/import.ts
|
|
10
12
|
const SyncImportKickoff = z.object({
|
|
11
13
|
status: z.literal("success"),
|
|
12
14
|
task_id: z.number().int().positive().nullable(),
|
|
@@ -50,9 +52,9 @@ var import_default = defineMetabaseCommand({
|
|
|
50
52
|
},
|
|
51
53
|
outputSchema: SyncImportResult,
|
|
52
54
|
examples: [
|
|
53
|
-
"metabase sync import",
|
|
54
|
-
"metabase sync import --branch main --json",
|
|
55
|
-
"metabase sync import --force --no-wait"
|
|
55
|
+
"metabase git-sync import",
|
|
56
|
+
"metabase git-sync import --branch main --json",
|
|
57
|
+
"metabase git-sync import --force --no-wait"
|
|
56
58
|
],
|
|
57
59
|
async run({ args, ctx, getClient }) {
|
|
58
60
|
const timeoutMs = parseId(args.timeout, "timeout");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ConfigError, isNotFoundError } from "./
|
|
1
|
+
import { ConfigError, isNotFoundError } from "./predicates-DiIiS3k7.mjs";
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
|
|
4
4
|
//#region src/runtime/input.ts
|
|
@@ -16,6 +16,7 @@ async function readInput(sources) {
|
|
|
16
16
|
return "";
|
|
17
17
|
}
|
|
18
18
|
async function readFileSource(path) {
|
|
19
|
+
if (path === "-") return await readStdin();
|
|
19
20
|
try {
|
|
20
21
|
return await readFile(path, "utf8");
|
|
21
22
|
} catch (error) {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import "./runtime-D7jihh81.mjs";
|
|
6
|
+
import "./poll-task-2Ckiwp8U.mjs";
|
|
7
|
+
import "./poll-DMmmZWvi.mjs";
|
|
8
|
+
import { IsDirtyResult, is_dirty_default } from "./is-dirty-mgxEwEk4.mjs";
|
|
9
|
+
|
|
10
|
+
export { is_dirty_default as default };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { renderItem } from "./render-DXv-D6fU.mjs";
|
|
2
|
+
import { connectionFlags, defineMetabaseCommand, outputFlags, profileFlag } from "./runtime-D7jihh81.mjs";
|
|
3
|
+
import { REMOTE_SYNC_PATHS } from "./poll-task-2Ckiwp8U.mjs";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
|
|
5
|
-
//#region src/commands/sync/is-dirty.ts
|
|
6
|
+
//#region src/commands/git-sync/is-dirty.ts
|
|
6
7
|
const IsDirtyResult = z.object({ is_dirty: z.boolean() });
|
|
7
8
|
const isDirtyView = {
|
|
8
9
|
compactPick: IsDirtyResult,
|
|
@@ -22,7 +23,7 @@ var is_dirty_default = defineMetabaseCommand({
|
|
|
22
23
|
...connectionFlags
|
|
23
24
|
},
|
|
24
25
|
outputSchema: IsDirtyResult,
|
|
25
|
-
examples: ["metabase sync is-dirty", "metabase sync is-dirty --json"],
|
|
26
|
+
examples: ["metabase git-sync is-dirty", "metabase git-sync is-dirty --json"],
|
|
26
27
|
async run({ ctx, getClient }) {
|
|
27
28
|
const client = await getClient();
|
|
28
29
|
const result = await client.requestParsed(IsDirtyResult, REMOTE_SYNC_PATHS.isDirty);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, parseEnum, parseEnumCsv, profileFlag } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { parseId } from "./parse-id-BUOZQqjp.mjs";
|
|
7
|
+
import { COLLECTION_ITEM_FILTER_MODELS, COLLECTION_PINNED_STATES, CollectionItem, CollectionItemCompact, CollectionItemFilterModel, CollectionPinnedState, collectionItemView } from "./collection-B3sPXRLs.mjs";
|
|
8
|
+
import { parseCollectionRef } from "./parse-ref-DGvh4aDn.mjs";
|
|
9
|
+
import { collectPaginated } from "./paginate-CTSfuYiF.mjs";
|
|
10
|
+
|
|
11
|
+
//#region src/commands/collection/items.ts
|
|
12
|
+
const CollectionItemListEnvelope = listEnvelopeSchema(CollectionItemCompact);
|
|
13
|
+
var items_default = defineMetabaseCommand({
|
|
14
|
+
meta: {
|
|
15
|
+
name: "items",
|
|
16
|
+
description: "List items inside a collection"
|
|
17
|
+
},
|
|
18
|
+
args: {
|
|
19
|
+
...outputFlags,
|
|
20
|
+
...profileFlag,
|
|
21
|
+
...connectionFlags,
|
|
22
|
+
id: {
|
|
23
|
+
type: "positional",
|
|
24
|
+
description: "Collection id, 21-char entity id, or one of: \"root\", \"trash\"",
|
|
25
|
+
required: true
|
|
26
|
+
},
|
|
27
|
+
models: {
|
|
28
|
+
type: "string",
|
|
29
|
+
description: `Comma-separated model filter: ${COLLECTION_ITEM_FILTER_MODELS.join(",")}`,
|
|
30
|
+
alias: "m"
|
|
31
|
+
},
|
|
32
|
+
archived: {
|
|
33
|
+
type: "boolean",
|
|
34
|
+
description: "Return archived items instead of unarchived",
|
|
35
|
+
default: false
|
|
36
|
+
},
|
|
37
|
+
"pinned-state": {
|
|
38
|
+
type: "string",
|
|
39
|
+
description: `Pinned filter: ${COLLECTION_PINNED_STATES.join("|")}`
|
|
40
|
+
},
|
|
41
|
+
limit: {
|
|
42
|
+
type: "string",
|
|
43
|
+
description: "Cap total items returned (default: drain all pages)"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
outputSchema: CollectionItemListEnvelope,
|
|
47
|
+
examples: [
|
|
48
|
+
"metabase collection items 4",
|
|
49
|
+
"metabase collection items root --json",
|
|
50
|
+
"metabase collection items 4 --models card,dashboard --json",
|
|
51
|
+
"metabase collection items 4 --pinned-state is_pinned --json"
|
|
52
|
+
],
|
|
53
|
+
async run({ args, ctx, getClient }) {
|
|
54
|
+
const ref = parseCollectionRef(args.id);
|
|
55
|
+
const models = parseEnumCsv(args.models, CollectionItemFilterModel, "--models");
|
|
56
|
+
const pinnedState = parseEnum(args["pinned-state"], CollectionPinnedState, "--pinned-state");
|
|
57
|
+
const max = args.limit === void 0 ? void 0 : parseId(args.limit, "--limit");
|
|
58
|
+
const client = await getClient();
|
|
59
|
+
const items = await collectPaginated(client, `/api/collection/${ref}/items`, CollectionItem, {
|
|
60
|
+
query: {
|
|
61
|
+
models,
|
|
62
|
+
archived: args.archived ? true : void 0,
|
|
63
|
+
pinned_state: pinnedState
|
|
64
|
+
},
|
|
65
|
+
...max !== void 0 && { max }
|
|
66
|
+
});
|
|
67
|
+
const envelope = {
|
|
68
|
+
data: items,
|
|
69
|
+
returned: items.length,
|
|
70
|
+
...max === void 0 ? { total: items.length } : { limit: max }
|
|
71
|
+
};
|
|
72
|
+
renderList(envelope, collectionItemView, ctx);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
//#endregion
|
|
77
|
+
export { items_default as default };
|
|
@@ -7,9 +7,9 @@ var license_default = defineCommand({
|
|
|
7
7
|
description: "Manage the Metabase license token"
|
|
8
8
|
},
|
|
9
9
|
subCommands: {
|
|
10
|
-
set: () => import("./set-
|
|
11
|
-
status: () => import("./status-
|
|
12
|
-
remove: () => import("./remove-
|
|
10
|
+
set: () => import("./set-DCESWpi3.mjs").then((m) => m.default),
|
|
11
|
+
status: () => import("./status-RpVyPEty.mjs").then((m) => m.default),
|
|
12
|
+
remove: () => import("./remove-CN2PNGTR.mjs").then((m) => m.default)
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { Dashboard, DashboardCompact, dashboardView } from "./dashboard-CnMD04PQ.mjs";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
//#region src/commands/dashboard/list.ts
|
|
10
|
+
const DashboardApiList = z.array(Dashboard);
|
|
11
|
+
const DashboardListFilter = z.enum([
|
|
12
|
+
"all",
|
|
13
|
+
"mine",
|
|
14
|
+
"archived"
|
|
15
|
+
]);
|
|
16
|
+
const DashboardListEnvelope = listEnvelopeSchema(DashboardCompact);
|
|
17
|
+
var list_default = defineMetabaseCommand({
|
|
18
|
+
meta: {
|
|
19
|
+
name: "list",
|
|
20
|
+
description: "List dashboards"
|
|
21
|
+
},
|
|
22
|
+
args: {
|
|
23
|
+
...outputFlags,
|
|
24
|
+
...profileFlag,
|
|
25
|
+
...connectionFlags,
|
|
26
|
+
filter: {
|
|
27
|
+
type: "string",
|
|
28
|
+
description: `Filter preset: ${DashboardListFilter.options.join("|")}`,
|
|
29
|
+
default: "all"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
outputSchema: DashboardListEnvelope,
|
|
33
|
+
examples: [
|
|
34
|
+
"metabase dashboard list",
|
|
35
|
+
"metabase dashboard list --json",
|
|
36
|
+
"metabase dashboard list --filter archived --json"
|
|
37
|
+
],
|
|
38
|
+
async run({ args, ctx, getClient }) {
|
|
39
|
+
const filter = DashboardListFilter.parse(args.filter);
|
|
40
|
+
const client = await getClient();
|
|
41
|
+
const items = await client.requestParsed(DashboardApiList, "/api/dashboard", { query: { f: filter } });
|
|
42
|
+
renderList(wrapList(items), dashboardView, ctx);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
export { list_default as default };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { Measure, MeasureCompact, measureView } from "./measure-BEQfnLdN.mjs";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
//#region src/commands/measure/list.ts
|
|
10
|
+
const MeasureApiList = z.array(Measure);
|
|
11
|
+
const MeasureListEnvelope = listEnvelopeSchema(MeasureCompact);
|
|
12
|
+
var list_default = defineMetabaseCommand({
|
|
13
|
+
meta: {
|
|
14
|
+
name: "list",
|
|
15
|
+
description: "List measures"
|
|
16
|
+
},
|
|
17
|
+
args: {
|
|
18
|
+
...outputFlags,
|
|
19
|
+
...profileFlag,
|
|
20
|
+
...connectionFlags
|
|
21
|
+
},
|
|
22
|
+
outputSchema: MeasureListEnvelope,
|
|
23
|
+
examples: ["metabase measure list", "metabase measure list --json"],
|
|
24
|
+
async run({ ctx, getClient }) {
|
|
25
|
+
const client = await getClient();
|
|
26
|
+
const items = await client.requestParsed(MeasureApiList, "/api/measure");
|
|
27
|
+
renderList(wrapList(items), measureView, ctx);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { list_default as default };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { defineMetabaseCommand, listEnvelopeSchema, listProfileNames, originOnly, outputFlags, readProfile, wrapList } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
|
|
8
|
+
//#region src/commands/auth/list.ts
|
|
9
|
+
const AuthProfile = z.object({
|
|
10
|
+
profile: z.string(),
|
|
11
|
+
url: z.string().nullable(),
|
|
12
|
+
present: z.boolean()
|
|
13
|
+
});
|
|
14
|
+
const AuthProfileListEnvelope = listEnvelopeSchema(AuthProfile);
|
|
15
|
+
const authProfileView = {
|
|
16
|
+
compactPick: AuthProfile,
|
|
17
|
+
tableColumns: [
|
|
18
|
+
{
|
|
19
|
+
key: "profile",
|
|
20
|
+
label: "Profile"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "url",
|
|
24
|
+
label: "URL"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: "present",
|
|
28
|
+
label: "Authenticated"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
};
|
|
32
|
+
var list_default = defineMetabaseCommand({
|
|
33
|
+
meta: {
|
|
34
|
+
name: "list",
|
|
35
|
+
description: "List configured authentication profiles"
|
|
36
|
+
},
|
|
37
|
+
args: { ...outputFlags },
|
|
38
|
+
outputSchema: AuthProfileListEnvelope,
|
|
39
|
+
examples: ["metabase auth list", "metabase auth list --json"],
|
|
40
|
+
async run({ ctx }) {
|
|
41
|
+
const names = await listProfileNames();
|
|
42
|
+
const items = await Promise.all(names.map(async (name) => {
|
|
43
|
+
const profile = await readProfile(name);
|
|
44
|
+
return {
|
|
45
|
+
profile: name,
|
|
46
|
+
url: profile === null ? null : originOnly(profile.url),
|
|
47
|
+
present: profile !== null
|
|
48
|
+
};
|
|
49
|
+
}));
|
|
50
|
+
renderList(wrapList(items), authProfileView, ctx);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
export { list_default as default };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { Workspace, WorkspaceCompact, workspaceView } from "./workspace-DVuqKJGG.mjs";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
//#region src/commands/workspace/list.ts
|
|
10
|
+
const WorkspaceApiList = z.array(Workspace);
|
|
11
|
+
const WorkspaceListEnvelope = listEnvelopeSchema(WorkspaceCompact);
|
|
12
|
+
var list_default = defineMetabaseCommand({
|
|
13
|
+
meta: {
|
|
14
|
+
name: "list",
|
|
15
|
+
description: "List workspaces"
|
|
16
|
+
},
|
|
17
|
+
args: {
|
|
18
|
+
...outputFlags,
|
|
19
|
+
...profileFlag,
|
|
20
|
+
...connectionFlags
|
|
21
|
+
},
|
|
22
|
+
outputSchema: WorkspaceListEnvelope,
|
|
23
|
+
examples: ["metabase workspace list", "metabase workspace list --json"],
|
|
24
|
+
async run({ ctx, getClient }) {
|
|
25
|
+
const client = await getClient();
|
|
26
|
+
const items = await client.requestParsed(WorkspaceApiList, "/api/ee/workspace-manager");
|
|
27
|
+
renderList(wrapList(items), workspaceView, ctx);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { list_default as default };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { Snippet, SnippetCompact, snippetView } from "./snippet-Dw0Sjzkr.mjs";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
//#region src/commands/snippet/list.ts
|
|
10
|
+
const SnippetApiList = z.array(Snippet);
|
|
11
|
+
const SnippetListEnvelope = listEnvelopeSchema(SnippetCompact);
|
|
12
|
+
var list_default = defineMetabaseCommand({
|
|
13
|
+
meta: {
|
|
14
|
+
name: "list",
|
|
15
|
+
description: "List native query snippets"
|
|
16
|
+
},
|
|
17
|
+
args: {
|
|
18
|
+
...outputFlags,
|
|
19
|
+
...profileFlag,
|
|
20
|
+
...connectionFlags,
|
|
21
|
+
archived: {
|
|
22
|
+
type: "boolean",
|
|
23
|
+
description: "Show archived snippets instead of active ones"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
outputSchema: SnippetListEnvelope,
|
|
27
|
+
examples: [
|
|
28
|
+
"metabase snippet list",
|
|
29
|
+
"metabase snippet list --json",
|
|
30
|
+
"metabase snippet list --archived --json"
|
|
31
|
+
],
|
|
32
|
+
async run({ args, ctx, getClient }) {
|
|
33
|
+
const client = await getClient();
|
|
34
|
+
const items = await client.requestParsed(SnippetApiList, "/api/native-query-snippet", { query: { archived: args.archived || void 0 } });
|
|
35
|
+
renderList(wrapList(items), snippetView, ctx);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { list_default as default };
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import "./package-
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import "./
|
|
6
|
-
import {
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { parseId } from "./parse-id-BUOZQqjp.mjs";
|
|
7
|
+
import "./field-DciLbuv-.mjs";
|
|
8
|
+
import { Table, TableCompact, tableView } from "./table-jljEqZ0R.mjs";
|
|
7
9
|
import { z } from "zod";
|
|
8
10
|
|
|
9
11
|
//#region src/commands/table/list.ts
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import "./package-
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
2
|
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import { Setting, SettingCompact, settingView } from "./setting-CTaAeMci.mjs";
|
|
5
7
|
import { z } from "zod";
|
|
6
8
|
|
|
7
9
|
//#region src/commands/setting/list.ts
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import "./package-DBsS7a5x.mjs";
|
|
2
|
+
import "./command-augment-D9pI9Vbh.mjs";
|
|
3
|
+
import { renderList } from "./render-DXv-D6fU.mjs";
|
|
4
|
+
import "./predicates-DiIiS3k7.mjs";
|
|
5
|
+
import { connectionFlags, defineMetabaseCommand, listEnvelopeSchema, outputFlags, parseEnum, profileFlag } from "./runtime-D7jihh81.mjs";
|
|
6
|
+
import "./field-DciLbuv-.mjs";
|
|
7
|
+
import "./table-jljEqZ0R.mjs";
|
|
8
|
+
import { Database, DatabaseCompact, databaseView } from "./database-Dvkfy3JM.mjs";
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
|
|
11
|
+
//#region src/commands/db/list.ts
|
|
12
|
+
const DatabaseListInclude = z.enum(["tables"]);
|
|
13
|
+
const DatabaseApiList = z.object({
|
|
14
|
+
data: z.array(Database),
|
|
15
|
+
total: z.number().int().nonnegative()
|
|
16
|
+
}).loose();
|
|
17
|
+
const DatabaseListEnvelope = listEnvelopeSchema(DatabaseCompact);
|
|
18
|
+
var list_default = defineMetabaseCommand({
|
|
19
|
+
meta: {
|
|
20
|
+
name: "list",
|
|
21
|
+
description: "List databases"
|
|
22
|
+
},
|
|
23
|
+
args: {
|
|
24
|
+
...outputFlags,
|
|
25
|
+
...profileFlag,
|
|
26
|
+
...connectionFlags,
|
|
27
|
+
include: {
|
|
28
|
+
type: "string",
|
|
29
|
+
description: `Hydrate related entities: ${DatabaseListInclude.options.join("|")}`
|
|
30
|
+
},
|
|
31
|
+
saved: {
|
|
32
|
+
type: "boolean",
|
|
33
|
+
description: "Include the Saved Questions virtual database"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
outputSchema: DatabaseListEnvelope,
|
|
37
|
+
examples: [
|
|
38
|
+
"metabase db list",
|
|
39
|
+
"metabase db list --json",
|
|
40
|
+
"metabase db list --include tables --json",
|
|
41
|
+
"metabase db list --saved --json"
|
|
42
|
+
],
|
|
43
|
+
async run({ args, ctx, getClient }) {
|
|
44
|
+
const include = parseEnum(args.include, DatabaseListInclude, "--include");
|
|
45
|
+
const saved = args.saved ? true : void 0;
|
|
46
|
+
const client = await getClient();
|
|
47
|
+
const response = await client.requestParsed(DatabaseApiList, "/api/database", { query: {
|
|
48
|
+
include,
|
|
49
|
+
saved
|
|
50
|
+
} });
|
|
51
|
+
const envelope = {
|
|
52
|
+
data: response.data,
|
|
53
|
+
returned: response.data.length,
|
|
54
|
+
total: response.total
|
|
55
|
+
};
|
|
56
|
+
renderList(envelope, databaseView, ctx);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
//#endregion
|
|
61
|
+
export { list_default as default };
|