@bit-ui-libs/common
Version:
This library was generated with [Nx](https://nx.dev).
49 lines (39 loc) • 1.78 kB
text/typescript
import { BaseService, BaseServiceOptions } from '../../api/services/base-service';
import { ShippingAddress } from '../interfaces';
import {
ProfileAddShippingAddressRequest,
EditShippingAddressRequest,
ListShippingAddressesRequest,
} from './shipping-address.service.interfaces';
export type ShippingAddressServiceOptions = BaseServiceOptions & { profileApiUrl: string };
export class ShippingAddressService extends BaseService {
private profileApiUrl: string;
constructor(opts: ShippingAddressServiceOptions) {
super(opts);
this.profileApiUrl = opts.profileApiUrl;
}
listShippingAddresses(profileId: string, req: ListShippingAddressesRequest) {
return this.get<ShippingAddress[]>(`${this.profileApiUrl}/${profileId}/shipping-addresses`, req);
}
addShippingAddress(profileId: string, req: ProfileAddShippingAddressRequest) {
return this.post<ShippingAddress, ProfileAddShippingAddressRequest>(
`${this.profileApiUrl}/${profileId}/shipping-addresses`,
req
);
}
getDefaultShippingAddress(profileId: string) {
return this.get<ShippingAddress>(`${this.profileApiUrl}/${profileId}/shipping-addresses/default`);
}
getShippingAddressById(profileId: string, addressId: string) {
return this.get<ShippingAddress>(`${this.profileApiUrl}/${profileId}/shipping-addresses/${addressId}`);
}
editShippingAddress(profileId: string, addressId: string, req: EditShippingAddressRequest) {
return this.put<ShippingAddress, EditShippingAddressRequest>(
`${this.profileApiUrl}/${profileId}/shipping-addresses/${addressId}`,
req
);
}
removeShippingAddress(profileId: string, addressId: string) {
return this.delete<void>(`${this.profileApiUrl}/${profileId}/shipping-addresses/${addressId}`);
}
}