diff --git a/services/web/modules/server-ce-scripts/scripts/create-user.mjs b/services/web/modules/server-ce-scripts/scripts/create-user.mjs index 219578b4b0..7c29ca7f5f 100644 --- a/services/web/modules/server-ce-scripts/scripts/create-user.mjs +++ b/services/web/modules/server-ce-scripts/scripts/create-user.mjs @@ -48,3 +48,13 @@ Please visit the following URL to set a password for ${email} and log in: ) }) } + +if (filename === process.argv[1]) { + try { + await main() + process.exit(0) + } catch (error) { + console.error({ error }) + process.exit(1) + } +} diff --git a/services/web/modules/server-ce-scripts/test/acceptance/src/ServerCEScriptsTests.mjs b/services/web/modules/server-ce-scripts/test/acceptance/src/ServerCEScriptsTests.mjs index a02e9a0e68..f8d458ff6b 100644 --- a/services/web/modules/server-ce-scripts/test/acceptance/src/ServerCEScriptsTests.mjs +++ b/services/web/modules/server-ce-scripts/test/acceptance/src/ServerCEScriptsTests.mjs @@ -99,6 +99,14 @@ describe('ServerCEScripts', function () { expect(await getUser('foo@bar.com')).to.deep.equal({ isAdmin: false }) }) + it('should also work with mjs version', async function () { + const out = run( + 'node modules/server-ce-scripts/scripts/create-user.mjs --email=foo@bar.com' + ) + expect(out).to.include('/user/activate?token=') + expect(await getUser('foo@bar.com')).to.deep.equal({ isAdmin: false }) + }) + it('should create an admin user with --admin flag', async function () { run( 'node modules/server-ce-scripts/scripts/create-user.js --admin --email=foo@bar.com'