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  }