Skip to content
Snippets Groups Projects
Connection.php 967 B
Newer Older
<?php

namespace GitLab;

use GuzzleHttp\Client;

class Connection
{
    /** @var Client */
    private $client;

    public function __construct(Client $client)
    {
        $this->client = $client;
    }

    public function mergeRequests($state = 'all') {

        $url = env('GITLAB_URL') . '/merge_requests?scope=all&per_page=50&state='. $state;

        $response = $this->client->request('GET', $url);

        return collect(json_decode($response->getBody()));
    }

    public function getNewFiles($merge_request_iid) {
        $url = env('GITLAB_URL') . '/merge_requests/' . $merge_request_iid . '/changes';
        $response = $this->client->request('GET', $url);
        $deserialized = collect(json_decode($response->getBody()));

        $result = [];
        foreach ($deserialized['changes'] as $change) {
            if ($change->new_file) {
                $result[] = $change->new_path;
            }
        }

        return $result;
    }