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

Merge remote-tracking branch 'origin/develop'

parents cbd7ebc0 f5eb33a1
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 341 additions and 697 deletions
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(Parcel.Serialization.BEAN)
open class RepositoryCommit {
@field:Json(name = "id")
lateinit var id: String
@field:Json(name = "short_id")
var shortId: String? = null
@field:Json(name = "title")
var title: String? = null
@field:Json(name = "author_name")
var authorName: String? = null
@field:Json(name = "author_email")
var authorEmail: String? = null
@field:Json(name = "created_at")
var createdAt: Date? = null
@field: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(Parcel.Serialization.BEAN)
open class RepositoryFile {
@field:Json(name = "file_name")
var fileName: String? = null
@field:Json(name = "file_path")
var filePath: String? = null
@field:Json(name = "size")
var size: Long = 0
@field:Json(name = "encoding")
var encoding: String? = null
@field:Json(name = "content")
lateinit var content: String
@field:Json(name = "ref")
var ref: String? = null
@field:Json(name = "blob_id")
var blobId: String? = null
@field:Json(name = "commit_id")
var commitId: String? = null
@field: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(Parcel.Serialization.BEAN)
open 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
@field:Json(name = "id")
var id: String? = null
@field:Json(name = "name")
var name: String? = null
@field:Json(name = "type")
@Type
@get:Type var type: String? = null
@field: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(Parcel.Serialization.BEAN)
open class Runner {
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "description")
var description: String? = null
@field:Json(name = "active")
var isActive: Boolean = false
@field:Json(name = "is_shared")
var isShared: Boolean = false
@field:Json(name = "name")
var name: String? = null
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
import java.util.Date;
/**
* A snippet!
*/
@Parcel
public class Snippet {
@Json(name = "id")
long id;
@Json(name = "title")
String title;
@Json(name = "file_name")
String fileName;
@Json(name = "author")
Author author;
@Json(name = "expires_at")
Date expiresAt;
@Json(name = "updated_at")
Date updatedAt;
@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;
}
@Parcel
public static class Author {
@Json(name = "id")
long mId;
@Json(name = "username")
String mUsername;
@Json(name = "email")
String mEmail;
@Json(name = "name")
String mName;
@Json(name = "state")
String mState;
@Json(name = "created_at")
Date mCreatedAt;
protected Author() {
//for json
}
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
/**
* A snippet!
*/
@Parcel(Parcel.Serialization.BEAN)
open class Snippet {
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "title")
var title: String? = null
@field:Json(name = "file_name")
var fileName: String? = null
@field:Json(name = "author")
var author: Author? = null
@field:Json(name = "expires_at")
var expiresAt: Date? = null
@field:Json(name = "updated_at")
var updatedAt: Date? = null
@field:Json(name = "created_at")
var createdAt: Date? = null
@Parcel(Parcel.Serialization.BEAN)
class Author {
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "username")
var username: String? = null
@field:Json(name = "email")
var email: String? = null
@field:Json(name = "name")
var name: String? = null
@field:Json(name = "state")
var state: String? = null
@field:Json(name = "created_at")
var createdAt: Date? = null
}
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
/**
* A tag in Git
*/
public class Tag {
@Json(name = "name")
String name;
@Json(name = "message")
String message;
@Json(name = "commit")
Commit commit;
@Json(name = "release")
Release release;
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 {
@Json(name = "id")
String mId;
@Json(name = "message")
String mMessage;
}
public static class Release {
@Json(name = "tag_name")
String mTagName;
@Json(name = "description")
String mDescription;
}
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
/**
* A tag in Git
*/
class Tag {
@field:Json(name = "name")
var name: String? = null
@field:Json(name = "message")
var message: String? = null
@field:Json(name = "commit")
var commit: Commit? = null
@field:Json(name = "release")
var release: Release? = null
class Commit {
@field:Json(name = "id")
var id: String? = null
@field:Json(name = "message")
var message: String? = null
}
class Release {
@field:Json(name = "tag_name")
var tagName: String? = null
@field:Json(name = "description")
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(Parcel.Serialization.BEAN)
open 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
@field:Json(name = "id")
var id: String? = null
@field:Json(name = "project")
var project: Project? = null
@field:Json(name = "author")
var author: User? = null
@field:Json(name = "action_name")
var actionName: String? = null
@field:Json(name = "target_type")
@TargetType
@get:TargetType
var targetType: String? = null
@field:Json(name = "target_url")
var targetUrl: String? = null
@field:Json(name = "body")
var body: String? = null
@field:Json(name = "state")
@State
@get:State
var state: String? = null
@field: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 android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel(Parcel.Serialization.BEAN)
open class User {
companion object {
const val STATE_ACTIVE = "active"
const val STATE_BLOCKED = "blocked"
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"
}
}
@StringDef(STATE_ACTIVE, STATE_BLOCKED)
@Retention(AnnotationRetention.SOURCE)
annotation class State
@field:Json(name = "created_at")
var createdAt: Date? = null
@field:Json(name = "is_admin")
var isAdmin: Boolean = false
@field:Json(name = "bio")
var bio: String? = null
@field:Json(name = "skype")
var skype: String? = null
@field:Json(name = "linkedin")
var linkedin: String? = null
@field:Json(name = "twitter")
var twitter: String? = null
@field:Json(name = "website_url")
var websiteUrl: String? = null
@field:Json(name = "email")
var email: String? = null
@field:Json(name = "theme_id")
var themeId: Int = 0
@field:Json(name = "color_scheme_id")
var colorSchemeId: Int = 0
@field:Json(name = "projects_limit")
var projectsLimit: Int = 0
@field:Json(name = "current_sign_in_at")
var currentSignInAt: Date? = null
@field:Json(name = "identities")
var identities: MutableList<Identity>? = null
@field:Json(name = "can_create_group")
var canCreateGroup: Boolean = false
@field:Json(name = "can_create_project")
var canCreateProject: Boolean = false
@field:Json(name = "two_factor_enabled")
var isTwoFactorEnabled: Boolean = false
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "state")
@State
@get:State
var state: String? = null
@field:Json(name = "avatar_url")
var avatarUrl: String? = null
@field:Json(name = "web_url")
lateinit var webUrl: String
@field:Json(name = "name")
var name: String? = null
@field:Json(name = "username")
var username: String? = null
@field:Json(name = "private_token")
var privateToken: String? = null
@field:Json(name = "access_level")
var accessLevel: Int = 0
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other?.javaClass != javaClass) return false
other as User
if (id != other.id) return false
return true
}
override fun hashCode(): Int {
return id.hashCode()
}
}
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));
}
}
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 UserFull extends User {
@Json(name = "email")
String email;
@Json(name = "theme_id")
int themeId;
@Json(name = "color_scheme_id")
int colorSchemeId;
@Json(name = "projects_limit")
int projectsLimit;
@Json(name = "current_sign_in_at")
Date currentSignInAt;
@Json(name = "identities")
List<Identity> identities;
@Json(name = "can_create_group")
boolean canCreateGroup;
@Json(name = "can_create_project")
boolean canCreateProject;
@Json(name = "two_factor_enabled")
boolean twoFactorEnabled;
public UserFull() {}
public String getEmail() {
return email;
}
public int getThemeId() {
return themeId;
}
public int getColorSchemeId() {
return colorSchemeId;
}
public int getProjectsLimit() {
return projectsLimit;
}
public Date getCurrentSignInAt() {
return currentSignInAt;
}
public List<Identity> getIdentities() {
return identities;
}
public boolean canCreateGroup() {
return canCreateGroup;
}
public boolean canCreateProject() {
return canCreateProject;
}
public boolean isTwoFactorEnabled() {
return twoFactorEnabled;
}
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
@Parcel
public class UserLogin extends UserFull {
@Json(name = "private_token")
String privateToken;
public UserLogin() {}
public String getPrivateToken() {
return privateToken;
}
}
package com.commit451.gitlab.model.api;
import com.squareup.moshi.Json;
import org.parceler.Parcel;
@Parcel
public class UserSafe {
@Json(name = "name")
String name;
@Json(name = "username")
String username;
public UserSafe() {}
public String getName() {
return name;
}
public String getUsername() {
return username;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof UserSafe)) {
return false;
}
UserSafe user = (UserSafe) o;
return username != null ? username.equals(user.username) : user.username == null;
}
@Override
public int hashCode() {
return username != null ? username.hashCode() : 0;
}
}
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