<?php declare(strict_types=1); namespace App\Domain\Payment\StatusModels\Issueance; use App\BaseClasses\BasePaymentStatusModel; use App\Domain\Payment\Enums\PaymentStatusEnum; class IssueanceDraftStatusModel extends BasePaymentStatusModel { public function getRollBackStatus(): ?PaymentStatusEnum { return null; } public function getAvailableStatuses(bool $isAccountant = false): array { //todo проверять роль юзера return ($isAccountant) ? [ PaymentStatusEnum::STATUS_ISSUED->value, ] : [ PaymentStatusEnum::STATUS_APPROVE->value, PaymentStatusEnum::STATUS_AGREE_ONE_TWO->value, ]; } public function getNextStatus(): ?PaymentStatusEnum { //todo проверять роль юзера return PaymentStatusEnum::STATUS_ISSUED; } public function getPreviousStatus(): ?PaymentStatusEnum { return null; } }