@miosa/cli 1.1.7 → 1.1.8
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/commands/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/commands/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwDzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkK/C"}
|
package/dist/commands/teams.js
CHANGED
|
@@ -35,33 +35,33 @@ function fmtStatus(status) {
|
|
|
35
35
|
export function register(program) {
|
|
36
36
|
const teams = program
|
|
37
37
|
.command("teams")
|
|
38
|
-
.description("Manage
|
|
38
|
+
.description("Manage organization members and invitations");
|
|
39
39
|
// list
|
|
40
40
|
teams
|
|
41
41
|
.command("list")
|
|
42
|
-
.description("List
|
|
42
|
+
.description("List organization members")
|
|
43
43
|
.option("--json", "Output raw JSON")
|
|
44
44
|
.action(async (opts) => {
|
|
45
45
|
try {
|
|
46
46
|
const config = loadConfig();
|
|
47
47
|
const client = new MiosaClient(config);
|
|
48
|
-
const spinner = spin("Fetching
|
|
49
|
-
const rows = unwrapMembers(await client.apiGet("/api/v1/
|
|
48
|
+
const spinner = spin("Fetching organization members...");
|
|
49
|
+
const rows = unwrapMembers(await client.apiGet("/api/v1/tenant/members"));
|
|
50
50
|
spinner.stop();
|
|
51
51
|
if (opts.json) {
|
|
52
52
|
console.log(JSON.stringify(rows, null, 2));
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
if (rows.length === 0) {
|
|
56
|
-
console.log(chalk.dim("No
|
|
56
|
+
console.log(chalk.dim("No organization members found."));
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
59
|
renderTable(rows, [
|
|
60
60
|
{ header: "ID", key: (m) => m.id.slice(0, 12), width: 14 },
|
|
61
|
+
{ header: "USER ID", key: (m) => m.user_id.slice(0, 12), width: 14 },
|
|
61
62
|
{ header: "EMAIL", key: "email", width: 32 },
|
|
62
63
|
{ header: "NAME", key: (m) => m.name ?? chalk.dim("-"), width: 22 },
|
|
63
64
|
{ header: "ROLE", key: (m) => fmtRole(m.role), width: 10 },
|
|
64
|
-
{ header: "STATUS", key: (m) => fmtStatus(m.status), width: 10 },
|
|
65
65
|
]);
|
|
66
66
|
}
|
|
67
67
|
catch (err) {
|
|
@@ -71,32 +71,30 @@ export function register(program) {
|
|
|
71
71
|
// invite
|
|
72
72
|
teams
|
|
73
73
|
.command("invite <email>")
|
|
74
|
-
.description("Invite a user to the
|
|
75
|
-
.option("--role <role>", "Role to assign: admin or
|
|
74
|
+
.description("Invite a user to the organization")
|
|
75
|
+
.option("--role <role>", "Role to assign: owner, admin, member, or viewer", "member")
|
|
76
76
|
.option("--json", "Output raw JSON")
|
|
77
77
|
.action(async (email, opts) => {
|
|
78
78
|
try {
|
|
79
79
|
const role = opts.role;
|
|
80
|
-
if (
|
|
81
|
-
console.error(chalk.red(`Invalid role "${role}". Use: admin, member`));
|
|
80
|
+
if (!["owner", "admin", "member", "viewer"].includes(role)) {
|
|
81
|
+
console.error(chalk.red(`Invalid role "${role}". Use: owner, admin, member, viewer`));
|
|
82
82
|
process.exit(1);
|
|
83
83
|
}
|
|
84
84
|
const config = loadConfig();
|
|
85
85
|
const client = new MiosaClient(config);
|
|
86
86
|
const spinner = spin(`Inviting ${email}...`);
|
|
87
|
-
const invite = unwrapInvite(await client.apiPost("/api/v1/
|
|
87
|
+
const invite = unwrapInvite(await client.apiPost("/api/v1/tenant/members", { email, role }));
|
|
88
88
|
spinner.succeed(`Invited ${email}`);
|
|
89
89
|
if (opts.json) {
|
|
90
90
|
console.log(JSON.stringify(invite, null, 2));
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
93
|
console.log();
|
|
94
|
-
console.log(` ${chalk.bold("ID")}
|
|
94
|
+
console.log(` ${chalk.bold("Invite ID")} ${invite.invite_id}`);
|
|
95
95
|
console.log(` ${chalk.bold("Email")} ${invite.email}`);
|
|
96
96
|
console.log(` ${chalk.bold("Role")} ${fmtRole(invite.role)}`);
|
|
97
97
|
console.log(` ${chalk.bold("Status")} ${fmtStatus(invite.status)}`);
|
|
98
|
-
if (invite.expires_at)
|
|
99
|
-
console.log(` ${chalk.bold("Expires")} ${invite.expires_at}`);
|
|
100
98
|
console.log();
|
|
101
99
|
}
|
|
102
100
|
catch (err) {
|
|
@@ -105,11 +103,11 @@ export function register(program) {
|
|
|
105
103
|
});
|
|
106
104
|
// remove
|
|
107
105
|
teams
|
|
108
|
-
.command("remove <
|
|
109
|
-
.description("Remove
|
|
106
|
+
.command("remove <member-id>")
|
|
107
|
+
.description("Remove an organization member")
|
|
110
108
|
.option("-f, --force", "Skip confirmation prompt")
|
|
111
109
|
.option("--json", "Output raw JSON")
|
|
112
|
-
.action(async (
|
|
110
|
+
.action(async (memberId, opts) => {
|
|
113
111
|
try {
|
|
114
112
|
if (!opts.force) {
|
|
115
113
|
const { default: inquirer } = await import("inquirer");
|
|
@@ -117,7 +115,7 @@ export function register(program) {
|
|
|
117
115
|
{
|
|
118
116
|
type: "confirm",
|
|
119
117
|
name: "ok",
|
|
120
|
-
message: chalk.red(`Remove member ${
|
|
118
|
+
message: chalk.red(`Remove organization member ${memberId}?`),
|
|
121
119
|
default: false,
|
|
122
120
|
},
|
|
123
121
|
]);
|
|
@@ -129,7 +127,7 @@ export function register(program) {
|
|
|
129
127
|
const config = loadConfig();
|
|
130
128
|
const client = new MiosaClient(config);
|
|
131
129
|
const spinner = spin("Removing member...");
|
|
132
|
-
const result = await client.apiDelete(`/api/v1/
|
|
130
|
+
const result = await client.apiDelete(`/api/v1/tenant/members/${encodeURIComponent(memberId)}`);
|
|
133
131
|
spinner.succeed("Member removed");
|
|
134
132
|
if (opts.json)
|
|
135
133
|
console.log(JSON.stringify(result ?? { ok: true }, null, 2));
|
|
@@ -140,26 +138,26 @@ export function register(program) {
|
|
|
140
138
|
});
|
|
141
139
|
// role
|
|
142
140
|
teams
|
|
143
|
-
.command("role <
|
|
144
|
-
.description("Update
|
|
141
|
+
.command("role <member-id> <role>")
|
|
142
|
+
.description("Update an organization member's role")
|
|
145
143
|
.option("--json", "Output raw JSON")
|
|
146
|
-
.action(async (
|
|
144
|
+
.action(async (memberId, role, opts) => {
|
|
147
145
|
try {
|
|
148
|
-
if (
|
|
149
|
-
console.error(chalk.red(`Invalid role "${role}". Use: admin, member`));
|
|
146
|
+
if (!["owner", "admin", "member", "viewer"].includes(role)) {
|
|
147
|
+
console.error(chalk.red(`Invalid role "${role}". Use: owner, admin, member, viewer`));
|
|
150
148
|
process.exit(1);
|
|
151
149
|
}
|
|
152
150
|
const config = loadConfig();
|
|
153
151
|
const client = new MiosaClient(config);
|
|
154
152
|
const spinner = spin(`Updating role to ${role}...`);
|
|
155
|
-
const result = await client.apiPatch(`/api/v1/
|
|
153
|
+
const result = await client.apiPatch(`/api/v1/tenant/members/${encodeURIComponent(memberId)}/role`, { role });
|
|
156
154
|
spinner.succeed(`Role updated to ${role}`);
|
|
157
155
|
if (opts.json) {
|
|
158
156
|
console.log(JSON.stringify(result, null, 2));
|
|
159
157
|
return;
|
|
160
158
|
}
|
|
161
159
|
console.log();
|
|
162
|
-
console.log(` ${chalk.bold("
|
|
160
|
+
console.log(` ${chalk.bold("Member")} ${memberId}`);
|
|
163
161
|
console.log(` ${chalk.bold("Role")} ${fmtRole(role)}`);
|
|
164
162
|
console.log();
|
|
165
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/commands/teams.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/commands/teams.ts"],"names":[],"mappings":"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"}
|