UNPKG

@strapi/strapi

Version:

An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite

68 lines (62 loc) 2.28 kB
'use strict'; var commander = require('commander'); var CLITable = require('cli-table3'); var chalk = require('chalk'); var core = require('@strapi/core'); var helpers = require('../../utils/helpers.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var CLITable__default = /*#__PURE__*/_interopDefault(CLITable); var chalk__default = /*#__PURE__*/_interopDefault(chalk); /** * List admin users */ const action = async ()=>{ const appContext = await core.compileStrapi(); const app = await core.createStrapi(appContext).load(); const list = await app.admin.services.user.findPage({ select: [ 'id', 'firstname', 'lastname', 'email', 'isActive', 'blocked' ], populate: [ 'roles' ], pageSize: 100 }); const infoTable = new CLITable__default.default({ head: [ chalk__default.default.blue('ID'), chalk__default.default.blue('Email'), chalk__default.default.blue('First Name'), chalk__default.default.blue('Last Name'), chalk__default.default.blue('Active'), chalk__default.default.blue('Blocked'), chalk__default.default.blue('Roles') ] }); list.results.forEach((user)=>{ const roles = user.roles.map((role)=>role.name).join(', '); infoTable.push([ user.id, user.email, user.firstname, user.lastname, user.isActive === true ? chalk__default.default.green('true') : chalk__default.default.red('false'), user.blocked === true ? chalk__default.default.red('true') : chalk__default.default.green('false'), roles.length > 0 ? roles : chalk__default.default.yellow('No roles assigned') ]); }); console.log(infoTable.toString()); await app.destroy(); }; /** * `$ strapi admin:list-users` */ const command = ()=>{ return commander.createCommand('admin:list-users').alias('admin:list').description('List all the admin users').action(helpers.runAction('admin:list-users', action)); }; exports.action = action; exports.command = command; //# sourceMappingURL=list-users.js.map