mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-03-11 02:12:21 -05:00
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
46 lines
1.3 KiB
JavaScript
46 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()
|
|
});
|