mirror of
https://github.com/jambonz/jambonz-api-server.git
synced 2025-12-19 05:47:46 +00:00
major merge of features from the hosted branch that was created temporarily during the initial launch of jambonz.org
47 lines
1.4 KiB
JavaScript
Executable File
47 lines
1.4 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
console.log('reset_admin_password');
|
|
const {promisePool} = require('../lib/db');
|
|
const uuidv4 = require('uuid/v4');
|
|
const {generateHashedPassword} = require('../lib/utils/password-utils');
|
|
const sqlInsert = `INSERT into users
|
|
(user_sid, name, email, hashed_password, force_change, provider, email_validated)
|
|
values (?, ?, ?, ?, ?, ?, ?)
|
|
`;
|
|
const sqlChangeAdminToken = `UPDATE api_keys set token = ?
|
|
WHERE account_sid IS NULL
|
|
AND service_provider_sid IS NULL`;
|
|
const sqlQueryAccount = 'SELECT * from accounts LIMIT 1';
|
|
const sqlAddAccountAdminToken = `INSERT into api_keys (api_key_sid, token, account_sid)
|
|
VALUES (?, ?, ?)`;
|
|
|
|
const doIt = async() => {
|
|
const passwordHash = await generateHashedPassword('admin');
|
|
const sid = uuidv4();
|
|
await promisePool.execute('DELETE from users where name = "admin"');
|
|
await promisePool.execute(sqlInsert,
|
|
[
|
|
sid,
|
|
'admin',
|
|
'joe@foo.bar',
|
|
passwordHash,
|
|
1,
|
|
'local',
|
|
1
|
|
]
|
|
);
|
|
|
|
/* reset admin token */
|
|
const uuid = uuidv4();
|
|
await promisePool.query(sqlChangeAdminToken, [uuid]);
|
|
|
|
/* create admin token for single account */
|
|
const api_key_sid = uuidv4();
|
|
const token = uuidv4();
|
|
const [r] = await promisePool.query(sqlQueryAccount);
|
|
await promisePool.execute(sqlAddAccountAdminToken, [api_key_sid, token, r[0].account_sid]);
|
|
|
|
process.exit(0);
|
|
};
|
|
|
|
doIt();
|