Example #1
0
 /**
  * Return array of \Ace\RepoManUi\Remote\Repository objects
  *
  * @param string $user
  * @return array
  */
 public function getRepositories(string $user) : array
 {
     try {
         $response = $this->client->request('GET', $this->repo_man_host . '/repositories?owner=' . $user, ['headers' => ['Accept' => 'application/json']]);
         $repositories = [];
         foreach (json_decode($response->getBody(), true) as $data) {
             $repository = new Repository($data['url'], $data['description'], $data['lang'], $data['private']);
             $repository->setTimezone($data['timezone']);
             $repository->setActive($data['active'] == '1');
             $repositories[$repository->getFullName()] = $repository;
         }
         return $repositories;
     } catch (TransferException $ex) {
         throw new UnavailableException($ex->getMessage());
     }
 }
Example #2
0
 /**
  * Return array of \Ace\RepoManUi\Remote\Repository objects
  * @param string $user
  * @param string $timezone
  * @return array
  * @throws UnavailableException
  */
 public function getRepositories(string $user, string $timezone) : array
 {
     try {
         $token = $this->token_service->getToken($user);
         $response = $this->client->request('GET', $this->git_api_host . '/user/repos', ['query' => ['access_token' => $token], 'headers' => ['Accept' => 'application/json']]);
         $repositories = [];
         foreach (json_decode($response->getBody(), true) as $data) {
             $description = $data['description'] ?: '';
             $language = $data['language'] ?: '';
             $private = (bool) $data['private'];
             $repository = new Repository($data['html_url'], $description, $language, $private);
             $repository->setTimezone($timezone);
             $repositories[$repository->getFullName()] = $repository;
         }
         return $repositories;
     } catch (TransferException $ex) {
         throw new UnavailableException($ex->getMessage());
     }
 }
Example #3
0
 public function testGetName()
 {
     $repository = new Repository('https://github.com/timr/repo', 'A repository', 'JavaScript', false);
     $this->assertSame('repo', $repository->getName());
 }