ObjectAction.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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 DOWNLOAD= "download";
  23. case CONFIRMED = "confirmed";
  24. case CLOSED = "closed";
  25. case CHANGED = "changed";
  26. case CANCELED = "canceled";
  27. case ASSIGNED = "assigned";
  28. case DELETED_FILE = "deletedFile";
  29. case EDITED_FILE = "editedFile";
  30. case HIDDEN = "hidden";
  31. case COMMENTED = "commented";
  32. case ACTIVATED = "activated";
  33. case BLOCKED = "blocked";
  34. case LINKED_TO_PLAN = "linkedToPlan";
  35. case CHANGED_STATUS = "change status";
  36. case VERIFIED = "verified";
  37. case SUSPENDED = "suspended";
  38. case LINK_CHILDREN_TASK = "linkChildrenTask";
  39. case UNLINK_CHILDREN_TASK = "unlinkChildrenTask";
  40. case BATCH_CREATE_TASK = "batchCreateTask";
  41. case DELETE_CHILDREN_TASK = "deleteChildrenTask";
  42. case WAITED ="waited";
  43. case APPROVAL_REQUEST= 'approvalRequest';
  44. case APPROVAL_APPROVED = 'approvalApproved';
  45. case APPROVAL_REJECTED = 'approvalRejected';
  46. case APPROVED_TO_NEXT_NODE ='approvedToNextStep';
  47. case APPROVED_CANCELED ='approvedCanceled';
  48. case APPROVED_WAIT_OTHERS = "approvedWaitOthers";
  49. public function isApproval()
  50. {
  51. return in_array($this->value, [
  52. self::APPROVAL_REQUEST->value,
  53. self::APPROVAL_APPROVED->value,
  54. self::APPROVAL_REJECTED->value,
  55. self::APPROVED_TO_NEXT_NODE->value,
  56. self::APPROVED_WAIT_OTHERS->value,
  57. ]);
  58. }
  59. public static function messageNotificationItems()
  60. {
  61. $approval = [
  62. self::APPROVAL_REQUEST,
  63. self::APPROVAL_APPROVED,
  64. self::APPROVAL_REJECTED,
  65. self::APPROVED_TO_NEXT_NODE,
  66. self::APPROVED_WAIT_OTHERS,
  67. ];
  68. return [
  69. ActionObjectType::REQUIREMENT->value => [
  70. self::CREATED,
  71. self::EDITED,
  72. self::STARTED,
  73. self::CHANGED,
  74. self::CLOSED,
  75. ...$approval,
  76. ],
  77. ActionObjectType::TASK->value => [
  78. ObjectAction::STARTED,
  79. ObjectAction::PAUSED,
  80. ObjectAction::CLOSED,
  81. ObjectAction::DONE,
  82. ObjectAction::CANCELED,
  83. ObjectAction::EDITED,
  84. ...$approval,
  85. ],
  86. ActionObjectType::CONTAINER->value => [
  87. ObjectAction::CREATED,
  88. ObjectAction::EDITED,
  89. ...$approval,
  90. ],
  91. ActionObjectType::PROJECT->value => [
  92. ...$approval,
  93. ]
  94. ];
  95. }
  96. }