<?php
declare(strict_types=1);

namespace FreshCloud\Mail\Log;

use FreshCloud\Mail\PocketBaseAdapter\PocketBaseAdapter;
use FreshCloud\Mail\PocketBaseAdapter\CollectionAdapter;

final class NullPb implements PocketBaseAdapter
{
    public function collection(string $name): CollectionAdapter
    {
        return new NullCollectionAdapter();
    }
}

final class NullCollectionAdapter implements CollectionAdapter
{
    public function create(array $data): array
    {
        return array_merge(['id' => 'null-' . uniqid()], $data);
    }
    public function getOne(string $id): array
    {
        return ['id' => $id];
    }
    public function getList(int $page, int $perPage, array $opts = []): array
    {
        return ['items' => []];
    }
    public function update(string $id, array $data): array
    {
        return array_merge(['id' => $id], $data);
    }
    public function delete(string $id): void
    {
        // no-op
    }
}
