chore(swagger-oms, swagger-checkout): Update Swagger and resolved breaking changes

This commit is contained in:
Nino
2025-09-17 12:09:51 +02:00
parent 2fc83cd8f7
commit 9c8c42da69
212 changed files with 1708 additions and 1239 deletions

View File

@@ -12,7 +12,13 @@ import {
ShoppingCartItemDTO, ShoppingCartItemDTO,
} from '@generated/swagger/checkout-api'; } from '@generated/swagger/checkout-api';
import { DomainCheckoutService } from '@domain/checkout'; import { DomainCheckoutService } from '@domain/checkout';
import { catchError, mergeMap, switchMap, tap, withLatestFrom } from 'rxjs/operators'; import {
catchError,
mergeMap,
switchMap,
tap,
withLatestFrom,
} from 'rxjs/operators';
import { import {
BranchService, BranchService,
DisplayOrderDTO, DisplayOrderDTO,
@@ -40,7 +46,10 @@ export interface KulturpassOrderModalState {
} }
@Injectable() @Injectable()
export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderModalState> implements OnStoreInit { export class KulturpassOrderModalStore
extends ComponentStore<KulturpassOrderModalState>
implements OnStoreInit
{
private _checkoutService = inject(DomainCheckoutService); private _checkoutService = inject(DomainCheckoutService);
private _branchService = inject(BranchService); private _branchService = inject(BranchService);
private _authService = inject(AuthService); private _authService = inject(AuthService);
@@ -87,23 +96,33 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
readonly order$ = this.select((state) => state.order); readonly order$ = this.select((state) => state.order);
readonly updateCheckout = this.updater((state, checkout: CheckoutDTO) => ({ ...state, checkout })); readonly updateCheckout = this.updater((state, checkout: CheckoutDTO) => ({
...state,
checkout,
}));
readonly updateOrder = this.updater((state, order: OrderDTO) => ({ ...state, order })); readonly updateOrder = this.updater((state, order: OrderDTO) => ({
...state,
order,
}));
readonly fetchShoppingCart$ = this.select((state) => state.fetchShoppingCart); readonly fetchShoppingCart$ = this.select((state) => state.fetchShoppingCart);
readonly updateFetchShoppingCart = this.updater((state, fetchShoppingCart: boolean) => ({ readonly updateFetchShoppingCart = this.updater(
...state, (state, fetchShoppingCart: boolean) => ({
fetchShoppingCart, ...state,
})); fetchShoppingCart,
}),
);
readonly ordering$ = this.select((state) => state.ordering); readonly ordering$ = this.select((state) => state.ordering);
loadBranch = this.effect(($) => loadBranch = this.effect(($) =>
$.pipe( $.pipe(
switchMap(() => switchMap(() =>
this._branchService.BranchGetBranches({}).pipe(tapResponse(this.handleBranchResponse, this.handleBranchError)), this._branchService
.BranchGetBranches({})
.pipe(tapResponse(this.handleBranchResponse, this.handleBranchError)),
), ),
), ),
); );
@@ -111,31 +130,45 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
handleBranchResponse = (res: ResponseArgsOfIEnumerableOfBranchDTO) => { handleBranchResponse = (res: ResponseArgsOfIEnumerableOfBranchDTO) => {
const branchNumber = this._authService.getClaimByKey('branch_no'); const branchNumber = this._authService.getClaimByKey('branch_no');
this.patchState({ branch: res.result.find((b) => b.branchNumber === branchNumber) }); this.patchState({
branch: res.result.find((b) => b.branchNumber === branchNumber),
});
}; };
handleBranchError = (err) => { handleBranchError = (err) => {
this._modal.error('Fehler beim Laden der Filiale', err); this._modal.error('Fehler beim Laden der Filiale', err);
}; };
createShoppingCart = this.effect((orderItemListItem$: Observable<OrderItemListItemDTO>) => createShoppingCart = this.effect(
orderItemListItem$.pipe( (orderItemListItem$: Observable<OrderItemListItemDTO>) =>
tap((orderItemListItem) => { orderItemListItem$.pipe(
this.patchState({ orderItemListItem }); tap((orderItemListItem) => {
this.updateFetchShoppingCart(true); this.patchState({ orderItemListItem });
}), this.updateFetchShoppingCart(true);
switchMap((orderItemListItem) => }),
this._checkoutService switchMap((orderItemListItem) =>
.getShoppingCart({ processId: this.processId }) this._checkoutService
.pipe(tapResponse(this.handleCreateShoppingCartResponse, this.handleCreateShoppingCartError)), .getShoppingCart({ processId: this.processId })
.pipe(
tapResponse(
this.handleCreateShoppingCartResponse,
this.handleCreateShoppingCartError,
),
),
),
), ),
),
); );
handleCreateShoppingCartResponse = (res: ShoppingCartDTO) => { handleCreateShoppingCartResponse = (res: ShoppingCartDTO) => {
this.patchState({ shoppingCart: res }); this.patchState({ shoppingCart: res });
this._checkoutService.setBuyer({ processId: this.processId, buyer: this.order.buyer }); this._checkoutService.setBuyer({
this._checkoutService.setPayer({ processId: this.processId, payer: this.order.billing?.data }); processId: this.processId,
buyer: this.order.buyer,
});
this._checkoutService.setPayer({
processId: this.processId,
payer: this.order.billing?.data,
});
this.updateFetchShoppingCart(false); this.updateFetchShoppingCart(false);
}; };
@@ -154,7 +187,9 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
processId: this.processId, processId: this.processId,
items: [add], items: [add],
}) })
.pipe(tapResponse(this.handleAddItemResponse, this.handleAddItemError)), .pipe(
tapResponse(this.handleAddItemResponse, this.handleAddItemError),
),
), ),
), ),
); );
@@ -174,7 +209,12 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
shoppingCartItemId: change.id, shoppingCartItemId: change.id,
update: { quantity: change.quantity }, update: { quantity: change.quantity },
}) })
.pipe(tapResponse(this.handleQuantityChangeResponse, this.handleQuantityChangeError)), .pipe(
tapResponse(
this.handleQuantityChangeResponse,
this.handleQuantityChangeError,
),
),
), ),
), ),
); );
@@ -206,7 +246,10 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
this.onOrderSuccess(res.result.item1[0], res.result.item2); this.onOrderSuccess(res.result.item1[0], res.result.item2);
}; };
onOrderSuccess = (displayOrder: DisplayOrderDTO, action: KeyValueDTOOfStringAndString[]) => {}; onOrderSuccess = (
displayOrder: DisplayOrderDTO,
action: KeyValueDTOOfStringAndString[],
) => {};
handleOrderError = (err: any) => { handleOrderError = (err: any) => {
this._modal.error('Fehler beim Bestellen', err); this._modal.error('Fehler beim Bestellen', err);
@@ -215,8 +258,9 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
itemQuantityByCatalogProductNumber(catalogProductNumber: string) { itemQuantityByCatalogProductNumber(catalogProductNumber: string) {
return ( return (
this.shoppingCart?.items?.find((i) => getCatalogProductNumber(i?.data) === catalogProductNumber)?.data this.shoppingCart?.items?.find(
?.quantity ?? 0 (i) => getCatalogProductNumber(i?.data) === catalogProductNumber,
)?.data?.quantity ?? 0
); );
} }
@@ -227,7 +271,11 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
.canAddItemsKulturpass([item?.product]) .canAddItemsKulturpass([item?.product])
.pipe( .pipe(
tapResponse( tapResponse(
(results) => this.handleCanAddItemResponse({ item, result: results?.find((_) => true) }), (results) =>
this.handleCanAddItemResponse({
item,
result: results?.find((_) => true),
}),
this.handleCanAddItemError, this.handleCanAddItemError,
), ),
), ),
@@ -235,14 +283,23 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
), ),
); );
handleCanAddItemResponse = ({ item, result }: { item: ItemDTO; result: KulturPassResult }) => { handleCanAddItemResponse = ({
item,
result,
}: {
item: ItemDTO;
result: KulturPassResult;
}) => {
if (result?.canAdd) { if (result?.canAdd) {
this.addItemToShoppingCart(item); this.addItemToShoppingCart(item);
} else { } else {
this._modal.open({ this._modal.open({
content: UiMessageModalComponent, content: UiMessageModalComponent,
title: 'Artikel nicht förderfähig', title: 'Artikel nicht förderfähig',
data: { message: result?.message, closeAction: 'ohne Artikel fortfahren' }, data: {
message: result?.message,
closeAction: 'ohne Artikel fortfahren',
},
}); });
} }
}; };
@@ -254,14 +311,18 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
addItemToShoppingCart = this.effect((item$: Observable<ItemDTO>) => addItemToShoppingCart = this.effect((item$: Observable<ItemDTO>) =>
item$.pipe( item$.pipe(
mergeMap((item) => { mergeMap((item) => {
const takeAwayAvailability$ = this._availabilityService.getTakeAwayAvailability({ const takeAwayAvailability$ =
item: { this._availabilityService.getTakeAwayAvailability({
ean: item.product.ean, item: {
itemId: item.id, ean: item.product.ean,
price: item.catalogAvailability.price, itemId: item.id,
}, price: item.catalogAvailability.price,
quantity: this.itemQuantityByCatalogProductNumber(getCatalogProductNumber(item)) + 1, },
}); quantity:
this.itemQuantityByCatalogProductNumber(
getCatalogProductNumber(item),
) + 1,
});
const deliveryAvailability$ = this._availabilityService const deliveryAvailability$ = this._availabilityService
.getDeliveryAvailability({ .getDeliveryAvailability({
@@ -270,7 +331,10 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
itemId: item.id, itemId: item.id,
price: item.catalogAvailability.price, price: item.catalogAvailability.price,
}, },
quantity: this.itemQuantityByCatalogProductNumber(getCatalogProductNumber(item)) + 1, quantity:
this.itemQuantityByCatalogProductNumber(
getCatalogProductNumber(item),
) + 1,
}) })
.pipe( .pipe(
catchError((err) => { catchError((err) => {
@@ -279,7 +343,10 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
); );
return zip(takeAwayAvailability$, deliveryAvailability$).pipe( return zip(takeAwayAvailability$, deliveryAvailability$).pipe(
tapResponse(this.handleAddItemToShoppingCartResponse2(item), this.handleAddItemToShoppingCartError), tapResponse(
this.handleAddItemToShoppingCartResponse2(item),
this.handleAddItemToShoppingCartError,
),
); );
}), }),
), ),
@@ -287,20 +354,27 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
handleAddItemToShoppingCartResponse2 = handleAddItemToShoppingCartResponse2 =
(item: ItemDTO) => (item: ItemDTO) =>
([takeAwayAvailability, deliveryAvailability]: [AvailabilityDTO, AvailabilityDTO]) => { ([takeAwayAvailability, deliveryAvailability]: [
AvailabilityDTO,
AvailabilityDTO,
]) => {
let isPriceMaintained = item?.catalogAvailability?.priceMaintained; let isPriceMaintained = item?.catalogAvailability?.priceMaintained;
let onlinePrice = -1; let onlinePrice = -1;
if (deliveryAvailability) { if (deliveryAvailability) {
isPriceMaintained = isPriceMaintained ?? deliveryAvailability['priceMaintained'] ?? false; isPriceMaintained =
isPriceMaintained ?? deliveryAvailability['priceMaintained'] ?? false;
onlinePrice = deliveryAvailability?.price?.value?.value ?? -1; onlinePrice = deliveryAvailability?.price?.value?.value ?? -1;
} }
// Preis und priceMaintained werden immer erst vom Katalog genommen. Bei nicht Verfügbarkeit greifen die anderen Availabilities // Preis und priceMaintained werden immer erst vom Katalog genommen. Bei nicht Verfügbarkeit greifen die anderen Availabilities
const offlinePrice = const offlinePrice =
item?.catalogAvailability?.price?.value?.value ?? takeAwayAvailability?.price?.value?.value ?? -1; item?.catalogAvailability?.price?.value?.value ??
takeAwayAvailability?.price?.value?.value ??
-1;
const availability = takeAwayAvailability; const availability = takeAwayAvailability;
availability.price = item?.catalogAvailability?.price ?? takeAwayAvailability?.price; availability.price =
item?.catalogAvailability?.price ?? takeAwayAvailability?.price;
/** /**
* Onlinepreis ist niedliger als der Offlinepreis * Onlinepreis ist niedliger als der Offlinepreis
@@ -314,7 +388,11 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
* wenn der Artikel Preisgebunden ist, wird der Ladenpreis verwendet * wenn der Artikel Preisgebunden ist, wird der Ladenpreis verwendet
*/ */
if (!!deliveryAvailability && onlinePrice < offlinePrice && !isPriceMaintained) { if (
!!deliveryAvailability &&
onlinePrice < offlinePrice &&
!isPriceMaintained
) {
availability.price = deliveryAvailability.price; availability.price = deliveryAvailability.price;
} }
@@ -333,10 +411,13 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
}, },
}, },
promotion: { promotion: {
points: 0, value: 0,
}, },
itemType: item.type, itemType: item.type,
product: { catalogProductNumber: getCatalogProductNumber(item), ...item.product }, product: {
catalogProductNumber: getCatalogProductNumber(item),
...item.product,
},
}; };
this.addItem(addToShoppingCartDTO); this.addItem(addToShoppingCartDTO);
@@ -346,15 +427,28 @@ export class KulturpassOrderModalStore extends ComponentStore<KulturpassOrderMod
this._modal.error('Fehler beim Hinzufügen des Artikels', err); this._modal.error('Fehler beim Hinzufügen des Artikels', err);
}; };
setAvailability = this.updater((state, data: { catalogProductNumber: string; availability: AvailabilityDTO }) => { setAvailability = this.updater(
return { ...state, availabilities: { ...state.availabilities, [data.catalogProductNumber]: data.availability } }; (
}); state,
data: { catalogProductNumber: string; availability: AvailabilityDTO },
) => {
return {
...state,
availabilities: {
...state.availabilities,
[data.catalogProductNumber]: data.availability,
},
};
},
);
getAvailability(catalogProductNumber: string): AvailabilityDTO | undefined { getAvailability(catalogProductNumber: string): AvailabilityDTO | undefined {
return this.get((state) => state.availabilities[catalogProductNumber]); return this.get((state) => state.availabilities[catalogProductNumber]);
} }
getAvailability$(catalogProductNumber: string): Observable<AvailabilityDTO | undefined> { getAvailability$(
catalogProductNumber: string,
): Observable<AvailabilityDTO | undefined> {
return this.select((state) => state.availabilities[catalogProductNumber]); return this.select((state) => state.availabilities[catalogProductNumber]);
} }
} }

View File

@@ -26,7 +26,11 @@ import {
} from './purchase-options.helpers'; } from './purchase-options.helpers';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { first, switchMap } from 'rxjs/operators'; import { first, switchMap } from 'rxjs/operators';
import { DEFAULT_PRICE_DTO, DEFAULT_PRICE_VALUE, DEFAULT_VAT_VALUE } from '../constants'; import {
DEFAULT_PRICE_DTO,
DEFAULT_PRICE_VALUE,
DEFAULT_VAT_VALUE,
} from '../constants';
import { import {
AddToShoppingCartDTO, AddToShoppingCartDTO,
EntityDTOContainerOfDestinationDTO, EntityDTOContainerOfDestinationDTO,
@@ -103,7 +107,9 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
return this.get(Selectors.getPurchaseOptionsInAvailabilities); return this.get(Selectors.getPurchaseOptionsInAvailabilities);
} }
getPurchaseOptionsInAvailabilities$ = this.select(Selectors.getPurchaseOptionsInAvailabilities); getPurchaseOptionsInAvailabilities$ = this.select(
Selectors.getPurchaseOptionsInAvailabilities,
);
get itemsForList() { get itemsForList() {
return this.get(Selectors.getItemsForList); return this.get(Selectors.getItemsForList);
@@ -160,29 +166,48 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
}); });
} }
addFetchingAvailability = this.updater((state, fetchState: FetchingAvailability) => { addFetchingAvailability = this.updater(
return { (state, fetchState: FetchingAvailability) => {
...state, return {
fetchingAvailabilities: [...state.fetchingAvailabilities, fetchState], ...state,
}; fetchingAvailabilities: [...state.fetchingAvailabilities, fetchState],
}); };
},
);
removeFetchingAvailability = this.updater((state, fetchState: FetchingAvailability) => { removeFetchingAvailability = this.updater(
return { (state, fetchState: FetchingAvailability) => {
...state, return {
fetchingAvailabilities: state.fetchingAvailabilities.filter((f) => f.id !== fetchState.id), ...state,
}; fetchingAvailabilities: state.fetchingAvailabilities.filter(
}); (f) => f.id !== fetchState.id,
),
};
},
);
async initialize({ items, processId, type, inStoreBranch, pickupBranch }: PurchaseOptionsModalData) { async initialize({
const selectedBranch = await this._service.getSelectedBranchForProcess(processId).toPromise(); items,
processId,
type,
inStoreBranch,
pickupBranch,
}: PurchaseOptionsModalData) {
const selectedBranch = await this._service
.getSelectedBranchForProcess(processId)
.toPromise();
const defaultBranch = await this._service.fetchDefaultBranch().toPromise(); const defaultBranch = await this._service.fetchDefaultBranch().toPromise();
const customerFeatures = await this._service.getCustomerFeatures(processId).toPromise(); const customerFeatures = await this._service
.getCustomerFeatures(processId)
.toPromise();
this.patchState({ this.patchState({
processId: processId, processId: processId,
type: type, type: type,
items: items.map((item) => ({ ...item, quantity: item['quantity'] ?? 1 })), items: items.map((item) => ({
...item,
quantity: item['quantity'] ?? 1,
})),
defaultBranch: selectedBranch ?? defaultBranch, defaultBranch: selectedBranch ?? defaultBranch,
pickupBranch: pickupBranch ?? selectedBranch, pickupBranch: pickupBranch ?? selectedBranch,
inStoreBranch: inStoreBranch ?? selectedBranch, inStoreBranch: inStoreBranch ?? selectedBranch,
@@ -255,7 +280,8 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
const items = await this._catalogService const items = await this._catalogService
.searchByEans({ eans: this.items.map((item) => item.product.ean) }) .searchByEans({ eans: this.items.map((item) => item.product.ean) })
.toPromise(); .toPromise();
if (items.result.length > 0) await this._addCatalogueAvailabilities(items.result); if (items.result.length > 0)
await this._addCatalogueAvailabilities(items.result);
} else { } else {
await this._addCatalogueAvailabilities(items as ItemDTO[]); await this._addCatalogueAvailabilities(items as ItemDTO[]);
} }
@@ -264,7 +290,9 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
// #4813 - Function updated - "this.updater" didn't work, so "this.patchState" gets used instead // #4813 - Function updated - "this.updater" didn't work, so "this.patchState" gets used instead
// Added firstDayOfSale for catalogAvailability via ShoppingCart Route // Added firstDayOfSale for catalogAvailability via ShoppingCart Route
private async _addCatalogueAvailabilities(items: ItemDTO[]) { private async _addCatalogueAvailabilities(items: ItemDTO[]) {
const currentAvailabilities = await this.availabilities$.pipe(first()).toPromise(); const currentAvailabilities = await this.availabilities$
.pipe(first())
.toPromise();
const availabilities = [...currentAvailabilities]; const availabilities = [...currentAvailabilities];
items.forEach((item) => { items.forEach((item) => {
const catalogAvailability = item.catalogAvailability; const catalogAvailability = item.catalogAvailability;
@@ -272,7 +300,10 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
purchaseOption: 'catalog', purchaseOption: 'catalog',
itemId: item.id, itemId: item.id,
ean: item.product.ean, // Hier brauchen wir zusätzlich die EAN - siehe purchase-options-list-item.component.ts: "get isEVT()" ean: item.product.ean, // Hier brauchen wir zusätzlich die EAN - siehe purchase-options-list-item.component.ts: "get isEVT()"
data: { price: catalogAvailability?.price, firstDayOfSale: catalogAvailability?.firstDayOfSale }, data: {
price: catalogAvailability?.price,
firstDayOfSale: catalogAvailability?.firstDayOfSale,
},
}); });
}); });
@@ -287,8 +318,14 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
const id = uniqueId('availability_'); const id = uniqueId('availability_');
try { try {
this.addFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'pickup' }); this.addFetchingAvailability({
const res = await this._service.fetchPickupAvailability(itemData, itemData.quantity, branch).toPromise(); id,
itemId: itemData.sourceId,
purchaseOption: 'pickup',
});
const res = await this._service
.fetchPickupAvailability(itemData, itemData.quantity, branch)
.toPromise();
const availability: Availability = { const availability: Availability = {
itemId: itemData.sourceId, itemId: itemData.sourceId,
@@ -301,7 +338,11 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
console.error('_loadPickupAvailability', err); console.error('_loadPickupAvailability', err);
} }
this.removeFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'pickup' }); this.removeFetchingAvailability({
id,
itemId: itemData.sourceId,
purchaseOption: 'pickup',
});
} }
private async _loadInStoreAvailability(itemData: ItemData) { private async _loadInStoreAvailability(itemData: ItemData) {
@@ -310,8 +351,14 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
const id = uniqueId('availability_'); const id = uniqueId('availability_');
try { try {
this.addFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'in-store' }); this.addFetchingAvailability({
const res = await this._service.fetchInStoreAvailability(itemData, itemData.quantity, branch).toPromise(); id,
itemId: itemData.sourceId,
purchaseOption: 'in-store',
});
const res = await this._service
.fetchInStoreAvailability(itemData, itemData.quantity, branch)
.toPromise();
const availability: Availability = { const availability: Availability = {
itemId: itemData.sourceId, itemId: itemData.sourceId,
@@ -324,14 +371,24 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
console.error('_loadInStoreAvailability', err); console.error('_loadInStoreAvailability', err);
} }
this.removeFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'in-store' }); this.removeFetchingAvailability({
id,
itemId: itemData.sourceId,
purchaseOption: 'in-store',
});
} }
private async _loadDeliveryAvailability(itemData: ItemData) { private async _loadDeliveryAvailability(itemData: ItemData) {
const id = uniqueId('availability_'); const id = uniqueId('availability_');
try { try {
this.addFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'delivery' }); this.addFetchingAvailability({
const res = await this._service.fetchDeliveryAvailability(itemData, itemData.quantity).toPromise(); id,
itemId: itemData.sourceId,
purchaseOption: 'delivery',
});
const res = await this._service
.fetchDeliveryAvailability(itemData, itemData.quantity)
.toPromise();
const availability: Availability = { const availability: Availability = {
itemId: itemData.sourceId, itemId: itemData.sourceId,
purchaseOption: 'delivery', purchaseOption: 'delivery',
@@ -343,14 +400,24 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
console.error('_loadDeliveryAvailability', error); console.error('_loadDeliveryAvailability', error);
} }
this.removeFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'delivery' }); this.removeFetchingAvailability({
id,
itemId: itemData.sourceId,
purchaseOption: 'delivery',
});
} }
private async _loadDigDeliveryAvailability(itemData: ItemData) { private async _loadDigDeliveryAvailability(itemData: ItemData) {
const id = uniqueId('availability_'); const id = uniqueId('availability_');
try { try {
this.addFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'dig-delivery' }); this.addFetchingAvailability({
const res = await this._service.fetchDigDeliveryAvailability(itemData, itemData.quantity).toPromise(); id,
itemId: itemData.sourceId,
purchaseOption: 'dig-delivery',
});
const res = await this._service
.fetchDigDeliveryAvailability(itemData, itemData.quantity)
.toPromise();
const availability: Availability = { const availability: Availability = {
itemId: itemData.sourceId, itemId: itemData.sourceId,
@@ -363,14 +430,24 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
console.error('_loadDigDeliveryAvailability', error); console.error('_loadDigDeliveryAvailability', error);
} }
this.removeFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'dig-delivery' }); this.removeFetchingAvailability({
id,
itemId: itemData.sourceId,
purchaseOption: 'dig-delivery',
});
} }
private async _loadB2bDeliveryAvailability(itemData: ItemData) { private async _loadB2bDeliveryAvailability(itemData: ItemData) {
const id = uniqueId('availability_'); const id = uniqueId('availability_');
try { try {
this.addFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'b2b-delivery' }); this.addFetchingAvailability({
const res = await this._service.fetchB2bDeliveryAvailability(itemData, itemData.quantity).toPromise(); id,
itemId: itemData.sourceId,
purchaseOption: 'b2b-delivery',
});
const res = await this._service
.fetchB2bDeliveryAvailability(itemData, itemData.quantity)
.toPromise();
const availability: Availability = { const availability: Availability = {
itemId: itemData.sourceId, itemId: itemData.sourceId,
@@ -383,14 +460,24 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
console.error('_loadB2bDeliveryAvailability', error); console.error('_loadB2bDeliveryAvailability', error);
} }
this.removeFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'b2b-delivery' }); this.removeFetchingAvailability({
id,
itemId: itemData.sourceId,
purchaseOption: 'b2b-delivery',
});
} }
private async _loadDownloadAvailability(itemData: ItemData) { private async _loadDownloadAvailability(itemData: ItemData) {
const id = uniqueId('availability_'); const id = uniqueId('availability_');
try { try {
this.addFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'download' }); this.addFetchingAvailability({
const res = await this._service.fetchDownloadAvailability(itemData).toPromise(); id,
itemId: itemData.sourceId,
purchaseOption: 'download',
});
const res = await this._service
.fetchDownloadAvailability(itemData)
.toPromise();
const availability: Availability = { const availability: Availability = {
itemId: itemData.sourceId, itemId: itemData.sourceId,
@@ -403,7 +490,11 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
console.error('_loadDownloadAvailability', error); console.error('_loadDownloadAvailability', error);
} }
this.removeFetchingAvailability({ id, itemId: itemData.sourceId, purchaseOption: 'download' }); this.removeFetchingAvailability({
id,
itemId: itemData.sourceId,
purchaseOption: 'download',
});
} }
private _checkAndSetAvailability(availability: Availability) { private _checkAndSetAvailability(availability: Availability) {
@@ -411,7 +502,9 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
const availabilities = this.availabilities; const availabilities = this.availabilities;
const index = availabilities.findIndex( const index = availabilities.findIndex(
(a) => a.itemId === availability.itemId && a.purchaseOption === availability.purchaseOption, (a) =>
a.itemId === availability.itemId &&
a.purchaseOption === availability.purchaseOption,
); );
if (index > -1) { if (index > -1) {
@@ -423,7 +516,11 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
this.patchState({ availabilities }); this.patchState({ availabilities });
} else { } else {
let availabilities = this.availabilities.filter( let availabilities = this.availabilities.filter(
(a) => !(a.itemId === availability.itemId && a.purchaseOption === availability.purchaseOption), (a) =>
!(
a.itemId === availability.itemId &&
a.purchaseOption === availability.purchaseOption
),
); );
this.patchState({ availabilities }); this.patchState({ availabilities });
} }
@@ -432,7 +529,11 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
private _addCanAddResult(canAdd: CanAdd) { private _addCanAddResult(canAdd: CanAdd) {
let canAddResults = this.canAddResults; let canAddResults = this.canAddResults;
canAddResults = canAddResults.filter( canAddResults = canAddResults.filter(
(c) => !(c.itemId === canAdd.itemId && c.purchaseOption === canAdd.purchaseOption), (c) =>
!(
c.itemId === canAdd.itemId &&
c.purchaseOption === canAdd.purchaseOption
),
); );
canAddResults.push(canAdd); canAddResults.push(canAdd);
this.patchState({ canAddResults }); this.patchState({ canAddResults });
@@ -474,7 +575,10 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
const b2bDeliveryAvailability = this.availabilities.find( const b2bDeliveryAvailability = this.availabilities.find(
(a) => a.itemId === item.id && a.purchaseOption === 'b2b-delivery', (a) => a.itemId === item.id && a.purchaseOption === 'b2b-delivery',
); );
deliveryAvailability = deliveryAvailability || digDeliveryAvailability || b2bDeliveryAvailability; deliveryAvailability =
deliveryAvailability ||
digDeliveryAvailability ||
b2bDeliveryAvailability;
if (deliveryAvailability) { if (deliveryAvailability) {
payloads['Versand'].push( payloads['Versand'].push(
mapToItemPayload({ mapToItemPayload({
@@ -487,7 +591,9 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
} }
// Get Abholung availability // Get Abholung availability
let pickupAvailability = this.availabilities.find((a) => a.itemId === item.id && a.purchaseOption === 'pickup'); let pickupAvailability = this.availabilities.find(
(a) => a.itemId === item.id && a.purchaseOption === 'pickup',
);
if (pickupAvailability) { if (pickupAvailability) {
payloads['Abholung'].push( payloads['Abholung'].push(
mapToItemPayload({ mapToItemPayload({
@@ -519,7 +625,9 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
const itemPayloads = payloads[key]; const itemPayloads = payloads[key];
if (itemPayloads.length > 0) { if (itemPayloads.length > 0) {
try { try {
const res = await this._service.fetchCanAdd(this.processId, key, itemPayloads).toPromise(); const res = await this._service
.fetchCanAdd(this.processId, key, itemPayloads)
.toPromise();
res.forEach((canAdd) => { res.forEach((canAdd) => {
const item = itemPayloads.find((i) => i.id === canAdd.id); const item = itemPayloads.find((i) => i.id === canAdd.id);
this._addCanAddResult({ this._addCanAddResult({
@@ -549,7 +657,9 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
if (value && !selectedItemIds.includes(itemId)) { if (value && !selectedItemIds.includes(itemId)) {
this.patchState({ selectedItemIds: [...selectedItemIds, itemId] }); this.patchState({ selectedItemIds: [...selectedItemIds, itemId] });
} else if (!value && selectedItemIds.includes(itemId)) { } else if (!value && selectedItemIds.includes(itemId)) {
this.patchState({ selectedItemIds: selectedItemIds.filter((id) => id !== itemId) }); this.patchState({
selectedItemIds: selectedItemIds.filter((id) => id !== itemId),
});
} }
} }
@@ -561,7 +671,9 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
canAddItem(itemId: number): boolean { canAddItem(itemId: number): boolean {
const purchaseOption = this.purchaseOption; const purchaseOption = this.purchaseOption;
const canAdd = this.canAddResults.find((c) => c.itemId === itemId && c.purchaseOption === purchaseOption); const canAdd = this.canAddResults.find(
(c) => c.itemId === itemId && c.purchaseOption === purchaseOption,
);
if (canAdd) { if (canAdd) {
return canAdd.canAdd; return canAdd.canAdd;
@@ -574,20 +686,40 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
this.patchState({ selectedItemIds: [] }); this.patchState({ selectedItemIds: [] });
} }
getItemsThatHaveAnAvailabilityForPurchaseOption(purchaseOption: PurchaseOption): Item[] { getItemsThatHaveAnAvailabilityForPurchaseOption(
return this.get(Selectors.getItemsThatHaveAnAvailabilityForPurchaseOption(purchaseOption)); purchaseOption: PurchaseOption,
): Item[] {
return this.get(
Selectors.getItemsThatHaveAnAvailabilityForPurchaseOption(purchaseOption),
);
} }
getItemsThatHaveAnAvailabilityForPurchaseOption$(purchaseOption: PurchaseOption): Observable<Item[]> { getItemsThatHaveAnAvailabilityForPurchaseOption$(
return this.select(Selectors.getItemsThatHaveAnAvailabilityForPurchaseOption(purchaseOption)); purchaseOption: PurchaseOption,
): Observable<Item[]> {
return this.select(
Selectors.getItemsThatHaveAnAvailabilityForPurchaseOption(purchaseOption),
);
} }
getItemsThatHaveAnAvailabilityAndCanAddForPurchaseOption(purchaseOption: PurchaseOption): Item[] { getItemsThatHaveAnAvailabilityAndCanAddForPurchaseOption(
return this.get(Selectors.getItemsThatHaveAnAvailabilityAndCanAddForPurchaseOption(purchaseOption)); purchaseOption: PurchaseOption,
): Item[] {
return this.get(
Selectors.getItemsThatHaveAnAvailabilityAndCanAddForPurchaseOption(
purchaseOption,
),
);
} }
getItemsThatHaveAnAvailabilityAndCanAddForPurchaseOption$(purchaseOption: PurchaseOption): Observable<Item[]> { getItemsThatHaveAnAvailabilityAndCanAddForPurchaseOption$(
return this.select(Selectors.getItemsThatHaveAnAvailabilityAndCanAddForPurchaseOption(purchaseOption)); purchaseOption: PurchaseOption,
): Observable<Item[]> {
return this.select(
Selectors.getItemsThatHaveAnAvailabilityAndCanAddForPurchaseOption(
purchaseOption,
),
);
} }
getAvailabilitiesForItem(itemId: number): Availability[] { getAvailabilitiesForItem(itemId: number): Availability[] {
@@ -679,15 +811,21 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
} }
getPrice$(itemId: number) { getPrice$(itemId: number) {
return this.purchaseOption$.pipe(switchMap((po) => this.getPriceForPurchaseOption$(itemId, po))); return this.purchaseOption$.pipe(
switchMap((po) => this.getPriceForPurchaseOption$(itemId, po)),
);
} }
getPriceForPurchaseOption(itemId: number, purchaseOption: PurchaseOption) { getPriceForPurchaseOption(itemId: number, purchaseOption: PurchaseOption) {
return this.get(Selectors.getPriceForPurchaseOption(itemId, purchaseOption)); return this.get(
Selectors.getPriceForPurchaseOption(itemId, purchaseOption),
);
} }
getPriceForPurchaseOption$(itemId: number, purchaseOption: PurchaseOption) { getPriceForPurchaseOption$(itemId: number, purchaseOption: PurchaseOption) {
return this.select(Selectors.getPriceForPurchaseOption(itemId, purchaseOption)); return this.select(
Selectors.getPriceForPurchaseOption(itemId, purchaseOption),
);
} }
getCanEditPrice(itemId: number) { getCanEditPrice(itemId: number) {
@@ -748,27 +886,51 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
} }
getCanAddResultForItemAndCurrentPurchaseOption(itemId: number) { getCanAddResultForItemAndCurrentPurchaseOption(itemId: number) {
return this.get(Selectors.getCanAddResultForItemAndCurrentPurchaseOption(itemId)); return this.get(
Selectors.getCanAddResultForItemAndCurrentPurchaseOption(itemId),
);
} }
getCanAddResultForItemAndCurrentPurchaseOption$(itemId: number) { getCanAddResultForItemAndCurrentPurchaseOption$(itemId: number) {
return this.select(Selectors.getCanAddResultForItemAndCurrentPurchaseOption(itemId)); return this.select(
Selectors.getCanAddResultForItemAndCurrentPurchaseOption(itemId),
);
} }
getAvailabilityWithPurchaseOption(itemId: number, purchaseOption: PurchaseOption) { getAvailabilityWithPurchaseOption(
return this.get(Selectors.getAvailabilityWithPurchaseOption(itemId, purchaseOption)); itemId: number,
purchaseOption: PurchaseOption,
) {
return this.get(
Selectors.getAvailabilityWithPurchaseOption(itemId, purchaseOption),
);
} }
getAvailabilityWithPurchaseOption$(itemId: number, purchaseOption: PurchaseOption) { getAvailabilityWithPurchaseOption$(
return this.select(Selectors.getAvailabilityWithPurchaseOption(itemId, purchaseOption)); itemId: number,
purchaseOption: PurchaseOption,
) {
return this.select(
Selectors.getAvailabilityWithPurchaseOption(itemId, purchaseOption),
);
} }
getCanAddResultWithPurchaseOption(itemId: number, purchaseOption: PurchaseOption) { getCanAddResultWithPurchaseOption(
return this.get(Selectors.getCanAddResultWithPurchaseOption(itemId, purchaseOption)); itemId: number,
purchaseOption: PurchaseOption,
) {
return this.get(
Selectors.getCanAddResultWithPurchaseOption(itemId, purchaseOption),
);
} }
getCanAddResultWithPurchaseOption$(itemId: number, purchaseOption: PurchaseOption) { getCanAddResultWithPurchaseOption$(
return this.select(Selectors.getCanAddResultWithPurchaseOption(itemId, purchaseOption)); itemId: number,
purchaseOption: PurchaseOption,
) {
return this.select(
Selectors.getCanAddResultWithPurchaseOption(itemId, purchaseOption),
);
} }
addItemsToShoppingCart() { addItemsToShoppingCart() {
@@ -777,10 +939,16 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
} }
} }
getAddToShoppingCartDTOForItem(itemId: number, purchaseOption: PurchaseOption): AddToShoppingCartDTO { getAddToShoppingCartDTOForItem(
itemId: number,
purchaseOption: PurchaseOption,
): AddToShoppingCartDTO {
const item = this.items.find((i) => i.id === itemId); const item = this.items.find((i) => i.id === itemId);
const price = this.getPriceForPurchaseOption(itemId, this.purchaseOption); const price = this.getPriceForPurchaseOption(itemId, this.purchaseOption);
const availability = this.getAvailabilityWithPurchaseOption(itemId, purchaseOption); const availability = this.getAvailabilityWithPurchaseOption(
itemId,
purchaseOption,
);
if (!isItemDTO(item, this.type)) { if (!isItemDTO(item, this.type)) {
throw new Error('Invalid item'); throw new Error('Invalid item');
@@ -802,8 +970,12 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
availability: { ...availability.data, price }, availability: { ...availability.data, price },
destination, destination,
itemType: item.type, itemType: item.type,
product: { ...item.product, catalogProductNumber: item?.product?.catalogProductNumber ?? String(item.id) }, product: {
promotion: { points: item.promoPoints }, ...item.product,
catalogProductNumber:
item?.product?.catalogProductNumber ?? String(item.id),
},
promotion: { value: item.promoPoints },
// retailPrice: { // retailPrice: {
// value: price.value.value, // value: price.value.value,
// currency: price.value.currency, // currency: price.value.currency,
@@ -813,10 +985,16 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
}; };
} }
getUpdateShoppingCartItemDTOForItem(itemId: number, purchaseOption: PurchaseOption): UpdateShoppingCartItemDTO { getUpdateShoppingCartItemDTOForItem(
itemId: number,
purchaseOption: PurchaseOption,
): UpdateShoppingCartItemDTO {
const item = this.items.find((i) => i.id === itemId); const item = this.items.find((i) => i.id === itemId);
const price = this.getPriceForPurchaseOption(itemId, this.purchaseOption); const price = this.getPriceForPurchaseOption(itemId, this.purchaseOption);
const availability = this.getAvailabilityWithPurchaseOption(itemId, purchaseOption); const availability = this.getAvailabilityWithPurchaseOption(
itemId,
purchaseOption,
);
if (!isShoppingCartItemDTO(item, this.type)) { if (!isShoppingCartItemDTO(item, this.type)) {
throw new Error('Invalid item'); throw new Error('Invalid item');
@@ -856,7 +1034,9 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
const payloads = this.selectedItemIds.map((itemId) => const payloads = this.selectedItemIds.map((itemId) =>
this.getAddToShoppingCartDTOForItem(itemId, purchaseOption), this.getAddToShoppingCartDTOForItem(itemId, purchaseOption),
); );
await this._service.addItemToShoppingCart(this.processId, payloads).toPromise(); await this._service
.addItemToShoppingCart(this.processId, payloads)
.toPromise();
} else if (type === 'update') { } else if (type === 'update') {
const payloads = this.selectedItemIds.map((itemId) => const payloads = this.selectedItemIds.map((itemId) =>
this.getUpdateShoppingCartItemDTOForItem(itemId, purchaseOption), this.getUpdateShoppingCartItemDTOForItem(itemId, purchaseOption),
@@ -864,8 +1044,13 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
for (const itemId of this.selectedItemIds) { for (const itemId of this.selectedItemIds) {
const item = this.items.find((i) => i.id === itemId); const item = this.items.find((i) => i.id === itemId);
const payload = this.getUpdateShoppingCartItemDTOForItem(itemId, purchaseOption); const payload = this.getUpdateShoppingCartItemDTOForItem(
await this._service.updateItemInShoppingCart(this.processId, item.id, payload).toPromise(); itemId,
purchaseOption,
);
await this._service
.updateItemInShoppingCart(this.processId, item.id, payload)
.toPromise();
} }
} else { } else {
throw new Error('Invalid type'); throw new Error('Invalid type');

View File

@@ -22,12 +22,21 @@ import { UiErrorModalComponent, UiModalService } from '@ui/modal';
import { CacheService } from '@core/cache'; import { CacheService } from '@core/cache';
import { isEqual } from 'lodash'; import { isEqual } from 'lodash';
import { BehaviorSubject, combineLatest, Subscription } from 'rxjs'; import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
import { debounceTime, first, map, switchMap, withLatestFrom } from 'rxjs/operators'; import {
debounceTime,
first,
map,
switchMap,
withLatestFrom,
} from 'rxjs/operators';
import { ArticleSearchService } from '../article-search.store'; import { ArticleSearchService } from '../article-search.store';
import { AddedToCartModalComponent } from './added-to-cart-modal/added-to-cart-modal.component'; import { AddedToCartModalComponent } from './added-to-cart-modal/added-to-cart-modal.component';
import { SearchResultItemComponent } from './search-result-item.component'; import { SearchResultItemComponent } from './search-result-item.component';
import { ProductCatalogNavigationService } from '@shared/services/navigation'; import { ProductCatalogNavigationService } from '@shared/services/navigation';
import { Filter, FilterInputGroupMainComponent } from '@shared/components/filter'; import {
Filter,
FilterInputGroupMainComponent,
} from '@shared/components/filter';
import { DomainAvailabilityService, ItemData } from '@domain/availability'; import { DomainAvailabilityService, ItemData } from '@domain/availability';
import { asapScheduler } from 'rxjs'; import { asapScheduler } from 'rxjs';
import { ShellService } from '@shared/shell'; import { ShellService } from '@shared/shell';
@@ -39,8 +48,11 @@ import { ShellService } from '@shared/shell';
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false, standalone: false,
}) })
export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterViewInit { export class ArticleSearchResultsComponent
@ViewChildren(SearchResultItemComponent) listItems: QueryList<SearchResultItemComponent>; implements OnInit, OnDestroy, AfterViewInit
{
@ViewChildren(SearchResultItemComponent)
listItems: QueryList<SearchResultItemComponent>;
@ViewChild(CdkVirtualScrollViewport, { static: false }) @ViewChild(CdkVirtualScrollViewport, { static: false })
scrollContainer: CdkVirtualScrollViewport; scrollContainer: CdkVirtualScrollViewport;
@@ -59,7 +71,9 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
selectedItems$ = combineLatest([this.results$, this.selectedItemIds$]).pipe( selectedItems$ = combineLatest([this.results$, this.selectedItemIds$]).pipe(
map(([items, selectedItemIds]) => { map(([items, selectedItemIds]) => {
return items?.filter((item) => selectedItemIds?.find((selectedItemId) => item.id === selectedItemId)); return items?.filter((item) =>
selectedItemIds?.find((selectedItemId) => item.id === selectedItemId),
);
}), }),
); );
@@ -81,7 +95,10 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
return this._environment.matchDesktopLarge(); return this._environment.matchDesktopLarge();
} }
hasFilter$ = combineLatest([this.searchService.filter$, this.searchService.defaultSettings$]).pipe( hasFilter$ = combineLatest([
this.searchService.filter$,
this.searchService.defaultSettings$,
]).pipe(
map(([filter, defaultFilter]) => { map(([filter, defaultFilter]) => {
const filterQueryParams = filter?.getQueryParams(); const filterQueryParams = filter?.getQueryParams();
return !isEqual( return !isEqual(
@@ -100,11 +117,15 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
} }
get filterQueryParams() { get filterQueryParams() {
return this.cleanupQueryParams(this.searchService?.filter?.getQueryParams()); return this.cleanupQueryParams(
this.searchService?.filter?.getQueryParams(),
);
} }
get primaryOutletActive$() { get primaryOutletActive$() {
return this._environment.matchDesktop$.pipe(map((matches) => matches && this.route.outlet === 'primary')); return this._environment.matchDesktop$.pipe(
map((matches) => matches && this.route.outlet === 'primary'),
);
} }
private readonly SCROLL_INDEX_TOKEN = 'CATALOG_RESULTS_LIST_SCROLL_INDEX'; private readonly SCROLL_INDEX_TOKEN = 'CATALOG_RESULTS_LIST_SCROLL_INDEX';
@@ -129,28 +150,42 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
ngOnInit() { ngOnInit() {
this.subscriptions.add( this.subscriptions.add(
combineLatest([this.application.activatedProcessId$, this.route.queryParams]) combineLatest([
this.application.activatedProcessId$,
this.route.queryParams,
])
.pipe( .pipe(
debounceTime(0), debounceTime(0),
switchMap(([processId, queryParams]) => switchMap(([processId, queryParams]) =>
this.application this.application.getSelectedBranch$(processId).pipe(
.getSelectedBranch$(processId) map((selectedBranch) => ({
.pipe(map((selectedBranch) => ({ processId, queryParams, selectedBranch }))), processId,
queryParams,
selectedBranch,
})),
),
), ),
) )
.subscribe(async ({ processId, queryParams, selectedBranch }) => { .subscribe(async ({ processId, queryParams, selectedBranch }) => {
const processChanged = processId !== this.searchService.processId; const processChanged = processId !== this.searchService.processId;
const branchChanged = selectedBranch?.id !== this.searchService?.selectedBranch?.id; const branchChanged =
selectedBranch?.id !== this.searchService?.selectedBranch?.id;
if (processChanged) { if (processChanged) {
if (!!this.searchService.processId && this.searchService.filter instanceof Filter) { if (
!!this.searchService.processId &&
this.searchService.filter instanceof Filter
) {
this.cacheCurrentData( this.cacheCurrentData(
this.searchService.processId, this.searchService.processId,
this.searchService.filter.getQueryParams(), this.searchService.filter.getQueryParams(),
this.searchService?.selectedBranch?.id, this.searchService?.selectedBranch?.id,
); );
this.updateBreadcrumbs(this.searchService.processId, this.searchService.filter.getQueryParams()); this.updateBreadcrumbs(
this.searchService.processId,
this.searchService.filter.getQueryParams(),
);
} }
this.searchService.setProcess(processId); this.searchService.setProcess(processId);
} }
@@ -169,9 +204,20 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
this.scrollToItem(await this._getScrollIndexFromCache()); this.scrollToItem(await this._getScrollIndexFromCache());
} }
if (!isEqual(cleanQueryParams, this.cleanupQueryParams(this.searchService.filter.getQueryParams()))) { if (
!isEqual(
cleanQueryParams,
this.cleanupQueryParams(
this.searchService.filter.getQueryParams(),
),
)
) {
await this.searchService.setDefaultFilter(queryParams); await this.searchService.setDefaultFilter(queryParams);
const data = await this.getCachedData(processId, queryParams, selectedBranch?.id); const data = await this.getCachedData(
processId,
queryParams,
selectedBranch?.id,
);
if (data.items?.length > 0) { if (data.items?.length > 0) {
this.searchService.setItems(data.items); this.searchService.setItems(data.items);
@@ -179,21 +225,29 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
} }
if ( if (
data.items?.length === 0 && data.items?.length === 0 &&
this.route?.parent?.children?.find((childRoute) => childRoute?.outlet === 'side')?.snapshot?.routeConfig this.route?.parent?.children?.find(
?.path !== 'filter' (childRoute) => childRoute?.outlet === 'side',
)?.snapshot?.routeConfig?.path !== 'filter'
) { ) {
this.search({ clear: true }); this.search({ clear: true });
} else { } else {
const selectedItemIds: Array<string> = queryParams?.selected_item_ids?.split(',') ?? []; const selectedItemIds: Array<string> =
queryParams?.selected_item_ids?.split(',') ?? [];
for (const id of selectedItemIds) { for (const id of selectedItemIds) {
if (id) { if (id) {
this.searchService.setSelected({ selected: true, itemId: Number(id) }); this.searchService.setSelected({
selected: true,
itemId: Number(id),
});
} }
} }
} }
} }
const process = await this.application.getProcessById$(processId).pipe(first()).toPromise(); const process = await this.application
.getProcessById$(processId)
.pipe(first())
.toPromise();
if (process) { if (process) {
await this.updateBreadcrumbs(processId, queryParams); await this.updateBreadcrumbs(processId, queryParams);
await this.createBreadcrumb(processId, queryParams); await this.createBreadcrumb(processId, queryParams);
@@ -240,7 +294,10 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
}) })
.navigate(); .navigate();
} }
} else if (searchCompleted?.clear || this.route.outlet === 'primary') { } else if (
searchCompleted?.clear ||
this.route.outlet === 'primary'
) {
const ean = this.route?.snapshot?.params?.ean; const ean = this.route?.snapshot?.params?.ean;
if (ean) { if (ean) {
@@ -253,7 +310,9 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
.navigate(); .navigate();
} else { } else {
await this._navigationService await this._navigationService
.getArticleSearchResultsPath(processId, { queryParams: params }) .getArticleSearchResultsPath(processId, {
queryParams: params,
})
.navigate(); .navigate();
} }
} }
@@ -266,7 +325,9 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
this.searchService.searchStarted.subscribe(async (options) => { this.searchService.searchStarted.subscribe(async (options) => {
if (!options?.clear) { if (!options?.clear) {
const queryParams = { const queryParams = {
...this.cleanupQueryParams(this.searchService.filter.getQueryParams()), ...this.cleanupQueryParams(
this.searchService.filter.getQueryParams(),
),
main_qs: this.sharedFilterInputGroupMain?.uiInput?.value, main_qs: this.sharedFilterInputGroupMain?.uiInput?.value,
}; };
@@ -281,11 +342,19 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
} }
private _addScrollIndexToCache(index: number): void { private _addScrollIndexToCache(index: number): void {
this.cache.set<number>({ processId: this.getProcessId(), token: this.SCROLL_INDEX_TOKEN }, index); this.cache.set<number>(
{ processId: this.getProcessId(), token: this.SCROLL_INDEX_TOKEN },
index,
);
} }
private async _getScrollIndexFromCache(): Promise<number> { private async _getScrollIndexFromCache(): Promise<number> {
return (await this.cache.get<number>({ processId: this.getProcessId(), token: this.SCROLL_INDEX_TOKEN })) ?? 0; return (
(await this.cache.get<number>({
processId: this.getProcessId(),
token: this.SCROLL_INDEX_TOKEN,
})) ?? 0
);
} }
async scrollToItem(i?: number) { async scrollToItem(i?: number) {
@@ -303,12 +372,14 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
} }
scrolledIndexChange(index: number) { scrolledIndexChange(index: number) {
const completeListFetched = this.searchService.items.length === this.searchService.hits; const completeListFetched =
this.searchService.items.length === this.searchService.hits;
if ( if (
index && index &&
!completeListFetched && !completeListFetched &&
this.searchService.items.length <= this.scrollContainer?.getRenderedRange()?.end this.searchService.items.length <=
this.scrollContainer?.getRenderedRange()?.end
) { ) {
this.search({ clear: false }); this.search({ clear: false });
} }
@@ -326,7 +397,10 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
this.searchService.filter.getQueryParams(), this.searchService.filter.getQueryParams(),
this.searchService?.selectedBranch?.id, this.searchService?.selectedBranch?.id,
); );
await this.updateBreadcrumbs(this.searchService.processId, this.searchService.filter.getQueryParams()); await this.updateBreadcrumbs(
this.searchService.processId,
this.searchService.filter.getQueryParams(),
);
this.unselectAll(); this.unselectAll();
} }
@@ -345,7 +419,15 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
return clean; return clean;
} }
search({ filter, clear = false, orderBy = false }: { filter?: Filter; clear?: boolean; orderBy?: boolean }) { search({
filter,
clear = false,
orderBy = false,
}: {
filter?: Filter;
clear?: boolean;
orderBy?: boolean;
}) {
if (filter) { if (filter) {
this.sharedFilterInputGroupMain.cancelAutocomplete(); this.sharedFilterInputGroupMain.cancelAutocomplete();
} }
@@ -354,19 +436,28 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
} }
getDetailsPath(itemId: number) { getDetailsPath(itemId: number) {
return this._navigationService.getArticleDetailsPath({ processId: this.application.activatedProcessId, itemId }) return this._navigationService.getArticleDetailsPath({
.path; processId: this.application.activatedProcessId,
itemId,
}).path;
} }
async updateBreadcrumbs( async updateBreadcrumbs(
processId: number = this.searchService.processId, processId: number = this.searchService.processId,
queryParams: Record<string, string> = this.searchService.filter?.getQueryParams(), queryParams: Record<
string,
string
> = this.searchService.filter?.getQueryParams(),
) { ) {
const selected_item_ids = this.searchService?.selectedItemIds?.toString(); const selected_item_ids = this.searchService?.selectedItemIds?.toString();
if (queryParams) { if (queryParams) {
const crumbs = await this.breadcrumb const crumbs = await this.breadcrumb
.getBreadcrumbsByKeyAndTags$(processId, ['catalog', 'filter', 'results']) .getBreadcrumbsByKeyAndTags$(processId, [
'catalog',
'filter',
'results',
])
.pipe(first()) .pipe(first())
.toPromise(); .toPromise();
@@ -382,13 +473,18 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
} }
} }
async createBreadcrumb(processId: number, queryParams: Record<string, string>) { async createBreadcrumb(
processId: number,
queryParams: Record<string, string>,
) {
if (queryParams) { if (queryParams) {
const name = queryParams.main_qs ? queryParams.main_qs : 'Alle Artikel'; const name = queryParams.main_qs ? queryParams.main_qs : 'Alle Artikel';
await this.breadcrumb.addBreadcrumbIfNotExists({ await this.breadcrumb.addBreadcrumbIfNotExists({
key: processId, key: processId,
name, name,
path: this._navigationService.getArticleSearchResultsPath(processId, { queryParams }).path, path: this._navigationService.getArticleSearchResultsPath(processId, {
queryParams,
}).path,
params: queryParams, params: queryParams,
section: 'customer', section: 'customer',
tags: ['catalog', 'filter', 'results'], tags: ['catalog', 'filter', 'results'],
@@ -405,8 +501,16 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
crumbs?.forEach((crumb) => this.breadcrumb.removeBreadcrumb(crumb.id)); crumbs?.forEach((crumb) => this.breadcrumb.removeBreadcrumb(crumb.id));
} }
cacheCurrentData(processId: number, params: Record<string, string> = {}, branchId: number) { cacheCurrentData(
const qparams = this.cleanupQueryParams({ ...params, processId: String(processId), branchId: String(branchId) }); processId: number,
params: Record<string, string> = {},
branchId: number,
) {
const qparams = this.cleanupQueryParams({
...params,
processId: String(processId),
branchId: String(branchId),
});
this.cache.set(qparams, { this.cache.set(qparams, {
items: this.searchService.items, items: this.searchService.items,
@@ -414,8 +518,16 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
}); });
} }
async getCachedData(processId: number, params: Record<string, string> = {}, branchId: number) { async getCachedData(
const qparams = this.cleanupQueryParams({ ...params, processId: String(processId), branchId: String(branchId) }); processId: number,
params: Record<string, string> = {},
branchId: number,
) {
const qparams = this.cleanupQueryParams({
...params,
processId: String(processId),
branchId: String(branchId),
});
const cacheData = await this.cache.get<{ const cacheData = await this.cache.get<{
items: ItemDTO[]; items: ItemDTO[];
hits: number; hits: number;
@@ -452,7 +564,12 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
} }
unselectAll() { unselectAll() {
this.listItems.forEach((listItem) => this.searchService.setSelected({ selected: false, itemId: listItem.item.id })); this.listItems.forEach((listItem) =>
this.searchService.setSelected({
selected: false,
itemId: listItem.item.id,
}),
);
this.searchService.patchState({ selectedItemIds: [] }); this.searchService.patchState({ selectedItemIds: [] });
} }
@@ -474,39 +591,46 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
availability: { availability: {
availabilityType: item?.catalogAvailability?.status, availabilityType: item?.catalogAvailability?.status,
price: item?.catalogAvailability?.price, price: item?.catalogAvailability?.price,
supplierProductNumber: item?.ids?.dig ? String(item?.ids?.dig) : item?.product?.supplierProductNumber, supplierProductNumber: item?.ids?.dig
? String(item?.ids?.dig)
: item?.product?.supplierProductNumber,
}, },
product: { product: {
catalogProductNumber: String(item?.id), catalogProductNumber: String(item?.id),
...item?.product, ...item?.product,
}, },
itemType: item?.type, itemType: item?.type,
promotion: { points: item?.promoPoints }, promotion: { value: item?.promoPoints },
}; };
} }
async addItemsToCart(item?: ItemDTO) { async addItemsToCart(item?: ItemDTO) {
const selectedItems = !item ? await this.selectedItems$.pipe(first()).toPromise() : [item]; const selectedItems = !item
? await this.selectedItems$.pipe(first()).toPromise()
: [item];
const items: AddToShoppingCartDTO[] = []; const items: AddToShoppingCartDTO[] = [];
const canAddItemsPayload = []; const canAddItemsPayload = [];
for (const item of selectedItems) { for (const item of selectedItems) {
const isDownload = item?.product?.format === 'EB' || item?.product?.format === 'DL'; const isDownload =
item?.product?.format === 'EB' || item?.product?.format === 'DL';
const price = item?.catalogAvailability?.price; const price = item?.catalogAvailability?.price;
const shoppingCartItem: AddToShoppingCartDTO = { const shoppingCartItem: AddToShoppingCartDTO = {
quantity: 1, quantity: 1,
availability: { availability: {
availabilityType: item?.catalogAvailability?.status, availabilityType: item?.catalogAvailability?.status,
price, price,
supplierProductNumber: item?.ids?.dig ? String(item.ids?.dig) : item?.product?.supplierProductNumber, supplierProductNumber: item?.ids?.dig
? String(item.ids?.dig)
: item?.product?.supplierProductNumber,
}, },
product: { product: {
catalogProductNumber: String(item?.id), catalogProductNumber: String(item?.id),
...item?.product, ...item?.product,
}, },
itemType: item.type, itemType: item.type,
promotion: { points: item?.promoPoints }, promotion: { value: item?.promoPoints },
}; };
if (isDownload) { if (isDownload) {
@@ -519,9 +643,14 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
.getDownloadAvailability({ item: downloadItem }) .getDownloadAvailability({ item: downloadItem })
.pipe(first()) .pipe(first())
.toPromise(); .toPromise();
shoppingCartItem.destination = { data: { target: 16, logistician: downloadAvailability?.logistician } }; shoppingCartItem.destination = {
data: { target: 16, logistician: downloadAvailability?.logistician },
};
if (downloadAvailability) { if (downloadAvailability) {
shoppingCartItem.availability = { ...shoppingCartItem.availability, ...downloadAvailability }; shoppingCartItem.availability = {
...shoppingCartItem.availability,
...downloadAvailability,
};
} }
canAddItemsPayload.push({ canAddItemsPayload.push({
availabilities: [{ ...item.catalogAvailability, format: 'DL' }], availabilities: [{ ...item.catalogAvailability, format: 'DL' }],
@@ -546,7 +675,10 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
if (response) { if (response) {
const cantAdd = (response as any)?.filter((r) => r.status >= 2); const cantAdd = (response as any)?.filter((r) => r.status >= 2);
if (cantAdd?.length > 0) { if (cantAdd?.length > 0) {
this.openModal({ itemLength: cantAdd.length, canAddMessage: cantAdd[0].message }); this.openModal({
itemLength: cantAdd.length,
canAddMessage: cantAdd[0].message,
});
return; return;
} }
} }
@@ -571,7 +703,15 @@ export class ArticleSearchResultsComponent implements OnInit, OnDestroy, AfterVi
} }
} }
openModal({ itemLength, canAddMessage, error }: { itemLength: number; canAddMessage?: string; error?: Error }) { openModal({
itemLength,
canAddMessage,
error,
}: {
itemLength: number;
canAddMessage?: string;
error?: Error;
}) {
const modal = this._uiModal.open({ const modal = this._uiModal.open({
title: title:
!error && !canAddMessage !error && !canAddMessage

View File

@@ -114,15 +114,21 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
readonly processId$ = this._application.activatedProcessId$; readonly processId$ = this._application.activatedProcessId$;
readonly customer$ = this.processId$.pipe(switchMap((processId) => this._checkoutService.getBuyer({ processId }))); readonly customer$ = this.processId$.pipe(
switchMap((processId) => this._checkoutService.getBuyer({ processId })),
);
readonly customerFeatures$ = this.processId$.pipe( readonly customerFeatures$ = this.processId$.pipe(
switchMap((processId) => this._checkoutService.getCustomerFeatures({ processId })), switchMap((processId) =>
this._checkoutService.getCustomerFeatures({ processId }),
),
); );
readonly customerFilter$ = this.customerFeatures$.pipe( readonly customerFilter$ = this.customerFeatures$.pipe(
withLatestFrom(this.processId$), withLatestFrom(this.processId$),
switchMap(([customerFeatures, processId]) => this._checkoutService.canSetCustomer({ processId, customerFeatures })), switchMap(([customerFeatures, processId]) =>
this._checkoutService.canSetCustomer({ processId, customerFeatures }),
),
map((res) => res.filter), map((res) => res.filter),
); );
@@ -169,7 +175,11 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
tapResponse( tapResponse(
(res) => { (res) => {
const item = res.result[0]; const item = res.result[0];
if (!!item && item?.product?.format !== 'EB' && item?.product?.format !== 'DL') { if (
!!item &&
item?.product?.format !== 'EB' &&
item?.product?.format !== 'DL'
) {
this.patchState({ this.patchState({
item: res.result[0], item: res.result[0],
message: '', message: '',
@@ -229,12 +239,22 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
updateCart = this.effect((cb$: Observable<Function>) => updateCart = this.effect((cb$: Observable<Function>) =>
cb$.pipe( cb$.pipe(
tap((_) => this.patchState({ fetching: true })), tap((_) => this.patchState({ fetching: true })),
withLatestFrom(this.processId$, this.addToCartItem$, this.shoppingCartItemId$), withLatestFrom(
this.processId$,
this.addToCartItem$,
this.shoppingCartItemId$,
),
switchMap(([cb, processId, newItem, shoppingCartItemId]) => { switchMap(([cb, processId, newItem, shoppingCartItemId]) => {
const availability = newItem.availability; const availability = newItem.availability;
const quantity = newItem.quantity; const quantity = newItem.quantity;
const destination = newItem.destination; const destination = newItem.destination;
return this.updateCartRequest({ processId, shoppingCartItemId, availability, quantity, destination }).pipe( return this.updateCartRequest({
processId,
shoppingCartItemId,
availability,
quantity,
destination,
}).pipe(
tapResponse( tapResponse(
(res) => { (res) => {
this.patchState({ this.patchState({
@@ -270,7 +290,10 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
} }
addToCartRequest(processId: number, newItem: AddToShoppingCartDTO) { addToCartRequest(processId: number, newItem: AddToShoppingCartDTO) {
return this._checkoutService.addItemToShoppingCart({ processId, items: [newItem] }); return this._checkoutService.addItemToShoppingCart({
processId,
items: [newItem],
});
} }
updateCartRequest({ updateCartRequest({
@@ -297,7 +320,11 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
}); });
} }
async createAddToCartItem(control: UntypedFormGroup, branch: BranchDTO, update?: boolean) { async createAddToCartItem(
control: UntypedFormGroup,
branch: BranchDTO,
update?: boolean,
) {
let item: ItemDTO; let item: ItemDTO;
const quantity = Number(control.get('quantity').value); const quantity = Number(control.get('quantity').value);
const price = this._createPriceDTO(control); const price = this._createPriceDTO(control);
@@ -305,7 +332,11 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
// Check if item exists or ean inside the control changed in the meantime // Check if item exists or ean inside the control changed in the meantime
if (!!this.item && this.item.product.ean === control.get('ean').value) { if (!!this.item && this.item.product.ean === control.get('ean').value) {
item = this.item; item = this.item;
promoPoints = await this._getPromoPoints({ itemId: item.id, quantity, price: price.value.value }); promoPoints = await this._getPromoPoints({
itemId: item.id,
quantity,
price: price.value.value,
});
} else { } else {
item = undefined; item = undefined;
} }
@@ -316,21 +347,33 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
quantity, quantity,
availability, availability,
product, product,
promotion: item ? { points: promoPoints } : undefined, promotion: item ? { value: promoPoints } : undefined,
destination: { destination: {
data: { target: 1, targetBranch: { id: branch?.id } }, data: { target: 1, targetBranch: { id: branch?.id } },
}, },
itemType: this.item?.type ?? this.get((s) => s.shoppingCartItem)?.itemType, itemType:
this.item?.type ?? this.get((s) => s.shoppingCartItem)?.itemType,
}; };
if (update) { if (update) {
const existingItem = this.get((s) => s.shoppingCartItem); const existingItem = this.get((s) => s.shoppingCartItem);
this.patchState({ addToCartItem: newItem, shoppingCartItemId: existingItem?.id }); this.patchState({
addToCartItem: newItem,
shoppingCartItemId: existingItem?.id,
});
} }
this.patchState({ addToCartItem: newItem }); this.patchState({ addToCartItem: newItem });
} }
private async _getPromoPoints({ itemId, quantity, price }: { itemId: number; quantity: number; price: number }) { private async _getPromoPoints({
itemId,
quantity,
price,
}: {
itemId: number;
quantity: number;
price: number;
}) {
let points: number; let points: number;
try { try {
points = await this._catalogService points = await this._catalogService
@@ -371,7 +414,13 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
}; };
} }
private _createAvailabilityDTO({ price, control }: { price: PriceDTO; control: UntypedFormGroup }): AvailabilityDTO { private _createAvailabilityDTO({
price,
control,
}: {
price: PriceDTO;
control: UntypedFormGroup;
}): AvailabilityDTO {
return { return {
availabilityType: 1024, availabilityType: 1024,
supplier: { supplier: {
@@ -383,7 +432,13 @@ export class CheckoutDummyStore extends ComponentStore<CheckoutDummyState> {
}; };
} }
private _createProductDTO({ item, control }: { item?: ItemDTO; control: UntypedFormGroup }): ProductDTO { private _createProductDTO({
item,
control,
}: {
item?: ItemDTO;
control: UntypedFormGroup;
}): ProductDTO {
const formValues: Partial<ProductDTO> = { const formValues: Partial<ProductDTO> = {
ean: control.get('ean').value, ean: control.get('ean').value,
name: control.get('name').value, name: control.get('name').value,

View File

@@ -31,8 +31,9 @@ const PARAMETER_CODEC = new ParameterCodec();
export class BaseService { export class BaseService {
constructor( constructor(
protected config: CheckoutConfiguration, protected config: CheckoutConfiguration,
protected http: HttpClient, protected http: HttpClient
) {} ) {
}
private _rootUrl: string = ''; private _rootUrl: string = '';
@@ -56,7 +57,7 @@ export class BaseService {
*/ */
protected newParams(): HttpParams { protected newParams(): HttpParams {
return new HttpParams({ return new HttpParams({
encoder: PARAMETER_CODEC, encoder: PARAMETER_CODEC
}); });
} }
} }

View File

@@ -8,7 +8,7 @@ import { Injectable } from '@angular/core';
providedIn: 'root', providedIn: 'root',
}) })
export class CheckoutConfiguration { export class CheckoutConfiguration {
rootUrl: string = 'https://isa-test.paragon-data.net'; rootUrl: string = 'https://isa-test.paragon-data.net/checkout/v6';
} }
export interface CheckoutConfigurationInterface { export interface CheckoutConfigurationInterface {

View File

@@ -131,8 +131,9 @@ export { PaymentType } from './models/payment-type';
export { CountryTargetDTO } from './models/country-target-dto'; export { CountryTargetDTO } from './models/country-target-dto';
export { BranchTargetDTO } from './models/branch-target-dto'; export { BranchTargetDTO } from './models/branch-target-dto';
export { EntityDTOBaseOfShopDTOAndIShop } from './models/entity-dtobase-of-shop-dtoand-ishop'; export { EntityDTOBaseOfShopDTOAndIShop } from './models/entity-dtobase-of-shop-dtoand-ishop';
export { CampaignDTO } from './models/campaign-dto';
export { LoyaltyDTO } from './models/loyalty-dto';
export { PromotionDTO } from './models/promotion-dto'; export { PromotionDTO } from './models/promotion-dto';
export { EntityDTOBaseOfShoppingCartItemDTOAndIShoppingCartItem } from './models/entity-dtobase-of-shopping-cart-item-dtoand-ishopping-cart-item';
export { EntityDTOBaseOfCheckoutItemDTOAndICheckoutItem } from './models/entity-dtobase-of-checkout-item-dtoand-icheckout-item'; export { EntityDTOBaseOfCheckoutItemDTOAndICheckoutItem } from './models/entity-dtobase-of-checkout-item-dtoand-icheckout-item';
export { DisplayItemDTO } from './models/display-item-dto'; export { DisplayItemDTO } from './models/display-item-dto';
export { EntityDTOBaseOfCheckoutDeliveryDTOAndICheckoutDelivery } from './models/entity-dtobase-of-checkout-delivery-dtoand-icheckout-delivery'; export { EntityDTOBaseOfCheckoutDeliveryDTOAndICheckoutDelivery } from './models/entity-dtobase-of-checkout-delivery-dtoand-icheckout-delivery';

View File

@@ -1,14 +1,18 @@
/* tslint:disable */ /* tslint:disable */
import { AvailabilityDTO } from './availability-dto'; import { AvailabilityDTO } from './availability-dto';
import { CampaignDTO } from './campaign-dto';
import { EntityDTOContainerOfDestinationDTO } from './entity-dtocontainer-of-destination-dto'; import { EntityDTOContainerOfDestinationDTO } from './entity-dtocontainer-of-destination-dto';
import { ItemType } from './item-type'; import { ItemType } from './item-type';
import { LoyaltyDTO } from './loyalty-dto';
import { ProductDTO } from './product-dto'; import { ProductDTO } from './product-dto';
import { PromotionDTO } from './promotion-dto'; import { PromotionDTO } from './promotion-dto';
import { Price } from './price'; import { Price } from './price';
export interface AddToShoppingCartDTO { export interface AddToShoppingCartDTO {
availability?: AvailabilityDTO; availability?: AvailabilityDTO;
campaign?: CampaignDTO;
destination?: EntityDTOContainerOfDestinationDTO; destination?: EntityDTOContainerOfDestinationDTO;
itemType?: ItemType; itemType?: ItemType;
loyalty?: LoyaltyDTO;
product?: ProductDTO; product?: ProductDTO;
promotion?: PromotionDTO; promotion?: PromotionDTO;
quantity: number; quantity: number;

View File

@@ -1,7 +1,7 @@
/* tslint:disable */ /* tslint:disable */
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
import { GeoLocation } from './geo-location'; import { GeoLocation } from './geo-location';
export interface AddressDTO extends TouchedBase { export interface AddressDTO extends TouchedBase{
apartment?: string; apartment?: string;
careOf?: string; careOf?: string;
city?: string; city?: string;

View File

@@ -4,7 +4,7 @@ import { AddressDTO } from './address-dto';
import { CommunicationDetailsDTO } from './communication-details-dto'; import { CommunicationDetailsDTO } from './communication-details-dto';
import { Gender } from './gender'; import { Gender } from './gender';
import { OrganisationDTO } from './organisation-dto'; import { OrganisationDTO } from './organisation-dto';
export interface AddresseeWithReferenceDTO extends EntityReferenceDTO { export interface AddresseeWithReferenceDTO extends EntityReferenceDTO{
address?: AddressDTO; address?: AddressDTO;
communicationDetails?: CommunicationDetailsDTO; communicationDetails?: CommunicationDetailsDTO;
firstName?: string; firstName?: string;

View File

@@ -1,43 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type AllergeneType = export type AllergeneType = 0 | 1 | 2 | 4 | 6 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 1536 | 2048 | 6144 | 10240 | 18432 | 34816 | 67584 | 133120 | 264192 | 526336 | 1048576 | 3145728 | 5242880 | 9437184 | 17825792 | 34603008 | 68157440 | 135266304 | 268435456 | 805306368 | 1342177280 | 2415919104 | 4563402752 | 8858370048 | 17448304640 | 34628173824 | 68987912192 | 137438953472;
| 0
| 1
| 2
| 4
| 6
| 8
| 16
| 32
| 64
| 128
| 256
| 512
| 1024
| 1536
| 2048
| 6144
| 10240
| 18432
| 34816
| 67584
| 133120
| 264192
| 526336
| 1048576
| 3145728
| 5242880
| 9437184
| 17825792
| 34603008
| 68157440
| 135266304
| 268435456
| 805306368
| 1342177280
| 2415919104
| 4563402752
| 8858370048
| 17448304640
| 34628173824
| 68987912192
| 137438953472;

View File

@@ -6,7 +6,7 @@ import { EntityDTOContainerOfLogisticianDTO } from './entity-dtocontainer-of-log
import { PriceDTO } from './price-dto'; import { PriceDTO } from './price-dto';
import { EntityDTOContainerOfShopItemDTO } from './entity-dtocontainer-of-shop-item-dto'; import { EntityDTOContainerOfShopItemDTO } from './entity-dtocontainer-of-shop-item-dto';
import { EntityDTOContainerOfSupplierDTO } from './entity-dtocontainer-of-supplier-dto'; import { EntityDTOContainerOfSupplierDTO } from './entity-dtocontainer-of-supplier-dto';
export interface AvailabilityDTO extends TouchedBase { export interface AvailabilityDTO extends TouchedBase{
availabilityType?: AvailabilityType; availabilityType?: AvailabilityType;
estimatedDelivery?: DateRangeDTO; estimatedDelivery?: DateRangeDTO;
estimatedShippingDate?: string; estimatedShippingDate?: string;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type AvailabilityType = 0 | 1 | 2 | 32 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384; export type AvailabilityType = 0 | 1 | 2 | 32 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type Avoirdupois = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096; export type Avoirdupois = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096;

View File

@@ -4,7 +4,7 @@ import { AddressDTO } from './address-dto';
import { BranchType } from './branch-type'; import { BranchType } from './branch-type';
import { EntityDTOContainerOfLabelDTO } from './entity-dtocontainer-of-label-dto'; import { EntityDTOContainerOfLabelDTO } from './entity-dtocontainer-of-label-dto';
import { EntityDTOContainerOfBranchDTO } from './entity-dtocontainer-of-branch-dto'; import { EntityDTOContainerOfBranchDTO } from './entity-dtocontainer-of-branch-dto';
export interface BranchDTO extends EntityDTOBaseOfBranchDTOAndIBranch { export interface BranchDTO extends EntityDTOBaseOfBranchDTOAndIBranch{
address?: AddressDTO; address?: AddressDTO;
branchNumber?: string; branchNumber?: string;
branchType?: BranchType; branchType?: BranchType;

View File

@@ -2,7 +2,7 @@
import { BranchType } from './branch-type'; import { BranchType } from './branch-type';
export interface BranchQueryTokenDTO { export interface BranchQueryTokenDTO {
branchType?: BranchType; branchType?: BranchType;
input?: { [key: string]: string }; input?: {[key: string]: string};
labelKey?: string; labelKey?: string;
skip?: number; skip?: number;
take?: number; take?: number;

View File

@@ -1,7 +1,7 @@
/* tslint:disable */ /* tslint:disable */
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
import { EntityDTOContainerOfBranchDTO } from './entity-dtocontainer-of-branch-dto'; import { EntityDTOContainerOfBranchDTO } from './entity-dtocontainer-of-branch-dto';
export interface BranchTargetDTO extends TouchedBase { export interface BranchTargetDTO extends TouchedBase{
isDefault?: string; isDefault?: string;
start?: string; start?: string;
stop?: string; stop?: string;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type BranchType = 0 | 1 | 2 | 4 | 8 | 16; export type BranchType = 0 | 1 | 2 | 4 | 8 | 16;

View File

@@ -2,7 +2,7 @@
import { AddresseeWithReferenceDTO } from './addressee-with-reference-dto'; import { AddresseeWithReferenceDTO } from './addressee-with-reference-dto';
import { BuyerStatus } from './buyer-status'; import { BuyerStatus } from './buyer-status';
import { BuyerType } from './buyer-type'; import { BuyerType } from './buyer-type';
export interface BuyerDTO extends AddresseeWithReferenceDTO { export interface BuyerDTO extends AddresseeWithReferenceDTO{
buyerNumber?: string; buyerNumber?: string;
buyerStatus?: BuyerStatus; buyerStatus?: BuyerStatus;
buyerType?: BuyerType; buyerType?: BuyerType;

View File

@@ -4,8 +4,9 @@
* Input * Input
*/ */
export interface BuyerPayload { export interface BuyerPayload {
/** /**
* Kundenattribute * Kundenattribute
*/ */
customerFeatures?: { [key: string]: string }; customerFeatures?: {[key: string]: string};
} }

View File

@@ -7,6 +7,7 @@ import { QueryTokenDTO } from './query-token-dto';
* Output * Output
*/ */
export interface BuyerResult { export interface BuyerResult {
/** /**
* Kundenattribute * Kundenattribute
*/ */

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type BuyerStatus = 0 | 1 | 2 | 4 | 8 | 16; export type BuyerStatus = 0 | 1 | 2 | 4 | 8 | 16;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type BuyerType = 0 | 1 | 2 | 4 | 8 | 16; export type BuyerType = 0 | 1 | 2 | 4 | 8 | 16;

View File

@@ -0,0 +1,8 @@
/* tslint:disable */
import { TouchedBase } from './touched-base';
export interface CampaignDTO extends TouchedBase{
code?: string;
label?: string;
type?: string;
value?: number;
}

View File

@@ -2,7 +2,7 @@
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
import { EntityDTOContainerOfCategoryDTO } from './entity-dtocontainer-of-category-dto'; import { EntityDTOContainerOfCategoryDTO } from './entity-dtocontainer-of-category-dto';
import { EntityDTOContainerOfTenantDTO } from './entity-dtocontainer-of-tenant-dto'; import { EntityDTOContainerOfTenantDTO } from './entity-dtocontainer-of-tenant-dto';
export interface CategoryDTO extends EntityDTOBase { export interface CategoryDTO extends EntityDTOBase{
key?: string; key?: string;
name?: string; name?: string;
parent?: EntityDTOContainerOfCategoryDTO; parent?: EntityDTOContainerOfCategoryDTO;

View File

@@ -6,7 +6,7 @@ import { PriceValueDTO } from './price-value-dto';
import { DisplayItemDTO } from './display-item-dto'; import { DisplayItemDTO } from './display-item-dto';
import { EntityDTOContainerOfCheckoutItemDTO } from './entity-dtocontainer-of-checkout-item-dto'; import { EntityDTOContainerOfCheckoutItemDTO } from './entity-dtocontainer-of-checkout-item-dto';
import { TermsOfDeliveryDTO } from './terms-of-delivery-dto'; import { TermsOfDeliveryDTO } from './terms-of-delivery-dto';
export interface CheckoutDeliveryDTO extends EntityDTOBaseOfCheckoutDeliveryDTOAndICheckoutDelivery { export interface CheckoutDeliveryDTO extends EntityDTOBaseOfCheckoutDeliveryDTOAndICheckoutDelivery{
checkout?: EntityDTOContainerOfCheckoutDTO; checkout?: EntityDTOContainerOfCheckoutDTO;
destination?: EntityDTOContainerOfDestinationDTO; destination?: EntityDTOContainerOfDestinationDTO;
discount?: PriceValueDTO; discount?: PriceValueDTO;

View File

@@ -11,7 +11,7 @@ import { EntityDTOContainerOfBranchDTO } from './entity-dtocontainer-of-branch-d
import { PayerDTO } from './payer-dto'; import { PayerDTO } from './payer-dto';
import { PaymentDTO } from './payment-dto'; import { PaymentDTO } from './payment-dto';
import { UserAccountDTO } from './user-account-dto'; import { UserAccountDTO } from './user-account-dto';
export interface CheckoutDTO extends EntityDTOBaseOfCheckoutDTOAndICheckout { export interface CheckoutDTO extends EntityDTOBaseOfCheckoutDTOAndICheckout{
agreements?: Array<KeyValueDTOOfStringAndString>; agreements?: Array<KeyValueDTOOfStringAndString>;
availableShippingTargets?: Array<SelectionDTOOfShippingTarget>; availableShippingTargets?: Array<SelectionDTOOfShippingTarget>;
buyer?: BuyerDTO; buyer?: BuyerDTO;

View File

@@ -4,7 +4,7 @@ import { EntityDTOContainerOfShoppingCartItemDTO } from './entity-dtocontainer-o
import { EntityDTOContainerOfCheckoutDTO } from './entity-dtocontainer-of-checkout-dto'; import { EntityDTOContainerOfCheckoutDTO } from './entity-dtocontainer-of-checkout-dto';
import { EntityDTOContainerOfCheckoutDeliveryDTO } from './entity-dtocontainer-of-checkout-delivery-dto'; import { EntityDTOContainerOfCheckoutDeliveryDTO } from './entity-dtocontainer-of-checkout-delivery-dto';
import { PriceValueDTO } from './price-value-dto'; import { PriceValueDTO } from './price-value-dto';
export interface CheckoutItemDTO extends EntityDTOBaseOfCheckoutItemDTOAndICheckoutItem { export interface CheckoutItemDTO extends EntityDTOBaseOfCheckoutItemDTOAndICheckoutItem{
accessories?: Array<EntityDTOContainerOfShoppingCartItemDTO>; accessories?: Array<EntityDTOContainerOfShoppingCartItemDTO>;
checkout?: EntityDTOContainerOfCheckoutDTO; checkout?: EntityDTOContainerOfCheckoutDTO;
delivery?: EntityDTOContainerOfCheckoutDeliveryDTO; delivery?: EntityDTOContainerOfCheckoutDeliveryDTO;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type CheckoutStep = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096; export type CheckoutStep = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096;

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
export interface CommunicationDetailsDTO extends TouchedBase { export interface CommunicationDetailsDTO extends TouchedBase{
email?: string; email?: string;
fax?: string; fax?: string;
mobile?: string; mobile?: string;

View File

@@ -2,7 +2,7 @@
import { EntityDTOBaseOfCompanyDTOAndICompany } from './entity-dtobase-of-company-dtoand-icompany'; import { EntityDTOBaseOfCompanyDTOAndICompany } from './entity-dtobase-of-company-dtoand-icompany';
import { AddressDTO } from './address-dto'; import { AddressDTO } from './address-dto';
import { EntityDTOContainerOfCompanyDTO } from './entity-dtocontainer-of-company-dto'; import { EntityDTOContainerOfCompanyDTO } from './entity-dtocontainer-of-company-dto';
export interface CompanyDTO extends EntityDTOBaseOfCompanyDTOAndICompany { export interface CompanyDTO extends EntityDTOBaseOfCompanyDTOAndICompany{
address?: AddressDTO; address?: AddressDTO;
companyNumber?: string; companyNumber?: string;
costUnit?: string; costUnit?: string;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type ComponentItemDisplayType = 0 | 1 | 2; export type ComponentItemDisplayType = 0 | 1 | 2;

View File

@@ -4,7 +4,7 @@ import { EntityDTOContainerOfCategoryDTO } from './entity-dtocontainer-of-catego
import { ComponentItemDisplayType } from './component-item-display-type'; import { ComponentItemDisplayType } from './component-item-display-type';
import { EntityDTOContainerOfItemDTO } from './entity-dtocontainer-of-item-dto'; import { EntityDTOContainerOfItemDTO } from './entity-dtocontainer-of-item-dto';
import { QuantityUnitType } from './quantity-unit-type'; import { QuantityUnitType } from './quantity-unit-type';
export interface ComponentItemDTO extends TouchedBase { export interface ComponentItemDTO extends TouchedBase{
category?: EntityDTOContainerOfCategoryDTO; category?: EntityDTOContainerOfCategoryDTO;
description?: string; description?: string;
displayType?: ComponentItemDisplayType; displayType?: ComponentItemDisplayType;

View File

@@ -3,7 +3,7 @@ import { EntityDTOBaseOfComponentsDTOAndIComponents } from './entity-dtobase-of-
import { ComponentItemDTO } from './component-item-dto'; import { ComponentItemDTO } from './component-item-dto';
import { QuantityUnitType } from './quantity-unit-type'; import { QuantityUnitType } from './quantity-unit-type';
import { SetType } from './set-type'; import { SetType } from './set-type';
export interface ComponentsDTO extends EntityDTOBaseOfComponentsDTOAndIComponents { export interface ComponentsDTO extends EntityDTOBaseOfComponentsDTOAndIComponents{
items?: Array<ComponentItemDTO>; items?: Array<ComponentItemDTO>;
overallQuantityMax?: number; overallQuantityMax?: number;
overallQuantityMin?: number; overallQuantityMin?: number;

View File

@@ -3,7 +3,7 @@ import { EntityDTOBaseOfContributorDTOAndIContributor } from './entity-dtobase-o
import { OrganisationNamesDTO } from './organisation-names-dto'; import { OrganisationNamesDTO } from './organisation-names-dto';
import { PersonNamesDTO } from './person-names-dto'; import { PersonNamesDTO } from './person-names-dto';
import { EntityDTOContainerOfTenantDTO } from './entity-dtocontainer-of-tenant-dto'; import { EntityDTOContainerOfTenantDTO } from './entity-dtocontainer-of-tenant-dto';
export interface ContributorDTO extends EntityDTOBaseOfContributorDTOAndIContributor { export interface ContributorDTO extends EntityDTOBaseOfContributorDTOAndIContributor{
friendlyName?: string; friendlyName?: string;
organisation?: OrganisationNamesDTO; organisation?: OrganisationNamesDTO;
person?: PersonNamesDTO; person?: PersonNamesDTO;

View File

@@ -1,7 +1,7 @@
/* tslint:disable */ /* tslint:disable */
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
import { EntityDTOContainerOfContributorDTO } from './entity-dtocontainer-of-contributor-dto'; import { EntityDTOContainerOfContributorDTO } from './entity-dtocontainer-of-contributor-dto';
export interface ContributorHelperDTO extends TouchedBase { export interface ContributorHelperDTO extends TouchedBase{
contributor?: EntityDTOContainerOfContributorDTO; contributor?: EntityDTOContainerOfContributorDTO;
type?: string; type?: string;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBaseOfCountryDTOAndICountry } from './entity-dtobase-of-country-dtoand-icountry'; import { EntityDTOBaseOfCountryDTOAndICountry } from './entity-dtobase-of-country-dtoand-icountry';
export interface CountryDTO extends EntityDTOBaseOfCountryDTOAndICountry { export interface CountryDTO extends EntityDTOBaseOfCountryDTOAndICountry{
isDefault?: string; isDefault?: string;
isO3166_A_3?: string; isO3166_A_3?: string;
name?: string; name?: string;

View File

@@ -1,7 +1,7 @@
/* tslint:disable */ /* tslint:disable */
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
import { EntityDTOContainerOfCountryDTO } from './entity-dtocontainer-of-country-dto'; import { EntityDTOContainerOfCountryDTO } from './entity-dtocontainer-of-country-dto';
export interface CountryTargetDTO extends TouchedBase { export interface CountryTargetDTO extends TouchedBase{
isDefault?: string; isDefault?: string;
start?: string; start?: string;
stop?: string; stop?: string;

View File

@@ -2,7 +2,7 @@
import { EntityDTOBaseOfCouponDTOAndICoupon } from './entity-dtobase-of-coupon-dtoand-icoupon'; import { EntityDTOBaseOfCouponDTOAndICoupon } from './entity-dtobase-of-coupon-dtoand-icoupon';
import { CouponType } from './coupon-type'; import { CouponType } from './coupon-type';
import { PriceValueDTO } from './price-value-dto'; import { PriceValueDTO } from './price-value-dto';
export interface CouponDTO extends EntityDTOBaseOfCouponDTOAndICoupon { export interface CouponDTO extends EntityDTOBaseOfCouponDTOAndICoupon{
code?: string; code?: string;
couponType: CouponType; couponType: CouponType;
discount?: number; discount?: number;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type CouponType = 0 | 1 | 2 | 4 | 8; export type CouponType = 0 | 1 | 2 | 4 | 8;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type CRUDA = 0 | 1 | 2 | 4 | 8 | 16; export type CRUDA = 0 | 1 | 2 | 4 | 8 | 16;

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBaseOfCurrencyDTOAndICurrency } from './entity-dtobase-of-currency-dtoand-icurrency'; import { EntityDTOBaseOfCurrencyDTOAndICurrency } from './entity-dtobase-of-currency-dtoand-icurrency';
export interface CurrencyDTO extends EntityDTOBaseOfCurrencyDTOAndICurrency { export interface CurrencyDTO extends EntityDTOBaseOfCurrencyDTOAndICurrency{
isO4217?: string; isO4217?: string;
name?: string; name?: string;
number?: number; number?: number;

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
export interface DateRangeDTO extends TouchedBase { export interface DateRangeDTO extends TouchedBase{
start?: string; start?: string;
stop?: string; stop?: string;
} }

View File

@@ -1,20 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type DeclarableFoodAdditives = export type DeclarableFoodAdditives = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 | 65536;
| 0
| 1
| 2
| 4
| 8
| 16
| 32
| 64
| 128
| 256
| 512
| 1024
| 2048
| 4096
| 8192
| 16384
| 32768
| 65536;

View File

@@ -5,7 +5,7 @@ import { EntityDTOContainerOfLogisticianDTO } from './entity-dtocontainer-of-log
import { ShippingAddressDTO } from './shipping-address-dto'; import { ShippingAddressDTO } from './shipping-address-dto';
import { ShippingTarget } from './shipping-target'; import { ShippingTarget } from './shipping-target';
import { EntityDTOContainerOfBranchDTO } from './entity-dtocontainer-of-branch-dto'; import { EntityDTOContainerOfBranchDTO } from './entity-dtocontainer-of-branch-dto';
export interface DestinationDTO extends EntityDTOBaseOfDestinationDTOAndIDestination { export interface DestinationDTO extends EntityDTOBaseOfDestinationDTOAndIDestination{
checkout?: EntityDTOContainerOfCheckoutDTO; checkout?: EntityDTOContainerOfCheckoutDTO;
logistician?: EntityDTOContainerOfLogisticianDTO; logistician?: EntityDTOContainerOfLogisticianDTO;
shippingAddress?: ShippingAddressDTO; shippingAddress?: ShippingAddressDTO;

View File

@@ -4,6 +4,7 @@
* Output * Output
*/ */
export interface DestinationResult { export interface DestinationResult {
/** /**
* Lieferziel kann dem Warenkorb hinzugefügt werden * Lieferziel kann dem Warenkorb hinzugefügt werden
*/ */

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type DialogContentType = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128; export type DialogContentType = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128;

View File

@@ -1,2 +1,2 @@
/* tslint:disable */ /* tslint:disable */
export type DialogSettings = 0 | 1 | 2 | 4; export type DialogSettings = 0 | 1 | 2 | 4;

View File

@@ -1,11 +1,15 @@
/* tslint:disable */ /* tslint:disable */
import { CampaignDTO } from './campaign-dto';
import { LoyaltyDTO } from './loyalty-dto';
import { PriceDTO } from './price-dto'; import { PriceDTO } from './price-dto';
import { PromotionDTO } from './promotion-dto'; import { PromotionDTO } from './promotion-dto';
import { ShopItemDTO } from './shop-item-dto'; import { ShopItemDTO } from './shop-item-dto';
export interface DisplayItemDTO { export interface DisplayItemDTO {
accessories?: Array<DisplayItemDTO>; accessories?: Array<DisplayItemDTO>;
campaign?: CampaignDTO;
components?: Array<DisplayItemDTO>; components?: Array<DisplayItemDTO>;
customProductName?: string; customProductName?: string;
loyalty?: LoyaltyDTO;
price?: PriceDTO; price?: PriceDTO;
promotion?: PromotionDTO; promotion?: PromotionDTO;
quantity?: number; quantity?: number;

View File

@@ -2,7 +2,7 @@
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
import { CRUDA } from './cruda'; import { CRUDA } from './cruda';
import { EntityStatus } from './entity-status'; import { EntityStatus } from './entity-status';
export interface EntityDTO extends TouchedBase { export interface EntityDTO extends TouchedBase{
changed?: string; changed?: string;
created?: string; created?: string;
cruda?: CRUDA; cruda?: CRUDA;

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfBranchDTOAndIBranch extends EntityDTOBase {} export interface EntityDTOBaseOfBranchDTOAndIBranch extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfCheckoutDeliveryDTOAndICheckoutDelivery extends EntityDTOBase {} export interface EntityDTOBaseOfCheckoutDeliveryDTOAndICheckoutDelivery extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfCheckoutDTOAndICheckout extends EntityDTOBase {} export interface EntityDTOBaseOfCheckoutDTOAndICheckout extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfCheckoutItemDTOAndICheckoutItem extends EntityDTOBase {} export interface EntityDTOBaseOfCheckoutItemDTOAndICheckoutItem extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfCompanyDTOAndICompany extends EntityDTOBase {} export interface EntityDTOBaseOfCompanyDTOAndICompany extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfComponentsDTOAndIComponents extends EntityDTOBase {} export interface EntityDTOBaseOfComponentsDTOAndIComponents extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfContributorDTOAndIContributor extends EntityDTOBase {} export interface EntityDTOBaseOfContributorDTOAndIContributor extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfCountryDTOAndICountry extends EntityDTOBase {} export interface EntityDTOBaseOfCountryDTOAndICountry extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfCouponDTOAndICoupon extends EntityDTOBase {} export interface EntityDTOBaseOfCouponDTOAndICoupon extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfCurrencyDTOAndICurrency extends EntityDTOBase {} export interface EntityDTOBaseOfCurrencyDTOAndICurrency extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfDestinationDTOAndIDestination extends EntityDTOBase {} export interface EntityDTOBaseOfDestinationDTOAndIDestination extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfFileDTOAndIFile extends EntityDTOBase {} export interface EntityDTOBaseOfFileDTOAndIFile extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfItemDTOAndIItem extends EntityDTOBase {} export interface EntityDTOBaseOfItemDTOAndIItem extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfLabelDTOAndILabel extends EntityDTOBase {} export interface EntityDTOBaseOfLabelDTOAndILabel extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfLogisticianDTOAndILogistician extends EntityDTOBase {} export interface EntityDTOBaseOfLogisticianDTOAndILogistician extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfShopDTOAndIShop extends EntityDTOBase {} export interface EntityDTOBaseOfShopDTOAndIShop extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfShopItemDTOAndIShopItem extends EntityDTOBase {} export interface EntityDTOBaseOfShopItemDTOAndIShopItem extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfShoppingCartDTOAndIShoppingCart extends EntityDTOBase {} export interface EntityDTOBaseOfShoppingCartDTOAndIShoppingCart extends EntityDTOBase{
}

View File

@@ -1,3 +0,0 @@
/* tslint:disable */
import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfShoppingCartItemDTOAndIShoppingCartItem extends EntityDTOBase {}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfSupplierDTOAndISupplier extends EntityDTOBase {} export interface EntityDTOBaseOfSupplierDTOAndISupplier extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfTenantDTOAndITenant extends EntityDTOBase {} export interface EntityDTOBaseOfTenantDTOAndITenant extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfTextDTOAndIText extends EntityDTOBase {} export interface EntityDTOBaseOfTextDTOAndIText extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfVATDTOAndIVAT extends EntityDTOBase {} export interface EntityDTOBaseOfVATDTOAndIVAT extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOBase } from './entity-dtobase'; import { EntityDTOBase } from './entity-dtobase';
export interface EntityDTOBaseOfVoucherDTOAndIVoucher extends EntityDTOBase {} export interface EntityDTOBaseOfVoucherDTOAndIVoucher extends EntityDTOBase{
}

View File

@@ -1,3 +1,4 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTO } from './entity-dto'; import { EntityDTO } from './entity-dto';
export interface EntityDTOBase extends EntityDTO {} export interface EntityDTOBase extends EntityDTO{
}

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { BranchDTO } from './branch-dto'; import { BranchDTO } from './branch-dto';
export interface EntityDTOContainerOfBranchDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfBranchDTO extends EntityDTOReferenceContainer{
data?: BranchDTO; data?: BranchDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { CategoryDTO } from './category-dto'; import { CategoryDTO } from './category-dto';
export interface EntityDTOContainerOfCategoryDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfCategoryDTO extends EntityDTOReferenceContainer{
data?: CategoryDTO; data?: CategoryDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { CheckoutDeliveryDTO } from './checkout-delivery-dto'; import { CheckoutDeliveryDTO } from './checkout-delivery-dto';
export interface EntityDTOContainerOfCheckoutDeliveryDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfCheckoutDeliveryDTO extends EntityDTOReferenceContainer{
data?: CheckoutDeliveryDTO; data?: CheckoutDeliveryDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { CheckoutDTO } from './checkout-dto'; import { CheckoutDTO } from './checkout-dto';
export interface EntityDTOContainerOfCheckoutDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfCheckoutDTO extends EntityDTOReferenceContainer{
data?: CheckoutDTO; data?: CheckoutDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { CheckoutItemDTO } from './checkout-item-dto'; import { CheckoutItemDTO } from './checkout-item-dto';
export interface EntityDTOContainerOfCheckoutItemDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfCheckoutItemDTO extends EntityDTOReferenceContainer{
data?: CheckoutItemDTO; data?: CheckoutItemDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { CompanyDTO } from './company-dto'; import { CompanyDTO } from './company-dto';
export interface EntityDTOContainerOfCompanyDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfCompanyDTO extends EntityDTOReferenceContainer{
data?: CompanyDTO; data?: CompanyDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { ComponentsDTO } from './components-dto'; import { ComponentsDTO } from './components-dto';
export interface EntityDTOContainerOfComponentsDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfComponentsDTO extends EntityDTOReferenceContainer{
data?: ComponentsDTO; data?: ComponentsDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { ContributorDTO } from './contributor-dto'; import { ContributorDTO } from './contributor-dto';
export interface EntityDTOContainerOfContributorDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfContributorDTO extends EntityDTOReferenceContainer{
data?: ContributorDTO; data?: ContributorDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { CountryDTO } from './country-dto'; import { CountryDTO } from './country-dto';
export interface EntityDTOContainerOfCountryDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfCountryDTO extends EntityDTOReferenceContainer{
data?: CountryDTO; data?: CountryDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { CouponDTO } from './coupon-dto'; import { CouponDTO } from './coupon-dto';
export interface EntityDTOContainerOfCouponDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfCouponDTO extends EntityDTOReferenceContainer{
data?: CouponDTO; data?: CouponDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { CurrencyDTO } from './currency-dto'; import { CurrencyDTO } from './currency-dto';
export interface EntityDTOContainerOfCurrencyDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfCurrencyDTO extends EntityDTOReferenceContainer{
data?: CurrencyDTO; data?: CurrencyDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { DestinationDTO } from './destination-dto'; import { DestinationDTO } from './destination-dto';
export interface EntityDTOContainerOfDestinationDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfDestinationDTO extends EntityDTOReferenceContainer{
data?: DestinationDTO; data?: DestinationDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { FileDTO } from './file-dto'; import { FileDTO } from './file-dto';
export interface EntityDTOContainerOfFileDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfFileDTO extends EntityDTOReferenceContainer{
data?: FileDTO; data?: FileDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { ItemDTO } from './item-dto'; import { ItemDTO } from './item-dto';
export interface EntityDTOContainerOfItemDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfItemDTO extends EntityDTOReferenceContainer{
data?: ItemDTO; data?: ItemDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { LabelDTO } from './label-dto'; import { LabelDTO } from './label-dto';
export interface EntityDTOContainerOfLabelDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfLabelDTO extends EntityDTOReferenceContainer{
data?: LabelDTO; data?: LabelDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { LogisticianDTO } from './logistician-dto'; import { LogisticianDTO } from './logistician-dto';
export interface EntityDTOContainerOfLogisticianDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfLogisticianDTO extends EntityDTOReferenceContainer{
data?: LogisticianDTO; data?: LogisticianDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { ShopDTO } from './shop-dto'; import { ShopDTO } from './shop-dto';
export interface EntityDTOContainerOfShopDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfShopDTO extends EntityDTOReferenceContainer{
data?: ShopDTO; data?: ShopDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { ShopItemDTO } from './shop-item-dto'; import { ShopItemDTO } from './shop-item-dto';
export interface EntityDTOContainerOfShopItemDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfShopItemDTO extends EntityDTOReferenceContainer{
data?: ShopItemDTO; data?: ShopItemDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { ShoppingCartItemDTO } from './shopping-cart-item-dto'; import { ShoppingCartItemDTO } from './shopping-cart-item-dto';
export interface EntityDTOContainerOfShoppingCartItemDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfShoppingCartItemDTO extends EntityDTOReferenceContainer{
data?: ShoppingCartItemDTO; data?: ShoppingCartItemDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { SupplierDTO } from './supplier-dto'; import { SupplierDTO } from './supplier-dto';
export interface EntityDTOContainerOfSupplierDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfSupplierDTO extends EntityDTOReferenceContainer{
data?: SupplierDTO; data?: SupplierDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { TenantDTO } from './tenant-dto'; import { TenantDTO } from './tenant-dto';
export interface EntityDTOContainerOfTenantDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfTenantDTO extends EntityDTOReferenceContainer{
data?: TenantDTO; data?: TenantDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { TextDTO } from './text-dto'; import { TextDTO } from './text-dto';
export interface EntityDTOContainerOfTextDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfTextDTO extends EntityDTOReferenceContainer{
data?: TextDTO; data?: TextDTO;
} }

View File

@@ -1,6 +1,6 @@
/* tslint:disable */ /* tslint:disable */
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
import { VoucherDTO } from './voucher-dto'; import { VoucherDTO } from './voucher-dto';
export interface EntityDTOContainerOfVoucherDTO extends EntityDTOReferenceContainer { export interface EntityDTOContainerOfVoucherDTO extends EntityDTOReferenceContainer{
data?: VoucherDTO; data?: VoucherDTO;
} }

View File

@@ -1,7 +1,7 @@
/* tslint:disable */ /* tslint:disable */
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
import { ExternalReferenceDTO } from './external-reference-dto'; import { ExternalReferenceDTO } from './external-reference-dto';
export interface EntityDTOReferenceContainer extends TouchedBase { export interface EntityDTOReferenceContainer extends TouchedBase{
displayLabel?: string; displayLabel?: string;
enabled?: boolean; enabled?: boolean;
externalReference?: ExternalReferenceDTO; externalReference?: ExternalReferenceDTO;

View File

@@ -1,7 +1,7 @@
/* tslint:disable */ /* tslint:disable */
import { TouchedBase } from './touched-base'; import { TouchedBase } from './touched-base';
import { EntityDTOReferenceContainer } from './entity-dtoreference-container'; import { EntityDTOReferenceContainer } from './entity-dtoreference-container';
export interface EntityReferenceDTO extends TouchedBase { export interface EntityReferenceDTO extends TouchedBase{
pId?: string; pId?: string;
reference?: EntityDTOReferenceContainer; reference?: EntityDTOReferenceContainer;
source?: number; source?: number;

Some files were not shown because too many files have changed in this diff Show More