Grand Project Overview

Minion minion-updatepackageverificationresult-b5fd55a12f49

Status: Unknown

Workstream: None

Short Task: UpdatePackageVerificationResult

Result summary: <?php declare(strict_types=1); namespace TheGrandProject\Framework\Updates; final class UpdatePackageVerificationResult { public function __construct( private readonly UpdatePackage $package, private readonly bool $checksumVerified, private readonly bool $signatureVerified, private readonly ?string $calculatedChecksum = null, private readonly ?\DateTimeImmutable $verifiedAt = null, ) { } public function package(): UpdatePackage {

<?php

declare(strict_types=1);

namespace TheGrandProject\Framework\Updates;

final class UpdatePackageVerificationResult
{
    public function __construct(
        private readonly UpdatePackage $package,
        private readonly bool $checksumVerified,
        private readonly bool $signatureVerified,
        private readonly ?string $calculatedChecksum = null,
        private readonly ?\DateTimeImmutable $verifiedAt = null,
    ) {
    }

    public function package(): UpdatePackage
    {
        return $this->package;
    }

    public function checksumVerified(): bool
    {
        return $this->checksumVerified;
    }

    public function signatureVerified(): bool
    {
        return $this->signatureVerified;
    }

    public function verified(): bool
    {
        return $this->checksumVerified && $this->signatureVerified;
    }

    public function calculatedChecksum(): ?string
    {
        return $this->calculatedChecksum;
    }

    public function verifiedAt(): ?\DateTimeImmutable
    {
        return $this->verifiedAt;
    }

    /**
     * @return array<string, mixed>
     */
    public function toArray(): array
    {
        return [
            'package' => $this->package->toArray(),
            'checksum_verified' => $this->checksumVerified,
            'signature_verified' => $this->signatureVerified,
            'verified' => $this->verified(),
            'calculated_checksum' => $this->calculatedChecksum,
            'verified_at' => $this->verifiedAt?->format(DATE_ATOM),
        ];
    }
}

Warnings: None