groups.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. $app->get('/groups', function ($request, $response, $args) {
  3. $Organizr = ($request->getAttribute('Organizr')) ?? new Organizr();
  4. if ($Organizr->qualifyRequest(1, true)) {
  5. $GLOBALS['api']['response']['data'] = $Organizr->getAllGroups();
  6. }
  7. $response->getBody()->write(jsonE($GLOBALS['api']));
  8. return $response
  9. ->withHeader('Content-Type', 'application/json;charset=UTF-8')
  10. ->withStatus($GLOBALS['responseCode']);
  11. });
  12. $app->get('/groups/{id}', function ($request, $response, $args) {
  13. $Organizr = ($request->getAttribute('Organizr')) ?? new Organizr();
  14. if ($Organizr->qualifyRequest(1, true)) {
  15. $GLOBALS['api']['response']['data'] = $Organizr->getGroupById($args['id']);
  16. }
  17. $response->getBody()->write(jsonE($GLOBALS['api']));
  18. return $response
  19. ->withHeader('Content-Type', 'application/json;charset=UTF-8')
  20. ->withStatus($GLOBALS['responseCode']);
  21. });
  22. $app->post('/groups', function ($request, $response, $args) {
  23. $Organizr = ($request->getAttribute('Organizr')) ?? new Organizr();
  24. if ($Organizr->checkRoute($request)) {
  25. if ($Organizr->qualifyRequest(1, true)) {
  26. $Organizr->addGroup($Organizr->apiData($request));
  27. }
  28. }
  29. $response->getBody()->write(jsonE($GLOBALS['api']));
  30. return $response
  31. ->withHeader('Content-Type', 'application/json;charset=UTF-8')
  32. ->withStatus($GLOBALS['responseCode']);
  33. });
  34. $app->put('/groups/{id}', function ($request, $response, $args) {
  35. $Organizr = ($request->getAttribute('Organizr')) ?? new Organizr();
  36. if ($Organizr->checkRoute($request)) {
  37. if ($Organizr->qualifyRequest(1, true)) {
  38. $Organizr->updateGroup($args['id'], $Organizr->apiData($request));
  39. }
  40. }
  41. $response->getBody()->write(jsonE($GLOBALS['api']));
  42. return $response
  43. ->withHeader('Content-Type', 'application/json')
  44. ->withStatus($GLOBALS['responseCode']);
  45. });
  46. $app->delete('/groups/{id}', function ($request, $response, $args) {
  47. $Organizr = ($request->getAttribute('Organizr')) ?? new Organizr();
  48. if ($Organizr->checkRoute($request)) {
  49. if ($Organizr->qualifyRequest(1, true)) {
  50. $Organizr->deleteGroup($args['id']);
  51. }
  52. }
  53. $response->getBody()->write(jsonE($GLOBALS['api']));
  54. return $response
  55. ->withHeader('Content-Type', 'application/json')
  56. ->withStatus($GLOBALS['responseCode']);
  57. });