ObjectAction.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?php
  2. namespace App\Models\Enums;
  3. enum ObjectAction: string
  4. {
  5. case UPLOADED = "uploaded";
  6. case UNDELETED = "undeleted";
  7. case SUBMITTED = "submitted";
  8. case STARTED = "started";
  9. case REVIEWED = "reviewed";
  10. case RESTARTED = "restarted";
  11. case RESPOND = "respond";
  12. case PAUSED = "paused";
  13. case OPENED = "opened";
  14. case MOVED = "moved";
  15. case ISSUED = "issued";
  16. case FINISHED = "finished";
  17. case CREATED = "created";
  18. case EDITED = "edited";
  19. case DONE = "done";
  20. case DELAY = "delay"; //延迟
  21. case DELETED = "deleted";
  22. case CONFIRMED = "confirmed";
  23. case CLOSED = "closed";
  24. case CHANGED = "changed";
  25. case CANCELED = "canceled";
  26. case ASSIGNED = "assigned";
  27. case DELETED_FILE = "deletedFile";
  28. case EDITED_FILE = "editedFile";
  29. case HIDDEN = "hidden";
  30. case COMMENTED = "commented";
  31. case ACTIVATED = "activated";
  32. case BLOCKED = "blocked";
  33. case LINKED_TO_PLAN = "linkedToPlan";
  34. case CHANGED_STATUS = "change status";
  35. case VERIFIED = "verified";
  36. case SUSPENDED = "suspended";
  37. case LINK_CHILDREN_TASK = "linkChildrenTask";
  38. case UNLINK_CHILDREN_TASK = "unlinkChildrenTask";
  39. case BATCH_CREATE_TASK = "batchCreateTask";
  40. case DELETE_CHILDREN_TASK = "deleteChildrenTask";
  41. case WAITED ="waited";
  42. case APPROVAL_REQUEST= 'approvalRequest';
  43. case APPROVAL_APPROVED = 'approvalApproved';
  44. case APPROVAL_REJECTED = 'approvalRejected';
  45. case APPROVED_TO_NEXT_NODE ='approvedToNextStep';
  46. case APPROVED_CANCELED ='approvedCanceled';
  47. public function isApproval()
  48. {
  49. return in_array($this->value, [
  50. self::APPROVAL_REQUEST->value,
  51. self::APPROVAL_APPROVED->value,
  52. self::APPROVAL_REJECTED->value,
  53. self::APPROVED_TO_NEXT_NODE->value,
  54. ]);
  55. }
  56. public static function messageNotificationItems()
  57. {
  58. $approval = [
  59. self::APPROVAL_REQUEST,
  60. self::APPROVAL_APPROVED,
  61. self::APPROVAL_REJECTED,
  62. self::APPROVED_TO_NEXT_NODE,
  63. ];
  64. return [
  65. ActionObjectType::REQUIREMENT->value => [
  66. self::CREATED,
  67. self::EDITED,
  68. self::STARTED,
  69. self::CHANGED,
  70. self::CLOSED,
  71. ...$approval,
  72. ],
  73. ActionObjectType::TASK->value => [
  74. ObjectAction::STARTED,
  75. ObjectAction::PAUSED,
  76. ObjectAction::CLOSED,
  77. ObjectAction::DONE,
  78. ObjectAction::CANCELED,
  79. ObjectAction::EDITED,
  80. ...$approval,
  81. ],
  82. ActionObjectType::CONTAINER->value => [
  83. ObjectAction::CREATED,
  84. ObjectAction::EDITED,
  85. ...$approval,
  86. ],
  87. ActionObjectType::PROJECT->value => [
  88. ...$approval,
  89. ]
  90. ];
  91. }
  92. }