PositionResource.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Drupal\migrate_example_advanced_setup\Plugin\rest\resource;
  3. use Drupal\rest\Plugin\ResourceBase;
  4. use Drupal\rest\ResourceResponse;
  5. /**
  6. * Represents positions as resources.
  7. *
  8. * @RestResource(
  9. * id = "migrate_example_advanced_position",
  10. * label = @Translation("Advanced migration example - Position data"),
  11. * uri_paths = {
  12. * "canonical" = "/migrate_example_advanced_position"
  13. * }
  14. * )
  15. */
  16. class PositionResource extends ResourceBase {
  17. /**
  18. * Responds to GET requests.
  19. *
  20. * @return \Drupal\rest\ResourceResponse
  21. * The response containing the position data.
  22. */
  23. public function get() {
  24. $position1 = ['sourceid' => 'wine_taster', 'name' => 'Wine Taster'];
  25. $position2 = ['sourceid' => 'vintner', 'name' => 'Vintner'];
  26. $data = ['position' => [$position1, $position2]];
  27. $response = new ResourceResponse($data, 200);
  28. return $response;
  29. }
  30. /**
  31. * {@inheritdoc}
  32. */
  33. public function permissions() {
  34. // Remove permissions so the resource is available to all.
  35. return [];
  36. }
  37. }