Ghost/ghost/admin/app/components/modal-reset-all-passwords.js
Daniel Lockyer e1f05ed126 Renamed reset_all_passwords Authentication API endpoint to /global_password_reset
refs https://github.com/TryGhost/Toolbox/issues/308

- our API has a pattern of using nouns and not verbs for the endpoint
  names, so this changes the endpoint for v5
2022-04-28 15:33:09 +01:00

47 lines
1.3 KiB
JavaScript

import ModalComponent from 'ghost-admin/components/modal-base';
import {fetch} from 'fetch';
import {not} from '@ember/object/computed';
import {inject as service} from '@ember/service';
import {set} from '@ember/object';
import {task} from 'ember-concurrency';
export default ModalComponent.extend({
notifications: service(),
isChecked: false,
isConfirmDisabled: not('isChecked'),
actions: {
toggleCheckbox() {
set(this, 'isChecked', !this.isChecked);
},
confirm() {
this.deletePost.perform();
}
},
async _resetPasswords() {
const res = await fetch('/ghost/api/admin/authentication/global_password_reset/', {
method: 'POST'
});
if (res.status < 200 || res.status >= 300) {
throw new Error('api failed ' + res.status + ' ' + res.statusText);
}
},
_failure(error) {
this.notifications.showAPIError(error, {key: 'user.resetAllPasswords.failed'});
},
resetPasswords: task(function* () {
try {
yield this._resetPasswords();
window.location = window.location.href.split('#')[0];
} catch (e) {
this._failure(e);
} finally {
this.send('closeModal');
}
}).drop()
});