RequirementDetector.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Services\History\Detector;
  3. use App\Services\History\Converter\AssetConverter;
  4. use App\Services\History\Converter\ConverterContact;
  5. use App\Services\History\Converter\EmailConverter;
  6. use App\Services\History\Converter\ModelConverter;
  7. use App\Services\History\Converter\ModelEnumConverter;
  8. use App\Services\History\Converter\PlanConverter;
  9. use App\Services\History\Converter\RequirementGroupConverter;
  10. use App\Services\History\Converter\UserConverter;
  11. use App\Services\History\Converter\WhitelistConverter;
  12. class RequirementDetector extends DetectorAbstract
  13. {
  14. public static function fields(): array
  15. {
  16. return [
  17. 'title',
  18. 'status',
  19. 'asset_id',
  20. 'requirement_group_id',
  21. 'reviewed_by',
  22. 'priority',
  23. 'note',
  24. 'mailto',
  25. 'plan_id',
  26. 'comment',
  27. 'close_reason',
  28. 'description',
  29. 'acceptance',
  30. ];
  31. }
  32. public static function diffFields(): array
  33. {
  34. return [
  35. 'description',
  36. 'comment',
  37. 'acceptance',
  38. ];
  39. }
  40. public static function converters():array
  41. {
  42. return [
  43. "whitelist" => new WhitelistConverter(),
  44. "mailto" => new EmailConverter(),
  45. "status" => new ModelEnumConverter("requirement.status"),
  46. "requirement_group_id" => new RequirementGroupConverter(),
  47. "asset_id" => new AssetConverter(),
  48. "reviewed_by" => new UserConverter(),
  49. "plan_id" => new PlanConverter(),
  50. ];
  51. }
  52. public static function arrayFields(): array
  53. {
  54. return [
  55. 'mailto'
  56. ];
  57. }
  58. }