useStoreEvaluation.tsx 801 B

12345678910111213141516171819202122232425262728
  1. import { queryKeys } from '@/core/react-query/keys'
  2. import { evaluationsService } from '@/services/evaluations.service'
  3. import { type CreateEvaluation } from '@/types/evaluations.types'
  4. import { useMutation, useQueryClient } from '@tanstack/react-query'
  5. type CreateEvaluationVariables = {
  6. id: number
  7. payload: CreateEvaluation
  8. }
  9. export function useStoreEvaluation() {
  10. const queryClient = useQueryClient()
  11. return useMutation({
  12. mutationFn: ({ id, payload }: CreateEvaluationVariables) =>
  13. evaluationsService.store(id, payload),
  14. onSuccess: (_, variables) => {
  15. queryClient.invalidateQueries({
  16. queryKey: queryKeys.evaluations.detail(variables.id),
  17. })
  18. queryClient.invalidateQueries({
  19. queryKey: queryKeys.evaluations.lists(),
  20. })
  21. },
  22. })
  23. }