I have the following query:
function useAllOrders(ownerId, storeId) {
const { data, loading, error } = useQuery(
gql`
query getOrders($ownerId: String!) {
orders(query: { owner_id: $ownerId }) {
_id
// ... field list
}
}
`,
{ variables: { ownerId: `owner_id=${ownerId}&store_id=${storeId}` } }
);
if (error) {
throw new Error(`Failed to fetch tasks: ${error.message}`);
}
const orders = data?.orders ?? [];
return { orders, loading };
}
What I need to do is being able to query the order just by owner if storeId is null|undefined. That means that I should be able to do a partial find with owner_id=${ownerId}%. How can I achieve this?
Assuming ownerId variable is a composite variable (odd) then
{ variables: { ownerId: `owner_id=${ownerId}&store_id=${storeId}` } }
would become
{ variables: { ownerId: `owner_id=${ownerId}${storeId ? `&store_id=${storeId}` : ''}` } }
You just need a conditional check when creating the variable's value.