@daffodil/category 0.90.0 → 0.92.3-rc.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.
- package/driver/shopify/index.d.ts +66 -0
- package/fesm2022/daffodil-category-driver-in-memory.mjs +10 -10
- package/fesm2022/daffodil-category-driver-in-memory.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver-magento-testing.mjs +3 -3
- package/fesm2022/daffodil-category-driver-magento-testing.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver-magento.mjs +19 -19
- package/fesm2022/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver-shopify.mjs +275 -0
- package/fesm2022/daffodil-category-driver-shopify.mjs.map +1 -0
- package/fesm2022/daffodil-category-driver-testing.mjs +7 -7
- package/fesm2022/daffodil-category-driver-testing.mjs.map +1 -1
- package/fesm2022/daffodil-category-routing.mjs +16 -16
- package/fesm2022/daffodil-category-routing.mjs.map +1 -1
- package/fesm2022/daffodil-category-state-testing.mjs +7 -7
- package/fesm2022/daffodil-category-state-testing.mjs.map +1 -1
- package/fesm2022/daffodil-category-state.mjs +29 -52
- package/fesm2022/daffodil-category-state.mjs.map +1 -1
- package/fesm2022/daffodil-category-testing.mjs +9 -9
- package/fesm2022/daffodil-category-testing.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as apollo_angular from 'apollo-angular';
|
|
2
|
+
import { Apollo } from 'apollo-angular';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { DaffCategoryIdRequest, DaffGetCategoryResponse, DaffCategoryUrlRequest } from '@daffodil/category';
|
|
5
|
+
import { DaffCategoryServiceInterface } from '@daffodil/category/driver';
|
|
6
|
+
import * as i0 from '@angular/core';
|
|
7
|
+
import { ShopifyCategory, ShopifyProductCollectionSortKeys, ShopifyProductFilter } from '@daffodil/driver/shopify';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A service for making shopify apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.
|
|
11
|
+
*
|
|
12
|
+
* @inheritdoc
|
|
13
|
+
*/
|
|
14
|
+
declare class DaffShopifyCategoryService implements DaffCategoryServiceInterface {
|
|
15
|
+
private apollo;
|
|
16
|
+
constructor(apollo: Apollo);
|
|
17
|
+
get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse>;
|
|
18
|
+
getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse>;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffShopifyCategoryService, never>;
|
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DaffShopifyCategoryService>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Provides the {@link DaffCategoryDriver} as the {@link DaffShopifyCategoryService}.
|
|
25
|
+
*/
|
|
26
|
+
declare const provideDaffCategoryShopifyDriver: () => i0.ExistingProvider;
|
|
27
|
+
|
|
28
|
+
interface ShopifyCategoryResponse {
|
|
29
|
+
collection: ShopifyCategory;
|
|
30
|
+
}
|
|
31
|
+
interface ShopifyCategoryResponse extends ShopifyCategory {
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface ShopifyCollectionProductVariables {
|
|
35
|
+
reverse: boolean;
|
|
36
|
+
sortKey: ShopifyProductCollectionSortKeys;
|
|
37
|
+
filters: ShopifyProductFilter[];
|
|
38
|
+
first: number;
|
|
39
|
+
}
|
|
40
|
+
interface ShopifyCategoryIDVariables extends ShopifyCollectionProductVariables {
|
|
41
|
+
id: string;
|
|
42
|
+
}
|
|
43
|
+
interface ShopifyCategoryUrlVariables extends ShopifyCollectionProductVariables {
|
|
44
|
+
handle: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* GraphQL query object for getting a category (Shopify Collection) by url (handle).
|
|
49
|
+
*/
|
|
50
|
+
declare const getCategoryByUrl: apollo_angular.TypedDocumentNode<ShopifyCategoryResponse, ShopifyCategoryUrlVariables>;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* GraphQL query object for getting a category (Shopify Collection) by ID.
|
|
54
|
+
*/
|
|
55
|
+
declare const getCategory: apollo_angular.TypedDocumentNode<ShopifyCategoryResponse, ShopifyCategoryIDVariables>;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Transforms a {@link ShopifyCategory} into a {@link DaffGetCategoryResponse} object.
|
|
59
|
+
*
|
|
60
|
+
* @param collection
|
|
61
|
+
* @param variables - variables used in getCategory/getCategoryByUrl request query
|
|
62
|
+
*/
|
|
63
|
+
declare const daffShopifyCategoryTransformer: (collection: ShopifyCategory, variables: ShopifyCollectionProductVariables) => DaffGetCategoryResponse;
|
|
64
|
+
|
|
65
|
+
export { DaffShopifyCategoryService, daffShopifyCategoryTransformer, getCategory, getCategoryByUrl, provideDaffCategoryShopifyDriver };
|
|
66
|
+
export type { ShopifyCategoryIDVariables, ShopifyCategoryResponse, ShopifyCategoryUrlVariables, ShopifyCollectionProductVariables };
|
|
@@ -36,10 +36,10 @@ class DaffInMemoryCategoryService extends DaffInMemoryDriverBase {
|
|
|
36
36
|
.set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);
|
|
37
37
|
return this.http.get(`${this.url}/${daffUriTruncateLeadingSlash(categoryRequest.url)}`, { params });
|
|
38
38
|
}
|
|
39
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
40
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
39
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffInMemoryCategoryService, deps: [{ token: i1.HttpClient }, { token: i2.InMemoryBackendConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffInMemoryCategoryService, providedIn: 'root' }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffInMemoryCategoryService, decorators: [{
|
|
43
43
|
type: Injectable,
|
|
44
44
|
args: [{
|
|
45
45
|
providedIn: 'root',
|
|
@@ -143,10 +143,10 @@ class DaffInMemoryBackendCategoryService {
|
|
|
143
143
|
}
|
|
144
144
|
return 1;
|
|
145
145
|
}
|
|
146
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
147
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
146
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffInMemoryBackendCategoryService, deps: [{ token: i1$1.DaffCategoryFactory }, { token: i1$1.DaffCategoryPageMetadataFactory }, { token: i2$1.DaffInMemoryBackendProductService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
147
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffInMemoryBackendCategoryService, providedIn: 'root' }); }
|
|
148
148
|
}
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffInMemoryBackendCategoryService, decorators: [{
|
|
150
150
|
type: Injectable,
|
|
151
151
|
args: [{
|
|
152
152
|
providedIn: 'root',
|
|
@@ -166,11 +166,11 @@ class DaffCategoryInMemoryDriverModule {
|
|
|
166
166
|
],
|
|
167
167
|
};
|
|
168
168
|
}
|
|
169
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
170
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
171
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
169
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryInMemoryDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
170
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
|
|
171
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
|
|
172
172
|
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryInMemoryDriverModule, decorators: [{
|
|
174
174
|
type: NgModule,
|
|
175
175
|
args: [{
|
|
176
176
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-category-driver-in-memory.mjs","sources":["../../../libs/category/driver/in-memory/src/collection-name.const.ts","../../../libs/category/driver/in-memory/src/drivers/category.service.ts","../../../libs/category/driver/in-memory/src/backend/category.service.ts","../../../libs/category/driver/in-memory/src/drivers/category-driver.module.ts","../../../libs/category/driver/in-memory/src/daffodil-category-driver-in-memory.ts"],"sourcesContent":["export const DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME = 'category';\n","import {\n HttpClient,\n HttpParams,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { InMemoryBackendConfig } from 'angular-in-memory-web-api';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\nimport { DaffInMemoryDriverBase } from '@daffodil/driver/in-memory';\n\nimport { DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME } from '../collection-name.const';\n\n/**\n * The category in memory driver for mocking the {@link DaffCategoryDriver} with in memory data.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffInMemoryCategoryService extends DaffInMemoryDriverBase implements DaffCategoryServiceInterface {\n constructor(\n private http: HttpClient,\n config: InMemoryBackendConfig,\n ) {\n super(config, DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME);\n }\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n const params = new HttpParams()\n .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)\n .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);\n\n return this.http.get<DaffGetCategoryResponse>(`${this.url}/${categoryRequest.id}`, { params });\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n const params = new HttpParams()\n .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)\n .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);\n\n return this.http.get<DaffGetCategoryResponse>(`${this.url}/${daffUriTruncateLeadingSlash(categoryRequest.url)}`, { params });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n InMemoryDbService,\n RequestInfoUtilities,\n ParsedRequestUrl,\n STATUS,\n} from 'angular-in-memory-web-api';\n\nimport {\n DaffCategory,\n DaffCategoryPageMetadata,\n} from '@daffodil/category';\nimport {\n DaffCategoryFactory,\n DaffCategoryPageMetadataFactory,\n} from '@daffodil/category/testing';\nimport { collect } from '@daffodil/core';\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\nimport { DaffInMemorySingleRouteableBackend } from '@daffodil/driver/in-memory';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffInMemoryBackendProductService } from '@daffodil/product/driver/in-memory';\n\nimport { DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME } from '../collection-name.const';\n\n/**\n * An in-memory service that mocks out the backend services for getting categories. See the angular in memory documentation for more details.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffInMemoryBackendCategoryService implements InMemoryDbService, DaffInMemorySingleRouteableBackend {\n readonly collectionName = DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME;\n\n protected _root: DaffCategory;\n protected _categories: DaffCategory[] = [];\n protected _categoryPageMetadata: DaffCategoryPageMetadata;\n\n get rootCategory(): DaffCategory {\n return this._root;\n }\n\n /**\n * The collection of categories in the backend.\n */\n get categories(): DaffCategory[] {\n return this._categories;\n }\n\n /**\n * The metadata associated with the current page.\n */\n get categoryPageMetadata(): DaffCategoryPageMetadata {\n return this._categoryPageMetadata;\n }\n\n constructor(\n private categoryFactory: DaffCategoryFactory,\n private metadataFactory: DaffCategoryPageMetadataFactory,\n private productInMemoryBackendService: DaffInMemoryBackendProductService,\n ) {\n this._root = this.categoryFactory.createTree(\n 3,\n this.productInMemoryBackendService.products.map(({ id }) => id),\n );\n this._categories = collect(\n this._root,\n (category) => category?.children || [],\n );\n }\n\n /**\n * @docs-private\n */\n parseRequestUrl(url: string, utils: RequestInfoUtilities): ParsedRequestUrl {\n return utils.parseRequestUrl(url);\n }\n\n /**\n * @docs-private\n */\n createDb(): any {\n return {\n categories: this.categories,\n };\n }\n\n /**\n * Get a category.\n *\n * @param reqInfo\n */\n get(reqInfo: any) {\n // this method is overloaded for both get by ID and URL so we check both\n const category = this.categories.filter(({ id, url }) => id === reqInfo.id || daffUriTruncateLeadingSlash(url) === reqInfo.id)[0];\n\n if (category) {\n this._categoryPageMetadata = this.metadataFactory.create({\n id: reqInfo.id,\n pageSize: this.generatePageSize(reqInfo),\n currentPage: this.getCurrentPageParam(reqInfo),\n totalPages: this.getTotalPages(category.product_ids, this.generatePageSize(reqInfo)),\n ids: this.trimProductIdsToSinglePage(category.product_ids, this.getCurrentPageParam(reqInfo), this.generatePageSize(reqInfo)),\n count: category.total_products,\n });\n\n return reqInfo.utils.createResponse$(() => ({\n body: {\n category,\n categoryPageMetadata: this._categoryPageMetadata,\n products: this.productInMemoryBackendService.products,\n },\n status: STATUS.OK,\n }));\n } else {\n this._categoryPageMetadata = null;\n return reqInfo.utils.createResponse$(() => ({\n body: {},\n status: STATUS.NOT_FOUND,\n }));\n }\n\n }\n\n protected getTotalPages(allIds: DaffProduct['id'][], pageSize: number) {\n return Math.ceil(allIds.length/pageSize);\n }\n\n protected trimProductIdsToSinglePage(allIds: any[], currentPage: number, pageSize: number) {\n const tempIds = [...allIds];\n tempIds.splice(0, (currentPage-1) * pageSize);\n tempIds.splice(pageSize, tempIds.length-pageSize);\n\n return tempIds;\n }\n\n protected generatePageSize(reqInfo) {\n if(reqInfo.req.params.map && reqInfo.req.params.map.get('pageSize') && reqInfo.req.params.map.get('pageSize')[0]) {\n return parseInt(reqInfo.req.params.map.get('pageSize')[0], 10);\n }\n return 10;\n }\n\n protected getCurrentPageParam(reqInfo) {\n if(reqInfo.req.params.map && reqInfo.req.params.map.get('currentPage') && reqInfo.req.params.map.get('currentPage')[0]) {\n return parseInt(reqInfo.req.params.map.get('currentPage')[0], 10);\n }\n return 1;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { provideDaffCategoryDriver } from '@daffodil/category/driver';\nimport { provideDaffInMemoryBackends } from '@daffodil/driver/in-memory';\n\nimport { DaffInMemoryCategoryService } from './category.service';\nimport { DaffInMemoryBackendCategoryService } from '../backend/category.service';\n\n/**\n * A module that provides the {@link DaffInMemoryCategoryService} for the {@link DaffCategoryDriver} token.\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryInMemoryDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryInMemoryDriverModule> {\n return {\n ngModule: DaffCategoryInMemoryDriverModule,\n providers: [\n provideDaffCategoryDriver(DaffInMemoryCategoryService),\n provideDaffInMemoryBackends(DaffInMemoryBackendCategoryService),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-category-driver-in-memory.mjs","sources":["../../../libs/category/driver/in-memory/src/collection-name.const.ts","../../../libs/category/driver/in-memory/src/drivers/category.service.ts","../../../libs/category/driver/in-memory/src/backend/category.service.ts","../../../libs/category/driver/in-memory/src/drivers/category-driver.module.ts","../../../libs/category/driver/in-memory/src/daffodil-category-driver-in-memory.ts"],"sourcesContent":["export const DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME = 'category';\n","import {\n HttpClient,\n HttpParams,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { InMemoryBackendConfig } from 'angular-in-memory-web-api';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\nimport { DaffInMemoryDriverBase } from '@daffodil/driver/in-memory';\n\nimport { DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME } from '../collection-name.const';\n\n/**\n * The category in memory driver for mocking the {@link DaffCategoryDriver} with in memory data.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffInMemoryCategoryService extends DaffInMemoryDriverBase implements DaffCategoryServiceInterface {\n constructor(\n private http: HttpClient,\n config: InMemoryBackendConfig,\n ) {\n super(config, DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME);\n }\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n const params = new HttpParams()\n .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)\n .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);\n\n return this.http.get<DaffGetCategoryResponse>(`${this.url}/${categoryRequest.id}`, { params });\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n const params = new HttpParams()\n .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)\n .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);\n\n return this.http.get<DaffGetCategoryResponse>(`${this.url}/${daffUriTruncateLeadingSlash(categoryRequest.url)}`, { params });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n InMemoryDbService,\n RequestInfoUtilities,\n ParsedRequestUrl,\n STATUS,\n} from 'angular-in-memory-web-api';\n\nimport {\n DaffCategory,\n DaffCategoryPageMetadata,\n} from '@daffodil/category';\nimport {\n DaffCategoryFactory,\n DaffCategoryPageMetadataFactory,\n} from '@daffodil/category/testing';\nimport { collect } from '@daffodil/core';\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\nimport { DaffInMemorySingleRouteableBackend } from '@daffodil/driver/in-memory';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffInMemoryBackendProductService } from '@daffodil/product/driver/in-memory';\n\nimport { DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME } from '../collection-name.const';\n\n/**\n * An in-memory service that mocks out the backend services for getting categories. See the angular in memory documentation for more details.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffInMemoryBackendCategoryService implements InMemoryDbService, DaffInMemorySingleRouteableBackend {\n readonly collectionName = DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME;\n\n protected _root: DaffCategory;\n protected _categories: DaffCategory[] = [];\n protected _categoryPageMetadata: DaffCategoryPageMetadata;\n\n get rootCategory(): DaffCategory {\n return this._root;\n }\n\n /**\n * The collection of categories in the backend.\n */\n get categories(): DaffCategory[] {\n return this._categories;\n }\n\n /**\n * The metadata associated with the current page.\n */\n get categoryPageMetadata(): DaffCategoryPageMetadata {\n return this._categoryPageMetadata;\n }\n\n constructor(\n private categoryFactory: DaffCategoryFactory,\n private metadataFactory: DaffCategoryPageMetadataFactory,\n private productInMemoryBackendService: DaffInMemoryBackendProductService,\n ) {\n this._root = this.categoryFactory.createTree(\n 3,\n this.productInMemoryBackendService.products.map(({ id }) => id),\n );\n this._categories = collect(\n this._root,\n (category) => category?.children || [],\n );\n }\n\n /**\n * @docs-private\n */\n parseRequestUrl(url: string, utils: RequestInfoUtilities): ParsedRequestUrl {\n return utils.parseRequestUrl(url);\n }\n\n /**\n * @docs-private\n */\n createDb(): any {\n return {\n categories: this.categories,\n };\n }\n\n /**\n * Get a category.\n *\n * @param reqInfo\n */\n get(reqInfo: any) {\n // this method is overloaded for both get by ID and URL so we check both\n const category = this.categories.filter(({ id, url }) => id === reqInfo.id || daffUriTruncateLeadingSlash(url) === reqInfo.id)[0];\n\n if (category) {\n this._categoryPageMetadata = this.metadataFactory.create({\n id: reqInfo.id,\n pageSize: this.generatePageSize(reqInfo),\n currentPage: this.getCurrentPageParam(reqInfo),\n totalPages: this.getTotalPages(category.product_ids, this.generatePageSize(reqInfo)),\n ids: this.trimProductIdsToSinglePage(category.product_ids, this.getCurrentPageParam(reqInfo), this.generatePageSize(reqInfo)),\n count: category.total_products,\n });\n\n return reqInfo.utils.createResponse$(() => ({\n body: {\n category,\n categoryPageMetadata: this._categoryPageMetadata,\n products: this.productInMemoryBackendService.products,\n },\n status: STATUS.OK,\n }));\n } else {\n this._categoryPageMetadata = null;\n return reqInfo.utils.createResponse$(() => ({\n body: {},\n status: STATUS.NOT_FOUND,\n }));\n }\n\n }\n\n protected getTotalPages(allIds: DaffProduct['id'][], pageSize: number) {\n return Math.ceil(allIds.length/pageSize);\n }\n\n protected trimProductIdsToSinglePage(allIds: any[], currentPage: number, pageSize: number) {\n const tempIds = [...allIds];\n tempIds.splice(0, (currentPage-1) * pageSize);\n tempIds.splice(pageSize, tempIds.length-pageSize);\n\n return tempIds;\n }\n\n protected generatePageSize(reqInfo) {\n if(reqInfo.req.params.map && reqInfo.req.params.map.get('pageSize') && reqInfo.req.params.map.get('pageSize')[0]) {\n return parseInt(reqInfo.req.params.map.get('pageSize')[0], 10);\n }\n return 10;\n }\n\n protected getCurrentPageParam(reqInfo) {\n if(reqInfo.req.params.map && reqInfo.req.params.map.get('currentPage') && reqInfo.req.params.map.get('currentPage')[0]) {\n return parseInt(reqInfo.req.params.map.get('currentPage')[0], 10);\n }\n return 1;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { provideDaffCategoryDriver } from '@daffodil/category/driver';\nimport { provideDaffInMemoryBackends } from '@daffodil/driver/in-memory';\n\nimport { DaffInMemoryCategoryService } from './category.service';\nimport { DaffInMemoryBackendCategoryService } from '../backend/category.service';\n\n/**\n * A module that provides the {@link DaffInMemoryCategoryService} for the {@link DaffCategoryDriver} token.\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryInMemoryDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryInMemoryDriverModule> {\n return {\n ngModule: DaffCategoryInMemoryDriverModule,\n providers: [\n provideDaffCategoryDriver(DaffInMemoryCategoryService),\n provideDaffInMemoryBackends(DaffInMemoryBackendCategoryService),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
@@ -25,10 +25,10 @@ class DaffCategoryDriverMagentoCategoryFactory extends DaffModelFactory {
|
|
|
25
25
|
constructor() {
|
|
26
26
|
super(MockMagentoCategory);
|
|
27
27
|
}
|
|
28
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
29
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
28
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, providedIn: 'root' }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, decorators: [{
|
|
32
32
|
type: Injectable,
|
|
33
33
|
args: [{
|
|
34
34
|
providedIn: 'root',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-category-driver-magento-testing.mjs","sources":["../../../libs/category/driver/magento/testing/src/factories/category.factory.ts","../../../libs/category/driver/magento/testing/src/daffodil-category-driver-magento-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { MagentoCategory } from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoCategory implements MagentoCategory {\n __typename = 'CategoryTree';\n uid = faker.string.alphanumeric(10);\n url_path = faker.lorem.word();\n url_suffix = '.html';\n canonical_url = faker.internet.url();\n name? = faker.lorem.word();\n description? = faker.lorem.words(40);\n meta_title? = faker.lorem.words(2);\n meta_description? = faker.lorem.words(40);\n breadcrumbs? = [];\n level? = faker.number.int(15);\n children_count? = faker.number.int(15);\n products? = { items: []};\n children?: MagentoCategory[] = [];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoCategoryFactory extends DaffModelFactory<MagentoCategory> {\n constructor(){\n super(MockMagentoCategory);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMA,MAAM,mBAAmB,CAAA;AAAzB,IAAA,WAAA,GAAA;QACE,IAAA,CAAA,UAAU,GAAG,cAAc;QAC3B,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;QAC7B,IAAA,CAAA,UAAU,GAAG,OAAO;AACpB,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;AACpC,QAAA,IAAA,CAAA,IAAI,GAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;QAC1B,IAAA,CAAA,WAAW,GAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,IAAA,CAAA,UAAU,GAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,IAAA,CAAA,gBAAgB,GAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAA,CAAA,WAAW,GAAK,EAAE;QAClB,IAAA,CAAA,KAAK,GAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAA,CAAA,cAAc,GAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAK,EAAE,KAAK,EAAE,EAAE,EAAC;QACzB,IAAA,CAAA,QAAQ,GAAuB,EAAE;IACnC;AAAC;AAKK,MAAO,wCAAyC,SAAQ,gBAAiC,CAAA;AAC7F,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,mBAAmB,CAAC;IAC5B;
|
|
1
|
+
{"version":3,"file":"daffodil-category-driver-magento-testing.mjs","sources":["../../../libs/category/driver/magento/testing/src/factories/category.factory.ts","../../../libs/category/driver/magento/testing/src/daffodil-category-driver-magento-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\n\nimport { MagentoCategory } from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoCategory implements MagentoCategory {\n __typename = 'CategoryTree';\n uid = faker.string.alphanumeric(10);\n url_path = faker.lorem.word();\n url_suffix = '.html';\n canonical_url = faker.internet.url();\n name? = faker.lorem.word();\n description? = faker.lorem.words(40);\n meta_title? = faker.lorem.words(2);\n meta_description? = faker.lorem.words(40);\n breadcrumbs? = [];\n level? = faker.number.int(15);\n children_count? = faker.number.int(15);\n products? = { items: []};\n children?: MagentoCategory[] = [];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoCategoryFactory extends DaffModelFactory<MagentoCategory> {\n constructor(){\n super(MockMagentoCategory);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMA,MAAM,mBAAmB,CAAA;AAAzB,IAAA,WAAA,GAAA;QACE,IAAA,CAAA,UAAU,GAAG,cAAc;QAC3B,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;QAC7B,IAAA,CAAA,UAAU,GAAG,OAAO;AACpB,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;AACpC,QAAA,IAAA,CAAA,IAAI,GAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;QAC1B,IAAA,CAAA,WAAW,GAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,IAAA,CAAA,UAAU,GAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,IAAA,CAAA,gBAAgB,GAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAA,CAAA,WAAW,GAAK,EAAE;QAClB,IAAA,CAAA,KAAK,GAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAA,CAAA,cAAc,GAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAK,EAAE,KAAK,EAAE,EAAE,EAAC;QACzB,IAAA,CAAA,QAAQ,GAAuB,EAAE;IACnC;AAAC;AAKK,MAAO,wCAAyC,SAAQ,gBAAiC,CAAA;AAC7F,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,mBAAmB,CAAC;IAC5B;kIAHW,wCAAwC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxC,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wCAAwC,cAFvC,MAAM,EAAA,CAAA,CAAA;;4FAEP,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBAHpD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACzBD;;AAEG;;;;"}
|
|
@@ -133,10 +133,10 @@ class DaffMagentoAppliedFiltersTransformService {
|
|
|
133
133
|
...this.productFilterRequestsTransformer.transform(daffFilters),
|
|
134
134
|
};
|
|
135
135
|
}
|
|
136
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
137
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
136
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, deps: [{ token: i1.MagentoProductAppliedFiltersTransformService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
137
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, providedIn: 'root' }); }
|
|
138
138
|
}
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, decorators: [{
|
|
140
140
|
type: Injectable,
|
|
141
141
|
args: [{
|
|
142
142
|
providedIn: 'root',
|
|
@@ -151,10 +151,10 @@ class DaffMagentoCategoryPageConfigTransformerService {
|
|
|
151
151
|
id: categoryResponse.category.uid,
|
|
152
152
|
};
|
|
153
153
|
}
|
|
154
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
155
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
154
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
155
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, providedIn: 'root' }); }
|
|
156
156
|
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, decorators: [{
|
|
158
158
|
type: Injectable,
|
|
159
159
|
args: [{
|
|
160
160
|
providedIn: 'root',
|
|
@@ -212,10 +212,10 @@ class DaffMagentoCategoryTransformerService {
|
|
|
212
212
|
url: `/${breadcrumb.category_url_path}${category.url_suffix}`,
|
|
213
213
|
};
|
|
214
214
|
}
|
|
215
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
216
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
215
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryTransformerService, deps: [{ token: MAGENTO_CATEGORY_EXTRA_TRANSFORMS }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
216
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryTransformerService, providedIn: 'root' }); }
|
|
217
217
|
}
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryTransformerService, decorators: [{
|
|
219
219
|
type: Injectable,
|
|
220
220
|
args: [{
|
|
221
221
|
providedIn: 'root',
|
|
@@ -239,10 +239,10 @@ class DaffMagentoCategoryResponseTransformService {
|
|
|
239
239
|
products: completeCategory.products.map(product => this.magentoProductsTransform(product, mediaUrl)),
|
|
240
240
|
};
|
|
241
241
|
}
|
|
242
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
243
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
242
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, deps: [{ token: DaffMagentoCategoryTransformerService }, { token: DaffMagentoCategoryPageConfigTransformerService }, { token: DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
243
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, providedIn: 'root' }); }
|
|
244
244
|
}
|
|
245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
245
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, decorators: [{
|
|
246
246
|
type: Injectable,
|
|
247
247
|
args: [{
|
|
248
248
|
providedIn: 'root',
|
|
@@ -364,10 +364,10 @@ class DaffMagentoCategoryService {
|
|
|
364
364
|
};
|
|
365
365
|
return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);
|
|
366
366
|
}
|
|
367
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
368
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
367
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryService, deps: [{ token: i1$1.Apollo }, { token: DaffMagentoCategoryResponseTransformService }, { token: DaffMagentoAppliedFiltersTransformService }, { token: MAGENTO_PRODUCT_CONFIG_TOKEN }, { token: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS }, { token: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS }, { token: MAGENTO_CATEGORY_EXTRA_FRAGMENTS }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
368
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryService, providedIn: 'root' }); }
|
|
369
369
|
}
|
|
370
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
370
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffMagentoCategoryService, decorators: [{
|
|
371
371
|
type: Injectable,
|
|
372
372
|
args: [{
|
|
373
373
|
providedIn: 'root',
|
|
@@ -404,11 +404,11 @@ class DaffCategoryMagentoDriverModule {
|
|
|
404
404
|
],
|
|
405
405
|
};
|
|
406
406
|
}
|
|
407
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
408
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
409
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
407
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryMagentoDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
408
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryMagentoDriverModule, imports: [CommonModule] }); }
|
|
409
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryMagentoDriverModule, imports: [CommonModule] }); }
|
|
410
410
|
}
|
|
411
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
411
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffCategoryMagentoDriverModule, decorators: [{
|
|
412
412
|
type: NgModule,
|
|
413
413
|
args: [{
|
|
414
414
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-category-driver-magento.mjs","sources":["../../../libs/category/driver/magento/src/fragments/token.ts","../../../libs/category/driver/magento/src/queries/resolve-url/query.ts","../../../libs/category/driver/magento/src/queries/resolve-url/validator.ts","../../../libs/category/driver/magento/src/queries/fragments/category-tree.ts","../../../libs/category/driver/magento/src/queries/get-category-and-products.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transforms/token.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/category-driver.module.ts","../../../libs/category/driver/magento/src/daffodil-category-driver-magento.ts"],"sourcesContent":["import { DocumentNode } from '@apollo/client/core';\n\nimport { createMultiInjectionToken } from '@daffodil/core';\n\n\nexport const {\n /**\n * A multi-provider injection token for providing category tree transform logic in the Magento driver.\n * It is run after the standard transforms and passed both the current transformed Daffodil category and the Magento category.\n */\n token: MAGENTO_CATEGORY_EXTRA_FRAGMENTS,\n /**\n * Provides category tree transforms for the Magento category driver.\n *\n * See {@link MAGENTO_CATEGORY_EXTRA_FRAGMENTS}.\n *\n * @example\n * ```ts\n * providers: [\n * ...magentoProvideCategoryExtraFragments(\n * myCategoryExtraFragment\n * )\n * ]\n * ```\n */\n provider: magentoProvideCategoryExtraFragments,\n} = createMultiInjectionToken<DocumentNode>('MAGENTO_CATEGORY_EXTRA_FRAGMENTS');\n","import { gql } from 'apollo-angular';\n\nimport { MagentoCategoryUrlResolverResponse } from './response.type';\nimport { MagentoResolveCategoryUrlVariables } from './variables.type';\n\nexport const DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME = 'MagentoResolveCategoryUrl';\n\n/**\n * This query retrieves a URL resolution from Magento and informs you about\n * what type of route the URL is.\n */\nexport const MagentoResolveCategoryUrl = gql<MagentoCategoryUrlResolverResponse, MagentoResolveCategoryUrlVariables>`\n\tquery ${DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME}($url: String!) {\n\t\troute(url: $url) {\n __typename\n\t\t\t... on CategoryInterface {\n\t\t\t\tuid\n\t\t\t}\n\t\t}\n\t}\n`;\n","import { GraphQlApolloValidator } from '@daffodil/core/graphql';\n\nimport { MagentoCategoryUrlResolverResponse } from './response.type';\n\nexport const magentoCategoryGetByUrlValidator: GraphQlApolloValidator<MagentoCategoryUrlResolverResponse>\n\t= (response) => {\n\t if (!response.data?.route?.uid) {\n\t throw new Error('The platform did not respond with a category.');\n\t }\n\n\t return response;\n\t};\n","import { gql } from 'apollo-angular';\n\nexport const magentoCategoryTreeFragment = gql`\n fragment categoryTree on CategoryTree {\n uid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tchildren_count\n }\n`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoSearchResultPageInfoFragment } from '@daffodil/driver/magento';\nimport {\n magentoProductAggregationsFragment,\n magentoProductFragment,\n magentoProductSortFieldsFragment,\n} from '@daffodil/product/driver/magento';\n\nimport { magentoCategoryTreeFragment } from './fragments/public_api';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME = 'MagentoGetCategoryAndProducts';\n\nexport const MagentoGetCategoryAndProductsQuery = (extraCategoryFragments: DocumentNode[] = [], extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME}($categoryFilters: CategoryFilterInput, $productFilter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n categoryList(filters: $categoryFilters) {\n\t\t...categoryTree\n ${daffBuildFragmentNameSpread(...extraCategoryFragments)}\n\t}\n\tproducts(filter: $productFilter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\t...magentoSearchResultPageInfo\n\t\t}\n\t\taggregations {\n\t\t\t...magentoProductAggregations\n\t\t}\n\t\tsort_fields {\n\t\t\t...magentoProductSortFields\n\t\t}\n\t}\n}\n${magentoCategoryTreeFragment}\n${magentoProductFragment}\n${magentoSearchResultPageInfoFragment}\n${magentoProductSortFieldsFragment}\n${magentoProductAggregationsFragment}\n${daffBuildFragmentDefinition(...extraCategoryFragments)}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategory } from '@daffodil/category';\nimport { DaffFilterRequest } from '@daffodil/core';\nimport {\n MagentoProductFilterActionEnum,\n MagentoProductFilters,\n MagentoProductAppliedFiltersTransformService,\n} from '@daffodil/product/driver/magento';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n constructor(\n private productFilterRequestsTransformer: MagentoProductAppliedFiltersTransformService,\n ) {}\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffFilterRequest[]): MagentoProductFilters {\n const magentoFilters: MagentoProductFilters = {\n category_uid: {\n [MagentoProductFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n return {\n ...magentoFilters,\n ...this.productFilterRequestsTransformer.transform(daffFilters),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport { magentoProductCollectionMetadataTransform } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n ...magentoProductCollectionMetadataTransform(\n aggregatesWithoutCategories,\n categoryResponse.page_info,\n categoryResponse.sort_fields,\n categoryResponse.products,\n categoryResponse.total_count,\n categoryResponse.appliedSortOption,\n categoryResponse.appliedSortDirection,\n ),\n id: categoryResponse.category.uid,\n };\n }\n}\n","import { createMultiInjectionToken } from '@daffodil/core';\n\nimport { MagentoCategoryTreeTransform } from './type';\n\nexport const {\n /**\n * A multi-provider injection token for providing category transform logic in the Magento driver.\n * It is run after the standard transforms and passed both the current transformed Daffodil category and the Magento category.\n */\n token: MAGENTO_CATEGORY_EXTRA_TRANSFORMS,\n /**\n * Provides category transforms for the Magento category driver.\n *\n * See {@link MAGENTO_CATEGORY_EXTRA_TRANSFORMS}.\n *\n * @example\n * ```ts\n * providers: [\n * ...magentoProvideCategoryExtraTransforms(\n * myCategoryExtraTransform\n * )\n * ]\n * ```\n */\n provider: magentoProvideCategoryExtraTransforms,\n} = createMultiInjectionToken<MagentoCategoryTreeTransform>('MAGENTO_CATEGORY_EXTRA_TRANSFORMS');\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\nimport { MagentoProduct } from '@daffodil/product/driver/magento';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\nimport {\n MAGENTO_CATEGORY_EXTRA_TRANSFORMS,\n MagentoCategoryTreeTransform,\n} from '../transforms/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n constructor(\n @Inject(MAGENTO_CATEGORY_EXTRA_TRANSFORMS) private extraTransforms: Array<MagentoCategoryTreeTransform>,\n ) {}\n\n transform(category: MagentoCategory, products: MagentoProduct[]): DaffCategory {\n return this.extraTransforms.reduce<DaffCategory>((acc, transform) => transform(acc, category, products), {\n id: category.uid,\n url: `/${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: products.map(product => product.sku),\n total_products: products.length,\n });\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport {\n DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM,\n DaffMagentoProductTransform,\n} from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n @Inject(DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM) private magentoProductsTransform: DaffMagentoProductTransform,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category, completeCategory.products),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: completeCategory.products.map(product => this.magentoProductsTransform(product, mediaUrl)),\n };\n }\n}\n","import {\n MagentoProductGetFilterTypesResponse,\n magentoProductGetMatchedAttributeType,\n} from '@daffodil/product/driver/magento';\n\nimport { MagentoGetCategoryAndProductsResponse } from '../../models/public_api';\n\nexport function addMetadataTypesToProductsResponse(\n attributeResponse: MagentoProductGetFilterTypesResponse,\n aggregationResponse: MagentoGetCategoryAndProductsResponse,\n): MagentoGetCategoryAndProductsResponse {\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: magentoProductGetMatchedAttributeType(aggregate, attributeResponse.__type.inputFields),\n })),\n ],\n },\n };\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryIdRequest,\n DaffCategoryRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n daffApplyRequestsToFilters,\n DaffFilterRequest,\n} from '@daffodil/core';\nimport { daffUriTruncateQueryFragment } from '@daffodil/core/routing';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS,\n MagentoProductGetFilterTypes,\n MagentoProductGetFilterTypesResponse,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n magentoAppliedSortOptionTransform,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n} from '@daffodil/product/driver/magento';\n\nimport { MAGENTO_CATEGORY_EXTRA_FRAGMENTS } from './fragments/public_api';\nimport {\n MagentoGetCategoryAndProductsRequest,\n MagentoGetCategoryAndProductsResponse,\n MagentoCompleteCategoryResponse,\n} from './models/public_api';\nimport {\n magentoCategoryGetByUrlValidator,\n MagentoGetCategoryAndProductsQuery,\n MagentoResolveCategoryUrl,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToProductsResponse } from './transformers/pure/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n private magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n private magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS) private extraProductFragments: DocumentNode[],\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraProductPreviewFragments: DocumentNode[],\n @Inject(MAGENTO_CATEGORY_EXTRA_FRAGMENTS) private extraCategoryFragments: DocumentNode[],\n ) {}\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n this.apollo.query<MagentoGetCategoryAndProductsResponse>({\n query: MagentoGetCategoryAndProductsQuery(this.extraCategoryFragments, [\n ...this.extraProductFragments,\n ...this.extraProductPreviewFragments,\n ]),\n variables: this.getCategoryAndProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n filterTypes,\n categoryAndProducts,\n ]) => this.transformCategory(categoryAndProducts.data, filterTypes.data, categoryRequest,this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query({\n query: MagentoResolveCategoryUrl,\n variables: {\n url: daffUriTruncateQueryFragment(categoryRequest.url),\n },\n }).pipe(\n map(magentoCategoryGetByUrlValidator),\n ),\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetCategoryAndProductsResponse>({\n query: MagentoGetCategoryAndProductsQuery(this.extraCategoryFragments, [\n ...this.extraProductFragments,\n ...this.extraProductPreviewFragments,\n ]),\n variables: this.getCategoryAndProductsQueryVariables({\n ...categoryRequest,\n id: category.data.route?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(categoryAndProducts => this.transformCategory(categoryAndProducts.data, filterTypes.data, categoryRequest, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n )),\n );\n }\n\n private getCategoryAndProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetCategoryAndProductsRequest {\n const queryVariables = {\n productFilter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filterRequests),\n categoryFilters: {\n category_uid: {\n eq: request.id,\n },\n },\n };\n if(request.pageSize) {\n queryVariables['pageSize'] = request.pageSize;\n }\n if(request.currentPage) {\n queryVariables['currentPage'] = request.currentPage;\n }\n if(request.appliedSortOption && request.appliedSortDirection) {\n queryVariables['sort'] = magentoAppliedSortOptionTransform(request.appliedSortOption, request.appliedSortDirection);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetCategoryAndProductsResponse,\n filterTypesResponse: MagentoProductGetFilterTypesResponse,\n request: DaffCategoryRequest,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToProductsResponse(filterTypesResponse, categoryResponse);\n const completeCategory: MagentoCompleteCategoryResponse = {\n category: categoryResponse.categoryList[0],\n products: categoryResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: categoryResponse.products.total_count,\n page_info: categoryResponse.products.page_info,\n appliedSortOption: request.appliedSortOption,\n appliedSortDirection: request.appliedSortDirection,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { provideDaffCategoryDriver } from '@daffodil/category/driver';\nimport { provideManyDaffMagentoCacheableOperations } from '@daffodil/driver/magento';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport {\n DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n} from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n provideDaffCategoryDriver(DaffMagentoCategoryService),\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n provideManyDaffMagentoCacheableOperations(\n DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n ),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-category-driver-magento.mjs","sources":["../../../libs/category/driver/magento/src/fragments/token.ts","../../../libs/category/driver/magento/src/queries/resolve-url/query.ts","../../../libs/category/driver/magento/src/queries/resolve-url/validator.ts","../../../libs/category/driver/magento/src/queries/fragments/category-tree.ts","../../../libs/category/driver/magento/src/queries/get-category-and-products.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transforms/token.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/category-driver.module.ts","../../../libs/category/driver/magento/src/daffodil-category-driver-magento.ts"],"sourcesContent":["import { DocumentNode } from '@apollo/client/core';\n\nimport { createMultiInjectionToken } from '@daffodil/core';\n\n\nexport const {\n /**\n * A multi-provider injection token for providing category tree transform logic in the Magento driver.\n * It is run after the standard transforms and passed both the current transformed Daffodil category and the Magento category.\n */\n token: MAGENTO_CATEGORY_EXTRA_FRAGMENTS,\n /**\n * Provides category tree transforms for the Magento category driver.\n *\n * See {@link MAGENTO_CATEGORY_EXTRA_FRAGMENTS}.\n *\n * @example\n * ```ts\n * providers: [\n * ...magentoProvideCategoryExtraFragments(\n * myCategoryExtraFragment\n * )\n * ]\n * ```\n */\n provider: magentoProvideCategoryExtraFragments,\n} = createMultiInjectionToken<DocumentNode>('MAGENTO_CATEGORY_EXTRA_FRAGMENTS');\n","import { gql } from 'apollo-angular';\n\nimport { MagentoCategoryUrlResolverResponse } from './response.type';\nimport { MagentoResolveCategoryUrlVariables } from './variables.type';\n\nexport const DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME = 'MagentoResolveCategoryUrl';\n\n/**\n * This query retrieves a URL resolution from Magento and informs you about\n * what type of route the URL is.\n */\nexport const MagentoResolveCategoryUrl = gql<MagentoCategoryUrlResolverResponse, MagentoResolveCategoryUrlVariables>`\n\tquery ${DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME}($url: String!) {\n\t\troute(url: $url) {\n __typename\n\t\t\t... on CategoryInterface {\n\t\t\t\tuid\n\t\t\t}\n\t\t}\n\t}\n`;\n","import { GraphQlApolloValidator } from '@daffodil/core/graphql';\n\nimport { MagentoCategoryUrlResolverResponse } from './response.type';\n\nexport const magentoCategoryGetByUrlValidator: GraphQlApolloValidator<MagentoCategoryUrlResolverResponse>\n\t= (response) => {\n\t if (!response.data?.route?.uid) {\n\t throw new Error('The platform did not respond with a category.');\n\t }\n\n\t return response;\n\t};\n","import { gql } from 'apollo-angular';\n\nexport const magentoCategoryTreeFragment = gql`\n fragment categoryTree on CategoryTree {\n uid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tchildren_count\n }\n`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoSearchResultPageInfoFragment } from '@daffodil/driver/magento';\nimport {\n magentoProductAggregationsFragment,\n magentoProductFragment,\n magentoProductSortFieldsFragment,\n} from '@daffodil/product/driver/magento';\n\nimport { magentoCategoryTreeFragment } from './fragments/public_api';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME = 'MagentoGetCategoryAndProducts';\n\nexport const MagentoGetCategoryAndProductsQuery = (extraCategoryFragments: DocumentNode[] = [], extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME}($categoryFilters: CategoryFilterInput, $productFilter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n categoryList(filters: $categoryFilters) {\n\t\t...categoryTree\n ${daffBuildFragmentNameSpread(...extraCategoryFragments)}\n\t}\n\tproducts(filter: $productFilter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\t...magentoSearchResultPageInfo\n\t\t}\n\t\taggregations {\n\t\t\t...magentoProductAggregations\n\t\t}\n\t\tsort_fields {\n\t\t\t...magentoProductSortFields\n\t\t}\n\t}\n}\n${magentoCategoryTreeFragment}\n${magentoProductFragment}\n${magentoSearchResultPageInfoFragment}\n${magentoProductSortFieldsFragment}\n${magentoProductAggregationsFragment}\n${daffBuildFragmentDefinition(...extraCategoryFragments)}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategory } from '@daffodil/category';\nimport { DaffFilterRequest } from '@daffodil/core';\nimport {\n MagentoProductFilterActionEnum,\n MagentoProductFilters,\n MagentoProductAppliedFiltersTransformService,\n} from '@daffodil/product/driver/magento';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n constructor(\n private productFilterRequestsTransformer: MagentoProductAppliedFiltersTransformService,\n ) {}\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffFilterRequest[]): MagentoProductFilters {\n const magentoFilters: MagentoProductFilters = {\n category_uid: {\n [MagentoProductFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n return {\n ...magentoFilters,\n ...this.productFilterRequestsTransformer.transform(daffFilters),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport { magentoProductCollectionMetadataTransform } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n ...magentoProductCollectionMetadataTransform(\n aggregatesWithoutCategories,\n categoryResponse.page_info,\n categoryResponse.sort_fields,\n categoryResponse.products,\n categoryResponse.total_count,\n categoryResponse.appliedSortOption,\n categoryResponse.appliedSortDirection,\n ),\n id: categoryResponse.category.uid,\n };\n }\n}\n","import { createMultiInjectionToken } from '@daffodil/core';\n\nimport { MagentoCategoryTreeTransform } from './type';\n\nexport const {\n /**\n * A multi-provider injection token for providing category transform logic in the Magento driver.\n * It is run after the standard transforms and passed both the current transformed Daffodil category and the Magento category.\n */\n token: MAGENTO_CATEGORY_EXTRA_TRANSFORMS,\n /**\n * Provides category transforms for the Magento category driver.\n *\n * See {@link MAGENTO_CATEGORY_EXTRA_TRANSFORMS}.\n *\n * @example\n * ```ts\n * providers: [\n * ...magentoProvideCategoryExtraTransforms(\n * myCategoryExtraTransform\n * )\n * ]\n * ```\n */\n provider: magentoProvideCategoryExtraTransforms,\n} = createMultiInjectionToken<MagentoCategoryTreeTransform>('MAGENTO_CATEGORY_EXTRA_TRANSFORMS');\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\nimport { MagentoProduct } from '@daffodil/product/driver/magento';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\nimport {\n MAGENTO_CATEGORY_EXTRA_TRANSFORMS,\n MagentoCategoryTreeTransform,\n} from '../transforms/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n constructor(\n @Inject(MAGENTO_CATEGORY_EXTRA_TRANSFORMS) private extraTransforms: Array<MagentoCategoryTreeTransform>,\n ) {}\n\n transform(category: MagentoCategory, products: MagentoProduct[]): DaffCategory {\n return this.extraTransforms.reduce<DaffCategory>((acc, transform) => transform(acc, category, products), {\n id: category.uid,\n url: `/${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: products.map(product => product.sku),\n total_products: products.length,\n });\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport {\n DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM,\n DaffMagentoProductTransform,\n} from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n @Inject(DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM) private magentoProductsTransform: DaffMagentoProductTransform,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category, completeCategory.products),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: completeCategory.products.map(product => this.magentoProductsTransform(product, mediaUrl)),\n };\n }\n}\n","import {\n MagentoProductGetFilterTypesResponse,\n magentoProductGetMatchedAttributeType,\n} from '@daffodil/product/driver/magento';\n\nimport { MagentoGetCategoryAndProductsResponse } from '../../models/public_api';\n\nexport function addMetadataTypesToProductsResponse(\n attributeResponse: MagentoProductGetFilterTypesResponse,\n aggregationResponse: MagentoGetCategoryAndProductsResponse,\n): MagentoGetCategoryAndProductsResponse {\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: magentoProductGetMatchedAttributeType(aggregate, attributeResponse.__type.inputFields),\n })),\n ],\n },\n };\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryIdRequest,\n DaffCategoryRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n daffApplyRequestsToFilters,\n DaffFilterRequest,\n} from '@daffodil/core';\nimport { daffUriTruncateQueryFragment } from '@daffodil/core/routing';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS,\n MagentoProductGetFilterTypes,\n MagentoProductGetFilterTypesResponse,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n magentoAppliedSortOptionTransform,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n} from '@daffodil/product/driver/magento';\n\nimport { MAGENTO_CATEGORY_EXTRA_FRAGMENTS } from './fragments/public_api';\nimport {\n MagentoGetCategoryAndProductsRequest,\n MagentoGetCategoryAndProductsResponse,\n MagentoCompleteCategoryResponse,\n} from './models/public_api';\nimport {\n magentoCategoryGetByUrlValidator,\n MagentoGetCategoryAndProductsQuery,\n MagentoResolveCategoryUrl,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToProductsResponse } from './transformers/pure/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n private magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n private magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS) private extraProductFragments: DocumentNode[],\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraProductPreviewFragments: DocumentNode[],\n @Inject(MAGENTO_CATEGORY_EXTRA_FRAGMENTS) private extraCategoryFragments: DocumentNode[],\n ) {}\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n this.apollo.query<MagentoGetCategoryAndProductsResponse>({\n query: MagentoGetCategoryAndProductsQuery(this.extraCategoryFragments, [\n ...this.extraProductFragments,\n ...this.extraProductPreviewFragments,\n ]),\n variables: this.getCategoryAndProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n filterTypes,\n categoryAndProducts,\n ]) => this.transformCategory(categoryAndProducts.data, filterTypes.data, categoryRequest,this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query({\n query: MagentoResolveCategoryUrl,\n variables: {\n url: daffUriTruncateQueryFragment(categoryRequest.url),\n },\n }).pipe(\n map(magentoCategoryGetByUrlValidator),\n ),\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetCategoryAndProductsResponse>({\n query: MagentoGetCategoryAndProductsQuery(this.extraCategoryFragments, [\n ...this.extraProductFragments,\n ...this.extraProductPreviewFragments,\n ]),\n variables: this.getCategoryAndProductsQueryVariables({\n ...categoryRequest,\n id: category.data.route?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(categoryAndProducts => this.transformCategory(categoryAndProducts.data, filterTypes.data, categoryRequest, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n )),\n );\n }\n\n private getCategoryAndProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetCategoryAndProductsRequest {\n const queryVariables = {\n productFilter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filterRequests),\n categoryFilters: {\n category_uid: {\n eq: request.id,\n },\n },\n };\n if(request.pageSize) {\n queryVariables['pageSize'] = request.pageSize;\n }\n if(request.currentPage) {\n queryVariables['currentPage'] = request.currentPage;\n }\n if(request.appliedSortOption && request.appliedSortDirection) {\n queryVariables['sort'] = magentoAppliedSortOptionTransform(request.appliedSortOption, request.appliedSortDirection);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetCategoryAndProductsResponse,\n filterTypesResponse: MagentoProductGetFilterTypesResponse,\n request: DaffCategoryRequest,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToProductsResponse(filterTypesResponse, categoryResponse);\n const completeCategory: MagentoCompleteCategoryResponse = {\n category: categoryResponse.categoryList[0],\n products: categoryResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: categoryResponse.products.total_count,\n page_info: categoryResponse.products.page_info,\n appliedSortOption: request.appliedSortOption,\n appliedSortDirection: request.appliedSortDirection,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { provideDaffCategoryDriver } from '@daffodil/category/driver';\nimport { provideManyDaffMagentoCacheableOperations } from '@daffodil/driver/magento';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport {\n DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n} from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n provideDaffCategoryDriver(DaffMagentoCategoryService),\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n provideManyDaffMagentoCacheableOperations(\n DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n ),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|