UNPKG

pip-webui

Version:

HTML5 UI for LOB applications

122 lines (103 loc) 5.16 kB
/** * @file Tips data model * @copyright Digital Living Software Corp. 2014-2016 */ /* global angular */ (function () { 'use strict'; var thisModule = angular.module('pipTipsData', ['pipRest', 'pipDataModel']); thisModule.provider('pipTipsData', function () { var PAGE_SIZE = 100; // Read all tips this.readTipsResolver = function () { return /* @ngInject */ function ($stateParams, pipRest) { return pipRest.tips().query().$promise; }; }; this.readTipResolver = function () { return /* @ngInject */ function ($stateParams, pipRest) { return pipRest.tips().get({ id: $stateParams.id }).$promise; }; }; // CRUD operations and other business methods this.$get = function (pipRest, $stateParams, pipDataModel, pipTipsCache) { return { partyId: pipRest.partyId, // todo update after optimization rezolver readTips: function (params, successCallback, errorCallback) { params.resource = 'tips'; params.item = params.item || {}; params.item.search = $stateParams.search; params.item.tags = $stateParams.search; params.item.party_id = pipRest.partyId($stateParams); return pipTipsCache.readTips(params, successCallback, errorCallback); }, readTip: function (params, successCallback, errorCallback) { params.resource = 'tips'; params.item = params.item || {}; params.item.party_id = pipRest.partyId($stateParams); params.item.id = params.item.id || $stateParams.id; return pipDataModel.readOne(params, pipTipsCache.onTipsUpdate(params, successCallback), errorCallback); }, createTip: function (params, successCallback, errorCallback) { params.resource = 'tips'; params.item = params.item || {}; params.item.party_id = pipRest.partyId($stateParams); pipDataModel.create( params, pipTipsCache.onTipCreate(params, successCallback), errorCallback ); }, createTipWithFiles: function(params, successCallback, errorCallback) { params.skipTransactionEnd = true; params.item = params.item || {}; params.item.party_id = pipRest.partyId($stateParams); pipDataModel.saveFiles(params, function() { params.resource = 'tips'; params.skipTransactionBegin = true; params.skipTransactionEnd = false; params.item.party_id = pipRest.partyId($stateParams); pipDataModel.create( params, pipTipsCache.onTipCreate(params, successCallback), errorCallback ); }, errorCallback); }, updateTip: function (params, successCallback, errorCallback) { params.resource = 'tips'; params.item = params.item || {}; params.item.party_id = pipRest.partyId($stateParams); pipDataModel.update( params, pipTipsCache.onTipUpdate(params, successCallback), errorCallback ); }, updateTipWithFiles: function(params, successCallback, errorCallback) { params.skipTransactionEnd = true; params.item = params.item || {}; params.item.party_id = pipRest.partyId($stateParams); pipDataModel.saveFiles(params, function() { params.resource = 'tips'; params.skipTransactionBegin = true; params.skipTransactionEnd = false; params.item.party_id = pipRest.partyId($stateParams); pipDataModel.update( params, pipTipsCache.onTipUpdate(params, successCallback), errorCallback ); }); }, deleteTip: function(params, successCallback, errorCallback) { params.resource = 'tips'; pipDataModel.remove(params, pipTipsCache.onTipDelete(params, successCallback), errorCallback); } } }; }); })();