envware 1.3.0 ā 1.3.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.
|
@@ -25,46 +25,63 @@ let StatusCommand = class StatusCommand extends nest_commander_1.CommandRunner {
|
|
|
25
25
|
async run() {
|
|
26
26
|
try {
|
|
27
27
|
const { data: me } = await this.apiService.instance.get('/auth/me');
|
|
28
|
+
const { data: teams } = await this.apiService.instance.get('/teams');
|
|
28
29
|
const { data: projects } = await this.apiService.instance.get('/projects');
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const plan = me.subscriptionStatus || 'FREE';
|
|
30
|
+
const plan = me?.subscriptionStatus || 'FREE';
|
|
31
|
+
const teamLimit = plan === 'PREMIUM' ? 3 : (plan === 'ENTERPRISE' ? 'Unlimited' : 1);
|
|
32
32
|
const projectLimit = plan === 'PREMIUM' ? 100 : (plan === 'ENTERPRISE' ? 'Unlimited' : 10);
|
|
33
|
-
const
|
|
33
|
+
const ownedTeams = teams.filter((t) => t.role === 'OWNER');
|
|
34
|
+
const myProjectsCount = projects.filter((p) => ownedTeams.some((ot) => ot.id === p.teamId)).length;
|
|
35
|
+
const teamUsageColor = ownedTeams.length > (typeof teamLimit === 'number' ? teamLimit : 9999)
|
|
34
36
|
? chalk_1.default.red
|
|
35
|
-
: (
|
|
37
|
+
: (ownedTeams.length === teamLimit ? chalk_1.default.yellow : chalk_1.default.green);
|
|
38
|
+
const projectUsageColor = myProjectsCount > (typeof projectLimit === 'number' ? projectLimit : 9999)
|
|
39
|
+
? chalk_1.default.red
|
|
40
|
+
: (myProjectsCount === projectLimit ? chalk_1.default.yellow : chalk_1.default.green);
|
|
36
41
|
console.log(chalk_1.default.bold('\nš Account Status'));
|
|
37
42
|
console.log('----------------');
|
|
38
43
|
console.log(`User: ${chalk_1.default.cyan(me.email)}`);
|
|
39
|
-
console.log(`Plan: ${plan === 'PREMIUM' ? chalk_1.default.magenta('⨠PREMIUM') : chalk_1.default.white('FREE')}`);
|
|
40
|
-
console.log(`
|
|
41
|
-
|
|
44
|
+
console.log(`Plan: ${plan === 'PREMIUM' ? chalk_1.default.magenta('⨠PREMIUM') : (plan === 'ENTERPRISE' ? chalk_1.default.cyan('š ENTERPRISE') : chalk_1.default.white('FREE'))}`);
|
|
45
|
+
console.log(`Teams: ${teamUsageColor(ownedTeams.length)} / ${teamLimit} teams owned`);
|
|
46
|
+
console.log(`Usage: ${projectUsageColor(myProjectsCount)} / ${projectLimit} projects owned`);
|
|
47
|
+
let isBlocked = false;
|
|
48
|
+
if (typeof teamLimit === 'number' && ownedTeams.length > teamLimit)
|
|
49
|
+
isBlocked = true;
|
|
50
|
+
if (typeof projectLimit === 'number' && myProjectsCount > projectLimit)
|
|
51
|
+
isBlocked = true;
|
|
52
|
+
if (isBlocked) {
|
|
42
53
|
console.log(chalk_1.default.bgRed.white.bold('\n ā ļø ACCOUNT BLOCKED '));
|
|
43
54
|
console.log(chalk_1.default.red(`You have exceeded your plan limit. Your projects are locked.`));
|
|
44
|
-
console.log(chalk_1.default.red(`Please upgrade your plan or remove
|
|
55
|
+
console.log(chalk_1.default.red(`Please upgrade your plan or remove items to restore access.`));
|
|
45
56
|
}
|
|
46
57
|
else {
|
|
47
58
|
console.log(chalk_1.default.green('\nā Account is active'));
|
|
48
59
|
}
|
|
49
|
-
console.log(chalk_1.default.bold('\n
|
|
60
|
+
console.log(chalk_1.default.bold('\nš¢ Teams'));
|
|
50
61
|
console.log('----------------');
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
teams.forEach((t) => {
|
|
63
|
+
const roleColor = t.role === 'OWNER' ? chalk_1.default.magenta : (t.role === 'ADMIN' ? chalk_1.default.cyan : chalk_1.default.white);
|
|
64
|
+
console.log(`- ${t.name} ${chalk_1.default.gray('(' + t.slug + ')')} [${roleColor(t.role)}]`);
|
|
65
|
+
});
|
|
66
|
+
console.log(chalk_1.default.bold('\nš Projects (by team)'));
|
|
67
|
+
console.log('----------------');
|
|
68
|
+
const teamsWithProjects = teams.map((t) => ({
|
|
69
|
+
...t,
|
|
70
|
+
projects: projects.filter((p) => p.teamId === t.id)
|
|
71
|
+
}));
|
|
72
|
+
teamsWithProjects.forEach((t) => {
|
|
73
|
+
if (t.projects.length > 0) {
|
|
74
|
+
console.log(chalk_1.default.cyan(`${t.name}:`));
|
|
75
|
+
t.projects.forEach((p) => {
|
|
76
|
+
console.log(` - ${p.name} (${chalk_1.default.gray(p.slug)})`);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
});
|
|
63
80
|
console.log('');
|
|
64
81
|
}
|
|
65
82
|
catch (error) {
|
|
66
|
-
|
|
67
|
-
|
|
83
|
+
const message = error.response?.data?.error || error.message;
|
|
84
|
+
console.log(chalk_1.default.red('Failed to fetch status: ' + message));
|
|
68
85
|
}
|
|
69
86
|
}
|
|
70
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.command.js","sourceRoot":"","sources":["../../src/commands/status.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAAwD;AACxD,yDAAqD;AACrD,kDAA0B;AAGnB,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,8BAAa;IAC1B;IAApB,YAAoB,UAAsB;QACxC,KAAK,EAAE,CAAC;QADU,eAAU,GAAV,UAAU,CAAY;IAE1C,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YAEH,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAGpE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE3E,MAAM,
|
|
1
|
+
{"version":3,"file":"status.command.js","sourceRoot":"","sources":["../../src/commands/status.command.ts"],"names":[],"mappings":"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"}
|