TiemposEspera.js


/*
 * API para la gestión de turnos
 * Esta API se encarga de la gestión de los turnos para las secciones que estén activadas en 
 * los dispositivos que sean de tipo 'Expendedor'. Se podrá solicitar un nuevo turno para 
 * la sección seleccionada. Para ello mostrará las secciones que estén activadas para tal fin 
 * y los mostrará en pantalla con sus colores distintivos, nombre de la sección, el turno actual, etc. 
 * También podrá mostrar los turnos ya atendidos filtrando por fecha y turno, por rango de fechas, 
 * seccion, etc. Además, también se podrá mostrar los tickets expedidos pudiendo filtrar 
 * por rango de fechas, turno y fecha, sección, terminal, etc.
 *
 * OpenAPI spec version: 3.0.1
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 *
 * Swagger Codegen version: 3.0.51
 *
 * Do not edit the class manually.
 *
 */
import {ApiClient} from "../ApiClient";
import {Model400} from '../model/Model400';
import {Model401} from '../model/Model401';
import {Model404} from '../model/Model404';
import {Model405} from '../model/Model405';
import {Model500} from '../model/Model500';
import {RespuestaOkTiemposEspera} from '../model/RespuestaOkTiemposEspera';

/**
* TiemposEspera service.
* @module api/TiemposEsperaApi
* @version 2.1.1
*/
export class TiemposEsperaApi {

    /**
    * Constructs a new TiemposEsperaApi. 
    * @alias module:api/TiemposEsperaApi
    * @class
    * @param {module:ApiClient} [apiClient] Optional API client implementation to use,
    * default to {@link module:ApiClient#instanc
    e} if unspecified.
    */
    constructor(apiClient) {
        this.apiClient = apiClient || ApiClient.instance;
    }

    /**
     * Callback function to receive the result of the tiemposEsperaGet operation.
     * @callback moduleapi/TiemposEsperaApi~tiemposEsperaGetCallback
     * @param {String} error Error message, if any.
     * @param {module:model/RespuestaOkTiemposEspera{ data The data returned by the service call.
     * @param {String} response The complete HTTP response.
     */

    /**
     * Devueleve datos relacionados con los tiempos de espera entre turnos atendidos según el tipo de filtro aplicado
     * Devuelve los datos relacionados con los datos de espera de los turnos ya atendidos de cada sección dependiendo 
	 * del filtro aplicado. Puede ser por un rango de fechas de tickets, por un rango de fechas de turnos atendidos, 
	 * por sección, por contador, por tiempo, por recogidos, por fecha de recogidos, por todos los campos anteriores 
	 * a la vez o también por turno y fecha. También existe la posibilidad de mostrar por paginación y también filtrar 
	 * además de por páginas, por los campos 'recogido' y 'fecha_recogido'. 
	 * Todos los filtros son combinables entre sí menos 'Turno' que sienpre irá acompañado de una fecha concreta.
     * @param {String} authorization Token de autenticación.
     * @param {Object} opts Optional parameters
     * @param {String} opts.startDateTicket Fecha de inicio del filtro para tickets (Ejemplo: 2023-10-30 09:20:00)
     * @param {String} opts.endDateTicket Fecha de fin del filtro para tickets (Ejemplo: 2023-11-01 18:34:19)
     * @param {String} opts.startDateTurnoAtendido Fecha de inicio del filtro para turnos atendidos (Ejemplo: 2023-10-30 09:20:00)
     * @param {String} opts.endDateTurnoAtendido Fecha de fin del filtro para turnos atendidos (Ejemplo: 2023-11-01 18:34:19)
     * @param {Number} opts.tiempo Tiempo en ser atendido (Ejemplo: 1)
     * @param {Number} opts.seccion ID de la sección a filtrar (Ejemplo: 4)
     * @param {Number} opts.contador Tiempo de atención? (Ejemplo: 8)
     * @param {Number} opts.turno Número de turno a filtrar (Ejemplo: 26)
     * @param {String} opts.fecha Fecha a filtrar (Ejemplo: 0000-00-00 00:00:00)
     * @param {Number} opts.paginacin Muestra los resultados en páginas con una cantidad de 10 elementos por página
     * @param {Number} opts.recogido Se marca a 1 cuando se obtienen los datos solicitados correctamente (Ejemplo: 0)
     * @param {String} opts.fechaRecogido Fecha en que se marco a 1 los datos recogidos correctamente (Ejemplo: 0000-00-00 00:00:00)
     * @param {Number} opts.check Si este campo se marca a '1' se actualizará el campo 'recogido' 
	 * con el valor '1' y se registrará la fecha actual en el campo 'fecha_recogido'
     * @param {module:api/TiemposEsperaApi~tiemposEsperaGetCallback} callback The callback function, 
	 * accepting three arguments: error, data, response
     * data is of type: {@link <&vendorExtensions.x-jsdoc-type>}
     */
    tiemposEsperaGet(authorization, opts, callback) {
      opts = opts || {};
      let postBody = null;
      // verify the required parameter 'authorization' is set
      if (authorization === undefined || authorization === null) {
        throw new Error("Missing the required parameter 'authorization' when calling tiemposEsperaGet");
      }

      let pathParams = {
        
      };
      let queryParams = {
        'start_date_ticket': opts['startDateTicket'],'end_date_ticket': opts['endDateTicket'],
		'start_date_turno_atendido': opts['startDateTurnoAtendido'],'end_date_turno_atendido': opts['endDateTurnoAtendido'],
		'tiempo': opts['tiempo'],'seccion': opts['seccion'],'contador': opts['contador'],'turno': opts['turno'],
		'fecha': opts['fecha'],'paginación': opts['paginacin'],'recogido': opts['recogido'],'fecha_recogido': opts['fechaRecogido'],
		'check': opts['check']
      };
      let headerParams = {
        'Authorization': authorization
      };
      let formParams = {
        
      };

      let authNames = ['Authorization'];
      let contentTypes = [];
      let accepts = ['application/json'];
      let returnType = RespuestaOkTiemposEspera;

      return this.apiClient.callApi(
        '/tiemposEspera', 'GET',
        pathParams, queryParams, headerParams, formParams, postBody,
        authNames, contentTypes, accepts, returnType, callback
      );
    }
}