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 346 additions and 798 deletions
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.util.List;
@Parcel
public class GroupDetail extends Group {
@Json(name = "projects")
List<Project> projects;
public GroupDetail() {}
public List<Project> getProjects() {
return projects;
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel
class GroupDetail : Group() {
@Json(name = "projects")
var projects: List<Project>? = null
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
@Parcel
public class Identity {
@Json(name = "provider")
String provider;
@Json(name = "extern_uid")
String externUid;
public Identity() {}
public String getProvider() {
return provider;
}
public String getExternUid() {
return externUid;
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel
class Identity {
@Json(name = "provider")
var provider: String? = null
@Json(name = "extern_uid")
var externUid: 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;
import java.util.List;
@Parcel
public class Issue {
public static final String STATE_REOPEN = "reopen";
public static final String STATE_CLOSE = "close";
@StringDef({STATE_REOPEN, STATE_CLOSE})
@Retention(RetentionPolicy.SOURCE)
public @interface EditState {
}
public static final String STATE_OPENED = "opened";
public static final String STATE_REOPENED = "reopened";
public static final String STATE_CLOSED = "closed";
@StringDef({STATE_OPENED, STATE_REOPENED, STATE_CLOSED})
@Retention(RetentionPolicy.SOURCE)
public @interface State {
}
@Json(name = "id")
long id;
@Json(name = "iid")
long iId;
@Json(name = "project_id")
long projectId;
@Json(name = "title")
String title;
@Json(name = "description")
String description;
@Json(name = "state")
@State
String state;
@Json(name = "created_at")
Date createdAt;
@Json(name = "updated_at")
Date updatedAt;
@Json(name = "labels")
List<String> labels;
@Json(name = "milestone")
Milestone milestone;
@Json(name = "assignee")
UserBasic assignee;
@Json(name = "author")
UserBasic author;
@Json(name = "confidential")
boolean confidential;
public Issue() {
}
public long getId() {
return id;
}
public long getIid() {
return iId;
}
public long getProjectId() {
return projectId;
}
public String getTitle() {
return title;
}
public String getDescription() {
return description;
}
public @State String getState() {
return state;
}
public Date getCreatedAt() {
return createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public List<String> getLabels() {
return labels;
}
public Milestone getMilestone() {
return milestone;
}
public UserBasic getAssignee() {
return assignee;
}
public UserBasic getAuthor() {
return author;
}
public boolean isConfidential() {
return confidential;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Issue)) {
return false;
}
Issue issue = (Issue) o;
return id == issue.id;
}
@Override
public int hashCode() {
return (int) (id ^ (id >>> 32));
}
}
package com.commit451.gitlab.model.api
import android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
class Issue {
companion object {
const val STATE_REOPEN = "reopen"
const val STATE_CLOSE = "close"
const val STATE_OPENED = "opened"
const val STATE_REOPENED = "reopened"
const val STATE_CLOSED = "closed"
}
@StringDef(STATE_REOPEN, STATE_CLOSE)
@Retention(AnnotationRetention.SOURCE)
annotation class EditState
@StringDef(STATE_OPENED, STATE_REOPENED, STATE_CLOSED)
@Retention(AnnotationRetention.SOURCE)
annotation class State
@Json(name = "id")
var id: Long = 0
@Json(name = "iid")
var iid: Long = 0
@Json(name = "project_id")
var projectId: Long = 0
@Json(name = "title")
var title: String? = null
@Json(name = "description")
var description: String? = null
@Json(name = "state")
@State
@get:State var state: String? = null
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "updated_at")
var updatedAt: Date? = null
@Json(name = "labels")
var labels: List<String>? = null
@Json(name = "milestone")
var milestone: Milestone? = null
@Json(name = "assignee")
var assignee: UserBasic? = null
@Json(name = "author")
var author: UserBasic? = null
@Json(name = "confidential")
var isConfidential: Boolean = false
}
package com.commit451.gitlab.model.api;
import android.graphics.Color;
import android.support.annotation.ColorInt;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
/**
* A label
*/
@Parcel
public class Label {
@Json(name = "color")
String color;
@Json(name = "name")
String name;
@Json(name = "description")
String description;
@Json(name = "open_issues_count")
int openIssuesCount;
@Json(name = "closed_issues_count")
int closedIssuesCount;
@Json(name = "open_merge_requests_count")
int openMergeRequestsCount;
@Json(name = "subscribed")
boolean subscribed;
protected Label() {
//for json parsing
}
public String getName() {
return name;
}
@ColorInt
public int getColor() {
try {
return Color.parseColor(color);
} catch (Exception e) {
return Color.TRANSPARENT;
}
}
public String getDescription() {
return description;
}
public int getOpenIssuesCount() {
return openIssuesCount;
}
public int getClosedIssuesCount() {
return closedIssuesCount;
}
public int getOpenMergeRequestsCount() {
return openMergeRequestsCount;
}
public boolean isSubscribed() {
return subscribed;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Label label = (Label) o;
if (color != null ? !color.equals(label.color) : label.color != null) return false;
if (name != null ? !name.equals(label.name) : label.name != null) return false;
return description != null ? description.equals(label.description) : label.description == null;
}
@Override
public int hashCode() {
int result = color != null ? color.hashCode() : 0;
result = 31 * result + (name != null ? name.hashCode() : 0);
result = 31 * result + (description != null ? description.hashCode() : 0);
return result;
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
/**
* A label
*/
@Parcel
class Label {
@Json(name = "color")
var color: String? = null
@Json(name = "name")
var name: String? = null
@Json(name = "description")
var description: String? = null
@Json(name = "open_issues_count")
var openIssuesCount: Int = 0
@Json(name = "closed_issues_count")
var closedIssuesCount: Int = 0
@Json(name = "open_merge_requests_count")
var openMergeRequestsCount: Int = 0
@Json(name = "subscribed")
var isSubscribed: Boolean = false
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
@Parcel
public class Member extends UserBasic {
@Json(name = "access_level")
int accessLevel;
public Member() {}
public int getAccessLevel() {
return accessLevel;
}
public static int getAccessLevel(String accessLevel) {
switch (accessLevel.toLowerCase()) {
case "guest":
return 10;
case "reporter":
return 20;
case "developer":
return 30;
case "master":
return 40;
case "owner":
return 50;
}
throw new IllegalStateException("No known code for this access level");
}
public static String getAccessLevel(int accessLevel) {
switch (accessLevel) {
case 10:
return "Guest";
case 20:
return "Reporter";
case 30:
return "Developer";
case 40:
return "Master";
case 50:
return "Owner";
}
return "Unknown";
}
@Override
public String toString() {
return getUsername();
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel
class Member : UserBasic() {
companion object {
fun getAccessLevel(accessLevel: String): Int {
when (accessLevel.toLowerCase()) {
"guest" -> return 10
"reporter" -> return 20
"developer" -> return 30
"master" -> return 40
"owner" -> return 50
}
throw IllegalStateException("No known code for this access level")
}
fun getAccessLevel(accessLevel: Int): String {
when (accessLevel) {
10 -> return "Guest"
20 -> return "Reporter"
30 -> return "Developer"
40 -> return "Master"
50 -> return "Owner"
}
return "Unknown"
}
}
@Json(name = "access_level")
var accessLevel: Int = 0
}
package com.commit451.gitlab.model.api;
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;
import java.util.Date;
import java.util.List;
@Parcel
public class MergeRequest {
public static final String STATE_OPENED = "opened";
public static final String STATE_MERGED = "merged";
public static final String STATE_CLOSED = "closed";
@StringDef({STATE_OPENED, STATE_MERGED, STATE_CLOSED})
@Retention(RetentionPolicy.SOURCE)
public @interface State {}
@Json(name = "id")
long id;
@Json(name = "iid")
long iId;
@Json(name = "project_id")
long projectId;
@Json(name = "title")
String title;
@Json(name = "description")
String description;
@Json(name = "state")
@State
String state;
@Json(name = "updated_at")
Date updatedAt;
@Json(name = "created_at")
Date createdAt;
@Json(name = "target_branch")
String targetBranch;
@Json(name = "source_branch")
String sourceBranch;
@Json(name = "upvotes")
long upvotes;
@Json(name = "downvotes")
long downvotes;
@Json(name = "author")
UserBasic author;
@Json(name = "assignee")
UserBasic assignee;
@Json(name = "source_project_id")
long sourceProjectId;
@Json(name = "target_project_id")
long targetProjectId;
@Json(name = "labels")
List<String> labels;
@Json(name = "work_in_progress")
boolean workInProgress;
@Json(name = "milestone")
Milestone milestone;
@Json(name = "merge_when_build_succeeds")
boolean mergeWhenBuildSucceeds;
@Json(name = "merge_status")
String mergeStatus;
@Json(name = "changes")
@Nullable
List<Diff> changes;
public MergeRequest() {}
public long getId() {
return id;
}
public long getIid() {
return iId;
}
public long getProjectId() {
return projectId;
}
public String getTitle() {
return title;
}
public String getDescription() {
return description;
}
public @State String getState() {
return state;
}
public Date getUpdatedAt() {
return updatedAt;
}
public Date getCreatedAt() {
return createdAt;
}
public String getTargetBranch() {
return targetBranch;
}
public String getSourceBranch() {
return sourceBranch;
}
public long getUpvotes() {
return upvotes;
}
public long getDownvotes() {
return downvotes;
}
public UserBasic getAuthor() {
return author;
}
public UserBasic getAssignee() {
return assignee;
}
public long getSourceProjectId() {
return sourceProjectId;
}
public long getTargetProjectId() {
return targetProjectId;
}
public List<String> getLabels() {
return labels;
}
public boolean isWorkInProgress() {
return workInProgress;
}
public Milestone getMilestone() {
return milestone;
}
public boolean isMergeWhenBuildSucceedsEnabled() {
return mergeWhenBuildSucceeds;
}
public String getMergeStatus() {
return mergeStatus;
}
/**
* Get the changes. Only not null if this merge request was retrieved via {@link com.commit451.gitlab.api.GitLabService#getMergeRequestChanges(long, long)}
* @return the changes
*/
@Nullable
public List<Diff> getChanges() {
return changes;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MergeRequest)) {
return false;
}
MergeRequest mergeRequest = (MergeRequest) o;
return id == mergeRequest.id;
}
@Override
public int hashCode() {
return (int) (id ^ (id >>> 32));
}
}
package com.commit451.gitlab.model.api
import android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
class MergeRequest {
companion object {
const val STATE_OPENED = "opened"
const val STATE_MERGED = "merged"
const val STATE_CLOSED = "closed"
}
@StringDef(STATE_OPENED, STATE_MERGED, STATE_CLOSED)
@Retention(AnnotationRetention.SOURCE)
annotation class State
@Json(name = "id")
var id: Long = 0
@Json(name = "iid")
var iid: Long = 0
@Json(name = "project_id")
var projectId: Long = 0
@Json(name = "title")
var title: String? = null
@Json(name = "description")
var description: String? = null
@Json(name = "state")
@State
@get:State var state: String? = null
@Json(name = "updated_at")
var updatedAt: Date? = null
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "target_branch")
var targetBranch: String? = null
@Json(name = "source_branch")
var sourceBranch: String? = null
@Json(name = "upvotes")
var upvotes: Long = 0
@Json(name = "downvotes")
var downvotes: Long = 0
@Json(name = "author")
var author: UserBasic? = null
@Json(name = "assignee")
var assignee: UserBasic? = null
@Json(name = "source_project_id")
var sourceProjectId: Long = 0
@Json(name = "target_project_id")
var targetProjectId: Long = 0
@Json(name = "labels")
var labels: List<String>? = null
@Json(name = "work_in_progress")
var isWorkInProgress: Boolean = false
@Json(name = "milestone")
var milestone: Milestone? = null
@Json(name = "merge_when_build_succeeds")
var isMergeWhenBuildSucceedsEnabled: Boolean = false
@Json(name = "merge_status")
var mergeStatus: String? = null
/**
* Get the changes. Only not null if this merge request was retrieved via [com.commit451.gitlab.api.GitLabService.getMergeRequestChanges]
* @return the changes
*/
@Json(name = "changes")
var changes: List<Diff>? = null
}
package com.commit451.gitlab.model.api;
package com.commit451.gitlab.model.api
 
 
import com.squareup.moshi.Json;
import com.squareup.moshi.Json
 
/**
* The structure for a message from the server, which is usually found in a response body
*/
public class Message {
class Message {
 
@Json(name = "message")
String message;
public String getMessage() {
return message;
}
var message: String? = null
}
package com.commit451.gitlab.model.api;
import android.support.annotation.Nullable;
import android.support.annotation.StringDef;
import com.commit451.gitlab.api.converter.DashDateAdapter;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Date;
@Parcel
public class Milestone {
public static final String STATE_ACTIVE = "active";
public static final String STATE_CLOSED = "closed";
@StringDef({STATE_ACTIVE, STATE_CLOSED})
@Retention(RetentionPolicy.SOURCE)
public @interface State {}
public static final String STATE_EVENT_ACTIVATE = "activate";
public static final String STATE_EVENT_CLOSE = "close";
@StringDef({STATE_EVENT_ACTIVATE, STATE_EVENT_CLOSE})
@Retention(RetentionPolicy.SOURCE)
public @interface StateEvent {}
@Json(name = "id")
long id;
@Json(name = "iid")
long iId;
@Json(name = "project_id")
long projectId;
@Json(name = "title")
String title;
@Json(name = "description")
String description;
@Json(name = "state")
String state;
@Json(name = "created_at")
Date createdAt;
@Json(name = "updated_at")
Date updatedAt;
@DashDateAdapter.DueDate
@Json(name = "due_date")
Date dueDate;
public Milestone() {}
public long getId() {
return id;
}
public long getIid() {
return iId;
}
public long getProjectId() {
return projectId;
}
public String getTitle() {
return title;
}
public String getDescription() {
return description;
}
@State
public String getState() {
return state;
}
public Date getCreatedAt() {
return createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
@Nullable
public Date getDueDate() {
return dueDate;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Milestone)) {
return false;
}
Milestone milestone = (Milestone) o;
return id == milestone.id;
}
@Override
public int hashCode() {
return (int) (id ^ (id >>> 32));
}
@Override
public String toString() {
return title;
}
}
package com.commit451.gitlab.model.api
import android.support.annotation.StringDef
import com.commit451.gitlab.api.converter.DashDateAdapter
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
class Milestone {
companion object {
const val STATE_ACTIVE = "active"
const val STATE_CLOSED = "closed"
const val STATE_EVENT_ACTIVATE = "activate"
const val STATE_EVENT_CLOSE = "close"
}
@StringDef(STATE_ACTIVE, STATE_CLOSED)
@Retention(AnnotationRetention.SOURCE)
annotation class State
@StringDef(STATE_EVENT_ACTIVATE, STATE_EVENT_CLOSE)
@Retention(AnnotationRetention.SOURCE)
annotation class StateEvent
@Json(name = "id")
var id: Long = 0
@Json(name = "iid")
var iid: Long = 0
@Json(name = "project_id")
var projectId: Long = 0
@Json(name = "title")
var title: String? = null
@Json(name = "description")
var description: String? = null
@Json(name = "state")
@get:State
var state: String? = null
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "updated_at")
var updatedAt: Date? = null
@DashDateAdapter.DueDate
@Json(name = "due_date")
var dueDate: Date? = 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;
@Parcel
public class Note {
public static final String TYPE_ISSUE = "Issue";
public static final String TYPE_MERGE_REQUEST = "MergeRequest";
@StringDef({TYPE_ISSUE, TYPE_MERGE_REQUEST})
@Retention(RetentionPolicy.SOURCE)
public @interface Type {}
@Json(name = "id")
long id;
@Json(name = "body")
String body;
@Json(name = "author")
UserBasic author;
@Json(name = "created_at")
Date createdAt;
@Json(name = "system")
boolean system;
@Json(name = "noteable_id")
long noteableId;
@Json(name = "noteable_type")
@Type
String noteableType;
@Json(name = "upvote?")
boolean upvote;
@Json(name = "downvote?")
boolean downvote;
public Note() {}
public long getId() {
return id;
}
public String getBody() {
return body;
}
public UserBasic getAuthor() {
return author;
}
public Date getCreatedAt() {
return createdAt;
}
public boolean isSystem() {
return system;
}
public long getNoteableId() {
return noteableId;
}
public @Type String getNoteableType() {
return noteableType;
}
public boolean isUpvote() {
return upvote;
}
public boolean isDownvote() {
return downvote;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Note)) {
return false;
}
Note note = (Note) o;
return id == note.id;
}
@Override
public int hashCode() {
return (int) (id ^ (id >>> 32));
}
}
package com.commit451.gitlab.model.api
import android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
class Note {
companion object {
const val TYPE_ISSUE = "Issue"
const val TYPE_MERGE_REQUEST = "MergeRequest"
}
@StringDef(TYPE_ISSUE, TYPE_MERGE_REQUEST)
@Retention(AnnotationRetention.SOURCE)
annotation class Type
@Json(name = "id")
var id: Long = 0
@Json(name = "body")
var body: String? = null
@Json(name = "author")
var author: UserBasic? = null
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "system")
var isSystem: Boolean = false
@Json(name = "noteable_id")
var noteableId: Long = 0
@Json(name = "noteable_type")
@Type
@get:Type var noteableType: String? = null
@Json(name = "upvote?")
var isUpvote: Boolean = false
@Json(name = "downvote?")
var isDownvote: Boolean = false
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.util.Date;
/**
* A pipeline.
*/
@Parcel
public class Pipeline {
@Json(name = "user")
CommitUser user;
@Json(name = "id")
long id;
@Json(name = "sha")
String sha;
@Json(name = "ref")
String ref;
@Json(name = "status")
String status;
@Json(name = "created_at")
Date createdAt;
@Json(name = "started_at")
Date startedAt;
@Json(name = "finished_at")
Date finishedAt;
public CommitUser getUser() {
return user;
}
public long getId() {
return id;
}
public String getSha() {
return sha;
}
public String getRef() {
return ref;
}
public String getStatus() {
return status;
}
public Date getCreatedAt() {
return createdAt;
}
public Date getStartedAt() { return startedAt; }
public Date getFinishedAt() { return finishedAt; }
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
/**
* A pipeline.
*/
@Parcel
class Pipeline {
@Json(name = "user")
var user: CommitUser? = null
@Json(name = "id")
var id: Long = 0
@Json(name = "sha")
var sha: String? = null
@Json(name = "ref")
var ref: String? = null
@Json(name = "status")
var status: String? = null
@Json(name = "created_at")
var createdAt: Date? = null
@Json(name = "started_at")
var startedAt: Date? = null
@Json(name = "finished_at")
var finishedAt: Date? = null
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
/**
* Represents a pipeline
*/
@Parcel
public class Pipelines {
@Json(name = "sha")
String sha;
@Json(name = "id")
long id;
@Json(name = "ref")
String ref;
@Json(name = "status")
String status;
public long getId() {
return id;
}
public String getSha() {
return sha;
}
public String getRef() {
return ref;
}
public String getStatus() {
return status;
}
}
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