ContainerDetector.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Services\History\Detector;
  3. use App\Models\Enums\CustomFieldGroup;
  4. use App\Services\History\Converter\ContainerConverter;
  5. use App\Services\History\Converter\CustomFieldSelectConverter;
  6. use App\Services\History\Converter\EmailConverter;
  7. use App\Services\History\Converter\ModelEnumConverter;
  8. use App\Services\History\Converter\NamingRuleConverter;
  9. use App\Services\History\Converter\WhitelistConverter;
  10. class ContainerDetector extends DetectorAbstract
  11. {
  12. public static function fields(): array
  13. {
  14. return [
  15. 'library_id',
  16. 'naming_rule_id',
  17. 'task_type',
  18. 'doc_stage',
  19. 'acl',
  20. 'whitelist',
  21. 'description',
  22. 'mailto',
  23. 'email_subject',
  24. ];
  25. }
  26. public static function diffFields(): array
  27. {
  28. return [
  29. 'description',
  30. ];
  31. }
  32. public static function arrayFields(): array
  33. {
  34. return [
  35. 'mailto',
  36. ];
  37. }
  38. public static function converters(): array
  39. {
  40. return [
  41. "whitelist" => new WhitelistConverter(),
  42. "acl" => new ModelEnumConverter("container.acl"),
  43. "doc_stage" => new CustomFieldSelectConverter(CustomFieldGroup::CONTAINER->value, "doc_stage"),
  44. "doc_type" => new CustomFieldSelectConverter(CustomFieldGroup::CONTAINER->value, "doc_type"),
  45. "naming_rule_id" => new NamingRuleConverter(),
  46. "library_id" => new ContainerConverter(),
  47. "mailto" => new EmailConverter(),
  48. ];
  49. }
  50. }