TenantAtlas/apps/platform/app/Models/EnvironmentReviewAcknowledgement.php
Ahmed Darrazi aaaad441fd
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m12s
feat: add customer review acknowledgement lifecycle (343)
2026-06-01 19:59:31 +02:00

77 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Models;
use App\Support\Concerns\DerivesWorkspaceIdFromTenant;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class EnvironmentReviewAcknowledgement extends Model
{
use DerivesWorkspaceIdFromTenant;
use HasFactory;
protected $guarded = [];
/**
* @return array<string, string>
*/
protected function casts(): array
{
return [
'acknowledged_at' => 'datetime',
];
}
/**
* @return BelongsTo<Workspace, $this>
*/
public function workspace(): BelongsTo
{
return $this->belongsTo(Workspace::class);
}
/**
* @return BelongsTo<ManagedEnvironment, $this>
*/
public function tenant(): BelongsTo
{
return $this->belongsTo(ManagedEnvironment::class, 'managed_environment_id');
}
/**
* @return BelongsTo<EnvironmentReview, $this>
*/
public function review(): BelongsTo
{
return $this->belongsTo(EnvironmentReview::class, 'environment_review_id');
}
/**
* @return BelongsTo<EvidenceSnapshot, $this>
*/
public function evidenceSnapshot(): BelongsTo
{
return $this->belongsTo(EvidenceSnapshot::class);
}
/**
* @return BelongsTo<ReviewPack, $this>
*/
public function reviewPack(): BelongsTo
{
return $this->belongsTo(ReviewPack::class);
}
/**
* @return BelongsTo<User, $this>
*/
public function acknowledgedByUser(): BelongsTo
{
return $this->belongsTo(User::class, 'acknowledged_by_user_id');
}
}