Skip to content
Snippets Groups Projects
ecogestureDataManagerService.ts 890 B
Newer Older
  • Learn to ignore specific revisions
  • Hugo NOUTS's avatar
    Hugo NOUTS committed
    import { Client } from 'cozy-client'
    import { ECOGESTURE_DOCTYPE } from 'doctypes'
    import { EcogestureType } from './dataChallengeContracts'
    
    export default class EcogestureDataManagerService {
      private readonly _client: Client
    
      constructor(_client: Client) {
        this._client = _client
      }
    
      public async getAllEcogestures(): Promise<EcogestureType[] | null> {
        const ecogestures = await this._client.query(
          this._client.find(ECOGESTURE_DOCTYPE)
        )
        if (!ecogestures) return null
    
        return ecogestures.data
      }
    
      public async deleteAllEcogestures(): Promise<boolean> {
        const ecogestures = await this.getAllEcogestures()
        if (!ecogestures) return true
        try {
          for (let index = 0; index < ecogestures.length; index++) {
            await this._client.destroy(ecogestures[index])
          }
          return true
        } catch (error) {
          return false
        }
      }
    }