Add new model definitions for various APIs in generated Swagger files

This commit is contained in:
Lorenz Hilpert
2025-01-29 17:16:58 +01:00
parent 9efbfab253
commit c6a174d93f
978 changed files with 29960 additions and 11 deletions

View File

@@ -4,7 +4,7 @@
"sourceRoot": "generated/swagger/availability-api/src",
"prefix": "lib",
"projectType": "library",
"tags": [],
"tags": ["generated","swagger","availability","api"],
"targets": {
"generate": {
"command": "ng-swagger-gen --config {projectRoot}/ng-swagger-gen.json --output {projectRoot}/src",

View File

@@ -0,0 +1,16 @@
/* tslint:disable */
import { Injectable } from '@angular/core';
/**
* Global configuration for Av services
*/
@Injectable({
providedIn: 'root',
})
export class AvConfiguration {
rootUrl: string = 'https://isa-test.paragon-data.net';
}
export interface AvConfigurationInterface {
rootUrl?: string;
}

View File

@@ -0,0 +1,62 @@
/* tslint:disable */
import { HttpClient, HttpParameterCodec, HttpParams } from '@angular/common/http';
import { AvConfiguration } from './av-configuration';
/**
* Custom parameter codec to correctly handle the plus sign in parameter
* values. See https://github.com/angular/angular/issues/18261
*/
class ParameterCodec implements HttpParameterCodec {
encodeKey(key: string): string {
return encodeURIComponent(key);
}
encodeValue(value: string): string {
return encodeURIComponent(value);
}
decodeKey(key: string): string {
return decodeURIComponent(key);
}
decodeValue(value: string): string {
return decodeURIComponent(value);
}
}
const PARAMETER_CODEC = new ParameterCodec();
/**
* Base class for API services
*/
export class BaseService {
constructor(
protected config: AvConfiguration,
protected http: HttpClient,
) {}
private _rootUrl: string = '';
/**
* Returns the root url for API operations. If not set directly in this
* service, will fallback to ApiConfiguration.rootUrl.
*/
get rootUrl(): string {
return this._rootUrl || this.config.rootUrl;
}
/**
* Sets the root URL for API operations in this service.
*/
set rootUrl(rootUrl: string) {
this._rootUrl = rootUrl;
}
/**
* Creates a new `HttpParams` with the correct codec
*/
protected newParams(): HttpParams {
return new HttpParams({
encoder: PARAMETER_CODEC,
});
}
}

View File

@@ -0,0 +1,23 @@
export { ResponseArgsOfIEnumerableOfAvailabilityDTO } from './models/response-args-of-ienumerable-of-availability-dto';
export { AvailabilityDTO } from './models/availability-dto';
export { PriceDTO } from './models/price-dto';
export { PriceValueDTO } from './models/price-value-dto';
export { TouchedBase } from './models/touched-base';
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';
export { DialogContentType } from './models/dialog-content-type';
export { KeyValueDTOOfStringAndString } from './models/key-value-dtoof-string-and-string';
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

@@ -0,0 +1,35 @@
/* 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;
logisticianId?: number;
orderDeadline?: string;
orderReference?: string;
preferred?: number;
price?: PriceDTO;
priceMaintained?: boolean;
qty?: number;
requestMessage?: string;
requestReference?: string;
requestStatusCode?: string;
requested?: string;
shop?: number;
ssc?: string;
sscText?: string;
status: AvailabilityType;
supplier?: string;
supplierId?: number;
supplierProductNumber?: string;
to?: string;
}

View File

@@ -0,0 +1,19 @@
/* tslint:disable */
import { PriceDTO } from './price-dto';
export interface AvailabilityRequestDTO {
availabilityReference?: string;
branchNumber?: string;
ean?: string;
estimatedShipping?: string;
filialNr?: string;
itemId?: string;
name?: string;
orderCode?: string;
preBook?: boolean;
price?: PriceDTO;
qty: number;
shopId?: number;
ssc?: string;
supplier?: string;
supplierProductNumber?: string;
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,16 @@
/* tslint:disable */
import { KeyValueDTOOfStringAndString } from './key-value-dtoof-string-and-string';
import { DialogContentType } from './dialog-content-type';
import { DialogSettings } from './dialog-settings';
export interface DialogOfString {
actions?: Array<KeyValueDTOOfStringAndString>;
actionsRequired?: number;
area?: string;
content?: string;
contentType: DialogContentType;
description?: string;
displayTimeout?: number;
settings: DialogSettings;
subtitle?: string;
title?: string;
}

View File

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

View File

@@ -0,0 +1,12 @@
/* tslint:disable */
export interface KeyValueDTOOfStringAndString {
command?: string;
description?: string;
enabled?: boolean;
group?: string;
key?: string;
label?: string;
selected?: boolean;
sort?: number;
value?: string;
}

View File

@@ -0,0 +1,8 @@
/* tslint:disable */
import { TouchedBase } from './touched-base';
import { PriceValueDTO } from './price-value-dto';
import { VATValueDTO } from './vatvalue-dto';
export interface PriceDTO extends TouchedBase {
value?: PriceValueDTO;
vat?: VATValueDTO;
}

View File

@@ -0,0 +1,7 @@
/* tslint:disable */
import { TouchedBase } from './touched-base';
export interface PriceValueDTO extends TouchedBase {
currency?: string;
currencySymbol?: string;
value?: number;
}

View File

@@ -0,0 +1,10 @@
/* tslint:disable */
export interface ProblemDetails {
detail?: string;
extensions: { [key: string]: any };
instance?: string;
status?: number;
title?: string;
type?: string;
[prop: string]: any;
}

View File

@@ -0,0 +1,5 @@
/* tslint:disable */
export interface RangeDTO {
start?: string;
stop?: string;
}

View File

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

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,9 @@
/* tslint:disable */
import { DialogOfString } from './dialog-of-string';
export interface ResponseArgs {
dialog?: DialogOfString;
error: boolean;
invalidProperties?: { [key: string]: string };
message?: string;
requestId?: number;
}

View File

@@ -0,0 +1,2 @@
/* tslint:disable */
export interface TouchedBase {}

View File

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

View File

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

View File

@@ -0,0 +1,9 @@
/* tslint:disable */
import { TouchedBase } from './touched-base';
import { VATType } from './vattype';
export interface VATValueDTO extends TouchedBase {
inPercent?: number;
label?: string;
value?: number;
vatType?: VATType;
}

View File

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

View File

@@ -0,0 +1,27 @@
/* tslint:disable */
import { WebshopAvailabilityRequestItemDTO } from './webshop-availability-request-item-dto';
/**
* Webshop Availability Request DTO
*/
export interface WebshopAvailabilityRequestDTO {
/**
* Branch PKs
*/
branchIds?: Array<number>;
/**
* 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,16 @@
/* tslint:disable */
/**
* Webshop Availability Request Item DTO
*/
export interface WebshopAvailabilityRequestItemDTO {
/**
* EAN
*/
ean?: string;
/**
* Menge1)
*/
quantity: number;
}

View File

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

View File

@@ -0,0 +1,96 @@
/* 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 { ResponseArgsOfIEnumerableOfAvailabilityDTO } from '../models/response-args-of-ienumerable-of-availability-dto';
import { AvailabilityRequestDTO } from '../models/availability-request-dto';
@Injectable({
providedIn: 'root',
})
class AvailabilityService extends __BaseService {
static readonly AvailabilityStoreAvailabilityPath = '/availability/store';
static readonly AvailabilityShippingAvailabilityPath = '/availability/shipping';
constructor(config: __Configuration, http: HttpClient) {
super(config, http);
}
/**
* Lieferbarkeitsabfrage für Abholung
* Für jede AvailabilityRequestDTO müssen mindestens folgende Werte gesetzt sein: ItemId oder EAN, Qty, sowie ShopId oder BranchNumber
* @param request undefined
*/
AvailabilityStoreAvailabilityResponse(
request: Array<AvailabilityRequestDTO>,
): __Observable<__StrictHttpResponse<ResponseArgsOfIEnumerableOfAvailabilityDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
__body = request;
let req = new HttpRequest<any>('POST', this.rootUrl + `/availability/store`, __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<ResponseArgsOfIEnumerableOfAvailabilityDTO>;
}),
);
}
/**
* Lieferbarkeitsabfrage für Abholung
* Für jede AvailabilityRequestDTO müssen mindestens folgende Werte gesetzt sein: ItemId oder EAN, Qty, sowie ShopId oder BranchNumber
* @param request undefined
*/
AvailabilityStoreAvailability(request: Array<AvailabilityRequestDTO>): __Observable<ResponseArgsOfIEnumerableOfAvailabilityDTO> {
return this.AvailabilityStoreAvailabilityResponse(request).pipe(__map((_r) => _r.body as ResponseArgsOfIEnumerableOfAvailabilityDTO));
}
/**
* Lieferbarkeitsabfrage für Versand
* Für jede AvailabilityRequestDTO müssen mindestens folgende Werte gesetzt sein: ItemId oder EAN, Qty, sowie ShopId oder BranchNumber
* @param request undefined
*/
AvailabilityShippingAvailabilityResponse(
request: Array<AvailabilityRequestDTO>,
): __Observable<__StrictHttpResponse<ResponseArgsOfIEnumerableOfAvailabilityDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
__body = request;
let req = new HttpRequest<any>('POST', this.rootUrl + `/availability/shipping`, __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<ResponseArgsOfIEnumerableOfAvailabilityDTO>;
}),
);
}
/**
* Lieferbarkeitsabfrage für Versand
* Für jede AvailabilityRequestDTO müssen mindestens folgende Werte gesetzt sein: ItemId oder EAN, Qty, sowie ShopId oder BranchNumber
* @param request undefined
*/
AvailabilityShippingAvailability(request: Array<AvailabilityRequestDTO>): __Observable<ResponseArgsOfIEnumerableOfAvailabilityDTO> {
return this.AvailabilityShippingAvailabilityResponse(request).pipe(
__map((_r) => _r.body as ResponseArgsOfIEnumerableOfAvailabilityDTO),
);
}
}
module AvailabilityService {}
export { AvailabilityService };

View File

@@ -0,0 +1,61 @@
/* 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

@@ -0,0 +1,9 @@
/* tslint:disable */
import { HttpResponse } from '@angular/common/http';
/**
* Constrains the http to not expand the response type with `| null`
*/
export type StrictHttpResponse<T> = HttpResponse<T> & {
readonly body: T;
};