main_company_organization = config('app.gitea_main_company_organization'); $this->partner_organization = config('app.gitea_partner_organization'); $this->gitea_url = config('app.gitea_url'); $this->gitea_token = config('app.gitea_token'); $this->giteaClient = new Client(null, null, $this->gitea_url); $this->giteaClient->authenticate($this->gitea_token, null, Client::AUTH_ACCESS_TOKEN); } function get_repositories() { $repositories = $this->giteaClient->organizations()->repositories($this->partner_organization, 1, 9999); return $repositories; } function get_issues(string $repository, array $parameters = array()) { return $this->giteaClient->repositories()->issues()->all($this->partner_organization, $repository, $parameters); } function get_issue_time(string $repository_name, int $issue_number){ return $this->giteaClient->repositories()->issues()->times($this->partner_organization, $repository_name, $issue_number); } function get_company_agents() { $gitea_api_call_url = $this->gitea_url . '/api/v1/orgs/' . $this->main_company_organization . '/members'; $http_client = new GuzzleClient(); $res = $http_client->get($gitea_api_call_url, [ 'headers' => [ 'Authorization' => 'token ' . $this->gitea_token ] ]); $responseBody = $res->getBody()->getContents(); $users = json_decode($responseBody, true); //removes 1st user, usually it's the admin array_shift($users); $users = array_column($users, 'username'); return $users; } }