Call a hook inside a function
// Package Imports
import { useSimpleList } from '@refinedev/antd';
// Project Imports
import resources from 'core/resources/resources';
import { type RolePermission } from 'interfaces/interface';
import type ResourceItem from 'interfaces/resource';
export const useGetData = (value) => {
const { listProps } = useSimpleList<RolePermission>({
resource: "products",
filters: {
permanent: [
{
field: 'input_source_connections',
operator: 'in',
value,
},
],
},
});
return listProps
}
const fetchPermissions = async (
setFilteredResources: React.Dispatch<React.SetStateAction<ResourceItem[]>>,
setCrudPermission: React.Dispatch<React.SetStateAction<string[]>>,
setModulePermission: React.Dispatch<React.SetStateAction<string[]>>,
value: string | undefined
): Promise<void> => {
debugger // eslint-disable-line
const data = useGetData(value);
console.log(data)
const modulesWithPermissions: string[] = [];
const moduleWithAccess: string[] = ['dashboard'];
setModulePermission(moduleWithAccess);
setCrudPermission(modulesWithPermissions.flat());
console.log(resources, "resources");
const newResources = resources.filter((resource: any) =>
moduleWithAccess.includes(resource.identifier)
);
setFilteredResources(newResources);
};
export default fetchPermissions;
import { useSimpleList } from '@refinedev/antd';
// Project Imports
import resources from 'core/resources/resources';
import { type RolePermission } from 'interfaces/interface';
import type ResourceItem from 'interfaces/resource';
export const useGetData = (value) => {
const { listProps } = useSimpleList<RolePermission>({
resource: "products",
filters: {
permanent: [
{
field: 'input_source_connections',
operator: 'in',
value,
},
],
},
});
return listProps
}
const fetchPermissions = async (
setFilteredResources: React.Dispatch<React.SetStateAction<ResourceItem[]>>,
setCrudPermission: React.Dispatch<React.SetStateAction<string[]>>,
setModulePermission: React.Dispatch<React.SetStateAction<string[]>>,
value: string | undefined
): Promise<void> => {
debugger // eslint-disable-line
const data = useGetData(value);
console.log(data)
const modulesWithPermissions: string[] = [];
const moduleWithAccess: string[] = ['dashboard'];
setModulePermission(moduleWithAccess);
setCrudPermission(modulesWithPermissions.flat());
console.log(resources, "resources");
const newResources = resources.filter((resource: any) =>
moduleWithAccess.includes(resource.identifier)
);
setFilteredResources(newResources);
};
export default fetchPermissions;
