You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.0 KiB
50 lines
1.0 KiB
import type { ListResultDto } from '@abp/core';
|
|
|
|
import type {
|
|
MenuDto,
|
|
MenuGetByRoleInput,
|
|
SetRoleMenuInput,
|
|
SetRoleMenuStartupInput,
|
|
} from '../types/menus';
|
|
|
|
import { useRequest } from '@abp/request';
|
|
|
|
export function useRoleMenusApi() {
|
|
const { cancel, request } = useRequest();
|
|
|
|
function getAllApi(
|
|
input: MenuGetByRoleInput,
|
|
): Promise<ListResultDto<MenuDto>> {
|
|
return request<ListResultDto<MenuDto>>(
|
|
`/api/platform/menus/by-role/${input.role}/${input.framework}`,
|
|
{
|
|
method: 'GET',
|
|
params: input,
|
|
},
|
|
);
|
|
}
|
|
|
|
function setMenusApi(input: SetRoleMenuInput): Promise<void> {
|
|
return request('/api/platform/menus/by-role', {
|
|
data: input,
|
|
method: 'PUT',
|
|
});
|
|
}
|
|
|
|
function setStartupMenuApi(
|
|
meudId: string,
|
|
input: SetRoleMenuStartupInput,
|
|
): Promise<void> {
|
|
return request(`/api/platform/menus/startup/${meudId}/by-role`, {
|
|
data: input,
|
|
method: 'PUT',
|
|
});
|
|
}
|
|
|
|
return {
|
|
cancel,
|
|
getAllApi,
|
|
setMenusApi,
|
|
setStartupMenuApi,
|
|
};
|
|
}
|
|
|