Domain
A camada de domain possui as seguintes divisões:
- entities: contém as classes de entidades.
- repositories: contém as interfaces de repositórios.
- usecases: contém as classes de casos de uso.
Entities
Estas são as classes que compõem entities:
- ClaroluzData - Objeto central do plugin, ele contem todos os dados retornados da consulta da API.
- ClaroluzBill - Objeto que contém os dados da fatura atual do usuário.
- ClaroluzCupsData - Objeto que representa os dados de um CUPS exigidos pela API.
- ClaroluzEnergy - Objeto que recebe as propriedades
roundedEnergy*das ofertas retornadas pela API. - ClaroluzOffer - Objeto que contém dos dados de uma única oferta retornada pela API.
- ClaroluzPower - Objeto contendo dados retornados via API referente as tarifas por potência de cada oferta.
- ClaroluzTopGas - Objeto que contém os dados do TopGas.
- FloatWithTwoDecimals - Esta classe representa um número de ponto flutuante com duas casas decimais.
Repositories
Estas são as interfaces que compõem repositories:
- IClaroluzDataRepository - Interface para os repositórios de dados da Claroluz.
Usecases
Estas são as classes que compõem usecases:
- ClaroluzValueFormat - Converte o ponto decimal de um número
floatpara umastringcom vírgula. - GetTimeDiference - Obtém a diferença em segundos entre um tempo inicial e final.
- IClaroluzDatasourceEndpoints - Interface que define os endpoints da API a ser consumida.
- UrlDataExtract - extrai os dados necessários para a consulta no endpoint de CUPS da API.
- ValidateCups - Valida o CUPS fornecido manualmente pelo usuário.
- ValidateMimeType - Valida o tipo de arquivo de um arquivo enviado pelo usuário.