@spartacus/checkout
Version:
Checkout feature library for Spartacus
81 lines • 12 kB
JavaScript
import { HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { DELIVERY_MODE_NORMALIZER, } from '@spartacus/checkout/core';
import { ADDRESS_NORMALIZER, ADDRESS_SERIALIZER, } from '@spartacus/core';
import { map, pluck } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
import * as i2 from "@spartacus/core";
export class OccCheckoutDeliveryAdapter {
constructor(http, occEndpoints, converter) {
this.http = http;
this.occEndpoints = occEndpoints;
this.converter = converter;
}
getCreateDeliveryAddressEndpoint(userId, cartId) {
return this.occEndpoints.buildUrl('createDeliveryAddress', {
urlParams: {
userId,
cartId,
},
});
}
getSetDeliveryAddressEndpoint(userId, cartId, addressId) {
return this.occEndpoints.buildUrl('setDeliveryAddress', {
urlParams: { userId, cartId },
queryParams: { addressId },
});
}
getDeliveryModeEndpoint(userId, cartId) {
return this.occEndpoints.buildUrl('deliveryMode', {
urlParams: {
userId,
cartId,
},
});
}
getSetDeliveryModeEndpoint(userId, cartId, deliveryModeId) {
return this.occEndpoints.buildUrl('setDeliveryMode', {
urlParams: {
userId,
cartId,
},
queryParams: { deliveryModeId },
});
}
getDeliveryModesEndpoint(userId, cartId) {
return this.occEndpoints.buildUrl('deliveryModes', {
urlParams: { userId, cartId },
});
}
createAddress(userId, cartId, address) {
address = this.converter.convert(address, ADDRESS_SERIALIZER);
return this.http
.post(this.getCreateDeliveryAddressEndpoint(userId, cartId), address, {
headers: new HttpHeaders().set('Content-Type', 'application/json'),
})
.pipe(this.converter.pipeable(ADDRESS_NORMALIZER));
}
setAddress(userId, cartId, addressId) {
return this.http.put(this.getSetDeliveryAddressEndpoint(userId, cartId, addressId), {});
}
setMode(userId, cartId, deliveryModeId) {
return this.http.put(this.getSetDeliveryModeEndpoint(userId, cartId, deliveryModeId), {});
}
getMode(userId, cartId) {
return this.http
.get(this.getDeliveryModeEndpoint(userId, cartId))
.pipe(this.converter.pipeable(DELIVERY_MODE_NORMALIZER));
}
getSupportedModes(userId, cartId) {
return this.http
.get(this.getDeliveryModesEndpoint(userId, cartId))
.pipe(pluck('deliveryModes'), map((modes) => modes !== null && modes !== void 0 ? modes : []), this.converter.pipeableMany(DELIVERY_MODE_NORMALIZER));
}
}
OccCheckoutDeliveryAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccCheckoutDeliveryAdapter, deps: [{ token: i1.HttpClient }, { token: i2.OccEndpointsService }, { token: i2.ConverterService }], target: i0.ɵɵFactoryTarget.Injectable });
OccCheckoutDeliveryAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccCheckoutDeliveryAdapter });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccCheckoutDeliveryAdapter, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.OccEndpointsService }, { type: i2.ConverterService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjLWNoZWNrb3V0LWRlbGl2ZXJ5LmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9mZWF0dXJlLWxpYnMvY2hlY2tvdXQvb2NjL2FkYXB0ZXJzL29jYy1jaGVja291dC1kZWxpdmVyeS5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLGtCQUFrQixHQUtuQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHNUMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUNZLElBQWdCLEVBQ2hCLFlBQWlDLEVBQ2pDLFNBQTJCO1FBRjNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ3BDLENBQUM7SUFFTSxnQ0FBZ0MsQ0FDeEMsTUFBYyxFQUNkLE1BQWM7UUFFZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHVCQUF1QixFQUFFO1lBQ3pELFNBQVMsRUFBRTtnQkFDVCxNQUFNO2dCQUNOLE1BQU07YUFDUDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyw2QkFBNkIsQ0FDckMsTUFBYyxFQUNkLE1BQWMsRUFDZCxTQUFrQjtRQUVsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFO1lBQ3RELFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7WUFDN0IsV0FBVyxFQUFFLEVB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENoZWNrb3V0RGVsaXZlcnlBZGFwdGVyLFxuICBERUxJVkVSWV9NT0RFX05PUk1BTElaRVIsXG59IGZyb20gJ0BzcGFydGFjdXMvY2hlY2tvdXQvY29yZSc7XG5pbXBvcnQge1xuICBBZGRyZXNzLFxuICBBRERSRVNTX05PUk1BTElaRVIsXG4gIEFERFJFU1NfU0VSSUFMSVpFUixcbiAgQ29udmVydGVyU2VydmljZSxcbiAgRGVsaXZlcnlNb2RlLFxuICBPY2MsXG4gIE9jY0VuZHBvaW50c1NlcnZpY2UsXG59IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHBsdWNrIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT2NjQ2hlY2tvdXREZWxpdmVyeUFkYXB0ZXIgaW1wbGVtZW50cyBDaGVja291dERlbGl2ZXJ5QWRhcHRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBvY2NFbmRwb2ludHM6IE9jY0VuZHBvaW50c1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNvbnZlcnRlcjogQ29udmVydGVyU2VydmljZVxuICApIHt9XG5cbiAgcHJvdGVjdGVkIGdldENyZWF0ZURlbGl2ZXJ5QWRkcmVzc0VuZHBvaW50KFxuICAgIHVzZXJJZDogc3RyaW5nLFxuICAgIGNhcnRJZDogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub2NjRW5kcG9pbnRzLmJ1aWxkVXJsKCdjcmVhdGVEZWxpdmVyeUFkZHJlc3MnLCB7XG4gICAgICB1cmxQYXJhbXM6IHtcbiAgICAgICAgdXNlcklkLFxuICAgICAgICBjYXJ0SWQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFNldERlbGl2ZXJ5QWRkcmVzc0VuZHBvaW50KFxuICAgIHVzZXJJZDogc3RyaW5nLFxuICAgIGNhcnRJZDogc3RyaW5nLFxuICAgIGFkZHJlc3NJZD86IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9jY0VuZHBvaW50cy5idWlsZFVybCgnc2V0RGVsaXZlcnlBZGRyZXNzJywge1xuICAgICAgdXJsUGFyYW1zOiB7IHVzZXJJZCwgY2FydElkIH0sXG4gICAgICBxdWVyeVBhcmFtczogeyBhZGRyZXNzSWQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWxpdmVyeU1vZGVFbmRwb2ludCh1c2VySWQ6IHN0cmluZywgY2FydElkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9jY0VuZHBvaW50cy5idWlsZFVybCgnZGVsaXZlcnlNb2RlJywge1xuICAgICAgdXJsUGFyYW1zOiB7XG4gICAgICAgIHVzZXJJZCxcbiAgICAgICAgY2FydElkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTZXREZWxpdmVyeU1vZGVFbmRwb2ludChcbiAgICB1c2VySWQ6IHN0cmluZyxcbiAgICBjYXJ0SWQ6IHN0cmluZyxcbiAgICBkZWxpdmVyeU1vZGVJZD86IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9jY0VuZHBvaW50cy5idWlsZFVybCgnc2V0RGVsaXZlcnlNb2RlJywge1xuICAgICAgdXJsUGFyYW1zOiB7XG4gICAgICAgIHVzZXJJZCxcbiAgICAgICAgY2FydElkLFxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IGRlbGl2ZXJ5TW9kZUlkIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGVsaXZlcnlNb2Rlc0VuZHBvaW50KHVzZXJJZDogc3RyaW5nLCBjYXJ0SWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub2NjRW5kcG9pbnRzLmJ1aWxkVXJsKCdkZWxpdmVyeU1vZGVzJywge1xuICAgICAgdXJsUGFyYW1zOiB7IHVzZXJJZCwgY2FydElkIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQWRkcmVzcyhcbiAgICB1c2VySWQ6IHN0cmluZyxcbiAgICBjYXJ0SWQ6IHN0cmluZyxcbiAgICBhZGRyZXNzOiBBZGRyZXNzXG4gICk6IE9ic2VydmFibGU8QWRkcmVzcz4ge1xuICAgIGFkZHJlc3MgPSB0aGlzLmNvbnZlcnRlci5jb252ZXJ0KGFkZHJlc3MsIEFERFJFU1NfU0VSSUFMSVpFUik7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxPY2MuQWRkcmVzcz4oXG4gICAgICAgIHRoaXMuZ2V0Q3JlYXRlRGVsaXZlcnlBZGRyZXNzRW5kcG9pbnQodXNlcklkLCBjYXJ0SWQpLFxuICAgICAgICBhZGRyZXNzLFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICAucGlwZSh0aGlzLmNvbnZlcnRlci5waXBlYWJsZShBRERSRVNTX05PUk1BTElaRVIpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBZGRyZXNzKFxuICAgIHVzZXJJZDogc3RyaW5nLFxuICAgIGNhcnRJZDogc3RyaW5nLFxuICAgIGFkZHJlc3NJZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoXG4gICAgICB0aGlzLmdldFNldERlbGl2ZXJ5QWRkcmVzc0VuZHBvaW50KHVzZXJJZCwgY2FydElkLCBhZGRyZXNzSWQpLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldE1vZGUoXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgY2FydElkOiBzdHJpbmcsXG4gICAgZGVsaXZlcnlNb2RlSWQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxuICAgICAgdGhpcy5nZXRTZXREZWxpdmVyeU1vZGVFbmRwb2ludCh1c2VySWQsIGNhcnRJZCwgZGVsaXZlcnlNb2RlSWQpLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldE1vZGUodXNlcklkOiBzdHJpbmcsIGNhcnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHRoaXMuZ2V0RGVsaXZlcnlNb2RlRW5kcG9pbnQodXNlcklkLCBjYXJ0SWQpKVxuICAgICAgLnBpcGUodGhpcy5jb252ZXJ0ZXIucGlwZWFibGUoREVMSVZFUllfTU9ERV9OT1JNQUxJWkVSKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3VwcG9ydGVkTW9kZXMoXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgY2FydElkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxEZWxpdmVyeU1vZGVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8T2NjLkRlbGl2ZXJ5TW9kZUxpc3Q+KHRoaXMuZ2V0RGVsaXZlcnlNb2Rlc0VuZHBvaW50KHVzZXJJZCwgY2FydElkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBwbHVjaygnZGVsaXZlcnlNb2RlcycpLFxuICAgICAgICBtYXAoKG1vZGVzKSA9PiBtb2RlcyA/PyBbXSksXG4gICAgICAgIHRoaXMuY29udmVydGVyLnBpcGVhYmxlTWFueShERUxJVkVSWV9NT0RFX05PUk1BTElaRVIpXG4gICAgICApO1xuICB9XG59XG4iXX0=