30 lines
934 B
PHP
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;
|
|
}
|