in web/src/api/hooks/tasks.ts [121:154]
export function taskPropFetcher(
propName: keyof Task | keyof DocumentExtraOption,
page = 1,
size = pageSizes._15,
keyword: string = ''
): Promise<PagedResponse<string>> {
const sortConfig = {
field: propName,
direction: SortingDirection.ASC
};
const filters: FilterWithDocumentExtraOption<keyof Task>[] = [];
filters.push({
field: propName,
operator: Operators.DISTINCT
});
if (keyword) {
filters.push({
field: propName,
operator: Operators.ILIKE,
value: `%${keyword}%`
});
}
const body: SearchBody<Task> = {
pagination: { page_num: page, page_size: size },
filters,
sorting: [{ direction: sortConfig.direction, field: sortConfig.field as keyof Task }]
};
return useBadgerFetch<PagedResponse<string>>({
url: `${namespace}/tasks/search`,
method: 'post',
withCredentials: true
})(JSON.stringify(body));
}