StoryValidator.php 784 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace App\Util\ActivityPub\Validator;
  3. use Validator;
  4. use Illuminate\Validation\Rule;
  5. class StoryValidator {
  6. public static function validate($payload)
  7. {
  8. $valid = Validator::make($payload, [
  9. '@context' => 'required',
  10. 'id' => 'required|string',
  11. 'type' => [
  12. 'required',
  13. Rule::in(['Story'])
  14. ],
  15. 'to' => 'required',
  16. 'attributedTo' => 'required|url',
  17. 'published' => 'required|date',
  18. 'expiresAt' => 'required|date',
  19. 'duration' => 'required|integer|min:1|max:300',
  20. 'can_react' => 'required|boolean',
  21. 'can_reply' => 'required|boolean',
  22. 'attachment' => 'required',
  23. 'attachment.type' => 'required|in:Image,Video',
  24. 'attachment.url' => 'required|url',
  25. 'attachment.mediaType' => 'required'
  26. ])->passes();
  27. return $valid;
  28. }
  29. }