Skip to content
Snippets Groups Projects
create-pattern-mutation.ts 717 B
import { AxiosError } from 'axios'
import { useMutation as useRQMutation, UseMutationOptions } from 'react-query'

import { CreatePatternRequest, Pattern } from 'src/models'
import axiosService from 'src/services/axios-service'

export namespace CreatePatternMutation {
  export type Params = CreatePatternRequest

  export type Response = Pattern

  export const key = ['create', 'pattern']

  export const mutationFn = (params: Params) =>
    axiosService.post<Response>(`/pattern/`, params).then((res) => res.data)

  export const useMutation = (
    options: UseMutationOptions<Response, AxiosError, CreatePatternRequest> = {}
  ) => {
    return useRQMutation(mutationFn, { ...options, mutationKey: key })
  }
}