{"version":3,"file":"reset-user-password.mjs","sources":["../../../../../src/cli/commands/admin/reset-user-password.ts"],"sourcesContent":["import _ from 'lodash';\nimport inquirer from 'inquirer';\nimport { createCommand } from 'commander';\nimport { createStrapi, compileStrapi } from '@strapi/core';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\n\ninterface CmdOptions {\n  email?: string;\n  password?: string;\n}\n\ninterface Answers {\n  email: string;\n  password: string;\n  confirm: boolean;\n}\n\nconst promptQuestions: ReadonlyArray<inquirer.DistinctQuestion<Answers>> = [\n  { type: 'input', name: 'email', message: 'User email?' },\n  { type: 'password', name: 'password', message: 'New password?' },\n  {\n    type: 'confirm',\n    name: 'confirm',\n    message: \"Do you really want to reset this user's password?\",\n  },\n];\n\nasync function changePassword({ email, password }: CmdOptions) {\n  const appContext = await compileStrapi();\n  const app = await createStrapi(appContext).load();\n\n  await app.admin!.services.user.resetPasswordByEmail(email, password);\n\n  console.log(`Successfully reset user's password`);\n  process.exit(0);\n}\n\n/**\n * Reset user's password\n */\nconst action = async (cmdOptions: CmdOptions = {}) => {\n  const { email, password } = cmdOptions;\n\n  if (_.isEmpty(email) && _.isEmpty(password) && process.stdin.isTTY) {\n    const inquiry = await inquirer.prompt(promptQuestions);\n\n    if (!inquiry.confirm) {\n      process.exit(0);\n    }\n\n    return changePassword(inquiry);\n  }\n\n  if (_.isEmpty(email) || _.isEmpty(password)) {\n    console.error('Missing required options `email` or `password`');\n    process.exit(1);\n  }\n\n  return changePassword({ email, password });\n};\n\n/**\n * `$ strapi admin:reset-user-password`\n */\nconst command: StrapiCommand = () => {\n  return createCommand('admin:reset-user-password')\n    .alias('admin:reset-password')\n    .description(\"Reset an admin user's password\")\n    .option('-e, --email <email>', 'The user email')\n    .option('-p, --password <password>', 'New password for the user')\n    .action(runAction('admin:reset-user-password', action));\n};\n\nexport { action, command };\n"],"names":["promptQuestions","type","name","message","changePassword","email","password","appContext","compileStrapi","app","createStrapi","load","admin","services","user","resetPasswordByEmail","console","log","process","exit","action","cmdOptions","_","isEmpty","stdin","isTTY","inquiry","inquirer","prompt","confirm","error","command","createCommand","alias","description","option","runAction"],"mappings":";;;;;;AAmBA,MAAMA,eAAAA,GAAqE;AACzE,IAAA;QAAEC,IAAAA,EAAM,OAAA;QAASC,IAAAA,EAAM,OAAA;QAASC,OAAAA,EAAS;AAAc,KAAA;AACvD,IAAA;QAAEF,IAAAA,EAAM,UAAA;QAAYC,IAAAA,EAAM,UAAA;QAAYC,OAAAA,EAAS;AAAgB,KAAA;AAC/D,IAAA;QACEF,IAAAA,EAAM,SAAA;QACNC,IAAAA,EAAM,SAAA;QACNC,OAAAA,EAAS;AACX;AACD,CAAA;AAED,eAAeC,cAAAA,CAAe,EAAEC,KAAK,EAAEC,QAAQ,EAAc,EAAA;AAC3D,IAAA,MAAMC,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMC,GAAAA,GAAM,MAAMC,YAAAA,CAAaH,UAAAA,CAAAA,CAAYI,IAAI,EAAA;IAE/C,MAAMF,GAAAA,CAAIG,KAAK,CAAEC,QAAQ,CAACC,IAAI,CAACC,oBAAoB,CAACV,KAAAA,EAAOC,QAAAA,CAAAA;AAE3DU,IAAAA,OAAAA,CAAQC,GAAG,CAAC,CAAC,kCAAkC,CAAC,CAAA;AAChDC,IAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;AAEA;;AAEC,IACD,MAAMC,MAAAA,GAAS,OAAOC,UAAAA,GAAyB,EAAE,GAAA;AAC/C,IAAA,MAAM,EAAEhB,KAAK,EAAEC,QAAQ,EAAE,GAAGe,UAAAA;AAE5B,IAAA,IAAIC,CAAAA,CAAEC,OAAO,CAAClB,KAAAA,CAAAA,IAAUiB,CAAAA,CAAEC,OAAO,CAACjB,QAAAA,CAAAA,IAAaY,OAAAA,CAAQM,KAAK,CAACC,KAAK,EAAE;AAClE,QAAA,MAAMC,OAAAA,GAAU,MAAMC,QAAAA,CAASC,MAAM,CAAC5B,eAAAA,CAAAA;QAEtC,IAAI,CAAC0B,OAAAA,CAAQG,OAAO,EAAE;AACpBX,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA;AAEA,QAAA,OAAOf,cAAAA,CAAesB,OAAAA,CAAAA;AACxB,IAAA;AAEA,IAAA,IAAIJ,EAAEC,OAAO,CAAClB,UAAUiB,CAAAA,CAAEC,OAAO,CAACjB,QAAAA,CAAAA,EAAW;AAC3CU,QAAAA,OAAAA,CAAQc,KAAK,CAAC,gDAAA,CAAA;AACdZ,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,IAAA;AAEA,IAAA,OAAOf,cAAAA,CAAe;AAAEC,QAAAA,KAAAA;AAAOC,QAAAA;AAAS,KAAA,CAAA;AAC1C;AAEA;;AAEC,UACKyB,OAAAA,GAAyB,IAAA;AAC7B,IAAA,OAAOC,cAAc,2BAAA,CAAA,CAClBC,KAAK,CAAC,sBAAA,CAAA,CACNC,WAAW,CAAC,gCAAA,CAAA,CACZC,MAAM,CAAC,qBAAA,EAAuB,gBAAA,CAAA,CAC9BA,MAAM,CAAC,2BAAA,EAA6B,6BACpCf,MAAM,CAACgB,UAAU,2BAAA,EAA6BhB,MAAAA,CAAAA,CAAAA;AACnD;;;;"}