UploadRequest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. declare (strict_types=1);
  3. namespace App\ApiResources\Core\File;
  4. use ApiPlatform\Metadata\ApiProperty;
  5. use ApiPlatform\Metadata\ApiResource;
  6. use ApiPlatform\Metadata\Get;
  7. use App\State\Processor\Core\UploadRequestProcessor;
  8. use App\State\Provider\Core\DownloadRequestProvider;
  9. /**
  10. * A request for a file from the LocalStorage
  11. */
  12. #[ApiResource(
  13. operations: [
  14. new Post(
  15. uriTemplate: '/upload/{fileId}',
  16. requirements: ['fileId' => '\\d+'],
  17. security: 'is_granted("ROLE_FILE")',
  18. processor: UploadRequestProcessor::class
  19. ),
  20. new Put(
  21. uriTemplate: '/upload/{fileId}',
  22. requirements: ['fileId' => '\\d+'],
  23. security: 'is_granted("ROLE_FILE")',
  24. processor: UploadRequestProcessor::class
  25. ),
  26. new Post(
  27. uriTemplate: '/internal/download/{fileId}',
  28. requirements: ['fileId' => '\\d+'],
  29. processor: UploadRequestProcessor::class
  30. ),
  31. new Put(
  32. uriTemplate: '/internal/download/{fileId}',
  33. requirements: ['fileId' => '\\d+'],
  34. processor: UploadRequestProcessor::class
  35. )
  36. ]
  37. )]
  38. class UploadRequest
  39. {
  40. private int $fileId;
  41. private string $content;
  42. /**
  43. * @return int
  44. */
  45. public function getFileId() : int
  46. {
  47. return $this->fileId;
  48. }
  49. /**
  50. * @param int $fileId
  51. */
  52. public function setFileId(int $fileId) : void
  53. {
  54. $this->fileId = $fileId;
  55. }
  56. public function getContent(): string
  57. {
  58. return $this->content;
  59. }
  60. public function setContent(string $content): void
  61. {
  62. $this->content = $content;
  63. }
  64. }