Lines 100.00% 6 / 6
Functions and Methods 100.00% 1 / 1
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
MyAppointmentsService 100.00% 6 / 6 100.00% 1 / 1 2 100.00% 1 / 1
 getAppointmentsForUser 100.00% 6 / 6 100.00% 1 / 1 2
1<?php
2
3declare(strict_types=1);
4
5namespace BO\Zmscitizenapi\Services\Appointment;
6
7use BO\Zmscitizenapi\Services\Core\MapperService;
8use BO\Zmscitizenapi\Models\AuthenticatedUser;
9use BO\Zmscitizenapi\Services\Core\ZmsApiFacadeService;
10
11class MyAppointmentsService
12{
13    public function getAppointmentsForUser(AuthenticatedUser $user, ?int $filterId = null): array
14    {
15        $externalUserId = $user->getExternalUserId();
16        $processList = ZmsApiFacadeService::getAppointmentsByExternalUserId($externalUserId, $filterId, "confirmed");
17        $thinnedProcessList = [];
18        foreach ($processList as $process) {
19            $thinnedProcessList[] = MapperService::processToThinnedProcess($process);
20        }
21        return $thinnedProcessList;
22    }
23}