@spartacus/core
Version:
Spartacus - the core framework
79 lines • 11.9 kB
JavaScript
import { Injectable } from '@angular/core';
import { HttpHeaders, HttpParams } from '@angular/common/http';
import { throwError, forkJoin } from 'rxjs';
import { catchError } from 'rxjs/operators';
import { PRODUCT_INTERESTS_NORMALIZER } from '../../../user/connectors/interests/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 "../../config/occ-config";
import * as i4 from "../../../util/converter.service";
const headers = new HttpHeaders({
'Content-Type': 'application/json',
});
export class OccUserInterestsAdapter {
constructor(http, occEndpoints, config, converter) {
this.http = http;
this.occEndpoints = occEndpoints;
this.config = config;
this.converter = converter;
}
getInterests(userId, pageSize, currentPage, sort, productCode, notificationType) {
let params = new HttpParams().set('sort', sort ? sort : 'name:asc');
if (pageSize) {
params = params.set('pageSize', pageSize.toString());
}
if (currentPage) {
params = params.set('currentPage', currentPage.toString());
}
if (productCode) {
params = params.set('productCode', productCode);
}
if (notificationType) {
params = params.set('notificationType', notificationType.toString());
}
return this.http
.get(this.occEndpoints.buildUrl('getProductInterests', {
urlParams: { userId },
}), {
headers,
params,
})
.pipe(this.converter.pipeable(PRODUCT_INTERESTS_NORMALIZER), catchError((error) => throwError(error)));
}
removeInterest(userId, item) {
const r = [];
item.productInterestEntry.forEach((entry) => {
const params = new HttpParams()
.set('productCode', item.product.code)
.set('notificationType', entry.interestType);
r.push(this.http
.delete(this.occEndpoints.buildUrl('productInterests', {
urlParams: { userId },
}), {
params: params,
})
.pipe(catchError((error) => throwError(error))));
});
return forkJoin(r);
}
addInterest(userId, productCode, notificationType) {
const params = new HttpParams()
.set('productCode', productCode)
.set('notificationType', notificationType.toString());
return this.http
.post(this.occEndpoints.buildUrl('productInterests', {
urlParams: { userId },
}), {}, {
headers,
params,
})
.pipe(catchError((error) => throwError(error)));
}
}
OccUserInterestsAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccUserInterestsAdapter, deps: [{ token: i1.HttpClient }, { token: i2.OccEndpointsService }, { token: i3.OccConfig }, { token: i4.ConverterService }], target: i0.ɵɵFactoryTarget.Injectable });
OccUserInterestsAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccUserInterestsAdapter });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccUserInterestsAdapter, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.OccEndpointsService }, { type: i3.OccConfig }, { type: i4.ConverterService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjLXVzZXItaW50ZXJlc3RzLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9vY2MvYWRhcHRlcnMvdXNlci9vY2MtdXNlci1pbnRlcmVzdHMuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0UsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUzVDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7QUFFN0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUM7SUFDOUIsY0FBYyxFQUFFLGtCQUFrQjtDQUNuQyxDQUFDLENBQUM7QUFHSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1ksSUFBZ0IsRUFDaEIsWUFBaUMsRUFDakMsTUFBaUIsRUFDakIsU0FBMkI7UUFIM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNwQyxDQUFDO0lBRUcsWUFBWSxDQUNqQixNQUFjLEVBQ2QsUUFBaUIsRUFDakIsV0FBb0IsRUFDcEIsSUFBYSxFQUNiLFdBQW9CLEVBQ3BCLGdCQUFtQztRQUVuQyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BFLElB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPY2NFbmRwb2ludHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2NjLWVuZHBvaW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlckludGVyZXN0c0FkYXB0ZXIgfSBmcm9tICcuLi8uLi8uLi91c2VyL2Nvbm5lY3RvcnMvaW50ZXJlc3RzL3VzZXItaW50ZXJlc3RzLmFkYXB0ZXInO1xuaW1wb3J0IHtcbiAgUHJvZHVjdEludGVyZXN0U2VhcmNoUmVzdWx0LFxuICBQcm9kdWN0SW50ZXJlc3RFbnRyeVJlbGF0aW9uLFxuICBOb3RpZmljYXRpb25UeXBlLFxufSBmcm9tICcuLi8uLi8uLi9tb2RlbC9wcm9kdWN0LWludGVyZXN0Lm1vZGVsJztcbmltcG9ydCB7IE9jY0NvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZy9vY2MtY29uZmlnJztcbmltcG9ydCB7IENvbnZlcnRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlsL2NvbnZlcnRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBST0RVQ1RfSU5URVJFU1RTX05PUk1BTElaRVIgfSBmcm9tICcuLi8uLi8uLi91c2VyL2Nvbm5lY3RvcnMvaW50ZXJlc3RzL2NvbnZlcnRlcnMnO1xuXG5jb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbn0pO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT2NjVXNlckludGVyZXN0c0FkYXB0ZXIgaW1wbGVtZW50cyBVc2VySW50ZXJlc3RzQWRhcHRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBvY2NFbmRwb2ludHM6IE9jY0VuZHBvaW50c1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNvbmZpZzogT2NjQ29uZmlnLFxuICAgIHByb3RlY3RlZCBjb252ZXJ0ZXI6IENvbnZlcnRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXRJbnRlcmVzdHMoXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgcGFnZVNpemU/OiBudW1iZXIsXG4gICAgY3VycmVudFBhZ2U/OiBudW1iZXIsXG4gICAgc29ydD86IHN0cmluZyxcbiAgICBwcm9kdWN0Q29kZT86IHN0cmluZyxcbiAgICBub3RpZmljYXRpb25UeXBlPzogTm90aWZpY2F0aW9uVHlwZVxuICApOiBPYnNlcnZhYmxlPFByb2R1Y3RJbnRlcmVzdFNlYXJjaFJlc3VsdD4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnc29ydCcsIHNvcnQgPyBzb3J0IDogJ25hbWU6YXNjJyk7XG4gICAgaWYgKHBhZ2VTaXplKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwYWdlU2l6ZScsIHBhZ2VTaXplLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoY3VycmVudFBhZ2UpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2N1cnJlbnRQYWdlJywgY3VycmVudFBhZ2UudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChwcm9kdWN0Q29kZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncHJvZHVjdENvZGUnLCBwcm9kdWN0Q29kZSk7XG4gICAgfVxuICAgIGlmIChub3RpZmljYXRpb25UeXBlKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdub3RpZmljYXRpb25UeXBlJywgbm90aWZpY2F0aW9uVHlwZS50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KFxuICAgICAgICB0aGlzLm9jY0VuZHBvaW50cy5idWlsZFVybCgnZ2V0UHJvZHVjdEludGVyZXN0cycsIHtcbiAgICAgICAgICB1cmxQYXJhbXM6IHsgdXNlcklkIH0sXG4gICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0aGlzLmNvbnZlcnRlci5waXBlYWJsZShQUk9EVUNUX0lOVEVSRVNUU19OT1JNQUxJWkVSKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4gdGhyb3dFcnJvcihlcnJvcikpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUludGVyZXN0KFxuICAgIHVzZXJJZDogc3RyaW5nLFxuICAgIGl0ZW06IFByb2R1Y3RJbnRlcmVzdEVudHJ5UmVsYXRpb25cbiAgKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIGNvbnN0IHI6IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgaXRlbS5wcm9kdWN0SW50ZXJlc3RFbnRyeS5mb3JFYWNoKChlbnRyeTogYW55KSA9PiB7XG4gICAgICBjb25zdCBwYXJhbXM6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgIC5zZXQoJ3Byb2R1Y3RDb2RlJywgaXRlbS5wcm9kdWN0LmNvZGUpXG4gICAgICAgIC5zZXQoJ25vdGlmaWNhdGlvblR5cGUnLCBlbnRyeS5pbnRlcmVzdFR5cGUpO1xuICAgICAgci5wdXNoKFxuICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAuZGVsZXRlKFxuICAgICAgICAgICAgdGhpcy5vY2NFbmRwb2ludHMuYnVpbGRVcmwoJ3Byb2R1Y3RJbnRlcmVzdHMnLCB7XG4gICAgICAgICAgICAgIHVybFBhcmFtczogeyB1c2VySWQgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4gdGhyb3dFcnJvcihlcnJvcikpKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZm9ya0pvaW4ocik7XG4gIH1cblxuICBwdWJsaWMgYWRkSW50ZXJlc3QoXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgcHJvZHVjdENvZGU6IHN0cmluZyxcbiAgICBub3RpZmljYXRpb25UeXBlOiBOb3RpZmljYXRpb25UeXBlXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgLnNldCgncHJvZHVjdENvZGUnLCBwcm9kdWN0Q29kZSlcbiAgICAgIC5zZXQoJ25vdGlmaWNhdGlvblR5cGUnLCBub3RpZmljYXRpb25UeXBlLnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KFxuICAgICAgICB0aGlzLm9jY0VuZHBvaW50cy5idWlsZFVybCgncHJvZHVjdEludGVyZXN0cycsIHtcbiAgICAgICAgICB1cmxQYXJhbXM6IHsgdXNlcklkIH0sXG4gICAgICAgIH0pLFxuICAgICAgICB7fSxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICAucGlwZShjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB0aHJvd0Vycm9yKGVycm9yKSkpO1xuICB9XG59XG4iXX0=