import { ApiService } from './index'; import { InvItemInteraction, Pet, Resources } from '../../types/Pet'; import { PetCreationRequest } from '../../types/PetCreationRequest'; import { PetActionGathered, PetUpdateActionRequest } from '../../types/PetAction'; import { PetSkill, Skill } from '../../types/Skills'; import { GameItem } from '../../types/GameItem'; // Get API service instance const api = ApiService.getInstance(); export async function fetchPets(): Promise { const response = await api.get('/api/v1/pet'); return response.data; } export async function createPet(data: PetCreationRequest): Promise { const response = await api.post('/api/v1/pet', data); return response.data; } export async function updatePetAction(petId: string, data: PetUpdateActionRequest): Promise { const response = await api.put(`/api/v1/pet/${petId}/action`, data); return response.data; } export async function getPetGatheredResources(petId: string): Promise { const response = await api.get(`/api/v1/pet/${petId}/resources/gathered`); return response.data; } export async function putPetCollectResources(petId: string): Promise { const response = await api.put(`/api/v1/pet/${petId}/resources/collect`); return response.data; } export async function getAllSkills(): Promise { const response = await api.get(`/api/v1/skill`); return response.data; } export async function getPetSkills(petId: string): Promise { const response = await api.get(`/api/v1/skill/${petId}/skills`); return response.data; } export async function postAllocatePetSkill(petId: string, skillId: number): Promise { const response = await api.post(`/api/v1/skill/${petId}/allocate/${skillId}`); return response.data; } export async function putPetItemInteract(petId: string, itemId: number, inter: InvItemInteraction): Promise { const response = await api.put(`/api/v1/inventory/${petId}/${itemId}/${inter.toLowerCase()}`); return response.data; } export async function getItemInfo(itemId: number): Promise { const response = await api.get(`/api/v1/gamedata/item/${itemId}`); return response.data; } export async function getItemIcon(itemId: number): Promise { const response = await api.get(`/api/v1/gamedata/item/${itemId}/icon`, { responseType: 'blob', headers: { Accept: 'image/png' } }); return response.data; }