Skip to content

Commit 69fe085

Browse files
authored
Merge pull request cloudbees-oss#118 from christ66/organizationMembership
Add organization memberships
2 parents 15460f9 + 65c0eeb commit 69fe085

File tree

2 files changed

+129
-0
lines changed

2 files changed

+129
-0
lines changed

src/main/java/org/zendesk/client/v2/Zendesk.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.zendesk.client.v2.model.Metric;
3434
import org.zendesk.client.v2.model.Organization;
3535
import org.zendesk.client.v2.model.OrganizationField;
36+
import org.zendesk.client.v2.model.OrganizationMembership;
3637
import org.zendesk.client.v2.model.SearchResultEntity;
3738
import org.zendesk.client.v2.model.Status;
3839
import org.zendesk.client.v2.model.SuspendedTicket;
@@ -1006,6 +1007,44 @@ public Iterable<Organization> lookupOrganizationsByExternalId(String externalId)
10061007
handleList(Organization.class, "organizations"));
10071008
}
10081009

1010+
public Iterable<OrganizationMembership> getOrganizationMemberships() {
1011+
return new PagedIterable<OrganizationMembership>(cnst("/organization_memberships.json"),
1012+
handleList(OrganizationMembership.class, "organization_memberships"));
1013+
}
1014+
1015+
public Iterable<OrganizationMembership> getOrganizationMembershipsForOrg(long organization_id) {
1016+
return new PagedIterable<OrganizationMembership>(tmpl("/organizations/{organization_id}/organization_memberships.json").set("organization_id", organization_id),
1017+
handleList(OrganizationMembership.class, "organization_memberships"));
1018+
}
1019+
1020+
public Iterable<OrganizationMembership> getOrganizationMembershipsForUser(long user_id) {
1021+
return new PagedIterable<OrganizationMembership>(tmpl("/users/{user_id}/organization_memberships.json").set("user_id", user_id),
1022+
handleList(OrganizationMembership.class, "organization_memberships"));
1023+
}
1024+
1025+
public OrganizationMembership getOrganizationMembershipForUser(long user_id, long id) {
1026+
return complete(submit(req("GET",
1027+
tmpl("/users/{user_id}/organization_memberships/{id}.json").set("user_id", user_id).set("id", id)),
1028+
handle(OrganizationMembership.class, "organization_membership")));
1029+
}
1030+
1031+
public OrganizationMembership getOrganizationMembership(long id) {
1032+
return complete(submit(req("GET",
1033+
tmpl("/organization_memberships/{id}.json").set("id", id)),
1034+
handle(OrganizationMembership.class, "organization_membership")));
1035+
}
1036+
1037+
public OrganizationMembership createOrganizationMembership(OrganizationMembership organizationMembership) {
1038+
return complete(submit(req("POST",
1039+
cnst("/organization_memberships.json"), JSON, json(
1040+
Collections.singletonMap("organization_membership",
1041+
organizationMembership))), handle(OrganizationMembership.class, "organization_membership")));
1042+
}
1043+
1044+
public void deleteOrganizationMembership(long id) {
1045+
complete(submit(req("DELETE", tmpl("/organization_memberships/{id}.json").set("id", id)), handleStatus()));
1046+
}
1047+
10091048
public Iterable<Group> getGroups() {
10101049
return new PagedIterable<Group>(cnst("/groups.json"),
10111050
handleList(Group.class, "groups"));
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
package org.zendesk.client.v2.model;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
5+
import java.io.Serializable;
6+
import java.util.Date;
7+
8+
/**
9+
* Created by schristou88 on 5/12/16.
10+
*/
11+
public class OrganizationMembership implements SearchResultEntity, Serializable {
12+
13+
private static final long serialVersionUID = 1L;
14+
15+
private long id;
16+
private long userId;
17+
private long organizationId;
18+
private boolean _default;
19+
private Date createdAt;
20+
private Date updatedAt;
21+
22+
public OrganizationMembership(){
23+
}
24+
25+
@JsonProperty("id")
26+
public long getId() {
27+
return id;
28+
}
29+
30+
public void setId(long id) {
31+
this.id = id;
32+
}
33+
34+
@JsonProperty("user_id")
35+
public long getUserId() {
36+
return userId;
37+
}
38+
39+
public void setUserId(long userId) {
40+
this.userId = userId;
41+
}
42+
43+
@JsonProperty("organization_id")
44+
public long getOrganizationId() {
45+
return organizationId;
46+
}
47+
48+
public void setOrganizationId(long organizationId) {
49+
this.organizationId = organizationId;
50+
}
51+
52+
@JsonProperty("default")
53+
public boolean isDefault() {
54+
return _default;
55+
}
56+
57+
public void setDefault(boolean _default) {
58+
this._default = _default;
59+
}
60+
61+
@JsonProperty("created_at")
62+
public Date getCreatedAt() {
63+
return createdAt;
64+
}
65+
66+
public void setCreatedAt(Date createdAt) {
67+
this.createdAt = createdAt;
68+
}
69+
70+
@JsonProperty("updated_at")
71+
public Date getUpdatedAt() {
72+
return updatedAt;
73+
}
74+
75+
public void setUpdatedAt(Date updatedAt) {
76+
this.updatedAt = updatedAt;
77+
}
78+
79+
@Override
80+
public String toString() {
81+
return "OrganizationMembership{" +
82+
"id=" + id +
83+
", userId=" + userId +
84+
", organizationId=" + organizationId +
85+
", default=" + _default +
86+
", createdAt=" + createdAt +
87+
", updatedAt=" + updatedAt +
88+
'}';
89+
}
90+
}

0 commit comments

Comments
 (0)