| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | import { get, post } from './base'import {  useMutation,  useQuery,} from '@tanstack/react-query'import { useInvalid } from './use-base'import type { EducationAddParams } from '@/app/education-apply/types'const NAME_SPACE = 'education'export const useEducationVerify = () => {  return useMutation({    mutationKey: [NAME_SPACE, 'education-verify'],    mutationFn: () => {      return get<{ token: string }>('/account/education/verify', {}, { silent: true })    },  })}export const useEducationAdd = ({  onSuccess,}: {  onSuccess?: () => void}) => {  return useMutation({    mutationKey: [NAME_SPACE, 'education-add'],    mutationFn: (params: EducationAddParams) => {      return post<{ message: string }>('/account/education', {        body: params,      })    },    onSuccess,  })}type SearchParams = {  keywords?: string  page?: number  limit?: number}export const useEducationAutocomplete = () => {  return useMutation({    mutationFn: (searchParams: SearchParams) => {      const {        keywords = '',        page = 0,        limit = 40,      } = searchParams      return get<{ data: string[]; has_next: boolean; curr_page: number }>(`/account/education/autocomplete?keywords=${keywords}&page=${page}&limit=${limit}`)    },  })}export const useEducationStatus = (disable?: boolean) => {  return useQuery({    enabled: !disable,    queryKey: [NAME_SPACE, 'education-status'],    queryFn: () => {      return get<{ result: boolean }>('/account/education')    },    retry: false,  })}export const useInvalidateEducationStatus = () => {  return useInvalid([NAME_SPACE, 'education-status'])}
 |