diff --git a/docs/AddCollaboratorOption.md b/docs/AddCollaboratorOption.md
index d6dcfe9..37813fe 100644
--- a/docs/AddCollaboratorOption.md
+++ b/docs/AddCollaboratorOption.md
@@ -3,4 +3,12 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**permission** | **String** | | [optional]
+**permission** | [**PermissionEnum**](#PermissionEnum) | | [optional]
+
+
+## Enum: PermissionEnum
+Name | Value
+---- | -----
+READ | "read"
+WRITE | "write"
+ADMIN | "admin"
diff --git a/src/main/java/org/gitnex/tea4j/v2/models/AddCollaboratorOption.java b/src/main/java/org/gitnex/tea4j/v2/models/AddCollaboratorOption.java
index 1c886d9..f28dcc8 100644
--- a/src/main/java/org/gitnex/tea4j/v2/models/AddCollaboratorOption.java
+++ b/src/main/java/org/gitnex/tea4j/v2/models/AddCollaboratorOption.java
@@ -12,8 +12,13 @@
package org.gitnex.tea4j.v2.models;
+import com.google.gson.TypeAdapter;
+import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
import io.swagger.v3.oas.annotations.media.Schema;
+import java.io.IOException;
import java.io.Serializable;
import java.util.Objects;
@@ -23,11 +28,56 @@ import java.util.Objects;
"AddCollaboratorOption options when adding a user as a collaborator of a repository")
public class AddCollaboratorOption implements Serializable {
private static final long serialVersionUID = 1L;
+ /** Gets or Sets permission */
+ @JsonAdapter(PermissionEnum.Adapter.class)
+ public enum PermissionEnum {
+ READ("read"),
+ WRITE("write"),
+ ADMIN("admin");
+
+ private String value;
+
+ PermissionEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static PermissionEnum fromValue(String input) {
+ for (PermissionEnum b : PermissionEnum.values()) {
+ if (b.value.equals(input)) {
+ return b;
+ }
+ }
+ return null;
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final PermissionEnum enumeration)
+ throws IOException {
+ jsonWriter.value(String.valueOf(enumeration.getValue()));
+ }
+
+ @Override
+ public PermissionEnum read(final JsonReader jsonReader) throws IOException {
+ Object value = jsonReader.nextString();
+ return PermissionEnum.fromValue((String) (value));
+ }
+ }
+ }
@SerializedName("permission")
- private String permission = null;
+ private PermissionEnum permission = null;
- public AddCollaboratorOption permission(String permission) {
+ public AddCollaboratorOption permission(PermissionEnum permission) {
this.permission = permission;
return this;
}
@@ -38,11 +88,11 @@ public class AddCollaboratorOption implements Serializable {
* @return permission
*/
@Schema(description = "")
- public String getPermission() {
+ public PermissionEnum getPermission() {
return permission;
}
- public void setPermission(String permission) {
+ public void setPermission(PermissionEnum permission) {
this.permission = permission;
}