diff --git a/package.json b/package.json index de796ce..fe09d3a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vuex-orm/plugin-axios", - "version": "0.5.0", + "version": "0.5.1", "description": "Vuex-ORM Plugin to sync the data against a RESTful API.", "main": "dist/index.js", "scripts": { diff --git a/src/actions/Create.js b/src/actions/Create.js index c14e5b5..d60b19c 100644 --- a/src/actions/Create.js +++ b/src/actions/Create.js @@ -21,9 +21,11 @@ export default class Create extends Action { const request = axios[method](endpoint, params.data); this.onRequest(commit); - request - .then(data => this.onSuccess(commit, model, data)) - .catch(error => this.onError(commit, error)) + try { + await this.onSuccess(commit, model, await request); + } catch(error) { + this.onError(commit, error); + } return request; } @@ -44,7 +46,7 @@ export default class Create extends Action { */ static onSuccess(commit, model, data) { commit('onSuccess') - model.insertOrUpdate({ + return model.insertOrUpdate({ data, }); } diff --git a/src/actions/Delete.js b/src/actions/Delete.js index 9a4399d..08dcc41 100644 --- a/src/actions/Delete.js +++ b/src/actions/Delete.js @@ -16,10 +16,12 @@ export default class Delete extends Action { const method = Action.getMethod('$delete', model, 'delete'); const request = axios[method](endpoint); - this.onRequest(model, params); - request - .then(data => this.onSuccess(model, params, data)) - .catch(error => this.onError(model, params, error)) + await this.onRequest(model, params); + try { + await this.onSuccess(model, params, await request); + } catch(error) { + await this.onError(model, params, error); + } return request; } @@ -30,7 +32,7 @@ export default class Delete extends Action { * @param {object} params */ static onRequest(model, params) { - model.update({ + return model.update({ where: params.params.id, data: { $isDeleting: true, @@ -46,7 +48,7 @@ export default class Delete extends Action { * @param {object} data */ static onSuccess(model, params, data) { - model.delete({ + return model.delete({ where: params.params.id || data.id, }) } @@ -58,7 +60,7 @@ export default class Delete extends Action { * @param {object} error */ static onError(model, params, error) { - model.update({ + return model.update({ where: params.params.id, data: { $isDeleting: false, diff --git a/src/actions/Fetch.js b/src/actions/Fetch.js index 73f7c91..dfc5939 100644 --- a/src/actions/Fetch.js +++ b/src/actions/Fetch.js @@ -17,9 +17,11 @@ export default class Fetch extends Action { const request = axios[method](endpoint); this.onRequest(commit); - request - .then(data => this.onSuccess(commit, model, data)) - .catch(error => this.onError(commit, error)) + try { + await this.onSuccess(commit, model, await request); + } catch(error) { + this.onError(commit, error); + } return request; } @@ -40,7 +42,7 @@ export default class Fetch extends Action { */ static onSuccess(commit, model, data) { commit('onSuccess') - model.insertOrUpdate({ + return model.insertOrUpdate({ data, }); } diff --git a/src/actions/Get.js b/src/actions/Get.js index f06f2eb..d904751 100644 --- a/src/actions/Get.js +++ b/src/actions/Get.js @@ -17,9 +17,11 @@ export default class Get extends Action { const request = axios[method](endpoint); this.onRequest(commit); - request - .then(data => this.onSuccess(commit, model, data)) - .catch(error => this.onError(commit, error)) + try { + await this.onSuccess(commit, model, await request); + } catch(error) { + this.onError(commit, error); + } return request; } @@ -40,7 +42,7 @@ export default class Get extends Action { */ static onSuccess(commit, model, data) { commit('onSuccess') - model.insertOrUpdate({ + return model.insertOrUpdate({ data, }); } diff --git a/src/actions/Update.js b/src/actions/Update.js index 67174b5..b353802 100644 --- a/src/actions/Update.js +++ b/src/actions/Update.js @@ -21,10 +21,12 @@ export default class Update extends Action { const method = Action.getMethod('$update', model, 'put'); const request = axios[method](endpoint, params.data); - this.onRequest(model, params); - request - .then(data => this.onSuccess(model, params, data)) - .catch(error => this.onError(model, params, error)) + await this.onRequest(model, params); + try { + await this.onSuccess(model, params, await request); + } catch(error) { + await this.onError(model, params, error); + } return request; } @@ -35,7 +37,7 @@ export default class Update extends Action { * @param {object} params */ static onRequest(model, params) { - model.update({ + return model.update({ where: params.params.id, data: { $isUpdating: true, @@ -51,7 +53,7 @@ export default class Update extends Action { * @param {object} data */ static onSuccess(model, params, data) { - model.update({ + return model.update({ where: params.params.id || data.id, data: merge({}, data, { $isUpdating: false, @@ -67,7 +69,7 @@ export default class Update extends Action { * @param {object} error */ static onError(model, params, error) { - model.update({ + return model.update({ where: params.params.id, data: { $isUpdating: false,