github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/build-blockchain-insurance-app-master/web/src/insurance/actions/contractTemplateActions.js (about) 1 'use strict'; 2 3 import * as ContractTemplateActionType from './contractTemplateActionTypes'; 4 import * as Api from '../api'; 5 6 export function loadContractTypes() { 7 return async dispatch => { 8 let contractTypes; 9 try { 10 contractTypes = await Api.getContractTypes(); 11 } catch (e) { 12 console.log(e); 13 } 14 if (Array.isArray(contractTypes)) { 15 dispatch(loadContractTypesSuccess(contractTypes)); 16 } 17 }; 18 } 19 20 function loadContractTypesSuccess(contractTypes) { 21 return { 22 type: ContractTemplateActionType.LOAD_CONTRACT_TYPES_SUCCESS, 23 contractTypes 24 }; 25 } 26 27 export function createContractType(contractType) { 28 return async dispatch => { 29 try { 30 const uuid = await Api.createContractType(contractType); 31 if (uuid) { 32 const newContractType = Object.assign({}, contractType, { uuid }); 33 dispatch(createContractTypeSuccess(newContractType)); 34 } 35 } catch (e) { 36 console.log(e); 37 } 38 }; 39 } 40 41 function createContractTypeSuccess(contractType) { 42 return { 43 type: ContractTemplateActionType.CREATE_CONTRACT_TYPE_SUCCESS, 44 contractType 45 }; 46 } 47 48 export function setContractTypeActive(uuid, active) { 49 return async dispatch => { 50 try { 51 await Api.setContractTypeActive(uuid, active); 52 dispatch(setContractTypeActiveSuccess(uuid, active)); 53 } catch (e) { 54 console.log(e); 55 } 56 }; 57 } 58 59 function setContractTypeActiveSuccess(uuid, active) { 60 return { 61 type: ContractTemplateActionType.SET_CONTRACT_TYPE_ACTIVE_SUCCESS, 62 uuid, active 63 }; 64 }