@liara/cli
Version:
The command line interface for Liara
42 lines (41 loc) • 1.39 kB
JavaScript
import { ux } from '@oclif/core';
import Command from '../../base.js';
import * as shamsi from 'shamsi-date-converter';
class AppList extends Command {
async run() {
const { flags } = await this.parse(AppList);
await this.setGotConfig(flags);
const { projects } = await this.got('v1/projects').json();
if (projects.length === 0) {
this.error("Please create an app via 'liara app:create' command, first.");
}
const appsData = projects.map((project) => {
const shamshiDate = shamsi.gregorianToJalali(new Date(project.created_at));
return {
Name: project.project_id,
Platform: project.type,
Plan: project.planID,
'Feature plan': project.bundlePlanID,
Status: project.status,
Scale: project.scale,
'Created At': `${shamshiDate[0]}-${shamshiDate[1]}-${shamshiDate[2]}`,
};
});
ux.table(appsData, {
Name: {},
Platform: {},
Plan: {},
'Feature plan': {},
Scale: {},
Status: {},
'Created At': {},
}, flags);
}
}
AppList.description = 'list available apps';
AppList.flags = {
...Command.flags,
...ux.table.flags(),
};
AppList.aliases = ['app:ls'];
export default AppList;