Classes

The following classes are available globally.

  • This EndpointGroup authentication using an username and a password The user can authenticate using username and password which will return an OAuth Token. If OAuth Token or Private Token is already known, it can be used when initiating RxGitLabAPI.

    See more

    Declaration

    Swift

    public class AuthenticationEndpointGroup : EndpointGroup
  • This is a base class for all EndpointGroups

    See more

    Declaration

    Swift

    public class EndpointGroup
  • This EndpointGroup communicates with Grou and project members API

    Grou and project members API

    Valid access levels

    The access levels are defined in the Gitlab::Access module. Currently, these levels are recognized:

    10 => Guest access
    20 => Reporter access
    30 => Developer access
    40 => Maintainer access
    50 => Owner access # Only valid for groups
    
    See more

    Declaration

    Swift

    public class MembersEndpointGroup : EndpointGroup
  • This EndpointGroup communicates with Projects API

    Projects API

    Project visibility level

    Project in GitLab can be either private, internal or public. This is determined by the visibility field in the project.

    Values for the project visibility level are:

    • private: Project access must be granted explicitly for each user.
    • internal: The project can be cloned by any logged in user.
    • public: The project can be cloned without any authentication.

    Project merge method

    There are currently three options for merge_method to choose from:

    • merge: A merge commit is created for every merge, and merging is allowed as long as there are no conflicts.
    • rebase_merge: A merge commit is created for every merge, but merging is only allowed if fast-forward merge is possible. This way you could make sure that if this merge request would build, after merging to target branch it would also build.
    • ff: No merge commits are created and all merges are fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
    See more

    Declaration

    Swift

    public class ProjectsEnpointGroup : EndpointGroup
  • Facilitates the communication between the client and server

    For authenticated communication, it uses a Private or OAuth token

    See more

    Declaration

    Swift

    public class HostCommunicator
  • This class handles pagination of the GitLab API.

    The pages can be retrieved using subscript. The subscript supports index and also a range. Sample code:

     let paginator = client.users.getUsers()
    let usersObservable = p[2...5]
    usersObservable.subscribe(onNext: { users in
      // do something with users
    })
    
    See more

    Declaration

    Swift

    public class Paginator<T> where T : Decodable, T : Encodable
  • This class represents the main entry point to the RxGitLabKit library

    This client is used for the communication with GitLabAPI.

    See more

    Declaration

    Swift

    public class RxGitLabAPIClient