Files
bigcapital/client/src/hooks/query/views.js
2021-02-08 13:17:11 +02:00

57 lines
1.3 KiB
JavaScript

import { useQuery } from 'react-query';
import { defaultTo } from 'lodash';
import ApiService from "services/ApiService";
// export function useSaveView(values) {
// return ApiService.post('views', form);
// }
// export function useEditView(values, id) {
// return ApiService.post(`views/${id}`, values);
// }
// export function useDeleteView(id) {
// return ApiService.delete(`views/${id}`);
// }
// export function useView(id) {
// return useQuery(['VIEW', id], () => ApiService.get(`views/${id}`)
// }
export function useResourceViews(resourceSlug) {
const states = useQuery(
['RESOURCE_VIEW', resourceSlug],
() => ApiService.get(`views/resource/${resourceSlug}`)
.then((response) => response.data.views),
);
return {
...states,
data: defaultTo(states.data, []),
}
}
export function useResourceColumns(resourceSlug) {
return useQuery(
['RESOURCE_COLUMNS', resourceSlug],
() => ApiService.get(`resources/${resourceSlug}/columns`),
{
initialData: [],
},
);
}
export function useResourceFields(resourceSlug, props) {
const states = useQuery(
['RESOURCE_FIELDS', resourceSlug],
() => ApiService.get(`resources/${resourceSlug}/fields`)
.then((res) => res.data.resource_fields),
props
);
return {
...states,
data: defaultTo(states.data, []),
}
}