diff --git a/src/main/java/org/gitlab4j/api/models/Group.java b/src/main/java/org/gitlab4j/api/models/Group.java index d7d4d0560..4df3895b9 100644 --- a/src/main/java/org/gitlab4j/api/models/Group.java +++ b/src/main/java/org/gitlab4j/api/models/Group.java @@ -60,6 +60,7 @@ public void setJobArtifactsSize(Long jobArtifactsSize) { private List projects; private List sharedProjects; private Date createdAt; + private List sharedWithGroups; private String runnersToken; @JsonSerialize(using = JacksonJson.DateOnlySerializer.class) @@ -161,6 +162,14 @@ public void setCreatedAt(Date createdAt) { this.createdAt = createdAt; } + public List getSharedWithGroups() { + return sharedWithGroups; + } + + public void setSharedWithGroups(List sharedWithGroups) { + this.sharedWithGroups = sharedWithGroups; + } + public String getRunnersToken() { return runnersToken; } diff --git a/src/main/java/org/gitlab4j/api/models/ProjectSharedGroup.java b/src/main/java/org/gitlab4j/api/models/ProjectSharedGroup.java index 213819f0d..0c37eb2d3 100644 --- a/src/main/java/org/gitlab4j/api/models/ProjectSharedGroup.java +++ b/src/main/java/org/gitlab4j/api/models/ProjectSharedGroup.java @@ -1,48 +1,8 @@ package org.gitlab4j.api.models; -import org.gitlab4j.api.utils.JacksonJson; - -public class ProjectSharedGroup { - - private Long groupId; - private String groupName; - private String groupFullPath; - private AccessLevel groupAccessLevel; - - public long getGroupId() { - return groupId; - } - - public void setGroupId(long groupId) { - this.groupId = groupId; - } - - public String getGroupName() { - return groupName; - } - - public void setGroupName(String groupName) { - this.groupName = groupName; - } - - public AccessLevel getGroupAccessLevel() { - return (groupAccessLevel); - } - - public void setGroupAccessLevel(AccessLevel accessLevel) { - this.groupAccessLevel = accessLevel; - } - - public String getGroupFullPath() { - return groupFullPath; - } - - public void setGroupFullPath(String groupFullPath) { - this.groupFullPath = groupFullPath; - } - - @Override - public String toString() { - return (JacksonJson.toJsonString(this)); - } +/** + * @deprecated use {@link SharedGroup} instead + */ +@Deprecated +public class ProjectSharedGroup extends SharedGroup { } diff --git a/src/main/java/org/gitlab4j/api/models/SharedGroup.java b/src/main/java/org/gitlab4j/api/models/SharedGroup.java new file mode 100644 index 000000000..6aa648132 --- /dev/null +++ b/src/main/java/org/gitlab4j/api/models/SharedGroup.java @@ -0,0 +1,62 @@ +package org.gitlab4j.api.models; + +import java.util.Date; + +import org.gitlab4j.api.utils.JacksonJson; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +public class SharedGroup { + + private Long groupId; + private String groupName; + private String groupFullPath; + private AccessLevel groupAccessLevel; + @JsonSerialize(using = JacksonJson.DateOnlySerializer.class) + private Date expiresAt; + + public long getGroupId() { + return groupId; + } + + public void setGroupId(long groupId) { + this.groupId = groupId; + } + + public String getGroupName() { + return groupName; + } + + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public AccessLevel getGroupAccessLevel() { + return (groupAccessLevel); + } + + public void setGroupAccessLevel(AccessLevel accessLevel) { + this.groupAccessLevel = accessLevel; + } + + public String getGroupFullPath() { + return groupFullPath; + } + + public void setGroupFullPath(String groupFullPath) { + this.groupFullPath = groupFullPath; + } + + public Date getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(Date expiresAt) { + this.expiresAt = expiresAt; + } + + @Override + public String toString() { + return (JacksonJson.toJsonString(this)); + } +} diff --git a/src/test/resources/org/gitlab4j/api/group.json b/src/test/resources/org/gitlab4j/api/group.json index b0fa5318a..ea84f6e07 100644 --- a/src/test/resources/org/gitlab4j/api/group.json +++ b/src/test/resources/org/gitlab4j/api/group.json @@ -17,6 +17,16 @@ "lfs_objects_size" : 123, "job_artifacts_size" : 57 }, + "shared_with_groups": [ + { + "group_id": 104, + "group_name": "A Group", + "group_full_path": "a-group", + "group_access_level": 10, + "expires_at": "2023-11-19" + } + ], + "runners_token": "GRnEE2mDc13489411jmS2d5R1XTfM", "projects": [ { "id": 7, diff --git a/src/test/resources/org/gitlab4j/api/project.json b/src/test/resources/org/gitlab4j/api/project.json index 098590cd3..acd5f5adb 100644 --- a/src/test/resources/org/gitlab4j/api/project.json +++ b/src/test/resources/org/gitlab4j/api/project.json @@ -73,13 +73,15 @@ "group_id": 4, "group_name": "Twitter", "group_full_path": "twitter", - "group_access_level": 30 + "group_access_level": 30, + "expires_at": "2023-11-19" }, { "group_id": 3, "group_name": "Gitlab Org", "group_full_path": "gitlab-org", - "group_access_level": 10 + "group_access_level": 10, + "expires_at": "2023-11-19" } ], "repository_storage": "default",