Files
dvbooking/admin/src/api/providers.ts
Schneider Roland 056b9f6c80 create booking
2025-12-14 22:11:42 +01:00

94 lines
3.1 KiB
TypeScript

/* @ts-nocheck */
/* eslint-disable */
/* @noformat */
/* @formatter:off */
/**
* Generated by ng-openapi
* Generated provider functions for easy setup
* Do not edit this file manually
*/
import { EnvironmentProviders, Provider, makeEnvironmentProviders } from "@angular/core";
import { HTTP_INTERCEPTORS, HttpInterceptor } from "@angular/common/http";
import { BASE_PATH_DEFAULT, HTTP_INTERCEPTORS_DEFAULT } from "./tokens";
import { DefaultBaseInterceptor } from "./utils/base-interceptor";
import { DateInterceptor } from "./utils/date-transformer";
/** Configuration options for default client */
export interface DefaultConfig {
/** Base API URL */
basePath: string;
/** Enable automatic date transformation (default: true) */
enableDateTransform?: boolean;
/** Array of HTTP interceptor classes to apply to this client */
interceptors?: (new (...args: HttpInterceptor[]) => HttpInterceptor)[];
}
/** Provides configuration for default client */
/** */
/** @example */
/** ```typescript */
/** // In your app.config.ts */
/** import { provideDefaultClient } from './api/providers'; */
/** */
/** export const appConfig: ApplicationConfig = { */
/** providers: [ */
/** provideDefaultClient({ */
/** basePath: 'https://api.example.com', */
/** interceptors: [AuthInterceptor, LoggingInterceptor] // Classes, not instances */
/** }), */
/** // other providers... */
/** ] */
/** }; */
/** ``` */
export function provideDefaultClient(config: DefaultConfig): EnvironmentProviders {
const providers: Provider[] = [
// Base path token for this client
{
provide: BASE_PATH_DEFAULT,
useValue: config.basePath
},
// Base interceptor that handles client-specific interceptors
{
provide: HTTP_INTERCEPTORS,
useClass: DefaultBaseInterceptor,
multi: true
}
];
// Add client-specific interceptor instances
if (config.interceptors && config.interceptors.length > 0) {
const interceptorInstances = config.interceptors.map(InterceptorClass => new InterceptorClass());
// Add date interceptor if enabled (default: true)
if (config.enableDateTransform !== false) {
interceptorInstances.unshift(new DateInterceptor());
}
providers.push({
provide: HTTP_INTERCEPTORS_DEFAULT,
useValue: interceptorInstances
});
} else if (config.enableDateTransform !== false) {
// Only date interceptor enabled
providers.push({
provide: HTTP_INTERCEPTORS_DEFAULT,
useValue: [new DateInterceptor()]
});
} else {
// No interceptors
providers.push({
provide: HTTP_INTERCEPTORS_DEFAULT,
useValue: []
});
}
return makeEnvironmentProviders(providers);
}
/** @deprecated Use provideDefaultClient instead for better clarity */
/** Provides configuration for the default client */
export function provideNgOpenapi(config: DefaultConfig): EnvironmentProviders {
return provideDefaultClient(config);
}