<?php

class ApiLogErrorController extends BaseController
{
    public function index()
    {
		$this->checkScopes(['admin.view']);

		$getParams = $this->request->get();

		$getParams['limit'] = $this->getDefaultLimit($getParams);
		$getParams['offset'] = array_key_exists('offset', $getParams) ? $getParams['offset'] : 0;
		$getParams['api_name'] = array_key_exists('api_name', $getParams) ? $getParams['api_name'] : '';
		$getParams['log'] = array_key_exists('log', $getParams) ? $getParams['log'] : '';

		$validatedRequest = $this->validate(
			$getParams,
			[
				'limit' => ['validators' => ['digit']],
				'offset' => ['validators' => ['digit']],
				'start_date' => ['validators' => ['required', 'date']],
				'end_date' => ['validators' => ['required', 'date']]
			]
		);

		$model = new ApiErrors();

		$result = $model->search(
			$getParams['api_name'],
			$getParams['log'],
			$getParams['start_date'],
			$getParams['end_date'],
			$getParams['limit'],
			$getParams['offset']
		)
			->toArray();

		$totalResult = count($result);
		return new PaginatedResponse($result, $totalResult, $totalResult, 0);
	}

    public function debug()
    {
        $envData = [
            'DB_NAME' => getenv('DB_NAME'),
            'DB_HOST' => getenv('DB_HOST'),
            'DB_PORT' => getenv('DB_PORT'),
            'DB_SCHEMA' => getenv('DB_SCHEMA'),
            'DB_NAME_STRANAS_2024' => getenv('DB_NAME_STRANAS_2024'),
            'DB_HOST_STRANAS_2024' => getenv('DB_HOST_STRANAS_2024'),
            'DB_PORT_STRANAS_2024' => getenv('DB_PORT_STRANAS_2024'),
            'DB_SCHEMA_STRANAS_2024' => getenv('DB_SCHEMA_STRANAS_2024'),
            'DB_NAME_STRANAS_2025' => getenv('DB_NAME_STRANAS_2025'),
            'DB_HOST_STRANAS_2025' => getenv('DB_HOST_STRANAS_2025'),
            'DB_PORT_STRANAS_2025' => getenv('DB_PORT_STRANAS_2025'),
            'DB_SCHEMA_STRANAS_2025' => getenv('DB_SCHEMA_STRANAS_2025')
        ];

        return $this->response->setJsonContent($envData);
    }
}
