<?php
/*
 * Copyright 2026 Alessandro Chiapparini <sprint_planer_web@chiapparini.org>
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * See the LICENSE file in the project root for the full license text.
 */

declare(strict_types=1);

namespace App\Domain;

final class Worker
{
    public function __construct(
        public readonly int     $id,
        public readonly string  $name,
        public readonly bool    $isActive,
        public readonly float   $defaultRtb,
        public readonly string  $createdAt,
        public readonly string  $updatedAt,
    ) {
    }

    /** Row snapshot for audit JSON. */
    public function toAuditSnapshot(): array
    {
        return [
            'id'          => $this->id,
            'name'        => $this->name,
            'is_active'   => $this->isActive ? 1 : 0,
            'default_rtb' => $this->defaultRtb,
            'created_at'  => $this->createdAt,
            'updated_at'  => $this->updatedAt,
        ];
    }
}
