EventsApi.java 21.76 KiB
package org.gitlab4j.api;
import java.util.Date;
import java.util.List;
import java.util.stream.Stream;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.Response;
import org.gitlab4j.api.models.Event;
/**
 * This class implements the client side API for the GitLab events calls.
public class EventsApi extends AbstractApi {
    public EventsApi(GitLabApi gitLabApi) {
        super(gitLabApi);
    /**
     * Get a list of events for the authenticated user.
     * <pre><code>GitLab Endpoint: GET /events</code></pre>
     * @param action include only events of a particular action type, optional
     * @param targetType include only events of a particular target type, optional
     * @param before include only events created before a particular date, optional
     * @param after include only events created after a particular date, optional
     * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional
     * @return a list of events for the authenticated user and matching the supplied parameters
     * @throws GitLabApiException if any exception occurs
    public List<Event> getAuthenticatedUserEvents(ActionType action, TargetType targetType,
            Date before, Date after, SortOrder sortOrder) throws GitLabApiException {
        return (getAuthenticatedUserEvents(action, targetType, before, after, sortOrder, getDefaultPerPage()).all());
    /**
     * Get a list of all events for the authenticated user, across all of the user's projects.
     * <pre><code>GitLab Endpoint: GET /events</code></pre>
     * @param action include only events of a particular action type, optional
     * @param targetType include only events of a particular target type, optional
     * @param before include only events created before a particular date, optional
     * @param after include only events created after a particular date, optional
     * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional
     * @return a list of events for the authenticated user and matching the supplied parameters
     * @throws GitLabApiException if any exception occurs
    public List<Event> getAllAuthenticatedUserEvents(ActionType action, TargetType targetType,
            Date before, Date after, SortOrder sortOrder) throws GitLabApiException {
        return (getAuthenticatedUserEvents(action, targetType, before, after, sortOrder, getDefaultPerPage(), EventScope.ALL).all());
    /**
     * Get a list of events for the authenticated user and in the specified page range.
     * <pre><code>GitLab Endpoint: GET /events</code></pre>
     * @param action include only events of a particular action type, optional
     * @param targetType include only events of a particular target type, optional
     * @param before include only events created before a particular date, optional
     * @param after include only events created after a particular date, optional
     * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional
     * @param page the page to get
     * @param perPage the number of projects per page
     * @return a list of events for the authenticated user and matching the supplied parameters
     * @throws GitLabApiException if any exception occurs
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
*/ public List<Event> getAuthenticatedUserEvents(ActionType action, TargetType targetType, Date before, Date after, SortOrder sortOrder, int page, int perPage) throws GitLabApiException { return (getAuthenticatedUserEvents(action, targetType, before, after, sortOrder, page, perPage, null)); } /** * Get a list of events for the authenticated user and in the specified page range. * * <pre><code>GitLab Endpoint: GET /events</code></pre> * * @param action include only events of a particular action type, optional * @param targetType include only events of a particular target type, optional * @param before include only events created before a particular date, optional * @param after include only events created after a particular date, optional * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional * @param page the page to get * @param perPage the number of projects per page * @param scope include all events across a user’s projects, optional * @return a list of events for the authenticated user and matching the supplied parameters * @throws GitLabApiException if any exception occurs */ public List<Event> getAuthenticatedUserEvents(ActionType action, TargetType targetType, Date before, Date after, SortOrder sortOrder, int page, int perPage, EventScope scope) throws GitLabApiException { GitLabApiForm formData = new GitLabApiForm() .withParam("action", action) .withParam("target_type", targetType != null ? targetType.toValue().toLowerCase() : null) .withParam("before", before) .withParam("after", after) .withParam("sort", sortOrder) .withParam(PAGE_PARAM, page) .withParam(PER_PAGE_PARAM, perPage) .withParam("scope", scope != null ? scope.toValue().toLowerCase() : null); Response response = get(Response.Status.OK, formData.asMap(), "events"); return (response.readEntity(new GenericType<List<Event>>() {})); } /** * Get a list of events for the authenticated user and in the specified page range. * * <pre><code>GitLab Endpoint: GET /events</code></pre> * * @param action include only events of a particular action type, optional * @param targetType include only events of a particular target type, optional * @param before include only events created before a particular date, optional * @param after include only events created after a particular date, optional * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional * @param itemsPerPage the number of Event instances that will be fetched per page * @return a Pager of events for the authenticated user and matching the supplied parameters * @throws GitLabApiException if any exception occurs */ public Pager<Event> getAuthenticatedUserEvents(ActionType action, TargetType targetType, Date before, Date after, SortOrder sortOrder, int itemsPerPage) throws GitLabApiException { return (getAuthenticatedUserEvents(action, targetType, before, after, sortOrder, itemsPerPage, null)); } /** * Get a list of events for the authenticated user and in the specified page range. * * <pre><code>GitLab Endpoint: GET /events</code></pre> * * @param action include only events of a particular action type, optional * @param targetType include only events of a particular target type, optional * @param before include only events created before a particular date, optional * @param after include only events created after a particular date, optional * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional * @param itemsPerPage the number of Event instances that will be fetched per page * @param scope include all events across a user’s projects, optional
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
* @return a Pager of events for the authenticated user and matching the supplied parameters * @throws GitLabApiException if any exception occurs */ public Pager<Event> getAuthenticatedUserEvents(ActionType action, TargetType targetType, Date before, Date after, SortOrder sortOrder, int itemsPerPage, EventScope scope) throws GitLabApiException { GitLabApiForm formData = new GitLabApiForm() .withParam("action", action) .withParam("target_type", targetType != null ? targetType.toValue().toLowerCase() : null) .withParam("before", before) .withParam("after", after) .withParam("sort", sortOrder) .withParam("scope", scope != null ? scope.toValue().toLowerCase() : null); return (new Pager<Event>(this, Event.class, itemsPerPage, formData.asMap(), "events")); } /** * Get a Stream of events for the authenticated user. * * <pre><code>GitLab Endpoint: GET /events</code></pre> * * @param action include only events of a particular action type, optional * @param targetType include only events of a particular target type, optional * @param before include only events created before a particular date, optional * @param after include only events created after a particular date, optional * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional * @return a Stream of events for the authenticated user and matching the supplied parameters * @throws GitLabApiException if any exception occurs */ public Stream<Event> getAuthenticatedUserEventsStream(ActionType action, TargetType targetType, Date before, Date after, SortOrder sortOrder) throws GitLabApiException { return (getAuthenticatedUserEvents(action, targetType, before, after, sortOrder, getDefaultPerPage(), null).stream()); } /** * Get a Stream of all events for the authenticated user, across all of the user's projects. * * <pre><code>GitLab Endpoint: GET /events</code></pre> * * @param action include only events of a particular action type, optional * @param targetType include only events of a particular target type, optional * @param before include only events created before a particular date, optional * @param after include only events created after a particular date, optional * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional * @return a Stream of events for the authenticated user and matching the supplied parameters * @throws GitLabApiException if any exception occurs */ public Stream<Event> getAllAuthenticatedUserEventsStream(ActionType action, TargetType targetType, Date before, Date after, SortOrder sortOrder) throws GitLabApiException { return (getAuthenticatedUserEvents(action, targetType, before, after, sortOrder, getDefaultPerPage(), EventScope.ALL).stream()); } /** * Get a list of events for the specified user. * * <pre><code>GitLab Endpoint: GET /users/:userId/events</code></pre> * * @param userIdOrUsername the user ID, username of the user, or a User instance holding the user ID or username * @param action include only events of a particular action type, optional * @param targetType include only events of a particular target type, optional * @param before include only events created before a particular date, optional * @param after include only events created after a particular date, optional * @param sortOrder sort events in ASC or DESC order by created_at. Default is DESC, optional * @return a list of events for the specified user and matching the supplied parameters * @throws GitLabApiException if any exception occurs */ public List<Event> getUserEvents(Object userIdOrUsername, ActionType action, TargetType targetType, Date before, Date after, SortOrder sortOrder) throws GitLabApiException { return (getUserEvents(userIdOrUsername, action, targetType, before, after, sortOrder, getDefaultPerPage()).all());