index.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. /*
  3. * TODO:
  4. *
  5. * Rewrite this. Shouldnt be a test file, like its now.
  6. *
  7. * */
  8. require "./src/gpac.php";
  9. use Gogs\Lib\Curl\Exception as ApiException;
  10. define('API_URL', 'https://git.giaever.org/api/v1');
  11. define('API_TOKEN', '142efbfd6fbdf147f03d289f8b22a438eaa1b5d1');
  12. $client = new Gogs\API\Client(API_URL, API_TOKEN);
  13. try {
  14. $me = $client->user()->load();
  15. $tester = "tester";
  16. if (API_TOKEN == "142efbfd6fbdf147f03d289f8b22a438eaa1b5d1")
  17. $tester = "joachimmg";
  18. $repos = $me->repos()->load();
  19. echo "\nNormal repo\n";
  20. foreach($repos->all() as $key => $repo)
  21. echo sprintf("* %s: %s\n", $key, $repo->name);
  22. echo "\nSorted created\n";
  23. foreach($repos->sort_by(Gogs\API\Request\Repos::SORT_CREATED)->all() as $key => $repo)
  24. echo sprintf("* %s: %s - %s\n", $repo->created_at, $key, $repo->name);
  25. echo "\nSorted created, then reversed\n";
  26. foreach($repos->sort_by(Gogs\API\Request\Repos::SORT_CREATED, true)->all() as $key => $repo)
  27. echo sprintf("* %s: %s - %s\n", $repo->created_at, $key, $repo->name);
  28. echo "\nSorted Normal, offset 1, limit 10\n";
  29. foreach($repos->offset(1)->limit(10)->all() as $key => $repo)
  30. echo sprintf("* %s: %s\n", $key, $repo->name);
  31. echo "\nNormal repo\n";
  32. foreach($repos->all() as $key => $repo)
  33. echo sprintf("* %s: %s\n", $key, $repo->name);
  34. echo "\nSearch for in loaded data for 'dns', limit 10\n";
  35. foreach($repos->search(array("name" => "dns", "limit" => 3))->all() as $key => $repo)
  36. echo sprintf("* %s: %s\n", $key, $repo->name);
  37. echo "\nSearch for in new data for 'dns', limit 10\n";
  38. foreach($me->repos()->search(array("name" => "dns", "limit" => 3))->all() as $key => $repo)
  39. echo sprintf("* %s: %s\n", $key, $repo->name);
  40. echo "\nUsers->search name 't', offset 1:\n";
  41. foreach($client->users()->search(array("name" => "to"))->offset(1)->all() as $key => $user)
  42. echo sprintf("* %s: %s\n", $key, $user->full_name);
  43. $user = $client->users()->get($tester);
  44. echo "\nUser '" . $user->username . "' public repos\n";
  45. foreach($user->repos()->load()->all() as $key => $repo)
  46. echo sprintf("* %s: %s\n", $key, $repo->name);
  47. echo "\nUser '" . $me->username . "' public repos \n";
  48. foreach($client->users()->get($me->username)->repos()->load()->all() as $key => $repo)
  49. echo sprintf("* %s: %s\n", $key, $repo->name);
  50. echo "\nUsers '" . $me->username . "' organizations\n";
  51. foreach($me->organizations()->load()->all() as $key => $org)
  52. echo sprintf("* %s: %s\n", $key, $org->full_name);
  53. echo "\nUser '" . $user->username . "' public organizations\n";
  54. foreach($user->organizations()->load()->all() as $key => $org) {
  55. echo sprintf("* %s: %s\n* Repositories:\n", $key, $org->full_name);
  56. foreach($org->repos()->load()->all() as $key => $repo)
  57. echo sprintf("#### %s: %s\n", $key, $repo->name);
  58. }
  59. echo "Create data under specified user";
  60. $repo = $repos->create(
  61. "test-gogs-api-repo-" . $repos->load()->len(),
  62. "This is test repo #" . $repos->load()->len() . " created with Gogs PHP API Client",
  63. false,
  64. true
  65. );
  66. echo "\nLooking up repos of test-test-test-#\n";
  67. foreach($repos->search(array("name" => "test-gogs-api-repo-"))->sort_by()->all() as $key => $repo)
  68. echo sprintf("Deleting: '%s' %s\n", $repo->name, $repo->delete() ? "true" : "false");
  69. $orgs = $me->orgs()->load();
  70. try {
  71. echo "\nCreate organization\n";
  72. $org = $orgs->create(
  73. "test-" . $me->username . "-organization",
  74. $me->full_name . " Testing Organization"
  75. );
  76. echo "Organization '" . $org->username . "' created!";
  77. } catch (ApiException\NotAuthorizedException $e) {
  78. throw new ApiException\NotAuthorizedException("Creating organization", $e->getCode(), $e);
  79. } catch (ApiException\HTTPUnexpectedResponse $e) {
  80. echo $e->getResponse();
  81. }
  82. echo "\nLooking up organizations of test-" . $me->username . "\n";
  83. foreach($orgs->search(array("name" => "test-" . $me->username))->all() as $key => $org)
  84. echo sprintf("* '%s': %s\n", $key, $org->username);
  85. $users = $client->users()->search(array("name" => "test-user"));
  86. $users->create(
  87. "test-user-" . $users->len(),
  88. "mytestuser" . $users->len() . "@gogitservice.joke"
  89. );
  90. foreach ($users->all() as $key => $user)
  91. echo sprintf("%s: delete %s\n", $key, $user->delete() ? "true" : "false");
  92. echo "\n\n\nLOG:\n" . join("\n", $client->get_log());
  93. } catch (ApiException\NotAuthorizedException $e) {
  94. echo "\n\n\nLOG:\n" . join("\n", $client->get_log());
  95. die("NOT AUTH: " . $e->getMessage() . "\nResponse: " . $e->getResponse() . "\n" . <<<EOF
  96. POSSIBLY WHAT YOU WANTED, CAUSE IT SEEMS LIKE YOUR
  97. AUTHORIZED USER IS TRYIGN TO PROCESS PARTS OF THE
  98. INDEX THAT ITS NOT AUTHORIZED TO DO, SUCH AS
  99. * Creating organizations
  100. * Creating users
  101. * More? Sure!
  102. EOF
  103. );
  104. } catch (ApiException\HTTPUnexpectedResponse $e) {
  105. echo "\n\n\nLOG:\n" . join("\n", $client->get_log());
  106. die($e);
  107. } catch (Exception $e) {
  108. die($e);
  109. }
  110. ?>