Files
BeReadyFrontend/src/app/services/api/api.base.service.ts
T
2026-05-14 18:49:56 +01:00

96 lines
4.0 KiB
TypeScript

/**
* BeReadyBackend
*
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import {HttpHeaders, HttpParams, HttpParameterCodec} from '@angular/common/http';
import {CustomHttpParameterCodec} from './encoder';
import {Configuration} from './configuration';
import {OpenApiHttpParams, QueryParamStyle, concatHttpParamsObject} from './query.params';
export class BaseService {
protected basePath = 'http://localhost:5235';
public defaultHeaders = new HttpHeaders();
public configuration: Configuration;
public encoder: HttpParameterCodec;
constructor(basePath?: string | string[], configuration?: Configuration) {
this.configuration = configuration || new Configuration();
if (typeof this.configuration.basePath !== 'string') {
const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;
if (firstBasePath != undefined) {
basePath = firstBasePath;
}
if (typeof basePath !== 'string') {
basePath = this.basePath;
}
this.configuration.basePath = basePath;
}
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
}
protected canConsumeForm(consumes: string[]): boolean {
return consumes.indexOf('multipart/form-data') !== -1;
}
protected addToHttpParams(httpParams: OpenApiHttpParams, key: string, value: any | null | undefined, paramStyle: QueryParamStyle, explode: boolean): OpenApiHttpParams {
if (value === null || value === undefined) {
return httpParams;
}
if (paramStyle === QueryParamStyle.DeepObject) {
if (typeof value !== 'object') {
throw Error(`An object must be provided for key ${key} as it is a deep object`);
}
return Object.keys(value as Record<string, any>).reduce(
(hp, k) => hp.append(`${key}[${k}]`, value[k]),
httpParams,
);
} else if (paramStyle === QueryParamStyle.Json) {
return httpParams.append(key, JSON.stringify(value));
} else {
// Form-style, SpaceDelimited or PipeDelimited
if (Object(value) !== value) {
// If it is a primitive type, add its string representation
return httpParams.append(key, value.toString());
} else if (value instanceof Date) {
return httpParams.append(key, value.toISOString());
} else if (Array.isArray(value)) {
// Otherwise, if it's an array, add each element.
if (paramStyle === QueryParamStyle.Form) {
return httpParams.set(key, value, {explode: explode, delimiter: ','});
} else if (paramStyle === QueryParamStyle.SpaceDelimited) {
return httpParams.set(key, value, {explode: explode, delimiter: ' '});
} else {
// PipeDelimited
return httpParams.set(key, value, {explode: explode, delimiter: '|'});
}
} else {
// Otherwise, if it's an object, add each field.
if (paramStyle === QueryParamStyle.Form) {
if (explode) {
Object.keys(value).forEach(k => {
httpParams = this.addToHttpParams(httpParams, k, value[k], paramStyle, explode);
});
return httpParams;
} else {
return concatHttpParamsObject(httpParams, key, value, ',');
}
} else if (paramStyle === QueryParamStyle.SpaceDelimited) {
return concatHttpParamsObject(httpParams, key, value, ' ');
} else {
// PipeDelimited
return concatHttpParamsObject(httpParams, key, value, '|');
}
}
}
}
}