You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.6KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Model\User;
  3. use Doctrine\Common\Collections\Collection;
  4. use Lc\CaracoleBundle\Model\Credit\CreditHistoryInterface;
  5. use Lc\CaracoleBundle\Model\Merchant\MerchantInterface;
  6. use Lc\CaracoleBundle\Model\Section\SectionInterface;
  7. interface UserMerchantInterface
  8. {
  9. public function getUser(): ?UserModel;
  10. public function setUser(?UserModel $user): UserMerchantInterface;
  11. public function getMerchant(): ?MerchantInterface;
  12. public function setMerchant(?MerchantInterface $merchant): UserMerchantInterface;
  13. public function getCurrentAdminSection(): ?SectionInterface;
  14. public function setCurrentAdminSection(?SectionInterface $currentAdminSection
  15. ): UserMerchantInterface;
  16. public function getCredit(): ?float;
  17. public function setCredit(?float $credit): UserMerchantInterface;
  18. public function getCreditActive(): ?bool;
  19. public function isCreditActive(): bool;
  20. public function setCreditActive(bool $creditActive): UserMerchantInterface;
  21. /**
  22. * @return Collection|CreditHistoryInterface[]
  23. */
  24. public function getCreditHistories(): Collection;
  25. public function addCreditHistory(CreditHistoryInterface $creditHistory
  26. ): UserMerchantInterface;
  27. public function removeCreditHistory(CreditHistoryInterface $creditHistory
  28. ): UserMerchantInterface;
  29. public function getActive(): ?bool;
  30. public function setActive(bool $active): UserMerchantInterface;
  31. public function getRoles(): array;
  32. public function setRoles(array $roles): UserMerchantInterface;
  33. public function hasRole($role);
  34. }