Skip to content
Snippets Groups Projects
partnersInfo.service.ts 1.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • Bastien DUMONT's avatar
    Bastien DUMONT committed
    import axios, { AxiosRequestConfig } from 'axios'
    
    import { IPartnersInfo } from '../models/partnersInfo.model'
    import { toast } from 'react-toastify'
    export class PartnersInfoService {
      /**
       * Save the partnersInfo
       * @param partnersInfo
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
       * @param axiosHeaders
    
       */
      public savePartnersInfo = async (
        partnersInfo: IPartnersInfo,
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
        axiosHeaders: AxiosRequestConfig
    
      ): Promise<void> => {
        try {
          await axios.put(
            `/api/admin/partnersInfo`,
            {
              grdf_failure: partnersInfo.grdf_failure,
              enedis_failure: partnersInfo.enedis_failure,
              egl_failure: partnersInfo.egl_failure,
              notification_activated: partnersInfo.notification_activated,
            },
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
            axiosHeaders
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          toast.success('Information des partenaires mises à jour !')
    
        } catch (e) {
          toast.error('Failed to save partners info')
          console.error(e)
        }
      }
    
      /**
       * Gets the partners information
       */
      public getPartnersInfo = async (): Promise<IPartnersInfo | null> => {
        try {
          const { data } = await axios.get(`/api/common/partnersInfo`)
          return data as IPartnersInfo
        } catch (e) {
          console.error('error', e)
          return null
        }
      }
    }