@meilisearch/cli 0.0.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -11
- package/dist/commands/auth/login.js +5 -4
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.js +9 -6
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/auth/refresh.js +4 -5
- package/dist/commands/auth/refresh.js.map +1 -1
- package/dist/commands/auth/status.js +6 -6
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/{get/batches.js → batch/list.js} +6 -6
- package/dist/commands/batch/list.js.map +1 -0
- package/dist/commands/batch/view.js +18 -0
- package/dist/commands/batch/view.js.map +1 -0
- package/dist/commands/config/list.js +3 -2
- package/dist/commands/config/list.js.map +1 -1
- package/dist/commands/config/set.js +3 -4
- package/dist/commands/config/set.js.map +1 -1
- package/dist/commands/config/sync-with-cloud.js +5 -5
- package/dist/commands/config/sync-with-cloud.js.map +1 -1
- package/dist/commands/config/unset.js +3 -8
- package/dist/commands/config/unset.js.map +1 -1
- package/dist/commands/config/update.js +4 -4
- package/dist/commands/config/update.js.map +1 -1
- package/dist/commands/{add/documents.js → document/add.js} +6 -5
- package/dist/commands/document/add.js.map +1 -0
- package/dist/commands/{delete/documents.js → document/delete.js} +7 -6
- package/dist/commands/document/delete.js.map +1 -0
- package/dist/commands/{get/documents.js → document/list.js} +7 -8
- package/dist/commands/document/list.js.map +1 -0
- package/dist/commands/{update/documents.js → document/update.js} +6 -5
- package/dist/commands/document/update.js.map +1 -0
- package/dist/commands/document/view.js +42 -0
- package/dist/commands/document/view.js.map +1 -0
- package/dist/commands/export.js +3 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/facet-search.js +3 -2
- package/dist/commands/facet-search.js.map +1 -1
- package/dist/commands/{get/health.js → health.js} +3 -4
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/{add/indexes.js → index/add.js} +7 -5
- package/dist/commands/index/add.js.map +1 -0
- package/dist/commands/{delete/indexes.js → index/delete.js} +6 -5
- package/dist/commands/index/delete.js.map +1 -0
- package/dist/commands/index/list.js +21 -0
- package/dist/commands/index/list.js.map +1 -0
- package/dist/commands/{update/indexes.js → index/update.js} +6 -5
- package/dist/commands/index/update.js.map +1 -0
- package/dist/commands/index/view.js +18 -0
- package/dist/commands/index/view.js.map +1 -0
- package/dist/commands/info.js +15 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/{add/keys.js → key/add.js} +9 -7
- package/dist/commands/key/add.js.map +1 -0
- package/dist/commands/{delete/keys.js → key/delete.js} +6 -5
- package/dist/commands/key/delete.js.map +1 -0
- package/dist/commands/key/list.js +24 -0
- package/dist/commands/key/list.js.map +1 -0
- package/dist/commands/{update/keys.js → key/update.js} +7 -5
- package/dist/commands/key/update.js.map +1 -0
- package/dist/commands/key/view.js +26 -0
- package/dist/commands/key/view.js.map +1 -0
- package/dist/commands/multi-search.js +4 -2
- package/dist/commands/multi-search.js.map +1 -1
- package/dist/commands/organization/delete.js +24 -0
- package/dist/commands/organization/delete.js.map +1 -0
- package/dist/commands/organization/list.js +15 -0
- package/dist/commands/organization/list.js.map +1 -0
- package/dist/commands/organization/update.js +32 -0
- package/dist/commands/organization/update.js.map +1 -0
- package/dist/commands/organization/view.js +21 -0
- package/dist/commands/organization/view.js.map +1 -0
- package/dist/commands/{add/projects.js → project/add.js} +7 -6
- package/dist/commands/project/add.js.map +1 -0
- package/dist/commands/{delete/projects.js → project/delete.js} +6 -5
- package/dist/commands/project/delete.js.map +1 -0
- package/dist/commands/project/list.js +28 -0
- package/dist/commands/project/list.js.map +1 -0
- package/dist/commands/{update/projects.js → project/update.js} +3 -4
- package/dist/commands/project/update.js.map +1 -0
- package/dist/commands/project/view.js +29 -0
- package/dist/commands/project/view.js.map +1 -0
- package/dist/commands/region/list.js +15 -0
- package/dist/commands/region/list.js.map +1 -0
- package/dist/commands/resource/list.js +28 -0
- package/dist/commands/resource/list.js.map +1 -0
- package/dist/commands/schema.js +4 -3
- package/dist/commands/schema.js.map +1 -1
- package/dist/commands/search.js +3 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/{delete/settings.js → settings/delete.js} +7 -6
- package/dist/commands/settings/delete.js.map +1 -0
- package/dist/commands/{update/settings.js → settings/update.js} +7 -5
- package/dist/commands/settings/update.js.map +1 -0
- package/dist/commands/{get/settings.js → settings/view.js} +7 -8
- package/dist/commands/settings/view.js.map +1 -0
- package/dist/commands/similar.js +3 -2
- package/dist/commands/similar.js.map +1 -1
- package/dist/commands/{get/stats.js → stats.js} +7 -6
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/{cancel/tasks.js → task/cancel.js} +7 -5
- package/dist/commands/task/cancel.js.map +1 -0
- package/dist/commands/{delete/tasks.js → task/delete.js} +7 -5
- package/dist/commands/{delete/tasks.js.map → task/delete.js.map} +1 -1
- package/dist/commands/{get/tasks.js → task/list.js} +6 -6
- package/dist/commands/task/list.js.map +1 -0
- package/dist/commands/task/view.js +20 -0
- package/dist/commands/task/view.js.map +1 -0
- package/dist/commands/team/add.js +32 -0
- package/dist/commands/team/add.js.map +1 -0
- package/dist/commands/team/delete.js +20 -0
- package/dist/commands/team/delete.js.map +1 -0
- package/dist/commands/team/list.js +15 -0
- package/dist/commands/team/list.js.map +1 -0
- package/dist/commands/team/update.js +32 -0
- package/dist/commands/team/update.js.map +1 -0
- package/dist/commands/team/view.js +17 -0
- package/dist/commands/team/view.js.map +1 -0
- package/dist/commands/teleport.js +37 -29
- package/dist/commands/teleport.js.map +1 -1
- package/dist/commands/version.js +11 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/lib/analytics.js +135 -0
- package/dist/lib/analytics.js.map +1 -0
- package/dist/lib/api-naming.js +73 -62
- package/dist/lib/api-naming.js.map +1 -1
- package/dist/lib/base-command.js +46 -33
- package/dist/lib/base-command.js.map +1 -1
- package/dist/lib/clients/analytics.js +24 -0
- package/dist/lib/clients/analytics.js.map +1 -0
- package/dist/lib/clients/meilisearch.js +2 -2
- package/dist/lib/clients/oauth.js +1 -1
- package/dist/lib/clients/oauth.js.map +1 -1
- package/dist/lib/cloud-sync.js +1 -1
- package/dist/lib/config.js +13 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.js +51 -16
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/help.js +67 -14
- package/dist/lib/help.js.map +1 -1
- package/dist/lib/login.js +10 -6
- package/dist/lib/login.js.map +1 -1
- package/dist/lib/output.js +5 -29
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/session.js +12 -1
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/task-filters.js +4 -4
- package/dist/lib/task-filters.js.map +1 -1
- package/dist/lib/tasks.js +1 -1
- package/dist/lib/tasks.js.map +1 -1
- package/dist/lib/terminal.js +29 -7
- package/dist/lib/terminal.js.map +1 -1
- package/oclif.manifest.json +5787 -3133
- package/package.json +50 -31
- package/dist/commands/add/documents.js.map +0 -1
- package/dist/commands/add/indexes.js.map +0 -1
- package/dist/commands/add/keys.js.map +0 -1
- package/dist/commands/add/projects.js.map +0 -1
- package/dist/commands/cancel/tasks.js.map +0 -1
- package/dist/commands/delete/documents.js.map +0 -1
- package/dist/commands/delete/indexes.js.map +0 -1
- package/dist/commands/delete/keys.js.map +0 -1
- package/dist/commands/delete/projects.js.map +0 -1
- package/dist/commands/delete/settings.js.map +0 -1
- package/dist/commands/get/batches.js.map +0 -1
- package/dist/commands/get/documents.js.map +0 -1
- package/dist/commands/get/health.js.map +0 -1
- package/dist/commands/get/indexes.js +0 -33
- package/dist/commands/get/indexes.js.map +0 -1
- package/dist/commands/get/keys.js +0 -36
- package/dist/commands/get/keys.js.map +0 -1
- package/dist/commands/get/projects.js +0 -40
- package/dist/commands/get/projects.js.map +0 -1
- package/dist/commands/get/settings.js.map +0 -1
- package/dist/commands/get/stats.js.map +0 -1
- package/dist/commands/get/tasks.js.map +0 -1
- package/dist/commands/get/version.js +0 -16
- package/dist/commands/get/version.js.map +0 -1
- package/dist/commands/update/documents.js.map +0 -1
- package/dist/commands/update/indexes.js.map +0 -1
- package/dist/commands/update/keys.js.map +0 -1
- package/dist/commands/update/projects.js.map +0 -1
- package/dist/commands/update/settings.js.map +0 -1
package/dist/commands/similar.js
CHANGED
|
@@ -6,10 +6,11 @@ export default class Similar extends BaseCommand {
|
|
|
6
6
|
static api = "meilisearch";
|
|
7
7
|
static routes = ["POST /indexes/{index_uid}/similar"];
|
|
8
8
|
static keyActions = ["search"];
|
|
9
|
-
static description =
|
|
9
|
+
static description = `Find the documents similar to one document.
|
|
10
|
+
|
|
11
|
+
--id names the document, and --embedder the embedder that compares them.`;
|
|
10
12
|
static examples = [
|
|
11
13
|
"<%= config.bin %> <%= command.id %> --project prod --index movies --id 143 --embedder default",
|
|
12
|
-
"<%= config.bin %> <%= command.id %> --project prod --index movies --id 143 --embedder default --output json",
|
|
13
14
|
"<%= config.bin %> <%= command.id %> --project prod --index movies --id 143 --embedder default --filter 'genres = horror' --limit 5",
|
|
14
15
|
'<%= config.bin %> <%= command.id %> --project prod --index movies --data \'{"id":143,"embedder":"default","retrieveVectors":true}\'',
|
|
15
16
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"similar.js","sourceRoot":"","sources":["../../src/commands/similar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAY,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEtD,MAAM,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE/B,MAAM,CAAU,WAAW,
|
|
1
|
+
{"version":3,"file":"similar.js","sourceRoot":"","sources":["../../src/commands/similar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Flags } from "@oclif/core";
|
|
2
|
-
import { BaseCommand } from "
|
|
3
|
-
import { fetchStats } from "
|
|
4
|
-
export default class
|
|
2
|
+
import { BaseCommand } from "../lib/base-command.js";
|
|
3
|
+
import { fetchStats } from "../lib/clients/meilisearch.js";
|
|
4
|
+
export default class Stats extends BaseCommand {
|
|
5
5
|
static api = "meilisearch";
|
|
6
6
|
static routes = ["GET /stats", "GET /indexes/{index_uid}/stats"];
|
|
7
7
|
static keyActions = ["stats.get"];
|
|
8
|
-
static description =
|
|
8
|
+
static description = `Get the statistics of the instance, or of one index.
|
|
9
|
+
|
|
10
|
+
--index names the index.`;
|
|
9
11
|
static examples = [
|
|
10
12
|
"<%= config.bin %> <%= command.id %> --project prod",
|
|
11
|
-
"<%= config.bin %> <%= command.id %> --project prod --output json",
|
|
12
13
|
"<%= config.bin %> <%= command.id %> --project prod --index movies",
|
|
13
14
|
"<%= config.bin %> <%= command.id %> --project prod --index movies --size-format human --show-internal-database-sizes",
|
|
14
15
|
];
|
|
@@ -27,7 +28,7 @@ export default class GetStats extends BaseCommand {
|
|
|
27
28
|
})(),
|
|
28
29
|
};
|
|
29
30
|
async run() {
|
|
30
|
-
const { flags } = await this.parse(
|
|
31
|
+
const { flags } = await this.parse(Stats);
|
|
31
32
|
await this.output(await fetchStats(this.meilisearch, flags.index, {
|
|
32
33
|
showInternalDatabaseSizes: flags["show-internal-database-sizes"] ? true : undefined,
|
|
33
34
|
sizeFormat: flags["size-format"],
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;IAEjE,MAAM,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,CAAU,WAAW,GAAG;;yBAEP,CAAC;IAExB,MAAM,CAAU,QAAQ,GAAG;QACzB,oDAAoD;QACpD,mEAAmE;QACnE,sHAAsH;KACvH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,sEAAsE;YACnF,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5C,WAAW,EAAE,gFAAgF;SAC9F,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAU;YAClC,WAAW,EACT,gGAAgG;SACnG,CAAC,EAAE;KACL,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,MAAM,CACf,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE;YAC9C,yBAAyB,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACnF,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;SACjC,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { BaseCommand } from "../../lib/base-command.js";
|
|
2
2
|
import { taskFilterFlags, taskFilterQuery } from "../../lib/task-filters.js";
|
|
3
|
-
export default class
|
|
3
|
+
export default class TaskCancel extends BaseCommand {
|
|
4
4
|
static api = "meilisearch";
|
|
5
5
|
static routes = ["POST /tasks/cancel"];
|
|
6
6
|
static keyActions = ["tasks.cancel"];
|
|
7
|
-
static description =
|
|
7
|
+
static description = `Cancel tasks.
|
|
8
|
+
|
|
9
|
+
Cancels the enqueued and processing tasks matched by --ids, --statuses, --types and the other filters of the route.`;
|
|
8
10
|
static examples = [
|
|
9
11
|
"<%= config.bin %> <%= command.id %> --project prod --ids 42,1344",
|
|
10
|
-
"<%= config.bin %> <%= command.id %> --project prod --ids 42
|
|
12
|
+
"<%= config.bin %> <%= command.id %> --project prod --ids 42",
|
|
11
13
|
"<%= config.bin %> <%= command.id %> --project prod --statuses enqueued --index-ids movies",
|
|
12
14
|
"<%= config.bin %> <%= command.id %> --project prod --statuses processing --wait",
|
|
13
15
|
];
|
|
@@ -17,8 +19,8 @@ export default class CancelTasks extends BaseCommand {
|
|
|
17
19
|
...BaseCommand.waitFlags,
|
|
18
20
|
};
|
|
19
21
|
async run() {
|
|
20
|
-
const { flags } = await this.parse(
|
|
22
|
+
const { flags } = await this.parse(TaskCancel);
|
|
21
23
|
await this.outputTask(await this.meilisearch.tasks.cancelTasks(taskFilterQuery(flags)), flags);
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=cancel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/commands/task/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEvC,MAAM,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;IAErC,MAAM,CAAU,WAAW,GAAG;;oHAEoF,CAAC;IAEnH,MAAM,CAAU,QAAQ,GAAG;QACzB,kEAAkE;QAClE,6DAA6D;QAC7D,2FAA2F;QAC3F,iFAAiF;KAClF,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,GAAG,eAAe;QAClB,GAAG,WAAW,CAAC,SAAS;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjG,CAAC;CACF"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { BaseCommand } from "../../lib/base-command.js";
|
|
2
2
|
import { MeiliCliError } from "../../lib/errors.js";
|
|
3
3
|
import { taskFilterFlags, taskFilterQuery } from "../../lib/task-filters.js";
|
|
4
|
-
export default class
|
|
4
|
+
export default class TaskDelete extends BaseCommand {
|
|
5
5
|
static api = "meilisearch";
|
|
6
6
|
static routes = ["DELETE /tasks"];
|
|
7
7
|
static keyActions = ["tasks.delete"];
|
|
8
|
-
static description =
|
|
8
|
+
static description = `Delete finished tasks.
|
|
9
|
+
|
|
10
|
+
Deletes the finished tasks matched by --ids, --statuses, --types and the other filters of the route.`;
|
|
9
11
|
static examples = [
|
|
10
12
|
"<%= config.bin %> <%= command.id %> --project prod --ids 42,1344 --yes",
|
|
11
|
-
"<%= config.bin %> <%= command.id %> --project prod --ids 42 --yes
|
|
13
|
+
"<%= config.bin %> <%= command.id %> --project prod --ids 42 --yes",
|
|
12
14
|
"<%= config.bin %> <%= command.id %> --project prod --statuses succeeded --before-enqueued-at 2026-01-01T00:00:00Z --yes",
|
|
13
15
|
"<%= config.bin %> <%= command.id %> --project prod --index-ids movies --yes --wait",
|
|
14
16
|
];
|
|
@@ -19,7 +21,7 @@ export default class DeleteTasks extends BaseCommand {
|
|
|
19
21
|
...BaseCommand.confirmFlags,
|
|
20
22
|
};
|
|
21
23
|
async run() {
|
|
22
|
-
const { flags } = await this.parse(
|
|
24
|
+
const { flags } = await this.parse(TaskDelete);
|
|
23
25
|
const query = taskFilterQuery(flags);
|
|
24
26
|
// docs/contract/output.md, Destructive commands. There is no --all here:
|
|
25
27
|
// the route has no form that deletes every task.
|
|
@@ -31,4 +33,4 @@ export default class DeleteTasks extends BaseCommand {
|
|
|
31
33
|
await this.outputTask(await this.meilisearch.tasks.deleteTasks(query), flags);
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/task/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,eAAe,CAAC,CAAC;IAElC,MAAM,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;IAErC,MAAM,CAAU,WAAW,GAAG;;qGAEqE,CAAC;IAEpG,MAAM,CAAU,QAAQ,GAAG;QACzB,wEAAwE;QACxE,mEAAmE;QACnE,yHAAyH;QACzH,oFAAoF;KACrF,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,GAAG,eAAe;QAClB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,WAAW,CAAC,YAAY;KAC5B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,kCAAkC,EAAE;gBACvE,IAAI,EAAE,+KAA+K;aACtL,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -2,18 +2,18 @@ import { Flags } from "@oclif/core";
|
|
|
2
2
|
import { BaseCommand } from "../../lib/base-command.js";
|
|
3
3
|
import { nextFromQuery } from "../../lib/pagination.js";
|
|
4
4
|
import { taskFilterFlags, taskFilterQuery } from "../../lib/task-filters.js";
|
|
5
|
-
export default class
|
|
5
|
+
export default class TaskList extends BaseCommand {
|
|
6
6
|
static api = "meilisearch";
|
|
7
7
|
static routes = ["GET /tasks"];
|
|
8
8
|
static keyActions = ["tasks.get"];
|
|
9
|
-
static description =
|
|
9
|
+
static description = `List the tasks of the instance.
|
|
10
|
+
|
|
11
|
+
--ids, --statuses, --types and the other filters of the route narrow the list.`;
|
|
10
12
|
static examples = [
|
|
11
13
|
"<%= config.bin %> <%= command.id %> --project prod",
|
|
12
|
-
"<%= config.bin %> <%= command.id %> --project prod --output json",
|
|
13
14
|
"<%= config.bin %> <%= command.id %> --project prod --ids 42",
|
|
14
15
|
"<%= config.bin %> <%= command.id %> --project prod --statuses failed,canceled --limit 5",
|
|
15
16
|
"<%= config.bin %> <%= command.id %> --project prod --index-ids movies --types documentAdditionOrUpdate",
|
|
16
|
-
"<%= config.bin %> <%= command.id %> --project prod --all --output ndjson",
|
|
17
17
|
];
|
|
18
18
|
static flags = {
|
|
19
19
|
...BaseCommand.connectionFlags,
|
|
@@ -24,7 +24,7 @@ export default class GetTasks extends BaseCommand {
|
|
|
24
24
|
...BaseCommand.fromPaginationFlags,
|
|
25
25
|
};
|
|
26
26
|
async run() {
|
|
27
|
-
const { flags } = await this.parse(
|
|
27
|
+
const { flags } = await this.parse(TaskList);
|
|
28
28
|
const filters = {
|
|
29
29
|
...taskFilterQuery(flags),
|
|
30
30
|
reverse: flags.reverse ? true : undefined,
|
|
@@ -32,4 +32,4 @@ export default class GetTasks extends BaseCommand {
|
|
|
32
32
|
await this.outputList((page) => this.meilisearch.tasks.getTasks({ ...filters, ...page }), { limit: flags.limit, from: flags.from }, flags.all, nextFromQuery);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/task/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,CAAU,WAAW,GAAG;;+EAE+C,CAAC;IAE9E,MAAM,CAAU,QAAQ,GAAG;QACzB,oDAAoD;QACpD,6DAA6D;QAC7D,yFAAyF;QACzF,wGAAwG;KACzG,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,GAAG,eAAe;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,sEAAsE;SACpF,CAAC;QACF,GAAG,WAAW,CAAC,mBAAmB;KACnC,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG;YACd,GAAG,eAAe,CAAC,KAAK,CAAC;YACzB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC1C,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,EAClE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EACxC,KAAK,CAAC,GAAG,EACT,aAAa,CACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../lib/base-command.js";
|
|
3
|
+
export default class TaskView extends BaseCommand {
|
|
4
|
+
static api = "meilisearch";
|
|
5
|
+
static routes = ["GET /tasks/{task_id}"];
|
|
6
|
+
static keyActions = ["tasks.get"];
|
|
7
|
+
static description = `Get one task.
|
|
8
|
+
|
|
9
|
+
Prints its status and its error.`;
|
|
10
|
+
static examples = ["<%= config.bin %> <%= command.id %> --project prod --id 42"];
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.connectionFlags,
|
|
13
|
+
id: Flags.integer({ required: true, description: "The task uid.", helpValue: "<uid>" }),
|
|
14
|
+
};
|
|
15
|
+
async run() {
|
|
16
|
+
const { flags } = await this.parse(TaskView);
|
|
17
|
+
await this.output(await this.meilisearch.tasks.getTask(flags.id));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/task/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,GAAG,GAAQ,aAAa,CAAC;IAEhC,MAAM,CAAC,MAAM,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEzC,MAAM,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,CAAU,WAAW,GAAG;;iCAEC,CAAC;IAEhC,MAAM,CAAU,QAAQ,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAE1F,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,eAAe;QAC9B,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;KACxF,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../lib/base-command.js";
|
|
3
|
+
import { postApiV2Teams } from "../../lib/clients/management/generated/sdk.gen.js";
|
|
4
|
+
import { readBodyWithFields } from "../../lib/input.js";
|
|
5
|
+
export default class TeamAdd extends BaseCommand {
|
|
6
|
+
static api = "management";
|
|
7
|
+
static routes = ["POST /api/v2/teams"];
|
|
8
|
+
static description = `Create a Meilisearch Cloud team.
|
|
9
|
+
|
|
10
|
+
Creates it in an organization.`;
|
|
11
|
+
static examples = [
|
|
12
|
+
"<%= config.bin %> <%= command.id %> --name search --organization-id 1",
|
|
13
|
+
'<%= config.bin %> <%= command.id %> --data \'{"name":"search","organizationId":1}\'',
|
|
14
|
+
];
|
|
15
|
+
static flags = {
|
|
16
|
+
name: Flags.string({ description: "Name of the team.", helpValue: "<name>" }),
|
|
17
|
+
"organization-id": Flags.integer({
|
|
18
|
+
description: "Organization that owns the team.",
|
|
19
|
+
helpValue: "<id>",
|
|
20
|
+
}),
|
|
21
|
+
...BaseCommand.bodyInputFlags,
|
|
22
|
+
};
|
|
23
|
+
async run() {
|
|
24
|
+
const { flags } = await this.parse(TeamAdd);
|
|
25
|
+
const body = readBodyWithFields(flags, {
|
|
26
|
+
name: flags.name,
|
|
27
|
+
organizationId: flags["organization-id"],
|
|
28
|
+
});
|
|
29
|
+
await this.output(await postApiV2Teams({ client: this.managementClient, body }));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/team/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEvC,MAAM,CAAU,WAAW,GAAG;;+BAED,CAAC;IAE9B,MAAM,CAAU,QAAQ,GAAG;QACzB,uEAAuE;QACvE,qFAAqF;KACtF,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC7E,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,kCAAkC;YAC/C,SAAS,EAAE,MAAM;SAClB,CAAC;QACF,GAAG,WAAW,CAAC,cAAc;KAC9B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE;YACrC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;SACzC,CAA+B,CAAC;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../lib/base-command.js";
|
|
3
|
+
import { deleteApiV2TeamsById } from "../../lib/clients/management/generated/sdk.gen.js";
|
|
4
|
+
export default class TeamDelete extends BaseCommand {
|
|
5
|
+
static api = "management";
|
|
6
|
+
static routes = ["DELETE /api/v2/teams/{id}"];
|
|
7
|
+
static description = `Delete a Meilisearch Cloud team.
|
|
8
|
+
|
|
9
|
+
The team must have no project left. Prints nothing on success.`;
|
|
10
|
+
static examples = ["<%= config.bin %> <%= command.id %> --id 12 --yes"];
|
|
11
|
+
static flags = {
|
|
12
|
+
id: Flags.integer({ description: "The team to delete.", helpValue: "<id>", required: true }),
|
|
13
|
+
...BaseCommand.confirmFlags,
|
|
14
|
+
};
|
|
15
|
+
async run() {
|
|
16
|
+
const { flags } = await this.parse(TeamDelete);
|
|
17
|
+
await deleteApiV2TeamsById({ client: this.managementClient, path: { id: flags.id } });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/team/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAEzF,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAE9C,MAAM,CAAU,WAAW,GAAG;;+DAE+B,CAAC;IAE9D,MAAM,CAAU,QAAQ,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAEjF,MAAM,CAAU,KAAK,GAAG;QACtB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5F,GAAG,WAAW,CAAC,YAAY;KAC5B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseCommand } from "../../lib/base-command.js";
|
|
2
|
+
import { getApiV2Teams } from "../../lib/clients/management/generated/sdk.gen.js";
|
|
3
|
+
export default class TeamList extends BaseCommand {
|
|
4
|
+
static api = "management";
|
|
5
|
+
static routes = ["GET /api/v2/teams"];
|
|
6
|
+
static description = `List the Meilisearch Cloud teams.
|
|
7
|
+
|
|
8
|
+
Only the teams the token sees.`;
|
|
9
|
+
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
10
|
+
async run() {
|
|
11
|
+
await this.parse(TeamList);
|
|
12
|
+
await this.output(await getApiV2Teams({ client: this.managementClient }));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/team/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAElF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEtC,MAAM,CAAU,WAAW,GAAG;;+BAED,CAAC;IAE9B,MAAM,CAAU,QAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnE,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../lib/base-command.js";
|
|
3
|
+
import { patchApiV2TeamsById } from "../../lib/clients/management/generated/sdk.gen.js";
|
|
4
|
+
import { readBodyWithFields } from "../../lib/input.js";
|
|
5
|
+
export default class TeamUpdate extends BaseCommand {
|
|
6
|
+
static api = "management";
|
|
7
|
+
static routes = ["PATCH /api/v2/teams/{id}"];
|
|
8
|
+
static description = "Rename a Meilisearch Cloud team, or change its owner.";
|
|
9
|
+
static examples = [
|
|
10
|
+
"<%= config.bin %> <%= command.id %> --id 12 --name renamed",
|
|
11
|
+
"<%= config.bin %> <%= command.id %> --id 12 --owner-id 5b7c2f1e-8a3d-4e6f-9b0a-1c2d3e4f5a6b",
|
|
12
|
+
'<%= config.bin %> <%= command.id %> --id 12 --data \'{"name":"renamed"}\'',
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
id: Flags.integer({ description: "The team to update.", helpValue: "<id>", required: true }),
|
|
16
|
+
name: Flags.string({ description: "New name of the team.", helpValue: "<name>" }),
|
|
17
|
+
"owner-id": Flags.string({
|
|
18
|
+
description: "UUID of the new owner, who must already be a member of the team.",
|
|
19
|
+
helpValue: "<uuid>",
|
|
20
|
+
}),
|
|
21
|
+
...BaseCommand.bodyInputFlags,
|
|
22
|
+
};
|
|
23
|
+
async run() {
|
|
24
|
+
const { flags } = await this.parse(TeamUpdate);
|
|
25
|
+
const body = readBodyWithFields(flags, {
|
|
26
|
+
name: flags.name,
|
|
27
|
+
ownerId: flags["owner-id"],
|
|
28
|
+
});
|
|
29
|
+
await this.output(await patchApiV2TeamsById({ client: this.managementClient, path: { id: flags.id }, body }));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/team/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAE7C,MAAM,CAAU,WAAW,GAAG,uDAAuD,CAAC;IAEtF,MAAM,CAAU,QAAQ,GAAG;QACzB,4DAA4D;QAC5D,6FAA6F;QAC7F,2EAA2E;KAC5E,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5F,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACjF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,kEAAkE;YAC/E,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,GAAG,WAAW,CAAC,cAAc;KAC9B,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE;YACrC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;SAC3B,CAAoC,CAAC;QACtC,MAAM,IAAI,CAAC,MAAM,CACf,MAAM,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAC3F,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { BaseCommand } from "../../lib/base-command.js";
|
|
3
|
+
import { getApiV2TeamsById } from "../../lib/clients/management/generated/sdk.gen.js";
|
|
4
|
+
export default class TeamView extends BaseCommand {
|
|
5
|
+
static api = "management";
|
|
6
|
+
static routes = ["GET /api/v2/teams/{id}"];
|
|
7
|
+
static description = "Get one Meilisearch Cloud team.";
|
|
8
|
+
static examples = ["<%= config.bin %> <%= command.id %> --id 12"];
|
|
9
|
+
static flags = {
|
|
10
|
+
id: Flags.integer({ required: true, description: "The team to get.", helpValue: "<id>" }),
|
|
11
|
+
};
|
|
12
|
+
async run() {
|
|
13
|
+
const { flags } = await this.parse(TeamView);
|
|
14
|
+
await this.output(await getApiV2TeamsById({ client: this.managementClient, path: { id: flags.id } }));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/team/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAY,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,GAAG,GAAQ,YAAY,CAAC;IAE/B,MAAM,CAAC,MAAM,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAE3C,MAAM,CAAU,WAAW,GAAG,iCAAiC,CAAC;IAEhE,MAAM,CAAU,QAAQ,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3E,MAAM,CAAU,KAAK,GAAG;QACtB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KAC1F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CACf,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CACnF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -10,19 +10,19 @@ import { ManagementApiError, MeiliCliError, parseErrorBody, toRenderedError, } f
|
|
|
10
10
|
import { logInWithBrowser } from "../lib/login.js";
|
|
11
11
|
import { resolveOauthClient } from "../lib/session.js";
|
|
12
12
|
import { isTaskFailure, isTaskFinal, pollUntil } from "../lib/tasks.js";
|
|
13
|
-
import { ask, askSecret, bar, choose, detail, elapsed, endStatus, field, heading, paint, problem, say, status, step, } from "../lib/terminal.js";
|
|
13
|
+
import { ask, askSecret, bar, choose, detail, elapsed, endStatus, field, heading, isPromptExit, paint, problem, say, status, step, } from "../lib/terminal.js";
|
|
14
14
|
const PRICING_URL = "https://www.meilisearch.com/pricing";
|
|
15
15
|
const SUPPORT = "support@meilisearch.com";
|
|
16
16
|
/** Shown in turn while Meilisearch Cloud creates the project, `<name>` replaced by its name. */
|
|
17
17
|
const TIPS = [
|
|
18
18
|
`Choose the best plan for your usage: ${PRICING_URL}`,
|
|
19
|
-
"Meilisearch Cloud upgrades your project to new Meilisearch versions
|
|
20
|
-
"`meili
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
"Meilisearch Cloud shows analytics
|
|
24
|
-
"`meili
|
|
25
|
-
"`meili
|
|
19
|
+
"Meilisearch Cloud upgrades your project to new Meilisearch versions automatically, at the time you schedule.",
|
|
20
|
+
"`meili index list --project <name>` lists the indexes of the project.",
|
|
21
|
+
"Monitor and manage your project from the Meilisearch Cloud dashboard.",
|
|
22
|
+
"`meili task list --project <name> --statuses enqueued,processing` lists the tasks not finished yet.",
|
|
23
|
+
"Meilisearch Cloud shows the usage analytics of your project, like the most searched queries.",
|
|
24
|
+
"`meili stats --project <name>` shows the number of documents of each index.",
|
|
25
|
+
"`meili task list --project <name> --statuses failed` lists the tasks that failed.",
|
|
26
26
|
"`meili config list` shows the projects of your config file.",
|
|
27
27
|
];
|
|
28
28
|
const TIP_MS = 8000;
|
|
@@ -38,14 +38,16 @@ const PROJECT_NAME = /^.{3,40}$/;
|
|
|
38
38
|
const NO_DEADLINE = Number.POSITIVE_INFINITY;
|
|
39
39
|
const NEVER = () => new MeiliCliError("cli_internal", "A wait without a deadline timed out.");
|
|
40
40
|
/** What an agent runs in place of `teleport`. */
|
|
41
|
-
const WITHOUT_TELEPORT = "Run `meili auth login`, then `meili add
|
|
41
|
+
const WITHOUT_TELEPORT = "Run `meili auth login`, then `meili project add --name <name> --team-id <id> --resource-id <id> --sync-config --wait`, then `meili export --project <source> --project-destination <name> --wait`, then `meili task list --project <name> --statuses enqueued,processing` until it lists no task.";
|
|
42
42
|
export default class Teleport extends BaseCommand {
|
|
43
43
|
static api = "none";
|
|
44
|
-
static description = `
|
|
44
|
+
static description = `Interactive command. Move a project to Meilisearch Cloud.
|
|
45
|
+
|
|
46
|
+
Moves the data of a Meilisearch project to a new Meilisearch Cloud project, by asking questions on the terminal.
|
|
45
47
|
|
|
46
48
|
It checks that the source can export, logs in to Meilisearch Cloud, creates a project in the region, team and plan chosen, adds it to the config file, exports the data to it, and waits until the new project has indexed it. It refuses to run without a terminal.
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
The same steps, without questions: ${WITHOUT_TELEPORT}`;
|
|
49
51
|
static examples = [
|
|
50
52
|
"<%= config.bin %> <%= command.id %>",
|
|
51
53
|
"<%= config.bin %> <%= command.id %> --project local",
|
|
@@ -61,21 +63,22 @@ An agent does the same without questions. ${WITHOUT_TELEPORT}`;
|
|
|
61
63
|
async run() {
|
|
62
64
|
const { flags } = await this.parse(Teleport);
|
|
63
65
|
if (process.stdin.isTTY !== true || process.stderr.isTTY !== true) {
|
|
64
|
-
throw new MeiliCliError("cli_usage", "`meili teleport` asks questions, so it runs only in a terminal
|
|
66
|
+
throw new MeiliCliError("cli_usage", "`meili teleport` asks questions, so it runs only in a terminal.", { hint: WITHOUT_TELEPORT });
|
|
65
67
|
}
|
|
66
68
|
const onInterrupt = () => {
|
|
67
69
|
endStatus();
|
|
68
70
|
// The export is enqueued: the transfer goes on without the CLI.
|
|
69
71
|
if (this.created?.transferring === true) {
|
|
70
72
|
say();
|
|
71
|
-
say(`⏳ ${paint("bold", "The transfer
|
|
73
|
+
say(`⏳ ${paint("bold", "The transfer continues in Meilisearch Cloud. meili CLI stopped watching it.")}`);
|
|
72
74
|
say();
|
|
73
75
|
field("Watch it", `${this.created.link}/batches`);
|
|
74
76
|
sayLinks(this.created.link);
|
|
75
|
-
|
|
77
|
+
void this.exitNow(0);
|
|
78
|
+
return;
|
|
76
79
|
}
|
|
77
80
|
this.sayWhatExists();
|
|
78
|
-
|
|
81
|
+
void this.exitNow(130);
|
|
79
82
|
};
|
|
80
83
|
process.once("SIGINT", onInterrupt);
|
|
81
84
|
try {
|
|
@@ -99,7 +102,7 @@ An agent does the same without questions. ${WITHOUT_TELEPORT}`;
|
|
|
99
102
|
everyPage((query) => getApiV2Organizations({ client, query }), { page: 1 }),
|
|
100
103
|
everyPage((query) => getApiV2Teams({ client, query }), { page: 1 }),
|
|
101
104
|
]);
|
|
102
|
-
const region = await choose("Region of the new project", await closestFirst(regions));
|
|
105
|
+
const region = await choose("region", "Region of the new project", await closestFirst(regions));
|
|
103
106
|
step("Region", region.name);
|
|
104
107
|
const team = await chooseTeam(organizations, teams);
|
|
105
108
|
const created = await this.createProject(file, await askName(file, `${source.name ?? "meilisearch"}-cloud`), team, region.id, dashboard);
|
|
@@ -174,16 +177,20 @@ ${paint("dim", `Tip: ${tip.replaceAll("<name>", name)}`)}`;
|
|
|
174
177
|
const names = Object.keys(file.projects);
|
|
175
178
|
const picked = names.length === 0
|
|
176
179
|
? null
|
|
177
|
-
: await choose("Which project moves to Meilisearch Cloud?", [
|
|
178
|
-
...names.map((each) => ({
|
|
179
|
-
|
|
180
|
+
: await choose("source", "Which project moves to Meilisearch Cloud?", [
|
|
181
|
+
...names.map((each) => ({
|
|
182
|
+
name: `${each} ${file.projects[each]?.url}`,
|
|
183
|
+
value: each,
|
|
184
|
+
id: "config-entry",
|
|
185
|
+
})),
|
|
186
|
+
{ name: "Another one: enter its URL and its API key", value: null, id: "enter-url" },
|
|
180
187
|
]);
|
|
181
188
|
if (picked !== null)
|
|
182
189
|
return this.pickSource(file, picked);
|
|
183
|
-
const url = await ask("URL of the Meilisearch instance", {
|
|
190
|
+
const url = await ask("source-url", "URL of the Meilisearch instance", {
|
|
184
191
|
validate: (value) => isProjectUrl(value) || "Enter an HTTP(S) URL, for example http://localhost:7700.",
|
|
185
192
|
});
|
|
186
|
-
const apiKey = await askSecret("Its API key, with the export action (empty when it has none)");
|
|
193
|
+
const apiKey = await askSecret("source-api-key", "Its API key, with the export action (empty when it has none)");
|
|
187
194
|
return { name: undefined, url, client: this.meilisearchClient(url, apiKey || undefined) };
|
|
188
195
|
}
|
|
189
196
|
/** Connects with the stored session, or logs in with the browser first. */
|
|
@@ -191,7 +198,7 @@ ${paint("dim", `Tip: ${tip.replaceAll("<name>", name)}`)}`;
|
|
|
191
198
|
let me = await this.loggedInUser();
|
|
192
199
|
if (me === undefined) {
|
|
193
200
|
say("Log in to Meilisearch Cloud in your browser. Without an account, you create one there.");
|
|
194
|
-
await logInWithBrowser(this.env, true, detail);
|
|
201
|
+
await logInWithBrowser(this.env, true, this.userAgent, detail);
|
|
195
202
|
await this.connectManagement();
|
|
196
203
|
me = await getApiV2Me({ client: this.managementClient });
|
|
197
204
|
}
|
|
@@ -255,7 +262,7 @@ ${paint("dim", `Tip: ${tip.replaceAll("<name>", name)}`)}`;
|
|
|
255
262
|
}
|
|
256
263
|
}
|
|
257
264
|
}
|
|
258
|
-
/** Adds the project as an entry named after it, as `add
|
|
265
|
+
/** Adds the project as an entry named after it, as `project add --sync-config` does. */
|
|
259
266
|
addToConfigFile(project, apiKey, teams) {
|
|
260
267
|
const { name, url } = project;
|
|
261
268
|
try {
|
|
@@ -280,7 +287,7 @@ ${paint("dim", `Tip: ${tip.replaceAll("<name>", name)}`)}`;
|
|
|
280
287
|
}
|
|
281
288
|
endStatus();
|
|
282
289
|
// Ctrl-C on a question.
|
|
283
|
-
if (error
|
|
290
|
+
if (isPromptExit(error)) {
|
|
284
291
|
this.sayWhatExists();
|
|
285
292
|
this.exit(130);
|
|
286
293
|
}
|
|
@@ -336,7 +343,7 @@ async function closestFirst(regions) {
|
|
|
336
343
|
const name = `${region.name}${region.greenLabel ? " 🌱" : ""}`.padEnd(width);
|
|
337
344
|
const ms = latency === undefined ? "" : `${String(latency).padStart(4)}ms`;
|
|
338
345
|
const closest = index === 0 && latency !== undefined ? " (closest)" : "";
|
|
339
|
-
return { name: `${name}${ms}${closest}`.trimEnd(), value: region };
|
|
346
|
+
return { name: `${name}${ms}${closest}`.trimEnd(), value: region, id: region.name };
|
|
340
347
|
});
|
|
341
348
|
}
|
|
342
349
|
/** The team of the new project, asked only when there are several, grouped by organization. */
|
|
@@ -344,7 +351,7 @@ async function chooseTeam(organizations, teams) {
|
|
|
344
351
|
const [only] = teams;
|
|
345
352
|
const team = only !== undefined && teams.length === 1
|
|
346
353
|
? only
|
|
347
|
-
: await choose("Team of the new project", organizations.flatMap((organization) => {
|
|
354
|
+
: await choose("team", "Team of the new project", organizations.flatMap((organization) => {
|
|
348
355
|
const its = teams.filter((each) => each.organizationId === organization.id);
|
|
349
356
|
return its.length === 0
|
|
350
357
|
? []
|
|
@@ -359,7 +366,7 @@ async function chooseTeam(organizations, teams) {
|
|
|
359
366
|
}
|
|
360
367
|
/** A name Meilisearch Cloud accepts and the config file does not have yet. */
|
|
361
368
|
function askName(file, suggested) {
|
|
362
|
-
return ask("Name of the new project", {
|
|
369
|
+
return ask("project-name", "Name of the new project", {
|
|
363
370
|
default: suggested,
|
|
364
371
|
validate: (value) => !PROJECT_NAME.test(value)
|
|
365
372
|
? "A project name has 3 to 40 characters."
|
|
@@ -381,11 +388,12 @@ function choosePlan(resources, why) {
|
|
|
381
388
|
const estimation = resource.name === "Build" ? undefined : monthlyEstimation(resource);
|
|
382
389
|
return estimation === undefined ? [] : [{ resource, estimation }];
|
|
383
390
|
});
|
|
384
|
-
return choose("Plan of the new project", priced
|
|
391
|
+
return choose("plan", "Plan of the new project", priced
|
|
385
392
|
.sort((a, b) => rank(a.resource) - rank(b.resource))
|
|
386
393
|
.map(({ resource, estimation }) => ({
|
|
387
394
|
name: describeResource(resource, estimation),
|
|
388
395
|
value: resource.id,
|
|
396
|
+
id: resource.name,
|
|
389
397
|
})));
|
|
390
398
|
}
|
|
391
399
|
/**
|
|
@@ -460,7 +468,7 @@ async function followIndexing(client, entry) {
|
|
|
460
468
|
problem(`Task ${task.uid} (${task.type}) failed: ${task.error?.message ?? "no error message"}`);
|
|
461
469
|
}
|
|
462
470
|
throw new MeiliCliError("cli_task_failed", `${tasks(failed.total)} failed in project ${entry}.`, {
|
|
463
|
-
hint: `Run \`meili
|
|
471
|
+
hint: `Run \`meili task list --project ${entry} --statuses failed\` to see them.`,
|
|
464
472
|
});
|
|
465
473
|
}
|
|
466
474
|
//# sourceMappingURL=teleport.js.map
|