CprMonitoringService.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace Services;
  3. use Models\CprMonitoringModel;
  4. class CprMonitoringService
  5. {
  6. private CprMonitoringModel $model;
  7. public function __construct()
  8. {
  9. $this->model = new CprMonitoringModel();
  10. }
  11. public function create(int $cprId, bool $preview, string $description, string $link): array
  12. {
  13. if ($cprId <= 0) {
  14. throw new \InvalidArgumentException('Invalid cpr_id');
  15. }
  16. $description = trim($description);
  17. $link = trim($link);
  18. if ($description === '') {
  19. throw new \InvalidArgumentException('Invalid description');
  20. }
  21. if ($link === '') {
  22. throw new \InvalidArgumentException('Invalid link');
  23. }
  24. return $this->model->create($cprId, $preview, $description, $link);
  25. }
  26. public function getById(int $id): ?array
  27. {
  28. if ($id <= 0) {
  29. throw new \InvalidArgumentException('Invalid id');
  30. }
  31. return $this->model->getById($id);
  32. }
  33. public function listByCprId(int $cprId): array
  34. {
  35. if ($cprId <= 0) {
  36. throw new \InvalidArgumentException('Invalid cpr_id');
  37. }
  38. return $this->model->listByCprId($cprId);
  39. }
  40. public function update(int $id, ?bool $preview = null, ?string $description = null, ?string $link = null): ?array
  41. {
  42. if ($id <= 0) {
  43. throw new \InvalidArgumentException('Invalid id');
  44. }
  45. if ($description !== null) {
  46. $description = trim($description);
  47. if ($description === '') {
  48. throw new \InvalidArgumentException('Invalid description');
  49. }
  50. }
  51. if ($link !== null) {
  52. $link = trim($link);
  53. if ($link === '') {
  54. throw new \InvalidArgumentException('Invalid link');
  55. }
  56. }
  57. return $this->model->update($id, $preview, $description, $link);
  58. }
  59. public function delete(int $id): bool
  60. {
  61. if ($id <= 0) {
  62. throw new \InvalidArgumentException('Invalid id');
  63. }
  64. return $this->model->delete($id);
  65. }
  66. }