UNPKG

@spartacus/core

Version:

Spartacus - the core framework

65 lines 11.3 kB
import { Injectable } from '@angular/core'; import { map } from 'rxjs/operators'; import { BASE_SITE_NORMALIZER, COUNTRY_NORMALIZER, CURRENCY_NORMALIZER, LANGUAGE_NORMALIZER, REGION_NORMALIZER, } from '../../../site-context/connectors/converters'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common/http"; import * as i2 from "../../services/occ-endpoints.service"; import * as i3 from "../../../util/converter.service"; export class OccSiteAdapter { constructor(http, occEndpointsService, converterService) { this.http = http; this.occEndpointsService = occEndpointsService; this.converterService = converterService; } loadLanguages() { return this.http .get(this.occEndpointsService.buildUrl('languages')) .pipe(map((languageList) => languageList.languages), this.converterService.pipeableMany(LANGUAGE_NORMALIZER)); } loadCurrencies() { return this.http .get(this.occEndpointsService.buildUrl('currencies')) .pipe(map((currencyList) => currencyList.currencies), this.converterService.pipeableMany(CURRENCY_NORMALIZER)); } loadCountries(type) { return this.http .get(this.occEndpointsService.buildUrl('countries', { queryParams: type ? { type } : undefined, })) .pipe(map((countryList) => countryList.countries), this.converterService.pipeableMany(COUNTRY_NORMALIZER)); } loadRegions(countryIsoCode) { return this.http .get(this.occEndpointsService.buildUrl('regions', { urlParams: { isoCode: countryIsoCode }, })) .pipe(map((regionList) => regionList.regions), this.converterService.pipeableMany(REGION_NORMALIZER)); } /** * There is no OCC API to load one site based on Uid. * So, we have to load all sites, and find the one from the list. */ loadBaseSite(siteUid) { if (!siteUid) { const baseUrl = this.occEndpointsService.getBaseUrl(); const urlSplits = baseUrl.split('/'); siteUid = urlSplits.pop(); } return this.http .get(this.occEndpointsService.buildUrl('baseSites', {}, { baseSite: false })) .pipe(map((siteList) => { return siteList.baseSites.find((site) => site.uid === siteUid); })); } loadBaseSites() { return this.http .get(this.occEndpointsService.buildUrl('baseSites', {}, { baseSite: false })) .pipe(map((baseSiteList) => baseSiteList.baseSites), this.converterService.pipeableMany(BASE_SITE_NORMALIZER)); } } OccSiteAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccSiteAdapter, deps: [{ token: i1.HttpClient }, { token: i2.OccEndpointsService }, { token: i3.ConverterService }], target: i0.ɵɵFactoryTarget.Injectable }); OccSiteAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccSiteAdapter }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccSiteAdapter, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.OccEndpointsService }, { type: i3.ConverterService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjLXNpdGUuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL29jYy9hZGFwdGVycy9zaXRlLWNvbnRleHQvb2NjLXNpdGUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUNsQixNQUFNLDZDQUE2QyxDQUFDOzs7OztBQU9yRCxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUNZLElBQWdCLEVBQ2hCLG1CQUF3QyxFQUN4QyxnQkFBa0M7UUFGbEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDM0MsQ0FBQztJQUVKLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFtQixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3JFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFDN0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUN4RCxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFtQixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3RFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUN4RCxDQUFDO0lBQ04sQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFrQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFO1lBQzdDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDekMsQ0FBQyxDQUNIO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQ3ZELENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLGNBQXNCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDM0MsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtTQUN2QyxDQUFDLENBQ0g7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FDdEQsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsT0FBZ0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0RCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDM0I7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUN4RTthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDeEU7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsQ0FDekQsQ0FBQztJQUNOLENBQUM7OzJHQWxGVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb3VudHJ5LCBDb3VudHJ5VHlwZSwgUmVnaW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYWRkcmVzcy5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlU2l0ZSwgQ3VycmVuY3ksIExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvbWlzYy5tb2RlbCc7XG5pbXBvcnQge1xuICBCQVNFX1NJVEVfTk9STUFMSVpFUixcbiAgQ09VTlRSWV9OT1JNQUxJWkVSLFxuICBDVVJSRU5DWV9OT1JNQUxJWkVSLFxuICBMQU5HVUFHRV9OT1JNQUxJWkVSLFxuICBSRUdJT05fTk9STUFMSVpFUixcbn0gZnJvbSAnLi4vLi4vLi4vc2l0ZS1jb250ZXh0L2Nvbm5lY3RvcnMvY29udmVydGVycyc7XG5pbXBvcnQgeyBTaXRlQWRhcHRlciB9IGZyb20gJy4uLy4uLy4uL3NpdGUtY29udGV4dC9jb25uZWN0b3JzL3NpdGUuYWRhcHRlcic7XG5pbXBvcnQgeyBDb252ZXJ0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9jb252ZXJ0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPY2MgfSBmcm9tICcuLi8uLi9vY2MtbW9kZWxzL29jYy5tb2RlbHMnO1xuaW1wb3J0IHsgT2NjRW5kcG9pbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29jYy1lbmRwb2ludHMuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPY2NTaXRlQWRhcHRlciBpbXBsZW1lbnRzIFNpdGVBZGFwdGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIG9jY0VuZHBvaW50c1NlcnZpY2U6IE9jY0VuZHBvaW50c1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNvbnZlcnRlclNlcnZpY2U6IENvbnZlcnRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIGxvYWRMYW5ndWFnZXMoKTogT2JzZXJ2YWJsZTxMYW5ndWFnZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxPY2MuTGFuZ3VhZ2VMaXN0Pih0aGlzLm9jY0VuZHBvaW50c1NlcnZpY2UuYnVpbGRVcmwoJ2xhbmd1YWdlcycpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobGFuZ3VhZ2VMaXN0KSA9PiBsYW5ndWFnZUxpc3QubGFuZ3VhZ2VzKSxcbiAgICAgICAgdGhpcy5jb252ZXJ0ZXJTZXJ2aWNlLnBpcGVhYmxlTWFueShMQU5HVUFHRV9OT1JNQUxJWkVSKVxuICAgICAgKTtcbiAgfVxuXG4gIGxvYWRDdXJyZW5jaWVzKCk6IE9ic2VydmFibGU8Q3VycmVuY3lbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8T2NjLkN1cnJlbmN5TGlzdD4odGhpcy5vY2NFbmRwb2ludHNTZXJ2aWNlLmJ1aWxkVXJsKCdjdXJyZW5jaWVzJykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChjdXJyZW5jeUxpc3QpID0+IGN1cnJlbmN5TGlzdC5jdXJyZW5jaWVzKSxcbiAgICAgICAgdGhpcy5jb252ZXJ0ZXJTZXJ2aWNlLnBpcGVhYmxlTWFueShDVVJSRU5DWV9OT1JNQUxJWkVSKVxuICAgICAgKTtcbiAgfVxuXG4gIGxvYWRDb3VudHJpZXModHlwZT86IENvdW50cnlUeXBlKTogT2JzZXJ2YWJsZTxDb3VudHJ5W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PE9jYy5Db3VudHJ5TGlzdD4oXG4gICAgICAgIHRoaXMub2NjRW5kcG9pbnRzU2VydmljZS5idWlsZFVybCgnY291bnRyaWVzJywge1xuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0eXBlID8geyB0eXBlIH0gOiB1bmRlZmluZWQsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChjb3VudHJ5TGlzdCkgPT4gY291bnRyeUxpc3QuY291bnRyaWVzKSxcbiAgICAgICAgdGhpcy5jb252ZXJ0ZXJTZXJ2aWNlLnBpcGVhYmxlTWFueShDT1VOVFJZX05PUk1BTElaRVIpXG4gICAgICApO1xuICB9XG5cbiAgbG9hZFJlZ2lvbnMoY291bnRyeUlzb0NvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8UmVnaW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PE9jYy5SZWdpb25MaXN0PihcbiAgICAgICAgdGhpcy5vY2NFbmRwb2ludHNTZXJ2aWNlLmJ1aWxkVXJsKCdyZWdpb25zJywge1xuICAgICAgICAgIHVybFBhcmFtczogeyBpc29Db2RlOiBjb3VudHJ5SXNvQ29kZSB9LFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVnaW9uTGlzdCkgPT4gcmVnaW9uTGlzdC5yZWdpb25zKSxcbiAgICAgICAgdGhpcy5jb252ZXJ0ZXJTZXJ2aWNlLnBpcGVhYmxlTWFueShSRUdJT05fTk9STUFMSVpFUilcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlcmUgaXMgbm8gT0NDIEFQSSB0byBsb2FkIG9uZSBzaXRlIGJhc2VkIG9uIFVpZC5cbiAgICogU28sIHdlIGhhdmUgdG8gbG9hZCBhbGwgc2l0ZXMsIGFuZCBmaW5kIHRoZSBvbmUgZnJvbSB0aGUgbGlzdC5cbiAgICovXG4gIGxvYWRCYXNlU2l0ZShzaXRlVWlkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxCYXNlU2l0ZSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghc2l0ZVVpZCkge1xuICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMub2NjRW5kcG9pbnRzU2VydmljZS5nZXRCYXNlVXJsKCk7XG4gICAgICBjb25zdCB1cmxTcGxpdHMgPSBiYXNlVXJsLnNwbGl0KCcvJyk7XG4gICAgICBzaXRlVWlkID0gdXJsU3BsaXRzLnBvcCgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8eyBiYXNlU2l0ZXM6IEJhc2VTaXRlW10gfT4oXG4gICAgICAgIHRoaXMub2NjRW5kcG9pbnRzU2VydmljZS5idWlsZFVybCgnYmFzZVNpdGVzJywge30sIHsgYmFzZVNpdGU6IGZhbHNlIH0pXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChzaXRlTGlzdCkgPT4ge1xuICAgICAgICAgIHJldHVybiBzaXRlTGlzdC5iYXNlU2l0ZXMuZmluZCgoc2l0ZSkgPT4gc2l0ZS51aWQgPT09IHNpdGVVaWQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGxvYWRCYXNlU2l0ZXMoKTogT2JzZXJ2YWJsZTxCYXNlU2l0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDx7IGJhc2VTaXRlczogQmFzZVNpdGVbXSB9PihcbiAgICAgICAgdGhpcy5vY2NFbmRwb2ludHNTZXJ2aWNlLmJ1aWxkVXJsKCdiYXNlU2l0ZXMnLCB7fSwgeyBiYXNlU2l0ZTogZmFsc2UgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGJhc2VTaXRlTGlzdCkgPT4gYmFzZVNpdGVMaXN0LmJhc2VTaXRlcyksXG4gICAgICAgIHRoaXMuY29udmVydGVyU2VydmljZS5waXBlYWJsZU1hbnkoQkFTRV9TSVRFX05PUk1BTElaRVIpXG4gICAgICApO1xuICB9XG59XG4iXX0=