/* tslint:disable */
/* eslint-disable */
//----------------------
//
// Generated using the NSwag toolchain v12.3.1.0 (NJsonSchema v9.14.1.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)
//
//----------------------
// ReSharper disable InconsistentNaming
import { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';
import { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';
import { Injectable, Inject, Optional, InjectionToken } from '@angular/core';
import { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';
export const API_BASE_URL = new InjectionToken('API_BASE_URL');
export class GeneratedClient {
}
@Injectable({
providedIn: 'root'
})
export class AdSetsClient extends GeneratedClient {
private http: HttpClient;
private baseUrl: string;
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {
super();
this.http = http;
this.baseUrl = baseUrl ? baseUrl : "";
}
getById(adSetId: number, language?: string | null | undefined): Observable {
let url_ = this.baseUrl + "/campaign-api/ad-sets/{adSetId}?";
if (adSetId === undefined || adSetId === null)
throw new Error("The parameter 'adSetId' must be defined.");
url_ = url_.replace("{adSetId}", encodeURIComponent("" + adSetId));
if (language !== undefined && language !== null)
url_ += "language=" + encodeURIComponent("" + language) + "&";
url_ = url_.replace(/[?&]$/, "");
let options_ : any = {
observe: "response",
responseType: "blob",
headers: new HttpHeaders({
"Accept": "application/json"
})
};
return this.http.request("get", url_, options_).pipe(_observableMergeMap((response_ : any) => {
return this.processGetById(response_);
})).pipe(_observableCatch((response_: any) => {
if (response_ instanceof HttpResponseBase) {
try {
return this.processGetById(response_);
} catch (e) {
return >_observableThrow(e);
}
} else
return >_observableThrow(response_);
}));
}
protected processGetById(response: HttpResponseBase): Observable {
const status = response.status;
const responseBlob =
response instanceof HttpResponse ? response.body :
(response).error instanceof Blob ? (response).error : undefined;
let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}
if (status === 200) {
return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
let result200: any = null;
result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
return _observableOf(result200);
}));
} else if (status === 401) {
return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
return throwException("A server error occurred.", status, _responseText, _headers);
}));
} else if (status === 403) {
return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
return throwException("A server error occurred.", status, _responseText, _headers);
}));
} else if (status === 404) {
return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
return throwException("A server error occurred.", status, _responseText, _headers);
}));
} else if (status !== 200 && status !== 204) {
return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
}));
}
return _observableOf(null);
}
}
export interface GetAdSetDetailsResponse {
adSet?: AdSetDetails | undefined;
errors?: string[];
}
export interface AdSetDetails {
id: number;
partnerId?: number | undefined;
name?: string | undefined;
description?: string | undefined;
startDate?: Date | undefined;
endDate?: Date | undefined;
conflictDetectionToken: number;
status: AdSetStatus;
audienceType: AudienceType;
}
export enum AdSetStatus {
Inactive = "Inactive",
Live = "Live",
Archived = "Archived",
Scheduled = "Scheduled",
Ended = "Ended",
Draft = "Draft",
}
export enum AudienceType {
Similar = "Similar",
Commerce = "Commerce",
Custom = "Custom",
}
export class SwaggerException extends Error {
message: string;
status: number;
response: string;
headers: { [key: string]: any; };
result: any;
constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {
super();
this.message = message;
this.status = status;
this.response = response;
this.headers = headers;
this.result = result;
}
protected isSwaggerException = true;
static isSwaggerException(obj: any): obj is SwaggerException {
return obj.isSwaggerException === true;
}
}
function throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {
return _observableThrow(new SwaggerException(message, status, response, headers, result));
}
function blobToText(blob: any): Observable {
return new Observable((observer: any) => {
if (!blob) {
observer.next("");
observer.complete();
} else {
let reader = new FileReader();
reader.onload = event => {
observer.next((event.target).result);
observer.complete();
};
reader.readAsText(blob);
}
});
}