<?php

namespace App\Http\Controllers\Wani;

use App\Http\Controllers\Controller;
use App\Models\WaniProvider;
use App\Support\XmlResponder;
use Illuminate\Support\Facades\Cache;

class RegistryController extends Controller
{
    public function pdoaList()
    {
        $pdoas = Cache::remember('wani:v1:pdoa-list', 900, function () {
            return WaniProvider::query()
                ->where('status', 'active')
                ->where('provider_type', 'PDOA')
                ->orderBy('provider_name')
                ->get(['provider_id', 'provider_name', 'ap_url', 'domain'])
                ->map(function ($p) {
                    return [
                        'ProviderId' => $p->provider_id,
                        'Name' => $p->provider_name ?? $p->provider_id,
                        'APIEndpoint' => $p->ap_url ?? ($p->domain ? "https://{$p->domain}" : ''),
                        'Domain' => $p->domain ?? '',
                    ];
                })
                ->toArray();
        });

        return XmlResponder::make(
            ['PDOA' => $pdoas, 'Count' => count($pdoas)],
            'PDOAs'
        );
    }
}
