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'])
- }
|