22 lines
871 B
TypeScript
22 lines
871 B
TypeScript
import { useMutation, UseMutationOptions } from '@tanstack/react-query';
|
|
import { useInject } from '@/lib/di/hooks/useInject';
|
|
import { ONBOARDING_SERVICE_TOKEN } from '@/lib/di/tokens';
|
|
import { ApiError } from '@/lib/api/base/ApiError';
|
|
import { AvatarGenerationViewModel } from '@/lib/view-models/AvatarGenerationViewModel';
|
|
|
|
interface GenerateAvatarsParams {
|
|
userId: string;
|
|
facePhotoData: string;
|
|
suitColor: string;
|
|
}
|
|
|
|
export function useGenerateAvatars(
|
|
options?: Omit<UseMutationOptions<AvatarGenerationViewModel, ApiError, GenerateAvatarsParams>, 'mutationFn'>
|
|
) {
|
|
const onboardingService = useInject(ONBOARDING_SERVICE_TOKEN);
|
|
|
|
return useMutation<AvatarGenerationViewModel, ApiError, GenerateAvatarsParams>({
|
|
mutationFn: (params) => onboardingService.generateAvatars(params.userId, params.facePhotoData, params.suitColor),
|
|
...options,
|
|
});
|
|
} |