Skip to content
Snippets Groups Projects
ecogestureDataManagerService.ts 890 B
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
    }
  }
}