All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.mmarie.core.gitlab.GitLabService Maven / Gradle / Ivy

The newest version!
package fr.mmarie.core.gitlab;

import com.google.inject.Inject;
import fr.mmarie.api.gitlab.User;
import lombok.NonNull;
import retrofit.JacksonConverterFactory;
import retrofit.Response;
import retrofit.Retrofit;

import java.io.IOException;

import static fr.mmarie.utils.Common.sanitizeURL;

public class GitLabService {

    private final GitLabEndPoints gitLabEndPoints;

    private final GitLabConfiguration gitLabConfiguration;

    @Inject
    public GitLabService(@NonNull GitLabConfiguration gitLabConfiguration) {
        this.gitLabConfiguration = gitLabConfiguration;

        this.gitLabEndPoints = new Retrofit.Builder()
                .baseUrl(sanitizeURL(gitLabConfiguration.getUrl()))
                .addConverterFactory(JacksonConverterFactory.create())
                .build()
                .create(GitLabEndPoints.class);
    }

    public Response getUser(Long id) throws IOException {
        return gitLabEndPoints.getUser(id, gitLabConfiguration.getPrivateToken()).execute();
    }

    public Response getLoggedUser() throws IOException {
        return gitLabEndPoints.getLoggedUser(gitLabConfiguration.getPrivateToken()).execute();
    }

    public String getUserUrl(String username) {
        String baseUrl = gitLabConfiguration.getUrl();

        return sanitizeURL(baseUrl).concat("u/" + username);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy