36 lines
845 B
TypeScript
36 lines
845 B
TypeScript
import { useApi } from '~/composables/useApi'
|
|
import type { AddressData } from '~/services/dto/address-data'
|
|
export interface AddressPayload {
|
|
label: string
|
|
street: string
|
|
street2?: string | null
|
|
postalCode: string
|
|
city: string
|
|
countryCode: string
|
|
}
|
|
|
|
export interface AddressData extends AddressPayload {
|
|
id: number
|
|
}
|
|
|
|
export async function createAddress(
|
|
payload: AddressPayload
|
|
): Promise<AddressData> {
|
|
const api = useApi()
|
|
|
|
return await api.post<AddressData>('addresses', payload, {
|
|
toastErrorKey: 'errors.address.create',
|
|
})
|
|
}
|
|
|
|
export async function updateAddress(
|
|
id: number,
|
|
payload: AddressPayload
|
|
): Promise<AddressData> {
|
|
const api = useApi()
|
|
|
|
return await api.patch<AddressData>(`addresses/${id}`, payload, {
|
|
toastErrorKey: 'errors.address.update',
|
|
})
|
|
}
|