diff options
| author | Zephyrrus <[email protected]> | 2020-07-09 02:22:48 +0300 |
|---|---|---|
| committer | Zephyrrus <[email protected]> | 2020-07-09 02:22:48 +0300 |
| commit | 704578e964741da85b29eeb32cb7e447c3a4c19b (patch) | |
| tree | 0b30bf22bd0fa263b1c9d71971ad4d30f9bcee24 /src/site/plugins/handler.js | |
| parent | fix: stop leaking user's password and their apikey to admins (diff) | |
| download | host.fuwn.me-704578e964741da85b29eeb32cb7e447c3a4c19b.tar.xz host.fuwn.me-704578e964741da85b29eeb32cb7e447c3a4c19b.zip | |
feat: add handler for actions
Takes care of dispatching a 🍞 on success/error
Diffstat (limited to 'src/site/plugins/handler.js')
| -rw-r--r-- | src/site/plugins/handler.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/site/plugins/handler.js b/src/site/plugins/handler.js new file mode 100644 index 0000000..3d85b15 --- /dev/null +++ b/src/site/plugins/handler.js @@ -0,0 +1,25 @@ +import AlertTypes from '~/constants/alertTypes'; + +export default ({ store }, inject) => { + inject('handler', { + async executeAction(action, param) { + try { + const response = await store.dispatch(action, param); + + store.commit('alert/set', { + message: response?.message ?? 'Executed sucesfully', + type: AlertTypes.SUCCESS, + }); + + return response; + } catch (e) { + store.commit('alert/set', { + message: e.message, + type: AlertTypes.ERROR, + }); + + return null; + } + }, + }); +}; |