<?php

/**
 * CometVisu Manager backend
 * PHP version 7.4
 *
 * @package OpenAPIServer
 * @author  OpenAPI Generator team
 * @link    https://github.com/openapitools/openapi-generator
 */

/**
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 * The version of the OpenAPI document: 1.0.0
 * Generated by: https://github.com/openapitools/openapi-generator.git
 */

/**
 * NOTE: This class is auto generated by the openapi generator program.
 * https://github.com/openapitools/openapi-generator
 * Do not edit the class manually.
 */
namespace OpenAPIServer\Api;

use Psr\Container\ContainerInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use Slim\Exception\HttpNotImplementedException;

/**
 * AbstractDataproviderApi Class Doc Comment
 *
 * @package OpenAPIServer\Api
 * @author  OpenAPI Generator team
 * @link    https://github.com/openapitools/openapi-generator
 */
abstract class AbstractDataproviderApi
{

    /**
     * @var ContainerInterface|null Slim app container instance
     */
    protected $container;

    /**
     * Route Controller constructor receives container
     *
     * @param ContainerInterface|null $container Slim app container instance
     */
    public function __construct(ContainerInterface $container = null)
    {
        $this->container = $container;
    }


    /**
     * GET getAddresses
     * Summary: Returns the list of available addresses.
     * Output-Formats: [application/json]
     *
     * @param ServerRequestInterface $request  Request
     * @param ResponseInterface      $response Response
     * @param array|null             $args     Path arguments
     *
     * @return ResponseInterface
     * @throws HttpNotImplementedException to force implementation class to override this method
     */
    public function getAddresses(ServerRequestInterface $request, ResponseInterface $response, array $args)
    {
        $message = "How about implementing getAddresses as a GET method in OpenAPIServer\Api\DataproviderApi class?";
        throw new HttpNotImplementedException($request, $message);
    }

    /**
     * GET getDesigns
     * Summary: Returns the list of available designs.
     * Output-Formats: [application/json]
     *
     * @param ServerRequestInterface $request  Request
     * @param ResponseInterface      $response Response
     * @param array|null             $args     Path arguments
     *
     * @return ResponseInterface
     * @throws HttpNotImplementedException to force implementation class to override this method
     */
    public function getDesigns(ServerRequestInterface $request, ResponseInterface $response, array $args)
    {
        $message = "How about implementing getDesigns as a GET method in OpenAPIServer\Api\DataproviderApi class?";
        throw new HttpNotImplementedException($request, $message);
    }

    /**
     * GET getInfluxDBFields
     * Summary: Returns the list of available influx database fields.
     * Output-Formats: [application/json]
     *
     * @param ServerRequestInterface $request  Request
     * @param ResponseInterface      $response Response
     * @param array|null             $args     Path arguments
     *
     * @return ResponseInterface
     * @throws HttpNotImplementedException to force implementation class to override this method
     */
    public function getInfluxDBFields(ServerRequestInterface $request, ResponseInterface $response, array $args)
    {
        $queryParams = $request->getQueryParams();
        $auth = (key_exists('auth', $queryParams)) ? $queryParams['auth'] : null;
        $measurement = (key_exists('measurement', $queryParams)) ? $queryParams['measurement'] : null;
        $message = "How about implementing getInfluxDBFields as a GET method in OpenAPIServer\Api\DataproviderApi class?";
        throw new HttpNotImplementedException($request, $message);
    }

    /**
     * GET getInfluxDBTags
     * Summary: Returns the list of available influx database tags.
     * Output-Formats: [application/json]
     *
     * @param ServerRequestInterface $request  Request
     * @param ResponseInterface      $response Response
     * @param array|null             $args     Path arguments
     *
     * @return ResponseInterface
     * @throws HttpNotImplementedException to force implementation class to override this method
     */
    public function getInfluxDBTags(ServerRequestInterface $request, ResponseInterface $response, array $args)
    {
        $queryParams = $request->getQueryParams();
        $auth = (key_exists('auth', $queryParams)) ? $queryParams['auth'] : null;
        $measurement = (key_exists('measurement', $queryParams)) ? $queryParams['measurement'] : null;
        $message = "How about implementing getInfluxDBTags as a GET method in OpenAPIServer\Api\DataproviderApi class?";
        throw new HttpNotImplementedException($request, $message);
    }

    /**
     * GET getInfluxDBs
     * Summary: Returns the list of available influx databases.
     * Output-Formats: [application/json]
     *
     * @param ServerRequestInterface $request  Request
     * @param ResponseInterface      $response Response
     * @param array|null             $args     Path arguments
     *
     * @return ResponseInterface
     * @throws HttpNotImplementedException to force implementation class to override this method
     */
    public function getInfluxDBs(ServerRequestInterface $request, ResponseInterface $response, array $args)
    {
        $queryParams = $request->getQueryParams();
        $auth = (key_exists('auth', $queryParams)) ? $queryParams['auth'] : null;
        $message = "How about implementing getInfluxDBs as a GET method in OpenAPIServer\Api\DataproviderApi class?";
        throw new HttpNotImplementedException($request, $message);
    }

    /**
     * GET getRRDs
     * Summary: Returns the list of available RRDs.
     * Output-Formats: [application/json]
     *
     * @param ServerRequestInterface $request  Request
     * @param ResponseInterface      $response Response
     * @param array|null             $args     Path arguments
     *
     * @return ResponseInterface
     * @throws HttpNotImplementedException to force implementation class to override this method
     */
    public function getRRDs(ServerRequestInterface $request, ResponseInterface $response, array $args)
    {
        $message = "How about implementing getRRDs as a GET method in OpenAPIServer\Api\DataproviderApi class?";
        throw new HttpNotImplementedException($request, $message);
    }
}
