/** * Generated by orval v7.16.0 🍺 * Do not edit manually. * OpenAPI definition * OpenAPI spec version: v0 */ import { useMutation, useQuery } from '@tanstack/vue-query'; import type { DataTag, MutationFunction, QueryClient, QueryFunction, QueryKey, UseMutationOptions, UseMutationReturnType, UseQueryOptions, UseQueryReturnType } from '@tanstack/vue-query'; import { computed, unref } from 'vue'; import type { MaybeRef } from 'vue'; import type { AddLocalTrackRequest, PlaylistTrackResponse, TrackBulkReorderRequest, TrackResponse } from '.././models'; import { axiosInstance } from '.././axios-instance'; type SecondParameter unknown> = Parameters[1]; export const addLocalTrack = ( playlistId: MaybeRef, addLocalTrackRequest: MaybeRef, options?: SecondParameter,signal?: AbortSignal ) => { playlistId = unref(playlistId); addLocalTrackRequest = unref(addLocalTrackRequest); const formData = new FormData(); formData.append(`source`, addLocalTrackRequest.source) return axiosInstance( {url: `/playlist/${playlistId}/track/local`, method: 'POST', headers: {'Content-Type': 'multipart/form-data', }, data: formData, signal }, options); } export const getAddLocalTrackMutationOptions = (options?: { mutation?:UseMutationOptions>, TError,{playlistId: number;data: AddLocalTrackRequest}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{playlistId: number;data: AddLocalTrackRequest}, TContext> => { const mutationKey = ['addLocalTrack']; const {mutation: mutationOptions, request: requestOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }, request: undefined}; const mutationFn: MutationFunction>, {playlistId: number;data: AddLocalTrackRequest}> = (props) => { const {playlistId,data} = props ?? {}; return addLocalTrack(playlistId,data,requestOptions) } return { mutationFn, ...mutationOptions }} export type AddLocalTrackMutationResult = NonNullable>> export type AddLocalTrackMutationBody = AddLocalTrackRequest export type AddLocalTrackMutationError = unknown export const useAddLocalTrack = (options?: { mutation?:UseMutationOptions>, TError,{playlistId: number;data: AddLocalTrackRequest}, TContext>, request?: SecondParameter} , queryClient?: QueryClient): UseMutationReturnType< Awaited>, TError, {playlistId: number;data: AddLocalTrackRequest}, TContext > => { const mutationOptions = getAddLocalTrackMutationOptions(options); return useMutation(mutationOptions, queryClient); } export const bulkReorder = ( playlistId: MaybeRef, trackBulkReorderRequest: MaybeRef, options?: SecondParameter,signal?: AbortSignal ) => { playlistId = unref(playlistId); trackBulkReorderRequest = unref(trackBulkReorderRequest); return axiosInstance( {url: `/playlist/${playlistId}/bulk-reorder`, method: 'POST', headers: {'Content-Type': 'application/json', }, data: trackBulkReorderRequest, signal }, options); } export const getBulkReorderMutationOptions = (options?: { mutation?:UseMutationOptions>, TError,{playlistId: number;data: TrackBulkReorderRequest}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{playlistId: number;data: TrackBulkReorderRequest}, TContext> => { const mutationKey = ['bulkReorder']; const {mutation: mutationOptions, request: requestOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }, request: undefined}; const mutationFn: MutationFunction>, {playlistId: number;data: TrackBulkReorderRequest}> = (props) => { const {playlistId,data} = props ?? {}; return bulkReorder(playlistId,data,requestOptions) } return { mutationFn, ...mutationOptions }} export type BulkReorderMutationResult = NonNullable>> export type BulkReorderMutationBody = TrackBulkReorderRequest export type BulkReorderMutationError = unknown export const useBulkReorder = (options?: { mutation?:UseMutationOptions>, TError,{playlistId: number;data: TrackBulkReorderRequest}, TContext>, request?: SecondParameter} , queryClient?: QueryClient): UseMutationReturnType< Awaited>, TError, {playlistId: number;data: TrackBulkReorderRequest}, TContext > => { const mutationOptions = getBulkReorderMutationOptions(options); return useMutation(mutationOptions, queryClient); } export const getPlaylistTracks = ( playlistId: MaybeRef, options?: SecondParameter,signal?: AbortSignal ) => { playlistId = unref(playlistId); return axiosInstance( {url: `/playlist/${playlistId}/tracks`, method: 'GET', signal }, options); } export const getGetPlaylistTracksQueryKey = (playlistId?: MaybeRef,) => { return [ 'playlist',playlistId,'tracks' ] as const; } export const getGetPlaylistTracksQueryOptions = >, TError = unknown>(playlistId: MaybeRef, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = getGetPlaylistTracksQueryKey(playlistId); const queryFn: QueryFunction>> = ({ signal }) => getPlaylistTracks(playlistId, requestOptions, signal); return { queryKey, queryFn, enabled: computed(() => !!(unref(playlistId))), ...queryOptions} as UseQueryOptions>, TError, TData> } export type GetPlaylistTracksQueryResult = NonNullable>> export type GetPlaylistTracksQueryError = unknown export function useGetPlaylistTracks>, TError = unknown>( playlistId: MaybeRef, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} , queryClient?: QueryClient ): UseQueryReturnType & { queryKey: DataTag } { const queryOptions = getGetPlaylistTracksQueryOptions(playlistId,options) const query = useQuery(queryOptions, queryClient) as UseQueryReturnType & { queryKey: DataTag }; query.queryKey = unref(queryOptions).queryKey as DataTag; return query; }