Files
nice-app-web/src/entities/user/api/use-user-menu-permission-save-mutation.ts
2025-10-25 22:05:43 +09:00

30 lines
1010 B
TypeScript

import axios from 'axios';
import { API_URL_USER } from '@/shared/api/api-url-user';
import { resultify } from '@/shared/lib/resultify';
import { NiceAxiosError } from '@/shared/@types/error';
import {
UserMenuPermissionsSaveParams,
UserMenuPermissionsSaveResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const userMenuPermissionsSave = (params: UserMenuPermissionsSaveParams) => {
return resultify(
axios.post<UserMenuPermissionsSaveResponse>(API_URL_USER.saveMenuPermissions(), params),
);
};
export const useUserMenuPermissionsSaveMutation = (options?: UseMutationOptions<UserMenuPermissionsSaveResponse, NiceAxiosError, UserMenuPermissionsSaveParams>) => {
const mutation = useMutation<UserMenuPermissionsSaveResponse, NiceAxiosError, UserMenuPermissionsSaveParams>({
...options,
mutationFn: (params: UserMenuPermissionsSaveParams) => userMenuPermissionsSave(params),
});
return {
...mutation,
};
};