Skip to content
Snippets Groups Projects
cdm.tsx 5.25 KiB
Newer Older
  • Learn to ignore specific revisions
  • Hugo NOUTS's avatar
    Hugo NOUTS committed
    import React, { useEffect } from 'react'
    import { withClient } from 'cozy-client'
    import { translate } from 'cozy-ui/react/I18n'
    import { QueryRunner } from 'services/queryRunnerService'
    import { DateTime, Interval } from 'luxon'
    import { FluidType } from 'enum/fluid.enum'
    import { TimeStep } from 'services/dataConsumptionContracts'
    import ConsumptionDataManager from 'services/consumptionDataManagerService'
    import ConsumptionPeriodSelector from 'services/consumptionPeriodSelectorService'
    import ChallengeDataManager from 'services/challengeDataManagerService'
    import UserProfileDataManager from 'services/userProfileDataManagerService'
    import { timeDay } from 'd3'
    import {
      ChallengeType,
      UserChallenge,
      EcogestureType,
    } from 'services/dataChallengeContracts'
    
    const cdm: React.FC<any> = ({ client, t }) => {
      useEffect(() => {
        async function getData() {
          const userProfileDataManager = new UserProfileDataManager(client)
    
          const challengeDataManager = new ChallengeDataManager(client)
    
          const availableChallenges:
            | ChallengeType[]
            | null = await challengeDataManager.getAvailableChallenges([0, 1, 2])
          console.log('available challenges', availableChallenges)
    
          const someChallengeType: ChallengeType = availableChallenges[0]
    
          const selectedEcogestures: EcogestureType[] = [
            new EcogestureType('0003', 'title1', 'description', [0, 1]),
            new EcogestureType('0004', 'title2', 'description', [0, 2]),
            new EcogestureType('0010', 'title3', 'description', [1, 2]),
          ]
          /*
          const startedChallenge = await challengeDataManager.startChallenge(
            someChallengeType,
            [0, 1, 2],
            selectedEcogestures
          )
          console.log('started challenge', startedChallenge)
    /*
          const currentchallenge = await challengeDataManager.getCurrentChallenge()
    
          console.log('current challenge', currentchallenge)
    
          /*
                
          const dayTimePeriod = {
            startDate: DateTime.local(2018, 6, 20),
            endDate: DateTime.local(2018, 6, 21),
          }
    
          const ComparedayTimePeriod = {
            startDate: DateTime.local(2018, 6, 21),
            endDate: DateTime.local(2018, 6, 22),
          }
    
          const monthTimePeriod = {
            startDate: DateTime.local(2018, 3, 1),
            endDate: DateTime.local(2018, 4, 1),
          }
    
          const ComparemonthTimePeriod = {
            startDate: DateTime.local(2018, 4, 1),
            endDate: DateTime.local(2018, 5, 1),
          }
    
          const yearTimePeriod = {
            startDate: DateTime.local(2016, 1, 1),
            endDate: DateTime.local(2020, 12, 31),
          }
    
          const CompareyearTimePeriod = {
            startDate: DateTime.local(2021, 1, 1),
            endDate: DateTime.local(2025, 12, 31),
          }
    
          const date = DateTime.local(2019, 12, 1)
    
          const cps = new ConsumptionPeriodSelector()
          const result = cps.getTimePeriods(
            date,
            [FluidType.ELECTRICITY],
            TimeStep.DAY
          )
    
          console.log(
            'time Period ',
            result.timePeriod.startDate.toISO(),
            ' -- ',
            result.timePeriod.endDate.toISO()
          )
          console.log(
            'compare time Period ',
            result.comparisonTimePeriod.startDate.toISO(),
            ' -- ',
            result.comparisonTimePeriod.endDate.toISO()
          )
    
          const cdm = new ConsumptionDataManager(client)
          const performanceIndicators = await cdm.getPerformanceIndicators(
            result.timePeriod,
            TimeStep.DAY,
            [FluidType.ELECTRICITY, FluidType.GAS, FluidType.WATER],
            result.comparisonTimePeriod
          )
    
          console.log('PIs', performanceIndicators)
    */
          /*
          const luxonDate = DateTime.local(2020, 2, 9).setLocale('fr-CA').endOf('week');
          console.log("luxonDate", luxonDate)
          */
          /*
          const period = cps.getPeriod(
            monthTimePeriod,
            TimeStep.DAY,
            [FluidType.ELECTRICITY],
            ComparemonthTimePeriod);
            console.log('Period' , period);
    */
          /*
          const cdm = new ConsumptionDataManager(client)
    
          console.log('Elec')
    
          const performanceIndicators = await cdm.getPerformanceIndicators(
            monthTimePeriod,
            TimeStep.DAY,
            [FluidType.ELECTRICITY],
            ComparemonthTimePeriod
          )
    
          console.log('performance Indicators', performanceIndicators)
    */
          /*
          const resultDayElec = await cdm.fetchLastDateData([FluidType.ELECTRICITY,FluidType.GAS,FluidType.WATER])
          console.log('result Day', resultDayElec)
    
    
            const HourlyresultGraphElec = await cdm.getGraphData(
            dayTimePeriod,
            TimeStep.HALF_AN_HOUR,
            [FluidType.ELECTRICITY],
            ComparedayTimePeriod
          )
          console.log('hourly result Graph', HourlyresultGraphElec)
    
    
          const MonthlyresultGraphElec = await cdm.getGraphData(
            yearTimePeriod,
            TimeStep.MONTH,
            [FluidType.ELECTRICITY],
            CompareyearTimePeriod
          )
          console.log('monthly result Graph', MonthlyresultGraphElec)
    
          const YearlyresultGraph = await cdm.getGraphData(
            yearTimePeriod,
            TimeStep.YEAR,
            [FluidType.ELECTRICITY, FluidType.GAS],
            CompareyearTimePeriod
          )
    
          console.log('yearly result Graph', YearlyresultGraph)
        */
        }
    
        getData()
      }, [])
    
      return <div>CDM</div>
    }
    export default translate()(withClient(cdm))