aboutsummaryrefslogtreecommitdiff
path: root/src/site/plugins/handler.js
diff options
context:
space:
mode:
authorZephyrrus <[email protected]>2020-07-09 02:22:48 +0300
committerZephyrrus <[email protected]>2020-07-09 02:22:48 +0300
commit704578e964741da85b29eeb32cb7e447c3a4c19b (patch)
tree0b30bf22bd0fa263b1c9d71971ad4d30f9bcee24 /src/site/plugins/handler.js
parentfix: stop leaking user's password and their apikey to admins (diff)
downloadhost.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.js25
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;
+ }
+ },
+ });
+};