/* tslint:disable */
/* eslint-disable */
/* Code generated by ng-openapi-gen DO NOT EDIT. */

import { HttpClient, HttpContext, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { filter, map } from 'rxjs/operators';
import { StrictHttpResponse } from '../../strict-http-response';
import { RequestBuilder } from '../../request-builder';

import { TotalServiceOrders } from '../../models/total-service-orders';

export interface GetTotalServiceOrders$Params {
  state?: 'INITIAL' | 'ACKNOWLEDGED' | 'REJECTED' | 'PENDING' | 'HELD' | 'INPROGRESS' | 'CANCELLED' | 'COMPLETED' | 'FAILED' | 'PARTIAL';
}

export function getTotalServiceOrders(http: HttpClient, rootUrl: string, params?: GetTotalServiceOrders$Params, context?: HttpContext): Observable<StrictHttpResponse<TotalServiceOrders>> {
  const rb = new RequestBuilder(rootUrl, getTotalServiceOrders.PATH, 'get');
  if (params) {
    rb.query('state', params.state, {});
  }

  return http.request(
    rb.build({ responseType: 'json', accept: 'application/json;charset=utf-8', context })
  ).pipe(
    filter((r: any): r is HttpResponse<any> => r instanceof HttpResponse),
    map((r: HttpResponse<any>) => {
      return r as StrictHttpResponse<TotalServiceOrders>;
    })
  );
}

getTotalServiceOrders.PATH = '/metrics/totalServiceOrders';
