Add.php 830 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Util\ActivityPub\Validator;
  3. use Validator;
  4. use Illuminate\Validation\Rule;
  5. class Add {
  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(['Add'])
  14. ],
  15. 'actor' => 'required|url',
  16. 'object' => 'required',
  17. 'object.id' => 'required|url',
  18. 'object.type' => [
  19. 'required',
  20. Rule::in(['Story'])
  21. ],
  22. 'object.attributedTo' => 'required|url|same:actor',
  23. 'object.attachment' => 'required',
  24. 'object.attachment.type' => [
  25. 'required',
  26. Rule::in(['Image'])
  27. ],
  28. 'object.attachment.url' => 'required|url',
  29. 'object.attachment.mediaType' => [
  30. 'required',
  31. Rule::in(['image/jpeg', 'image/png'])
  32. ]
  33. ])->passes();
  34. return $valid;
  35. }
  36. }