PermissionDtop.php 888 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace App\DataTransferObjects;
  3. use App\Http\Requests\PermissionRequest;
  4. readonly class PermissionDto
  5. {
  6. public function __construct(
  7. public string $name,
  8. public string $description,
  9. public string $bits,
  10. public string $parent_id,
  11. ) {
  12. }
  13. public static function fromRequest(PermissionRequest $request): self
  14. {
  15. return new self(
  16. name: $request->validated('name'),
  17. description: $request->validated('description'),
  18. bits: $request->validated('bits'),
  19. parent_id: $request->validated('parent_id'),
  20. );
  21. }
  22. public static function fromArray(array $data): self
  23. {
  24. return new self(
  25. name: $data['name'],
  26. description: $data['description'],
  27. bits: $data['bits'],
  28. parent_id: $data['parent_id'],
  29. );
  30. }
  31. }