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"
}