import { api } from '@/core/services/api' import type { AddressApiResponse, AddressPayload, AddressesApiResponse, } from '../types/address.types' export async function listAddresses(perPage = 100): Promise { const { data } = await api.get('/v1/addresses', { params: { per_page: perPage }, }) if (!data.success) { throw new Error(data.message ?? 'Gagal memuatkan alamat.') } return data } export async function createAddress(payload: AddressPayload): Promise { const { data } = await api.post('/v1/addresses', payload) if (!data.success) { throw new Error(data.message ?? 'Gagal menambah alamat.') } return data } export async function updateAddress( id: string, payload: AddressPayload, ): Promise { const { data } = await api.put(`/v1/addresses/${id}`, payload) if (!data.success) { throw new Error(data.message ?? 'Gagal mengemas kini alamat.') } return data } export async function deleteAddress(id: string): Promise { const { data } = await api.delete(`/v1/addresses/${id}`) if (!data.success) { throw new Error(data.message ?? 'Gagal memadam alamat.') } return data }