Skip to content
Snippets Groups Projects
Commit 1a7c86f4 authored by John Carlson's avatar John Carlson
Browse files

API models to Kotlin

parent e31b881c
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 376 additions and 761 deletions
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
/**
* Represents a pipeline
*/
@Parcel
class Pipelines {
@Json(name = "sha")
var sha: String? = null
@Json(name = "id")
var id: Long = 0
@Json(name = "ref")
var ref: String? = null
@Json(name = "status")
var status: String? = null
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.util.Date;
import java.util.List;
@Parcel
public class Project {
@Json(name = "id")
long id;
@Json(name = "description")
String description;
@Json(name = "default_branch")
String defaultBranch;
@Json(name = "tag_list")
List<String> tagList;
@Json(name = "public")
boolean isPublic;
@Json(name = "archived")
boolean archived;
@Json(name = "visibility_level")
int visibilityLevel;
@Json(name = "ssh_url_to_repo")
String sshUrlToRepo;
@Json(name = "http_url_to_repo")
String httpUrlToRepo;
@Json(name = "web_url")
String webUrl;
@Json(name = "owner")
UserBasic owner;
@Json(name = "name")
String name;
@Json(name = "name_with_namespace")
String nameWithNamespace;
@Json(name = "path")
String path;
@Json(name = "path_with_namespace")
String pathWithNamespace;
@Json(name = "issues_enabled")
Boolean issuesEnabled;
@Json(name = "merge_requests_enabled")
Boolean mergeRequestsEnabled;
@Json(name = "wiki_enabled")
Boolean wikiEnabled;
@Json(name = "builds_enabled")
Boolean buildEnabled;
@Json(name = "snippets_enabled")
Boolean snippetsEnabled;
@Json(name = "created_at")
Date createdAt;
@Json(name = "last_activity_at")
Date lastActivityAt;
@Json(name = "creator_id")
long creatorId;
@Json(name = "namespace")
ProjectNamespace namespace;
@Json(name = "forked_from_project")
ForkedFromProject forkedFromProject;
@Json(name = "avatar_url")
String avatarUrl;
@Json(name = "star_count")
int starCount;
@Json(name = "forks_count")
int forksCount;
@Json(name = "open_issues_count")
int openIssuesCount;
public Project() {}
public long getId() {
return id;
}
public String getDescription() {
return description;
}
public String getDefaultBranch() {
return defaultBranch;
}
public List<String> getTagList() {
return tagList;
}
public boolean isPublic() {
return isPublic;
}
public boolean isArchived() {
return archived;
}
public int getVisibilityLevel() {
return visibilityLevel;
}
public String getSshUrlToRepo() {
return sshUrlToRepo;
}
public String getHttpUrlToRepo() {
return httpUrlToRepo;
}
public String getWebUrl() {
return webUrl;
}
public UserBasic getOwner() {
return owner;
}
public String getName() {
return name;
}
public String getNameWithNamespace() {
return nameWithNamespace;
}
public String getPath() {
return path;
}
public String getPathWithNamespace() {
return pathWithNamespace;
}
public Boolean isIssuesEnabled() {
return issuesEnabled;
}
public Boolean isMergeRequestsEnabled() {
return mergeRequestsEnabled;
}
public Boolean isWikiEnabled() {
return wikiEnabled;
}
public Boolean isBuildEnabled() {
return buildEnabled;
}
public Boolean isSnippetsEnabled() {
return snippetsEnabled;
}
public Date getCreatedAt() {
return createdAt;
}
public Date getLastActivityAt() {
return lastActivityAt;
}
public long getCreatorId() {
return creatorId;
}
public ProjectNamespace getNamespace() {
return namespace;
}
public ForkedFromProject getForkedFromProject() {
return forkedFromProject;
}
public String getAvatarUrl() {
return avatarUrl;
}
public int getStarCount() {
return starCount;
}
public int getForksCount() {
return forksCount;
}
public int getOpenIssuesCount() {
return openIssuesCount;
}
public boolean belongsToGroup() {
//If there is an owner, then there is no group
return getOwner() == null;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Project)) {
return false;
}
Project project = (Project) o;
return id == project.id;
}
@Override
public int hashCode() {
return (int) (id ^ (id >>> 32));
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
class Project {
@Json(name = "id")
var id: Long = 0
@Json(name = "description")
var description: String? = null
@Json(name = "default_branch")
var defaultBranch: String? = null
@Json(name = "tag_list")
var tagList: List<String>? = null
@Json(name = "public")
var isPublic: Boolean = false
@Json(name = "archived")
var isArchived: Boolean = false
@Json(name = "visibility_level")
var visibilityLevel: Int = 0
@Json(name = "ssh_url_to_repo")
var sshUrlToRepo: String? = null
@Json(name = "http_url_to_repo")
var httpUrlToRepo: String? = null
@Json(name = "web_url")
lateinit var webUrl: String
@Json(name = "owner")
var owner: UserBasic? = null
@Json(name = "name")
var name: String? = null
@Json(name = "name_with_namespace")
var nameWithNamespace: String? = null
@Json(name = "path")
var path: String? = null
@Json(name = "path_with_namespace")
var pathWithNamespace: String? = null
@Json(name = "issues_enabled")
var isIssuesEnabled: Boolean? = null
@Json(name = "merge_requests_enabled")
var isMergeRequestsEnabled: Boolean? = null
@Json(name = "wiki_enabled")
var isWikiEnabled: Boolean? = null
@Json(name = "builds_enabled")
var isBuildEnabled: Boolean? = null
@Json(name = "snippets_enabled")
var isSnippetsEnabled: Boolean? = null
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "last_activity_at")
var lastActivityAt: Date? = null
@Json(name = "creator_id")
var creatorId: Long = 0
@Json(name = "namespace")
lateinit var namespace: ProjectNamespace
@Json(name = "forked_from_project")
var forkedFromProject: ForkedFromProject? = null
@Json(name = "avatar_url")
var avatarUrl: String? = null
@Json(name = "star_count")
var starCount: Int = 0
@Json(name = "forks_count")
var forksCount: Int = 0
@Json(name = "open_issues_count")
var openIssuesCount: Int = 0
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.util.Date;
@Parcel
public class ProjectNamespace {
@Json(name = "id")
long id;
@Json(name = "name")
String name;
@Json(name = "path")
String path;
@Json(name = "owner_id")
long ownerId;
@Json(name = "created_at")
Date createdAt;
@Json(name = "updated_at")
Date updatedAt;
@Json(name = "description")
String description;
@Json(name = "avatar")
Avatar avatar;
@Json(name = "public")
boolean isPublic;
public ProjectNamespace() {
}
public long getId() {
return id;
}
public String getName() {
return name;
}
public String getPath() {
return path;
}
public long getOwnerId() {
return ownerId;
}
public Date getCreatedAt() {
return createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public String getDescription() {
return description;
}
public Avatar getAvatar() {
return avatar;
}
public boolean isPublic() {
return isPublic;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof ProjectNamespace)) {
return false;
}
ProjectNamespace that = (ProjectNamespace) o;
return id == that.id;
}
@Override
public int hashCode() {
return (int) (id ^ (id >>> 32));
}
@Parcel
public static class Avatar {
@Json(name = "url")
String url;
public Avatar() {
}
public String getUrl() {
return url;
}
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
class ProjectNamespace {
@Json(name = "id")
var id: Long = 0
@Json(name = "name")
var name: String? = null
@Json(name = "path")
var path: String? = null
@Json(name = "owner_id")
var ownerId: Long = 0
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "updated_at")
var updatedAt: Date? = null
@Json(name = "description")
var description: String? = null
@Json(name = "avatar")
var avatar: Avatar? = null
@Json(name = "public")
var isPublic: Boolean = false
@Parcel
class Avatar {
@Json(name = "url")
var url: String? = null
}
}
package com.commit451.gitlab.model.api;
import com.commit451.gitlab.util.ObjectUtil;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.util.Date;
@Parcel
public class RepositoryCommit {
@Json(name = "id")
String id;
@Json(name = "short_id")
String shortId;
@Json(name = "title")
String title;
@Json(name = "author_name")
String authorName;
@Json(name = "author_email")
String authorEmail;
@Json(name = "created_at")
Date createdAt;
@Json(name = "message")
String message;
public RepositoryCommit() {}
public String getId() {
return id;
}
public String getShortId() {
return shortId;
}
public String getTitle() {
return title;
}
public String getAuthorName() {
return authorName;
}
public String getAuthorEmail() {
return authorEmail;
}
public Date getCreatedAt() {
return createdAt;
}
public String getMessage() {
return message;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof RepositoryCommit)) {
return false;
}
RepositoryCommit commit = (RepositoryCommit) o;
return ObjectUtil.INSTANCE.equals(id, commit.id);
}
@Override
public int hashCode() {
return ObjectUtil.INSTANCE.hash(id);
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
class RepositoryCommit {
@Json(name = "id")
lateinit var id: String
@Json(name = "short_id")
var shortId: String? = null
@Json(name = "title")
var title: String? = null
@Json(name = "author_name")
var authorName: String? = null
@Json(name = "author_email")
var authorEmail: String? = null
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "message")
var message: String? = null
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
@Parcel
public class RepositoryFile {
@Json(name = "file_name")
String fileName;
@Json(name = "file_path")
String filePath;
@Json(name = "size")
long size;
@Json(name = "encoding")
String encoding;
@Json(name = "content")
String content;
@Json(name = "ref")
String ref;
@Json(name = "blob_id")
String blobId;
@Json(name = "commit_id")
String commitId;
@Json(name = "last_commit_id")
String lastCommitId;
public RepositoryFile() {}
public String getFileName() {
return fileName;
}
public String getFilePath() {
return filePath;
}
public long getSize() {
return size;
}
public String getEncoding() {
return encoding;
}
public String getContent() {
return content;
}
public String getRef() {
return ref;
}
public String getBlobId() {
return blobId;
}
public String getCommitId() {
return commitId;
}
public String getLastCommitId() {
return lastCommitId;
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel
class RepositoryFile {
@Json(name = "file_name")
var fileName: String? = null
@Json(name = "file_path")
var filePath: String? = null
@Json(name = "size")
var size: Long = 0
@Json(name = "encoding")
var encoding: String? = null
@Json(name = "content")
lateinit var content: String
@Json(name = "ref")
var ref: String? = null
@Json(name = "blob_id")
var blobId: String? = null
@Json(name = "commit_id")
var commitId: String? = null
@Json(name = "last_commit_id")
var lastCommitId: String? = null
}
package com.commit451.gitlab.model.api;
import android.support.annotation.StringDef;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Parcel
public class RepositoryTreeObject {
public static final String TYPE_FOLDER = "tree";
public static final String TYPE_REPO = "submodule";
public static final String TYPE_FILE = "blob";
@StringDef({TYPE_FOLDER, TYPE_REPO, TYPE_FILE})
@Retention(RetentionPolicy.SOURCE)
public @interface Type {
}
@Json(name = "id")
String id;
@Json(name = "name")
String name;
@Json(name = "type")
@Type
String type;
@Json(name = "mode")
String mode;
public RepositoryTreeObject() {}
public String getId() {
return id;
}
public String getName() {
return name;
}
public @Type String getType() {
return type;
}
public String getMode() {
return mode;
}
}
package com.commit451.gitlab.model.api
import android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel
class RepositoryTreeObject {
companion object {
const val TYPE_FOLDER = "tree"
const val TYPE_REPO = "submodule"
const val TYPE_FILE = "blob"
}
@StringDef(TYPE_FOLDER, TYPE_REPO, TYPE_FILE)
@Retention(AnnotationRetention.SOURCE)
annotation class Type
@Json(name = "id")
var id: String? = null
@Json(name = "name")
var name: String? = null
@Json(name = "type")
@Type
@get:Type var type: String? = null
@Json(name = "mode")
var mode: String? = null
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
/**
* A runner. It runs builds. yeah
*/
@Parcel
public class Runner {
@Json(name = "id")
long id;
@Json(name = "description")
String description;
@Json(name = "active")
boolean active;
@Json(name = "is_shared")
boolean isShared;
@Json(name = "name")
String name;
public long getId() {
return id;
}
public String getDescription() {
return description;
}
public boolean isActive() {
return active;
}
public boolean isShared() {
return isShared;
}
public String getName() {
return name;
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
/**
* A runner. It runs builds. yeah
*/
@Parcel
class Runner {
@Json(name = "id")
var id: Long = 0
@Json(name = "description")
var description: String? = null
@Json(name = "active")
var isActive: Boolean = false
@Json(name = "is_shared")
var isShared: Boolean = false
@Json(name = "name")
var name: String? = null
}
package com.commit451.gitlab.model.api;
package com.commit451.gitlab.model.api
 
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.util.Date;
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
 
/**
* A snippet!
*/
@Parcel
public class Snippet {
class Snippet {
@Json(name = "id")
long id;
var id: Long = 0
@Json(name = "title")
String title;
var title: String? = null
@Json(name = "file_name")
String fileName;
var fileName: String? = null
@Json(name = "author")
Author author;
var author: Author? = null
@Json(name = "expires_at")
Date expiresAt;
var expiresAt: Date? = null
@Json(name = "updated_at")
Date updatedAt;
var updatedAt: Date? = null
@Json(name = "created_at")
Date createdAt;
protected Snippet() {
//for json
}
public long getId() {
return id;
}
public String getTitle() {
return title;
}
public String getFileName() {
return fileName;
}
var createdAt: Date? = null
 
@Parcel
public static class Author {
class Author {
@Json(name = "id")
long mId;
var id: Long = 0
@Json(name = "username")
String mUsername;
var username: String? = null
@Json(name = "email")
String mEmail;
var email: String? = null
@Json(name = "name")
String mName;
var name: String? = null
@Json(name = "state")
String mState;
var state: String? = null
@Json(name = "created_at")
Date mCreatedAt;
protected Author() {
//for json
}
var createdAt: Date? = null
}
}
package com.commit451.gitlab.model.api;
package com.commit451.gitlab.model.api
 
import com.squareup.moshi.Json;
import com.squareup.moshi.Json
 
/**
* A tag in Git
*/
public class Tag {
class Tag {
 
@Json(name = "name")
String name;
var name: String? = null
@Json(name = "message")
String message;
var message: String? = null
@Json(name = "commit")
Commit commit;
var commit: Commit? = null
@Json(name = "release")
Release release;
var release: Release? = null
 
protected Tag() {
}
public String getName() {
return name;
}
public String getMessage() {
return message;
}
public Commit getCommit() {
return commit;
}
public Release getRelease() {
return release;
}
public static class Commit {
class Commit {
 
@Json(name = "id")
String mId;
var id: String? = null
@Json(name = "message")
String mMessage;
var message: String? = null
}
 
public static class Release {
class Release {
@Json(name = "tag_name")
String mTagName;
var tagName: String? = null
@Json(name = "description")
String mDescription;
var description: String? = null
}
}
package com.commit451.gitlab.model.api;
import android.support.annotation.StringDef;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Date;
/**
* Todos. Not processing Target, since it is different depending on what the type is, which
* makes it not play nice with any automated json parsing
*/
@Parcel
public class Todo {
public static final String TARGET_ISSUE = "Issue";
public static final String TARGET_MERGE_REQUEST = "MergeRequest";
@StringDef({TARGET_ISSUE, TARGET_MERGE_REQUEST})
@Retention(RetentionPolicy.SOURCE)
public @interface TargetType {
}
public static final String STATE_PENDING = "pending";
public static final String STATE_DONE = "done";
@StringDef({STATE_PENDING, STATE_DONE})
@Retention(RetentionPolicy.SOURCE)
public @interface State {
}
@Json(name = "id")
String id;
@Json(name = "project")
Project project;
@Json(name = "author")
UserBasic author;
@Json(name = "action_name")
String actionName;
@Json(name = "target_type")
@TargetType
String targetType;
@Json(name = "target_url")
String targetUrl;
@Json(name = "body")
String body;
@Json(name = "state")
@State
String state;
@Json(name = "created_at")
Date createdAt;
public Todo() {}
public String getId() {
return id;
}
public Project getProject() {
return project;
}
public UserBasic getAuthor() {
return author;
}
public String getActionName() {
return actionName;
}
@TargetType
public String getTargetType() {
return targetType;
}
public String getTargetUrl() {
return targetUrl;
}
public String getBody() {
return body;
}
@State
public String getState() {
return state;
}
public Date getCreatedAt() {
return createdAt;
}
}
package com.commit451.gitlab.model.api
import android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
/**
* Todos. Not processing Target, since it is different depending on what the type is, which
* makes it not play nice with any automated json parsing
*/
@Parcel
class Todo {
companion object {
const val TARGET_ISSUE = "Issue"
const val TARGET_MERGE_REQUEST = "MergeRequest"
const val STATE_PENDING = "pending"
const val STATE_DONE = "done"
}
@StringDef(TARGET_ISSUE, TARGET_MERGE_REQUEST)
@Retention(AnnotationRetention.SOURCE)
annotation class TargetType
@StringDef(STATE_PENDING, STATE_DONE)
@Retention(AnnotationRetention.SOURCE)
annotation class State
@Json(name = "id")
var id: String? = null
@Json(name = "project")
var project: Project? = null
@Json(name = "author")
var author: UserBasic? = null
@Json(name = "action_name")
var actionName: String? = null
@Json(name = "target_type")
@TargetType
@get:TargetType
var targetType: String? = null
@Json(name = "target_url")
var targetUrl: String? = null
@Json(name = "body")
var body: String? = null
@Json(name = "state")
@State
@get:State
var state: String? = null
@Json(name = "created_at")
var createdAt: Date? = null
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.util.Date;
@Parcel
public class User extends UserBasic {
@Json(name = "created_at")
Date createdAt;
@Json(name = "is_admin")
boolean isAdmin;
@Json(name = "bio")
String bio;
@Json(name = "skype")
String skype;
@Json(name = "linkedin")
String linkedin;
@Json(name = "twitter")
String twitter;
@Json(name = "website_url")
String websiteUrl;
public User() {}
public Date getCreatedAt() {
return createdAt;
}
public boolean isAdmin() {
return isAdmin;
}
public String getBio() {
return bio;
}
public String getSkype() {
return skype;
}
public String getLinkedin() {
return linkedin;
}
public String getTwitter() {
return twitter;
}
public String getWebsiteUrl() {
return websiteUrl;
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
open class User : UserBasic() {
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "is_admin")
var isAdmin: Boolean = false
@Json(name = "bio")
var bio: String? = null
@Json(name = "skype")
var skype: String? = null
@Json(name = "linkedin")
var linkedin: String? = null
@Json(name = "twitter")
var twitter: String? = null
@Json(name = "website_url")
var websiteUrl: String? = null
}
package com.commit451.gitlab.model.api;
import android.net.Uri;
import android.support.annotation.Nullable;
import android.support.annotation.StringDef;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Parcel
public class UserBasic extends UserSafe {
public static final String STATE_ACTIVE = "active";
public static final String STATE_BLOCKED = "blocked";
@StringDef({STATE_ACTIVE, STATE_BLOCKED})
@Retention(RetentionPolicy.SOURCE)
public @interface State {}
@Json(name = "id")
long id;
@Json(name = "state")
@State
String state;
@Json(name = "avatar_url")
String avatarUrl;
@Json(name = "web_url")
String webUrl;
public UserBasic() {}
public long getId() {
return id;
}
@State
public String getState() {
return state;
}
public String getAvatarUrl() {
return avatarUrl;
}
public String getWebUrl() {
return webUrl;
}
@Nullable
public Uri getFeedUrl() {
if (webUrl == null) {
return null;
}
return Uri.parse(webUrl + ".atom");
}
@Override
public boolean equals(Object o) {
if (!(o instanceof UserBasic)) {
return false;
}
UserBasic user = (UserBasic) o;
return id == user.id;
}
@Override
public int hashCode() {
return (int) (id ^ (id >>> 32));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment