<?php

namespace App\Core\Citizenship\Api;

abstract class AbstractCitizenshipApiProvider implements CitizenshipApiProviderInterface
{
    protected array $config;

    public function __construct(array $config = [])
    {
        $this->config = $config;
    }

    protected function getConfig(string $key, mixed $default = null): mixed
    {
        return $this->config[$key] ?? $default;
    }

    protected function ok(array $response = []): array
    {
        return ['valid' => true, 'message' => null, 'response' => $response];
    }

    protected function fail(string $message, array $response = []): array
    {
        return ['valid' => false, 'message' => $message, 'response' => $response];
    }

    public function getConfigFields(): array
    {
        return [];
    }
}
