You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

use-common.ts 819B

12345678910111213141516171819202122232425262728
  1. import { get, post } from './base'
  2. import type {
  3. FileUploadConfigResponse,
  4. StructuredOutputRulesRequestBody,
  5. StructuredOutputRulesResponse,
  6. } from '@/models/common'
  7. import { useMutation, useQuery } from '@tanstack/react-query'
  8. const NAME_SPACE = 'common'
  9. export const useFileUploadConfig = () => {
  10. return useQuery<FileUploadConfigResponse>({
  11. queryKey: [NAME_SPACE, 'file-upload-config'],
  12. queryFn: () => get<FileUploadConfigResponse>('/files/upload'),
  13. })
  14. }
  15. export const useGenerateStructuredOutputRules = () => {
  16. return useMutation({
  17. mutationKey: [NAME_SPACE, 'generate-structured-output-rules'],
  18. mutationFn: (body: StructuredOutputRulesRequestBody) => {
  19. return post<StructuredOutputRulesResponse>(
  20. '/rule-structured-output-generate',
  21. { body },
  22. )
  23. },
  24. })
  25. }