@esolve/ng-esolve-connect 0.132.0 → 0.134.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/fesm2022/esolve-ng-esolve-connect.mjs +5016 -4799
  2. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  3. package/index.d.ts +2 -0
  4. package/lib/account/esolve-account.service.d.ts +1 -0
  5. package/lib/auth/interfaces/esolve-auth-data.interface.d.ts +2 -0
  6. package/lib/auth/services/esolve-auth.service.d.ts +1 -0
  7. package/lib/auth/services/esolve-otp.service.d.ts +2 -1
  8. package/lib/cart/classes/esolve-cart-item-error.model.d.ts +9 -0
  9. package/lib/cart/classes/index.d.ts +10 -8
  10. package/lib/cart/index.d.ts +1 -1
  11. package/lib/cart/interfaces/esolve-cart-errors.interface.d.ts +5 -0
  12. package/lib/cart/interfaces/esolve-cart-item-error-record.interface.d.ts +6 -0
  13. package/lib/cart/interfaces/index.d.ts +15 -13
  14. package/lib/cart/services/esolve-cart-error-handler.service.d.ts +9 -0
  15. package/lib/cart/{esolve-cart.service.d.ts → services/esolve-cart.service.d.ts} +6 -6
  16. package/lib/cart/services/index.d.ts +2 -0
  17. package/lib/cart/types/esolve-cart-item-errors.type.d.ts +4 -0
  18. package/lib/cart/types/index.d.ts +7 -6
  19. package/lib/colours/classes/index.d.ts +1 -0
  20. package/lib/colours/esolve-colours.service.d.ts +20 -0
  21. package/lib/colours/index.d.ts +3 -0
  22. package/lib/colours/interfaces/esolve-colour-options.interface.d.ts +3 -0
  23. package/lib/colours/interfaces/index.d.ts +2 -0
  24. package/lib/materials/classes/esolve-material.model.d.ts +6 -0
  25. package/lib/materials/classes/index.d.ts +1 -0
  26. package/lib/materials/esolve-materials.service.d.ts +20 -0
  27. package/lib/materials/index.d.ts +4 -0
  28. package/lib/materials/interfaces/esolve-material-options.interface.d.ts +6 -0
  29. package/lib/materials/interfaces/esolve-material-record.interface.d.ts +4 -0
  30. package/lib/materials/interfaces/index.d.ts +2 -0
  31. package/lib/materials/types/esolve-material-phrase-match-mode.type.d.ts +1 -0
  32. package/lib/materials/types/index.d.ts +1 -0
  33. package/lib/notifications/enums/esolve-event-type.enum.d.ts +1 -1
  34. package/lib/shared/errors/esolve-error-handler.service.d.ts +1 -1
  35. package/lib/stock/classes/esolve-stock-item-base.model.d.ts +3 -3
  36. package/lib/stock/classes/index.d.ts +0 -1
  37. package/lib/stock/interfaces/esolve-stock-base-record.interface.d.ts +2 -2
  38. package/lib/stock/interfaces/index.d.ts +0 -1
  39. package/package.json +1 -1
  40. /package/lib/cart/interfaces/{esovle-delivery-category-totals-record.interface.d.ts → esolve-delivery-category-totals-record.interface.d.ts} +0 -0
  41. /package/lib/{stock → colours}/classes/esolve-colour.model.d.ts +0 -0
  42. /package/lib/{stock → colours}/interfaces/esolve-colour-record.interface.d.ts +0 -0
package/index.d.ts CHANGED
@@ -38,3 +38,5 @@ export * from './lib/albums';
38
38
  export * from './lib/captcha';
39
39
  export * from './lib/affiliates';
40
40
  export * from './lib/countries';
41
+ export * from './lib/materials';
42
+ export * from './lib/colours';
@@ -18,6 +18,7 @@ export declare class EsolveAccountService {
18
18
  private readonly errorHandler;
19
19
  private readonly responseHandler;
20
20
  private readonly authService;
21
+ private readonly cartErrorHandler;
21
22
  private _user_id;
22
23
  get user_id(): number;
23
24
  set user_id(value: number);
@@ -1,3 +1,4 @@
1
+ import { EsolveCartErrors } from '../../cart';
1
2
  export interface EsolveAuthData {
2
3
  expires: number;
3
4
  expiry_time: number;
@@ -8,4 +9,5 @@ export interface EsolveAuthData {
8
9
  addresses_id: number;
9
10
  shipping_id: number;
10
11
  clients_id: number;
12
+ cart_error_messages?: EsolveCartErrors;
11
13
  }
@@ -9,6 +9,7 @@ export declare class EsolveAuthService {
9
9
  private readonly errorHandler;
10
10
  private readonly platformId;
11
11
  private readonly esolveEventTarget;
12
+ private readonly cartErrorHandler;
12
13
  private readonly is_browser;
13
14
  /**
14
15
  * Maximum number of session validation and refresh retries allowed until
@@ -1,13 +1,14 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { EsolveCaptchaOptions } from '../../captcha';
3
- import { EsolveOtpAction } from '../types';
4
3
  import { EsolveOtpOptions } from '../interfaces';
5
4
  import { EsolveOtp, EsolveOtpValidation } from '../models';
5
+ import { EsolveOtpAction } from '../types';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class EsolveOtpService {
8
8
  private readonly config;
9
9
  private readonly http;
10
10
  private readonly auth;
11
+ private readonly cartErrorHandler;
11
12
  getOtp(options?: EsolveOtpOptions, captcha_options?: EsolveCaptchaOptions): Observable<EsolveOtp>;
12
13
  getValidateOtp(otp_key: string, otp_code: string, otp_action?: EsolveOtpAction): Observable<EsolveOtpValidation>;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<EsolveOtpService, never>;
@@ -0,0 +1,9 @@
1
+ import { EsolveCartItemErrorRecord } from '../interfaces';
2
+ export declare class EsolveCartItemError {
3
+ id: number;
4
+ code: string;
5
+ name: string;
6
+ error_msg: string;
7
+ remove_from_cart: boolean;
8
+ constructor(record: Partial<EsolveCartItemErrorRecord>, tempcart_id?: number);
9
+ }
@@ -1,8 +1,10 @@
1
- export * from './esolve-empty-cart-result.model';
2
- export * from './esolve-checkout-result.model';
3
- export * from './esolve-cart-item.model';
4
- export * from './esolve-cart-stock-item.model';
5
- export * from './esolve-cart-totals.model';
6
- export * from './esolve-transaction-analytics-data.model';
7
- export * from './esolve-cart-alternative.model';
8
- export * from './esolve-delivery-category-totals.model';
1
+ export { EsolveCartAlternative } from './esolve-cart-alternative.model';
2
+ export { EsolveCartItemError } from './esolve-cart-item-error.model';
3
+ export { EsolveCartItem } from './esolve-cart-item.model';
4
+ export { EsolveCartStockItem } from './esolve-cart-stock-item.model';
5
+ export { EsolveCartTaxBreakdown } from './esolve-cart-tax-breakdown.model';
6
+ export { EsolveCartTotals } from './esolve-cart-totals.model';
7
+ export { EsolveCheckoutResult } from './esolve-checkout-result.model';
8
+ export { EsolveDeliveryCategoryTotals } from './esolve-delivery-category-totals.model';
9
+ export { EsolveEmptyCartResult } from './esolve-empty-cart-result.model';
10
+ export { EsolveTransactionAnalyticsData } from './esolve-transaction-analytics-data.model';
@@ -1,4 +1,4 @@
1
1
  export * from './types';
2
2
  export * from './interfaces';
3
3
  export * from './classes';
4
- export * from './esolve-cart.service';
4
+ export * from './services';
@@ -0,0 +1,5 @@
1
+ import { EsolveCartItemErrors } from '../types';
2
+ export interface EsolveCartErrors {
3
+ errors: number;
4
+ tempcart_item_errors: EsolveCartItemErrors;
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface EsolveCartItemErrorRecord {
2
+ code: string;
3
+ name: string;
4
+ error_msg: string;
5
+ remove_from_cart: boolean;
6
+ }
@@ -1,13 +1,15 @@
1
- export * from './esolve-checkout-response.interface';
2
- export * from './esolve-tracking-code.interface';
3
- export * from './esolve-cart-item-record.interface';
4
- export * from './esolve-cart-item-response.interface';
5
- export * from './esolve-cart-additional-where.interface';
6
- export * from './esolve-cart-set-item.interface';
7
- export * from './esolve-cart-additional-params.interface';
8
- export * from './esolve-cart-totals-record.interface';
9
- export * from './esolve-transaction-analytics-data-record.interface';
10
- export * from './esolve-time-slot-checkout.interface';
11
- export * from './esolve-checkout-body.interface';
12
- export * from './esolve-cart-alternative-record.interface';
13
- export * from './esovle-delivery-category-totals-record.interface';
1
+ export type { EsolveCartAdditionalParams } from './esolve-cart-additional-params.interface';
2
+ export type { EsolveAdditionalWhere } from './esolve-cart-additional-where.interface';
3
+ export type { EsolveCartAlternativeRecord } from './esolve-cart-alternative-record.interface';
4
+ export type { EsolveCartErrors } from './esolve-cart-errors.interface';
5
+ export type { EsolveCartItemErrorRecord } from './esolve-cart-item-error-record.interface';
6
+ export type { EsolveCartItemRecord } from './esolve-cart-item-record.interface';
7
+ export type { EsolveCartItemResponse } from './esolve-cart-item-response.interface';
8
+ export type { EsolveCartSetItem } from './esolve-cart-set-item.interface';
9
+ export type { EsolveCartTotalsRecord } from './esolve-cart-totals-record.interface';
10
+ export type { EsolveCheckoutBody } from './esolve-checkout-body.interface';
11
+ export type { EsolveCheckoutResponse } from './esolve-checkout-response.interface';
12
+ export type { EsolveDeliveryCategoryTotalsRecord } from './esolve-delivery-category-totals-record.interface';
13
+ export type { EsolveTimeSlotCheckout } from './esolve-time-slot-checkout.interface';
14
+ export type { EsolveTrackingCode } from './esolve-tracking-code.interface';
15
+ export type { EsolveTransactionAnalyticsDataRecord } from './esolve-transaction-analytics-data-record.interface';
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class EsolveCartErrorHandlerService {
3
+ private readonly eventTarget;
4
+ handleCartErrors(additional_data: any): void;
5
+ private isObject;
6
+ private validateCartItemError;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsolveCartErrorHandlerService, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<EsolveCartErrorHandlerService>;
9
+ }
@@ -1,10 +1,10 @@
1
1
  import { Observable } from 'rxjs';
2
- import { EsolveResult } from '../shared/esolve-result.model';
3
- import { EsolveResponseResult } from '../shared/response';
4
- import { EsolveTransactionType } from '../transactions';
5
- import { EsolveCartTotals, EsolveCheckoutResult, EsolveEmptyCartResult, EsolveTransactionAnalyticsData } from './classes';
6
- import { EsolveAdditionalWhere, EsolveCartItemResponse, EsolveCartSetItem, EsolveTimeSlotCheckout } from './interfaces';
7
- import { EsolveCart, EsolveCartAlternativesMap, EsolveCartSetAction } from './types';
2
+ import { EsolveResult } from '../../shared/esolve-result.model';
3
+ import { EsolveResponseResult } from '../../shared/response';
4
+ import { EsolveTransactionType } from '../../transactions';
5
+ import { EsolveCartTotals, EsolveCheckoutResult, EsolveEmptyCartResult, EsolveTransactionAnalyticsData } from '../classes';
6
+ import { EsolveAdditionalWhere, EsolveCartItemResponse, EsolveCartSetItem, EsolveTimeSlotCheckout } from '../interfaces';
7
+ import { EsolveCart, EsolveCartAlternativesMap, EsolveCartSetAction } from '../types';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class EsolveCartService {
10
10
  private readonly config;
@@ -0,0 +1,2 @@
1
+ export { EsolveCartErrorHandlerService } from './esolve-cart-error-handler.service';
2
+ export { EsolveCartService } from './esolve-cart.service';
@@ -0,0 +1,4 @@
1
+ import { EsolveCartItemErrorRecord } from '../interfaces';
2
+ export type EsolveCartItemErrors = {
3
+ [tempcart_id: number]: EsolveCartItemErrorRecord;
4
+ };
@@ -1,6 +1,7 @@
1
- export * from './esolve-cart.type';
2
- export * from './esolve-cart-set-action.type';
3
- export * from './esolve-cart-empty-response.type';
4
- export * from './esolve-cart-alternatives-map.type';
5
- export * from './esolve-delivery-category-totals-map-record.type';
6
- export * from './esolve-delivery-category-totals-map.type';
1
+ export type { EsolveCartAlternativesMap } from './esolve-cart-alternatives-map.type';
2
+ export type { EsolveCartEmptyResponse } from './esolve-cart-empty-response.type';
3
+ export type { EsolveCartItemErrors } from './esolve-cart-item-errors.type';
4
+ export type { EsolveCartSetAction } from './esolve-cart-set-action.type';
5
+ export type { EsolveCart } from './esolve-cart.type';
6
+ export type { EsolveDeliveryCategoryTotalsMapRecord } from './esolve-delivery-category-totals-map-record.type';
7
+ export type { EsolveDeliveryCategoryTotalsMap } from './esolve-delivery-category-totals-map.type';
@@ -0,0 +1 @@
1
+ export { EsolveColour } from './esolve-colour.model';
@@ -0,0 +1,20 @@
1
+ import { Observable } from 'rxjs';
2
+ import { EsolveColour } from './classes';
3
+ import { EsolveColourOptions } from './interfaces/esolve-colour-options.interface';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EsolveColoursService {
6
+ private readonly config;
7
+ private readonly http;
8
+ /**
9
+ * Retrieves colour chart details for the provided filter options
10
+ *
11
+ * @param options Filter options
12
+ *
13
+ * @returns An observable of colour details
14
+ */
15
+ getColours(options?: EsolveColourOptions): Observable<EsolveColour[]>;
16
+ private parseOptions;
17
+ private processColours;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsolveColoursService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<EsolveColoursService>;
20
+ }
@@ -0,0 +1,3 @@
1
+ export { EsolveColour } from './classes';
2
+ export { EsolveColoursService } from './esolve-colours.service';
3
+ export type { EsolveColourOptions, EsolveColourRecord } from './interfaces';
@@ -0,0 +1,3 @@
1
+ export interface EsolveColourOptions {
2
+ colour_chart_id?: number | number[];
3
+ }
@@ -0,0 +1,2 @@
1
+ export type { EsolveColourOptions } from './esolve-colour-options.interface';
2
+ export type { EsolveColourRecord } from './esolve-colour-record.interface';
@@ -0,0 +1,6 @@
1
+ import { EsolveMaterialRecord } from '../interfaces';
2
+ export declare class EsolveMaterial {
3
+ id: number;
4
+ material: string;
5
+ constructor(record?: Partial<EsolveMaterialRecord>);
6
+ }
@@ -0,0 +1 @@
1
+ export { EsolveMaterial } from './esolve-material.model';
@@ -0,0 +1,20 @@
1
+ import { Observable } from 'rxjs';
2
+ import { EsolveMaterial } from './classes';
3
+ import { EsolveMaterialOptions } from './interfaces';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EsolveMaterialsService {
6
+ private readonly config;
7
+ private readonly http;
8
+ /**
9
+ * Retrieves type of materials details for the provided filter options
10
+ *
11
+ * @param options Filter options
12
+ *
13
+ * @returns An observable of material details
14
+ */
15
+ getMaterials(options?: EsolveMaterialOptions): Observable<EsolveMaterial[]>;
16
+ private parseOptions;
17
+ private processMaterials;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsolveMaterialsService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<EsolveMaterialsService>;
20
+ }
@@ -0,0 +1,4 @@
1
+ export { EsolveMaterial } from './classes';
2
+ export { EsolveMaterialsService } from './esolve-materials.service';
3
+ export type { EsolveMaterialOptions, EsolveMaterialRecord } from './interfaces';
4
+ export type { EsolveMaterialPhraseMatchMode } from './types';
@@ -0,0 +1,6 @@
1
+ import { EsolveMaterialPhraseMatchMode } from '../types';
2
+ export interface EsolveMaterialOptions {
3
+ type_of_materials_id?: number | number[];
4
+ phrase?: string;
5
+ phrase_match_mode?: EsolveMaterialPhraseMatchMode;
6
+ }
@@ -0,0 +1,4 @@
1
+ export interface EsolveMaterialRecord {
2
+ id: number;
3
+ material: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ export type { EsolveMaterialOptions } from './esolve-material-options.interface';
2
+ export type { EsolveMaterialRecord } from './esolve-material-record.interface';
@@ -0,0 +1 @@
1
+ export type EsolveMaterialPhraseMatchMode = 'contains' | 'not_equals' | 'equals';
@@ -0,0 +1 @@
1
+ export type { EsolveMaterialPhraseMatchMode } from './esolve-material-phrase-match-mode.type';
@@ -2,5 +2,5 @@ export declare enum EsolveEventType {
2
2
  FATAL_SESSION_ERROR = "FATAL_SESSION_ERROR",
3
3
  SESSION_VALIDATION_START = "SESSION_VALIDATION_START",
4
4
  SESSION_VALIDATION_END = "SESSION_VALIDATION_END",
5
- CART_UPDATED = "CART_UPDATED"
5
+ CART_ERROR = "CART_ERROR"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  import { HttpErrorResponse } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
- import { EsolveDeleteResult, EsolvePostResponseItem, EsolveDeleteResponse, EsolveSetResponse } from '../response';
3
+ import { EsolveDeleteResponse, EsolveDeleteResult, EsolvePostResponseItem, EsolveSetResponse } from '../response';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class EsolveErrorHandlerService {
6
6
  throwError(code: string, message: string): void;
@@ -1,13 +1,13 @@
1
- import { EsolveSeoDetails, EsolveSeoInfo } from '../../seo';
2
- import { EsolveCustomFields } from '../../shared/custom-fields';
3
1
  import { EsolveCategoryTreeItem } from '../../category-tree';
2
+ import { EsolveColour } from '../../colours';
4
3
  import { EsolveManufacturer } from '../../manufacturers';
5
4
  import { EsolveRange } from '../../ranges';
5
+ import { EsolveSeoDetails, EsolveSeoInfo } from '../../seo';
6
+ import { EsolveCustomFields } from '../../shared/custom-fields';
6
7
  import { EsolveTag } from '../../tags';
7
8
  import { EsolveTopic } from '../../topics';
8
9
  import { EsolveStockBaseRecord, EsolveStockCartParameter } from '../interfaces';
9
10
  import { EsolveStockImageSize, EsolveStockType, EsolveStockUnitOfMeasure } from '../types';
10
- import { EsolveColour } from './esolve-colour.model';
11
11
  import { EsolveStockBadge } from './esolve-stock-badge.model';
12
12
  import { EsolveStockLeadTimes } from './esolve-stock-lead-times.model';
13
13
  import { EsolveStockPrice } from './esolve-stock-price.model';
@@ -1,5 +1,4 @@
1
1
  export * from './esolve-additional-stock-image.model';
2
- export * from './esolve-colour.model';
3
2
  export * from './esolve-dependant-item.model';
4
3
  export * from './esolve-linked-stock-item.model';
5
4
  export * from './esolve-media-stock-item.model';
@@ -1,11 +1,11 @@
1
- import { EsolveCustomFields } from '../../shared/custom-fields';
2
1
  import { EsolveCategoryTreeItemRecord } from '../../category-tree';
2
+ import { EsolveColourRecord } from '../../colours';
3
3
  import { EsolveManufacturerRecord } from '../../manufacturers';
4
4
  import { EsolveRangeRecord } from '../../ranges';
5
+ import { EsolveCustomFields } from '../../shared/custom-fields';
5
6
  import { EsolveTagRecord } from '../../tags';
6
7
  import { EsolveTopicRecord } from '../../topics';
7
8
  import { EsolveStockType, EsolveStockUnitOfMeasure } from '../types';
8
- import { EsolveColourRecord } from './esolve-colour-record.interface';
9
9
  import { EsolveStockBadgeRecord } from './esolve-stock-badge-record.interface';
10
10
  import { EsolveStockCartParameter } from './esolve-stock-cart-parameter.interface';
11
11
  import { EsolveStockLeadTimesRecord } from './esolve-stock-lead-times-record.interface';
@@ -1,7 +1,6 @@
1
1
  export * from './esolve-additional-stock-image-record.interface';
2
2
  export * from './esolve-stock-barcode-options.interface';
3
3
  export * from './esolve-stock-barcode-record.interface';
4
- export * from './esolve-colour-record.interface';
5
4
  export * from './esolve-dependant-item-record.interface';
6
5
  export * from './esolve-linked-stock-record.interface';
7
6
  export * from './esolve-media-stock-item-options.interface';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esolve/ng-esolve-connect",
3
- "version": "0.132.0",
3
+ "version": "0.134.0",
4
4
  "homepage": "https://www.esolve.co.za/",
5
5
  "description": "An Angular library that speaks to an eSolve instance's API",
6
6
  "peerDependencies": {