{"version":3,"file":"list-users.mjs","sources":["../../../../../src/cli/commands/admin/list-users.ts"],"sourcesContent":["import { createCommand } from 'commander';\nimport CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport { runAction } from '../../utils/helpers';\nimport type { StrapiCommand } from '../../types';\n\n/**\n * List admin users\n */\nconst action = async () => {\n  const appContext = await compileStrapi();\n  const app = await createStrapi(appContext).load();\n\n  const list = await app.admin.services.user.findPage({\n    select: ['id', 'firstname', 'lastname', 'email', 'isActive', 'blocked'],\n    populate: ['roles'],\n    pageSize: 100,\n  });\n\n  const infoTable = new CLITable({\n    head: [\n      chalk.blue('ID'),\n      chalk.blue('Email'),\n      chalk.blue('First Name'),\n      chalk.blue('Last Name'),\n      chalk.blue('Active'),\n      chalk.blue('Blocked'),\n      chalk.blue('Roles'),\n    ],\n  });\n\n  list.results.forEach((user: any) => {\n    const roles = user.roles.map((role: any) => role.name).join(', ');\n    infoTable.push([\n      user.id,\n      user.email,\n      user.firstname,\n      user.lastname,\n      user.isActive === true ? chalk.green('true') : chalk.red('false'),\n      user.blocked === true ? chalk.red('true') : chalk.green('false'),\n      roles.length > 0 ? roles : chalk.yellow('No roles assigned'),\n    ]);\n  });\n\n  console.log(infoTable.toString());\n\n  await app.destroy();\n};\n\n/**\n * `$ strapi admin:list-users`\n */\nconst command: StrapiCommand = () => {\n  return createCommand('admin:list-users')\n    .alias('admin:list')\n    .description('List all the admin users')\n    .action(runAction('admin:list-users', action));\n};\n\nexport { action, command };\n"],"names":["action","appContext","compileStrapi","app","createStrapi","load","list","admin","services","user","findPage","select","populate","pageSize","infoTable","CLITable","head","chalk","blue","results","forEach","roles","map","role","name","join","push","id","email","firstname","lastname","isActive","green","red","blocked","length","yellow","console","log","toString","destroy","command","createCommand","alias","description","runAction"],"mappings":";;;;;;AAQA;;AAEC,UACKA,MAAAA,GAAS,UAAA;AACb,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,YAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/C,MAAMC,IAAAA,GAAO,MAAMH,GAAAA,CAAII,KAAK,CAACC,QAAQ,CAACC,IAAI,CAACC,QAAQ,CAAC;QAClDC,MAAAA,EAAQ;AAAC,YAAA,IAAA;AAAM,YAAA,WAAA;AAAa,YAAA,UAAA;AAAY,YAAA,OAAA;AAAS,YAAA,UAAA;AAAY,YAAA;AAAU,SAAA;QACvEC,QAAAA,EAAU;AAAC,YAAA;AAAQ,SAAA;QACnBC,QAAAA,EAAU;AACZ,KAAA,CAAA;IAEA,MAAMC,SAAAA,GAAY,IAAIC,QAAAA,CAAS;QAC7BC,IAAAA,EAAM;AACJC,YAAAA,KAAAA,CAAMC,IAAI,CAAC,IAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,OAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,YAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,WAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,QAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,SAAA,CAAA;AACXD,YAAAA,KAAAA,CAAMC,IAAI,CAAC,OAAA;AACZ;AACH,KAAA,CAAA;AAEAZ,IAAAA,IAAAA,CAAKa,OAAO,CAACC,OAAO,CAAC,CAACX,IAAAA,GAAAA;AACpB,QAAA,MAAMY,KAAAA,GAAQZ,IAAAA,CAAKY,KAAK,CAACC,GAAG,CAAC,CAACC,IAAAA,GAAcA,IAAAA,CAAKC,IAAI,CAAA,CAAEC,IAAI,CAAC,IAAA,CAAA;AAC5DX,QAAAA,SAAAA,CAAUY,IAAI,CAAC;AACbjB,YAAAA,IAAAA,CAAKkB,EAAE;AACPlB,YAAAA,IAAAA,CAAKmB,KAAK;AACVnB,YAAAA,IAAAA,CAAKoB,SAAS;AACdpB,YAAAA,IAAAA,CAAKqB,QAAQ;YACbrB,IAAAA,CAAKsB,QAAQ,KAAK,IAAA,GAAOd,KAAAA,CAAMe,KAAK,CAAC,MAAA,CAAA,GAAUf,KAAAA,CAAMgB,GAAG,CAAC,OAAA,CAAA;YACzDxB,IAAAA,CAAKyB,OAAO,KAAK,IAAA,GAAOjB,KAAAA,CAAMgB,GAAG,CAAC,MAAA,CAAA,GAAUhB,KAAAA,CAAMe,KAAK,CAAC,OAAA,CAAA;AACxDX,YAAAA,KAAAA,CAAMc,MAAM,GAAG,CAAA,GAAId,KAAAA,GAAQJ,KAAAA,CAAMmB,MAAM,CAAC,mBAAA;AACzC,SAAA,CAAA;AACH,IAAA,CAAA,CAAA;IAEAC,OAAAA,CAAQC,GAAG,CAACxB,SAAAA,CAAUyB,QAAQ,EAAA,CAAA;AAE9B,IAAA,MAAMpC,IAAIqC,OAAO,EAAA;AACnB;AAEA;;AAEC,UACKC,OAAAA,GAAyB,IAAA;IAC7B,OAAOC,aAAAA,CAAc,kBAAA,CAAA,CAClBC,KAAK,CAAC,YAAA,CAAA,CACNC,WAAW,CAAC,0BAAA,CAAA,CACZ5C,MAAM,CAAC6C,SAAAA,CAAU,kBAAA,EAAoB7C,MAAAA,CAAAA,CAAAA;AAC1C;;;;"}