SOS-RS / backend

Auxílio RS: Projetos de Resposta a Emergências por Chuvas e Alagamentos
https://sos-rs.com
MIT License
709 stars 299 forks source link

feat: add `top` endpoint to supplies #45

Open balsemao opened 5 months ago

balsemao commented 5 months ago

Adicionado o endpoint /supplies/top com os parâmetros page e perPage.

curl 'localhost:4000/supplies/top?perPage=3&page=1'
{
  "statusCode": 200,
  "message": "Successfully get top supplies",
  "data": [
    {
      "name": "1 Notebook pode ser usado",
      "amount": 1
    },
    {
      "name": "Aparelho de barbear",
      "amount": 1
    },
    {
      "name": "Turnos de manhã",
      "amount": 1
    }
  ]
}

Em seguida atualizo com o filtro por abrigo.

balsemao commented 5 months ago

Vou precisar mudar a abordagem. O Prisma, ao que tudo indica, não suporta JOIN no aggregate(). Desta forma, vou precisar incluir a query bruta de SQL.

balsemao commented 5 months ago

@AndersonCRocha atualizei o PR utilizando uma nova query para que sejam contados os top N items por abrigo. Incluído também o filtro por abrigo (shelterId, opcional)

pastorini-cesar commented 5 months ago

@balsemao Veja o que consegue usar desse commit https://github.com/cesarpastorini/SOS-RS_backend/commit/e74abe5eea31393b7a9d0f79bf4be07c2e1283af

balsemao commented 5 months ago

@balsemao Veja o que consegue usar desse commit cesarpastorini@e74abe5

Valeu! Eu acabei fazendo o CAST para int na própria query e resolveu o problema.