@esolve/ng-esolve-connect 0.96.0 → 0.97.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 (47) hide show
  1. package/esm2022/index.mjs +3 -1
  2. package/esm2022/lib/albums/classes/esolve-album-image-list.model.mjs +4 -0
  3. package/esm2022/lib/albums/classes/esolve-album-image.model.mjs +50 -0
  4. package/esm2022/lib/albums/classes/esolve-album-list.model.mjs +4 -0
  5. package/esm2022/lib/albums/classes/esolve-album.model.mjs +17 -0
  6. package/esm2022/lib/albums/classes/index.mjs +5 -0
  7. package/esm2022/lib/albums/index.mjs +5 -0
  8. package/esm2022/lib/albums/interfaces/esolve-album-image-options.interface.mjs +2 -0
  9. package/esm2022/lib/albums/interfaces/esolve-album-image-record.interface.mjs +2 -0
  10. package/esm2022/lib/albums/interfaces/esolve-album-options.interface.mjs +2 -0
  11. package/esm2022/lib/albums/interfaces/esolve-album-record.interface.mjs +2 -0
  12. package/esm2022/lib/albums/interfaces/index.mjs +5 -0
  13. package/esm2022/lib/albums/services/esolve-albums.service.mjs +158 -0
  14. package/esm2022/lib/albums/services/index.mjs +2 -0
  15. package/esm2022/lib/albums/types/esolve-album-image-size.type.mjs +2 -0
  16. package/esm2022/lib/albums/types/index.mjs +2 -0
  17. package/esm2022/lib/stock/classes/esolve-stock-item-base.model.mjs +3 -2
  18. package/esm2022/lib/stock/classes/esolve-stock-reviews-report.model.mjs +18 -0
  19. package/esm2022/lib/stock/classes/index.mjs +2 -1
  20. package/esm2022/lib/stock/interfaces/esolve-stock-base-record.interface.mjs +1 -1
  21. package/esm2022/lib/stock/interfaces/esolve-stock-reviews-report-record.interface.mjs +2 -0
  22. package/esm2022/lib/stock/interfaces/index.mjs +2 -1
  23. package/fesm2022/esolve-ng-esolve-connect.mjs +245 -2
  24. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  25. package/index.d.ts +1 -0
  26. package/lib/albums/classes/esolve-album-image-list.model.d.ts +4 -0
  27. package/lib/albums/classes/esolve-album-image.model.d.ts +30 -0
  28. package/lib/albums/classes/esolve-album-list.model.d.ts +4 -0
  29. package/lib/albums/classes/esolve-album.model.d.ts +9 -0
  30. package/lib/albums/classes/index.d.ts +4 -0
  31. package/lib/albums/index.d.ts +4 -0
  32. package/lib/albums/interfaces/esolve-album-image-options.interface.d.ts +6 -0
  33. package/lib/albums/interfaces/esolve-album-image-record.interface.d.ts +5 -0
  34. package/lib/albums/interfaces/esolve-album-options.interface.d.ts +6 -0
  35. package/lib/albums/interfaces/esolve-album-record.interface.d.ts +7 -0
  36. package/lib/albums/interfaces/index.d.ts +4 -0
  37. package/lib/albums/services/esolve-albums.service.d.ts +47 -0
  38. package/lib/albums/services/index.d.ts +1 -0
  39. package/lib/albums/types/esolve-album-image-size.type.d.ts +1 -0
  40. package/lib/albums/types/index.d.ts +1 -0
  41. package/lib/stock/classes/esolve-stock-item-base.model.d.ts +2 -2
  42. package/lib/stock/classes/esolve-stock-reviews-report.model.d.ts +13 -0
  43. package/lib/stock/classes/index.d.ts +1 -0
  44. package/lib/stock/interfaces/esolve-stock-base-record.interface.d.ts +2 -2
  45. package/lib/stock/interfaces/esolve-stock-reviews-report-record.interface.d.ts +4 -0
  46. package/lib/stock/interfaces/index.d.ts +1 -0
  47. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -33,3 +33,4 @@ export * from './lib/wallet';
33
33
  export * from './lib/deliveries';
34
34
  export * from './lib/competitions';
35
35
  export * from './lib/reviews';
36
+ export * from './lib/albums';
@@ -0,0 +1,4 @@
1
+ import { EsolveList } from '../../shared';
2
+ import { EsolveAlbumImage } from './esolve-album-image.model';
3
+ export declare class EsolveAlbumImageList extends EsolveList<EsolveAlbumImage> {
4
+ }
@@ -0,0 +1,30 @@
1
+ import { EsolveAlbumImageRecord } from '../interfaces';
2
+ import { EsolveAlbumImageSize } from '../types';
3
+ export declare class EsolveAlbumImage {
4
+ id: number;
5
+ caption: string;
6
+ private base_image_url;
7
+ /**
8
+ * Path to tiny album image
9
+ */
10
+ get tiny_image_src(): string;
11
+ /**
12
+ * Path to thumbnail album image
13
+ */
14
+ get thumbnail_image_src(): string;
15
+ /**
16
+ * Path to small album image
17
+ */
18
+ get small_image_src(): string;
19
+ /**
20
+ * Path to original album image
21
+ */
22
+ get original_image_src(): string;
23
+ constructor(record?: Partial<EsolveAlbumImageRecord>);
24
+ /**
25
+ * Generate a string representing the path to the image with the specified size.
26
+ *
27
+ * @param image_size
28
+ */
29
+ getImagePath(image_size: EsolveAlbumImageSize): string;
30
+ }
@@ -0,0 +1,4 @@
1
+ import { EsolveList } from '../../shared';
2
+ import { EsolveAlbum } from './esolve-album.model';
3
+ export declare class EsolveAlbumList extends EsolveList<EsolveAlbum> {
4
+ }
@@ -0,0 +1,9 @@
1
+ import { EsolveAlbumRecord } from '../interfaces';
2
+ export declare class EsolveAlbum {
3
+ id: number;
4
+ identifier: string;
5
+ description: string;
6
+ media_identifier: string;
7
+ cover_image_url: string;
8
+ constructor(record?: Partial<EsolveAlbumRecord>);
9
+ }
@@ -0,0 +1,4 @@
1
+ export * from './esolve-album-image-list.model';
2
+ export * from './esolve-album-image.model';
3
+ export * from './esolve-album-list.model';
4
+ export * from './esolve-album.model';
@@ -0,0 +1,4 @@
1
+ export * from './classes';
2
+ export * from './interfaces';
3
+ export * from './services';
4
+ export * from './types';
@@ -0,0 +1,6 @@
1
+ export interface EsolveAlbumImageOptions {
2
+ albums_id?: number;
3
+ identifier?: string;
4
+ page?: number;
5
+ rows?: number;
6
+ }
@@ -0,0 +1,5 @@
1
+ export interface EsolveAlbumImageRecord {
2
+ id: number;
3
+ caption: string;
4
+ image_url: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface EsolveAlbumOptions {
2
+ albums_id?: number;
3
+ identifier?: string;
4
+ page?: number;
5
+ rows?: number;
6
+ }
@@ -0,0 +1,7 @@
1
+ export interface EsolveAlbumRecord {
2
+ id: number;
3
+ identifier: string;
4
+ description: string;
5
+ media_identifier: string;
6
+ image_url: string;
7
+ }
@@ -0,0 +1,4 @@
1
+ export * from './esolve-album-image-options.interface';
2
+ export * from './esolve-album-image-record.interface';
3
+ export * from './esolve-album-options.interface';
4
+ export * from './esolve-album-record.interface';
@@ -0,0 +1,47 @@
1
+ import { Observable } from 'rxjs';
2
+ import { EsolveAlbum, EsolveAlbumImageList, EsolveAlbumList } from '../classes';
3
+ import { EsolveAlbumImageOptions, EsolveAlbumOptions } from '../interfaces';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EsolveAlbumsService {
6
+ private readonly http;
7
+ private readonly config;
8
+ /**
9
+ * Retrieve a album based on its ID.
10
+ *
11
+ * @param album_id - number that represents the unique id of a album.
12
+ *
13
+ * @returns an Observable of type EsolveAlbum
14
+ */
15
+ getAlbum(albums_id: number): Observable<EsolveAlbum>;
16
+ /**
17
+ * Retrieves a album based on its identifier.
18
+ *
19
+ * @param identifier - string that represents the identifier of the album.
20
+ *
21
+ * @returns an Observable of type EsolveAlbum.
22
+ */
23
+ getAlbumFromIdentifier(identifier: string): Observable<EsolveAlbum>;
24
+ /**
25
+ * Retrieve a list of albums based on the provided options
26
+ *
27
+ * @param options - Optional options for filtering albums
28
+ *
29
+ * @returns an Observable of type EsolveAlbumList.
30
+ */
31
+ getAlbums(options?: EsolveAlbumOptions): Observable<EsolveAlbumList>;
32
+ /**
33
+ * Retrieve a list of album images based on the provided options
34
+ *
35
+ * @param options - Optional options for filtering album images
36
+ *
37
+ * @returns an Observable of type EsolveAlbumImageList.
38
+ */
39
+ getAlbumImages(options: EsolveAlbumImageOptions): Observable<EsolveAlbumImageList>;
40
+ private getAlbumSingle;
41
+ private getAlbumsStream;
42
+ private processAlbums;
43
+ private processAlbum;
44
+ private processAlbumImages;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsolveAlbumsService, never>;
46
+ static ɵprov: i0.ɵɵInjectableDeclaration<EsolveAlbumsService>;
47
+ }
@@ -0,0 +1 @@
1
+ export * from './esolve-albums.service';
@@ -0,0 +1 @@
1
+ export type EsolveAlbumImageSize = 'tiny' | 'thumb' | 'small' | 'original';
@@ -0,0 +1 @@
1
+ export * from './esolve-album-image-size.type';
@@ -5,7 +5,6 @@ import { EsolveManufacturer } from '../../manufacturers';
5
5
  import { EsolveRange } from '../../ranges';
6
6
  import { EsolveTag } from '../../tags';
7
7
  import { EsolveTopic } from '../../topics';
8
- import { EsolveReviewReport } from '../../reviews';
9
8
  import { EsolveStockImageSize, EsolveStockUnitOfMeasure } from '../types';
10
9
  import { EsolveStockBaseRecord, EsolveStockCartParameter } from '../interfaces';
11
10
  import { EsolveStockBadge } from './esolve-stock-badge.model';
@@ -13,6 +12,7 @@ import { EsolveStockPrice } from './esolve-stock-price.model';
13
12
  import { EsolveColour } from './esolve-colour.model';
14
13
  import { EsolveStockLeadTimes } from './esolve-stock-lead-times.model';
15
14
  import { EsolveStockTransactionHistory } from './esolve-stock-transaction-history.model';
15
+ import { EsolveStockReviewsReport } from './esolve-stock-reviews-report.model';
16
16
  export declare class EsolveStockItemBase<T extends EsolveCustomFields = EsolveCustomFields> implements EsolveSeoDetails {
17
17
  /**
18
18
  * eSolve Generated ID
@@ -229,7 +229,7 @@ export declare class EsolveStockItemBase<T extends EsolveCustomFields = EsolveCu
229
229
  video_embed?: string;
230
230
  three_d_embed?: string;
231
231
  additional_data?: any;
232
- reviews_report?: EsolveReviewReport;
232
+ reviews_report?: EsolveStockReviewsReport;
233
233
  /**
234
234
  * Image filename
235
235
  */
@@ -0,0 +1,13 @@
1
+ import { EsolveStockReviewsReportRecord } from '../interfaces';
2
+ export declare class EsolveStockReviewsReport {
3
+ /** Average review rating */
4
+ average_rating: number;
5
+ /** Total number of times reviewed */
6
+ total_user_reviews: number;
7
+ /**
8
+ * Create instance of reviews report
9
+ *
10
+ * @param record
11
+ */
12
+ constructor(record?: Partial<EsolveStockReviewsReportRecord>);
13
+ }
@@ -15,3 +15,4 @@ export * from './esolve-stock-image.model';
15
15
  export * from './esolve-stock-image-collection.model';
16
16
  export * from './esolve-additional-stock-image.model';
17
17
  export * from './esolve-set-notify-result.model';
18
+ export * from './esolve-stock-reviews-report.model';
@@ -4,12 +4,12 @@ import { EsolveManufacturerRecord } from '../../manufacturers';
4
4
  import { EsolveRangeRecord } from '../../ranges';
5
5
  import { EsolveTagRecord } from '../../tags';
6
6
  import { EsolveTopicRecord } from '../../topics';
7
- import { EsolveReviewReport } from '../../reviews';
8
7
  import { EsolveStockUnitOfMeasure } from '../types';
9
8
  import { EsolveStockBadgeRecord } from './esolve-stock-badge-record.interface';
10
9
  import { EsolveColourRecord } from './esolve-colour-record.interface';
11
10
  import { EsolveStockLeadTimesRecord } from './esolve-stock-lead-times-record.interface';
12
11
  import { EsolveStockCartParameter } from './esolve-stock-cart-parameter.interface';
12
+ import { EsolveStockReviewsReportRecord } from './esolve-stock-reviews-report-record.interface';
13
13
  export interface EsolveStockBaseRecord<T extends EsolveCustomFields = EsolveCustomFields> {
14
14
  id: number;
15
15
  code: string;
@@ -80,5 +80,5 @@ export interface EsolveStockBaseRecord<T extends EsolveCustomFields = EsolveCust
80
80
  video_embed?: string;
81
81
  three_d_embed?: string;
82
82
  additional_data?: any;
83
- reviews_report?: EsolveReviewReport;
83
+ reviews_report?: EsolveStockReviewsReportRecord;
84
84
  }
@@ -0,0 +1,4 @@
1
+ export interface EsolveStockReviewsReportRecord {
2
+ average_score: number;
3
+ total_user_reviews: number;
4
+ }
@@ -14,3 +14,4 @@ export * from './esolve-additional-stock-image-record.interface';
14
14
  export * from './esolve-media-stock-item-options.interface';
15
15
  export * from './esolve-dependant-item-record.interface';
16
16
  export * from './esolve-stock-cart-parameter.interface';
17
+ export * from './esolve-stock-reviews-report-record.interface';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esolve/ng-esolve-connect",
3
- "version": "0.96.0",
3
+ "version": "0.97.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": {