Ghost/ghost/admin/app/adapters/theme.js
Simon Backx 7b3712a15b
Added visible theme errors in admin (#16081)
refs https://github.com/TryGhost/Team/issues/2393

- During boot and loading the active theme, we now cache the result of
the gscan validation. Cache configuration can happen in
`adapters.cache.gscan`
- We now also return non-fatal errors when activating or adding a theme.
- When the `themeErrorsNotification` feature flag is on, we fetch the
active theme (which includes the validation information) when loading
admin
- If the currently active theme has errors, we show an error
notification that can open the error modal
- Added a new endpoint: `/ghost/api/admin/themes/active/` that returns
the result of the last gscan validation of the active theme. If no cache
is available, it will run a new gscan validation.
- Added new permissions for the active action/endpoint (author, editor,
administrator)
2023-01-06 13:44:27 +01:00

22 lines
662 B
JavaScript

import ApplicationAdapter from './application';
export default class Theme extends ApplicationAdapter {
activate(model) {
let url = `${this.buildURL('theme', model.get('id'))}activate/`;
return this.ajax(url, 'PUT', {data: {}}).then((data) => {
this.store.pushPayload(data);
return model;
});
}
active() {
let url = `${this.buildURL('theme', 'active')}`;
return this.ajax(url, 'GET', {data: {}}).then((data) => {
this.store.pushPayload('theme', data);
return this.store.peekAll('theme').filterBy('name', data.themes[0].name).firstObject;
});
}
}