I have users table and it has Array relationship with CustomerOrders i need to filter users based on CustomerOrders completion_date. It kind of works but when no date filters selected I need to show all users even those who does not have CustomerOrder if I add condition which ends in empty object {} it still considered as looking at thatCustomerOrder and I still get all users that have CustomerOrder.
My question is how to completely remove CustomerOrders Filter when inputs are empty?
variables
variables: {
order_byUsers: { creationDate: 'desc' },
whereUsers: {
deleted_at: { _is_null: true }
// CustomerOrders:
// fromDate && toDate
// ? {
// completion_date: {
// _gte: fromDate,
// _lte: toDate
// }
// }
// : {}
},
whereCustomerOrders: {
completion_date:
fromDate && toDate
? {
_gte: fromDate,
_lte: toDate
}
: {}
},
offsetUsers: state.pageSize * state.page,
limitUsers: state.pageSize
}
query
query GetUsersAnalysisGqlQuery(
$whereUsers: User_bool_exp
$whereCustomerOrders: CustomerOrder_bool_exp
$order_byUsers: [User_order_by!]
$limitUsers: Int
$offsetUsers: Int
) {
User(
where: $whereUsers
order_by: $order_byUsers
limit: $limitUsers
offset: $offsetUsers
) {
id
nameSurname
email
phone
description
blocked
CustomerOrders(where: $whereCustomerOrders) {
completion_date
}
CustomerOrderData {
order_count
amount
}
}
User_aggregate(where: $whereUsers) {
aggregate {
count
}
}
}
I also tried adding where variable for CustomerOrders ,but I guess I'm doing something wrong.