ObjectAction.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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. case APPROVED_WAIT_OTHERS = "approvedWaitOthers";
  48. public function isApproval()
  49. {
  50. return in_array($this->value, [
  51. self::APPROVAL_REQUEST->value,
  52. self::APPROVAL_APPROVED->value,
  53. self::APPROVAL_REJECTED->value,
  54. self::APPROVED_TO_NEXT_NODE->value,
  55. self::APPROVED_WAIT_OTHERS->value,
  56. ]);
  57. }
  58. public static function messageNotificationItems()
  59. {
  60. $approval = [
  61. self::APPROVAL_REQUEST,
  62. self::APPROVAL_APPROVED,
  63. self::APPROVAL_REJECTED,
  64. self::APPROVED_TO_NEXT_NODE,
  65. self::APPROVED_WAIT_OTHERS,
  66. ];
  67. return [
  68. ActionObjectType::REQUIREMENT->value => [
  69. self::CREATED,
  70. self::EDITED,
  71. self::STARTED,
  72. self::CHANGED,
  73. self::CLOSED,
  74. ...$approval,
  75. ],
  76. ActionObjectType::TASK->value => [
  77. ObjectAction::STARTED,
  78. ObjectAction::PAUSED,
  79. ObjectAction::CLOSED,
  80. ObjectAction::DONE,
  81. ObjectAction::CANCELED,
  82. ObjectAction::EDITED,
  83. ...$approval,
  84. ],
  85. ActionObjectType::CONTAINER->value => [
  86. ObjectAction::CREATED,
  87. ObjectAction::EDITED,
  88. ...$approval,
  89. ],
  90. ActionObjectType::PROJECT->value => [
  91. ...$approval,
  92. ]
  93. ];
  94. }
  95. }