NESTJS TYPEORM - How to filter with optional parameters. I have one version

Viewed 879

I want to do filtering with optional parameters for search. I have one option, but I don't know if it's correct. Please advise how best to do it. Each of these parameters is optional, but I want to get all the data for at least one item. For example my search request.

My service.ts code

await this.logsRepository.findAndCount({
    where: { 
        ...(data.ip && { ip: data.ip }),
        ...(data.browser && { browser: data.browser }),
        ...(data.is_successful && { is_successful: data.is_successful }),
        ...(data.user && { user: data.user }),
        logDate: Between(startDate, currentDate),
    },
    order: {
        logDate: 'DESC'
    } ,
    skip: data.offset,
    take: data.limit,
})

My request

{
  "ip": "23.256.251.29",
  "browser": "edge"
}
0 Answers
Related