ClaroluzDataDatasource
Esta é a única classe que se conecta com os endpoints da API e faz o tratamento dos dados retornados.
Métodos
Foi adicionado um console.log no método por aparentemente resolver um bug no Mac OS. Nâo faz muito sentido a solução, mas desde que foi adicionado parou de haver reclamações do cliente em relação a isso.
O código é o seguinte:
console.log(pdf, body);
getOffersByPdf
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
string | O PDF decodificado para string base64 | |
| format | string | Nâo é mais usado, pode ser passado qualquer valor |
Retorno
Promise<ClaroluzData>
getOffersByUrl
Foi adicionado um console.log no método por aparentemente resolver um bug no Mac OS. Nâo faz muito sentido a solução, mas desde que foi adicionado parou de haver reclamações do cliente em relação a isso.
O código é o seguinte:
console.log(data, body);
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| data | string | A URL capturada pelo QR Code |
Retorno
Promise<ClaroluzData>
getOffersByCups
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| data | ClaroluzCupsData | O objeto com os dados do CUPS |
Retorno
Promise<ClaroluzData>
doRequest
Este é um método privado que faz a requisição para a API.
A requisição é feita com o fetch().
TIP
As condicionais para definir qual tipo de alerta de topGas que será exibida. Para saber quais tipos de mensages são validadas pelo sistema, veja a documentação do TopGasAlert.
Neste método é criado e populado o objeto ClaroluzData. Quando houver ofertas, só são adicionadas ao objeto se o valor delas forem maior do que o valor da fatura atual.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| url | string | A URL do endpoint da API |
| method | string | O método HTTP |
| contentType | string | O tipo de requisição |
| body? | string | O corpo da requisição |
Retorno
Promise<ClaroluzData>
TIP
Para saber quais status são retornados pela requisição, veja a documentação do ExternalStatus.