#3494 Upgrade Ava API auf v6

This commit is contained in:
Lorenz Hilpert
2022-10-05 13:58:02 +02:00
parent 5d0b810674
commit 282ff30b3e
22 changed files with 190 additions and 9 deletions

View File

@@ -20,7 +20,7 @@
"rootUrl": "https://isa-test.paragon-data.net/catsearch/v6"
},
"@swagger/av": {
"rootUrl": "https://isa-test.paragon-data.net/ava/v4"
"rootUrl": "https://isa-test.paragon-data.net/ava/v6"
},
"@swagger/checkout": {
"rootUrl": "https://isa-test.paragon-data.net/checkout/v6"

View File

@@ -20,7 +20,7 @@
"rootUrl": "https://isa-integration.paragon-data.net/catsearch/v6"
},
"@swagger/av": {
"rootUrl": "https://isa-integration.paragon-data.net/ava/v4"
"rootUrl": "https://isa-integration.paragon-data.net/ava/v6"
},
"@swagger/checkout": {
"rootUrl": "https://isa-integration.paragon-data.net/checkout/v6"

View File

@@ -20,7 +20,7 @@
"rootUrl": "https://isa-test.paragon-data.net/catsearch/v6"
},
"@swagger/av": {
"rootUrl": "https://isa-test.paragon-data.net/ava/v4"
"rootUrl": "https://isa-test.paragon-data.net/ava/v6"
},
"@swagger/checkout": {
"rootUrl": "https://isa-test.paragon-data.net/checkout/v6"

View File

@@ -20,7 +20,7 @@
"rootUrl": "https://isa.paragon-systems.de/catsearch/v6"
},
"@swagger/av": {
"rootUrl": "https://isa.paragon-systems.de/ava/v4"
"rootUrl": "https://isa.paragon-systems.de/ava/v6"
},
"@swagger/checkout": {
"rootUrl": "https://isa.paragon-systems.de/checkout/v6"

View File

@@ -20,7 +20,7 @@
"rootUrl": "https://isa-staging.paragon-systems.de/catsearch/v6"
},
"@swagger/av": {
"rootUrl": "https://isa-staging.paragon-systems.de/ava/v4"
"rootUrl": "https://isa-staging.paragon-systems.de/ava/v6"
},
"@swagger/checkout": {
"rootUrl": "https://isa-staging.paragon-systems.de/checkout/v6"

View File

@@ -20,7 +20,7 @@
"rootUrl": "https://isa-test.paragon-data.net/catsearch/v6"
},
"@swagger/av": {
"rootUrl": "https://isa-test.paragon-data.net/ava/v4"
"rootUrl": "https://isa-test.paragon-data.net/ava/v6"
},
"@swagger/checkout": {
"rootUrl": "https://isa-test.paragon-data.net/checkout/v6"

View File

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

View File

@@ -4,6 +4,7 @@ import { HttpClientModule } from '@angular/common/http';
import { AvConfiguration, AvConfigurationInterface } from './av-configuration';
import { AvailabilityService } from './services/availability.service';
import { WebshopAvailabilityService } from './services/webshop-availability.service';
/**
* Provider for all Av services, plus AvConfiguration
@@ -18,7 +19,8 @@ import { AvailabilityService } from './services/availability.service';
declarations: [],
providers: [
AvConfiguration,
AvailabilityService
AvailabilityService,
WebshopAvailabilityService
],
})
export class AvModule {

View File

@@ -7,6 +7,7 @@ export { VATValueDTO } from './models/vatvalue-dto';
export { VATType } from './models/vattype';
export { AvailabilityType } from './models/availability-type';
export { RangeDTO } from './models/range-dto';
export { AvailableFor } from './models/available-for';
export { ResponseArgs } from './models/response-args';
export { DialogOfString } from './models/dialog-of-string';
export { DialogSettings } from './models/dialog-settings';
@@ -15,3 +16,9 @@ export { KeyValueDTOOfStringAndString } from './models/key-value-dtoof-string-an
export { IPublicUserInfo } from './models/ipublic-user-info';
export { ProblemDetails } from './models/problem-details';
export { AvailabilityRequestDTO } from './models/availability-request-dto';
export { ResponseArgsOfIEnumerableOfWebshopAvailabilityDTO } from './models/response-args-of-ienumerable-of-webshop-availability-dto';
export { WebshopAvailabilityDTO } from './models/webshop-availability-dto';
export { TrafficLightValue } from './models/traffic-light-value';
export { DateRangeDTO } from './models/date-range-dto';
export { WebshopAvailabilityRequestDTO } from './models/webshop-availability-request-dto';
export { WebshopAvailabilityRequestItemDTO } from './models/webshop-availability-request-item-dto';

View File

@@ -1,12 +1,15 @@
/* tslint:disable */
import { AvailableFor } from './available-for';
import { RangeDTO } from './range-dto';
import { PriceDTO } from './price-dto';
import { AvailabilityType } from './availability-type';
export interface AvailabilityDTO {
altAt?: string;
at?: string;
availableFor?: AvailableFor;
ean?: string;
estimatedDelivery?: RangeDTO;
firstDayOfSale?: string;
isPrebooked?: boolean;
itemId?: number;
logistician?: string;
@@ -26,4 +29,5 @@ export interface AvailabilityDTO {
supplier?: string;
supplierId?: number;
supplierProductNumber?: string;
to?: string;
}

View File

@@ -5,6 +5,7 @@ export interface AvailabilityRequestDTO {
branchNumber?: string;
ean?: string;
estimatedShipping?: string;
filialNr?: string;
itemId?: string;
name?: string;
orderCode?: string;

View File

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

View File

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

View File

@@ -3,6 +3,7 @@ export interface KeyValueDTOOfStringAndString {
command?: string;
description?: string;
enabled?: boolean;
group?: string;
key?: string;
label?: string;
selected?: boolean;

View File

@@ -0,0 +1,6 @@
/* tslint:disable */
import { ResponseArgs } from './response-args';
import { WebshopAvailabilityDTO } from './webshop-availability-dto';
export interface ResponseArgsOfIEnumerableOfWebshopAvailabilityDTO extends ResponseArgs{
result?: Array<WebshopAvailabilityDTO>;
}

View File

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

View File

@@ -0,0 +1,44 @@
/* tslint:disable */
import { DateRangeDTO } from './date-range-dto';
import { TrafficLightValue } from './traffic-light-value';
/**
* Verfügbarkeit
*/
export interface WebshopAvailabilityDTO {
/**
* EAN
*/
ean?: string;
/**
* Kann dem Lager entnommen werden (= Reservierung/Rücklage)
*/
fromStock: boolean;
/**
* Lagerbestand
*/
inStock: number;
/**
* Angefragte Menge
*/
quantityRequested: number;
/**
* Abholzeitfenster
*/
readyForPickUp?: DateRangeDTO;
/**
* Ampel-Schwellwert
*/
threshold: TrafficLightValue;
/**
* WWS Geschaeftsnr
*/
wwsStockId: number;
}

View File

@@ -0,0 +1,23 @@
/* tslint:disable */
import { WebshopAvailabilityRequestItemDTO } from './webshop-availability-request-item-dto';
/**
* Webshop Availability Request DTO
*/
export interface WebshopAvailabilityRequestDTO {
/**
* Artikel: { EAN, Quantity }
*/
items?: Array<WebshopAvailabilityRequestItemDTO>;
/**
* Reine Bestandsabfrage (default: false)
*/
stockOnly: boolean;
/**
* WWS Geschaeftsnr (Beispiel: 2506 Pinneberg)
*/
wwsStockIds?: Array<number>;
}

View File

@@ -0,0 +1,17 @@
/* tslint:disable */
/**
* Webshop Availability Request Item DTO
*/
export interface WebshopAvailabilityRequestItemDTO {
/**
* EAN
*/
ean?: string;
/**
* Menge1)
*/
quantity: number;
}

View File

@@ -1 +1,2 @@
export { AvailabilityService } from './services/availability.service';
export { WebshopAvailabilityService } from './services/webshop-availability.service';

View File

@@ -0,0 +1,65 @@
/* tslint:disable */
import { Injectable } from '@angular/core';
import { HttpClient, HttpRequest, HttpResponse, HttpHeaders } from '@angular/common/http';
import { BaseService as __BaseService } from '../base-service';
import { AvConfiguration as __Configuration } from '../av-configuration';
import { StrictHttpResponse as __StrictHttpResponse } from '../strict-http-response';
import { Observable as __Observable } from 'rxjs';
import { map as __map, filter as __filter } from 'rxjs/operators';
import { ResponseArgsOfIEnumerableOfWebshopAvailabilityDTO } from '../models/response-args-of-ienumerable-of-webshop-availability-dto';
import { WebshopAvailabilityRequestDTO } from '../models/webshop-availability-request-dto';
@Injectable({
providedIn: 'root',
})
class WebshopAvailabilityService extends __BaseService {
static readonly WebshopAvailabilityWebshopAvailabilityPath = '/availability/webshop';
constructor(
config: __Configuration,
http: HttpClient
) {
super(config, http);
}
/**
* Verfügbarkeit für Webshop
* @param payload undefined
*/
WebshopAvailabilityWebshopAvailabilityResponse(payload: WebshopAvailabilityRequestDTO): __Observable<__StrictHttpResponse<ResponseArgsOfIEnumerableOfWebshopAvailabilityDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
__body = payload;
let req = new HttpRequest<any>(
'POST',
this.rootUrl + `/availability/webshop`,
__body,
{
headers: __headers,
params: __params,
responseType: 'json'
});
return this.http.request<any>(req).pipe(
__filter(_r => _r instanceof HttpResponse),
__map((_r) => {
return _r as __StrictHttpResponse<ResponseArgsOfIEnumerableOfWebshopAvailabilityDTO>;
})
);
}
/**
* Verfügbarkeit für Webshop
* @param payload undefined
*/
WebshopAvailabilityWebshopAvailability(payload: WebshopAvailabilityRequestDTO): __Observable<ResponseArgsOfIEnumerableOfWebshopAvailabilityDTO> {
return this.WebshopAvailabilityWebshopAvailabilityResponse(payload).pipe(
__map(_r => _r.body as ResponseArgsOfIEnumerableOfWebshopAvailabilityDTO)
);
}
}
module WebshopAvailabilityService {
}
export { WebshopAvailabilityService }

View File

@@ -1,6 +1,6 @@
{
"$schema": "../node_modules/ng-swagger-gen/ng-swagger-gen-schema.json",
"swagger": "https://isa-test.paragon-data.net/ava/v4/swagger.json",
"swagger": "https://isa-test.paragon-data.net/ava/v6/swagger.json",
"output": "apps/swagger/availability/src/lib",
"prefix": "Av",
"minParamsForContainer": 2,