Files
onboard/app/Domain/ReportDuty/Contracts/ReportDutySnapshotRepositoryInterface.php
2026-07-31 17:19:03 +09:00

30 lines
934 B
PHP

<?php
namespace App\Domain\ReportDuty\Contracts;
use App\Domain\ReportDuty\DTO\MigrationSnapshotData;
use App\Domain\ReportDuty\DTO\PatientSnapshotData;
use App\Domain\ReportDuty\DTO\ReanimationSnapshotData;
use Illuminate\Support\LazyCollection;
interface ReportDutySnapshotRepositoryInterface
{
/**
* @param int $reportDutyId
* @param LazyCollection<int, PatientSnapshotData> $patients
* @param LazyCollection<int, MigrationSnapshotData> $migrations
* @param LazyCollection<int, ReanimationSnapshotData> $reanimations
* @param int $userId
* @param int $departmentId
* @return array{savedPatients: int, savedMigrations: int, savedReanimations: int}
*/
public function upsertSnapshot(
int $reportDutyId,
LazyCollection $patients,
LazyCollection $migrations,
LazyCollection $reanimations,
int $userId,
int $departmentId
): array;
}