use of com.microsoft.graph.requests.extensions.IDirectoryObjectCollectionWithReferencesPage in project android-java-snippets-sample by microsoftgraph.
the class GroupsSnippets method getGroupsSnippets.
static GroupsSnippets[] getGroupsSnippets() {
return new GroupsSnippets[] { // Marker element
new GroupsSnippets(null) {
@Override
public void request(ICallback callback) {
// Not implemented
}
}, /*
* Get a group by id
* GET https://graph.microsoft.com/{version}/myOrganization/groups/{Group.objectId}
* @see https://graph.microsoft.io/docs/api-reference/v1.0/api/group_get
*/
new GroupsSnippets<JsonObject>(get_a_group) {
@Override
public void request(final ICallback<JsonObject> callback) {
// create a group then query it
Group group = createGroupObject();
mGraphServiceClient.groups().buildRequest().post(group, new ICallback<Group>() {
@Override
public void success(Group group) {
mGraphServiceClient.groups().byId(group.id).buildRequest().get(new ICallback<Group>() {
@Override
public void success(Group group) {
callback.success(group.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Get all of the members of a newly created organization group
* GET https://graph.microsoft.com/{version}/myOrganization/groups/{Group.objectId}/members
* @see https://graph.microsoft.io/docs/api-reference/v1.0/api/group_list_members
*/
new GroupsSnippets<JsonObject>(get_group_members) {
@Override
public void request(final ICallback<JsonObject> callback) {
// create a group then ask for its members
Group group = createGroupObject();
mGraphServiceClient.groups().buildRequest().post(group, new ICallback<Group>() {
@Override
public void success(Group group) {
mGraphServiceClient.groups().byId(group.id).members().buildRequest().get(new ICallback<IDirectoryObjectCollectionWithReferencesPage>() {
@Override
public void success(IDirectoryObjectCollectionWithReferencesPage iDirectoryObjectCollectionWithReferencesPage) {
callback.success(iDirectoryObjectCollectionWithReferencesPage.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Get all of a group's owners
* GET https://graph.microsoft.com/{version}/myOrganization/groups/{Group.objectId}/owners
* @see https://graph.microsoft.io/docs/api-reference/v1.0/api/group_list_owners
*/
new GroupsSnippets<JsonObject>(get_group_owners) {
@Override
public void request(final ICallback<JsonObject> callback) {
// create a group and then request its owner
Group group = createGroupObject();
mGraphServiceClient.groups().buildRequest().post(group, new ICallback<Group>() {
@Override
public void success(Group group) {
mGraphServiceClient.groups().byId(group.id).owners().buildRequest().get(new ICallback<IDirectoryObjectCollectionWithReferencesPage>() {
@Override
public void success(IDirectoryObjectCollectionWithReferencesPage iDirectoryObjectCollectionWithReferencesPage) {
callback.success(iDirectoryObjectCollectionWithReferencesPage.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* List all organization groups
* GET https://graph.microsoft.com/v1.0/groups
* @see https://graph.microsoft.io/docs/api-reference/v1.0/api/group_list
*/
new GroupsSnippets<JsonObject>(get_all_groups) {
@Override
public void request(final ICallback<JsonObject> callback) {
mGraphServiceClient.groups().buildRequest().get(new ICallback<IGroupCollectionPage>() {
@Override
public void success(IGroupCollectionPage iGroupCollectionPage) {
callback.success(iGroupCollectionPage.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Create a new group with a random name
* POST https://graph.microsoft.com/{version}/myOrganization/groups
* @see https://graph.microsoft.io/docs/api-reference/v1.0/resources/group
*/
new GroupsSnippets<JsonObject>(insert_a_group) {
@Override
public void request(final ICallback<JsonObject> callback) {
// create a new group
Group group = createGroupObject();
mGraphServiceClient.groups().buildRequest().post(group, new ICallback<Group>() {
@Override
public void success(Group group) {
callback.success(group.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Delete a group
* DELETE https://graph.microsoft.com/{version}/myOrganization/groups/{Group.objectId}
* @see https://graph.microsoft.io/docs/api-reference/v1.0/api/group_delete
*/
new GroupsSnippets<JsonObject>(delete_a_group) {
@Override
public void request(final ICallback<JsonObject> callback) {
// Create a group that we will delete
// create a group and then request its owner
Group group = createGroupObject();
mGraphServiceClient.groups().buildRequest().post(group, new ICallback<Group>() {
@Override
public void success(Group group) {
mGraphServiceClient.groups().byId(group.id).buildRequest().delete(new ICallback<Group>() {
@Override
public void success(Group aVoid) {
callback.success(null);
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
} };
}
use of com.microsoft.graph.requests.extensions.IDirectoryObjectCollectionWithReferencesPage in project opencga by opencb.
the class AzureADAuthenticationManager method getUsersFromRemoteGroup.
@Override
public List<User> getUsersFromRemoteGroup(String groupId) throws CatalogException {
IDirectoryObjectCollectionWithReferencesPage membersPage;
try {
membersPage = graphServiceClient.groups(groupId).members().buildRequest().get();
} catch (GraphServiceException e) {
logger.error("Group '{}' not found.", groupId);
throw new CatalogException("Group '" + groupId + "' not found");
} catch (ClientException e) {
logger.error("Graph query could not be performed: {}", e.getMessage());
throw e;
}
List<com.microsoft.graph.models.extensions.User> graphUserList = new ArrayList<>();
ObjectMapper jsonObjectMapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
boolean moreElems = true;
while (membersPage.getCurrentPage() != null && moreElems) {
for (DirectoryObject directoryObject : membersPage.getCurrentPage()) {
com.microsoft.graph.models.extensions.User graphUser;
if ("#microsoft.graph.user".equals(directoryObject.oDataType)) {
try {
graphUser = jsonObjectMapper.readValue(String.valueOf(directoryObject.getRawObject()), com.microsoft.graph.models.extensions.User.class);
graphUserList.add(graphUser);
} catch (IOException e) {
e.printStackTrace();
}
}
}
if (membersPage.getNextPage() != null) {
membersPage = membersPage.getNextPage().buildRequest().get();
} else {
moreElems = false;
}
}
return extractUserInformation(graphUserList);
}
use of com.microsoft.graph.requests.extensions.IDirectoryObjectCollectionWithReferencesPage in project android-java-snippets-sample by microsoftgraph.
the class MeSnippets method getMeSnippets.
static MeSnippets[] getMeSnippets() {
return new MeSnippets[] { // Marker element
new MeSnippets(null) {
@Override
public void request(ICallback callback) {
// Not implemented
}
}, /* Get information about signed in user
* HTTP GET https://graph.microsoft.com/{version}/me
* @see https://graph.microsoft.io/docs/api-reference/v1.0/api/user_get
*/
new MeSnippets<JsonObject>(get_me) {
@Override
public void request(final ICallback<JsonObject> callback) {
mGraphServiceClient.me().buildRequest().get(new ICallback<User>() {
@Override
public void success(User user) {
callback.success(user.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Get responsibilities of signed in user
* HTTP GET https://graph.microsoft.com/{version}/me?$select=AboutMe,Responsibilities,Tags
* @see https://graph.microsoft.io/docs/api-reference/v1.0/resources/user
*/
new MeSnippets<JsonObject>(get_me_responsibilities) {
@Override
public void request(final ICallback<JsonObject> callback) {
final List<Option> options = new LinkedList<>();
options.add(new QueryOption("$select", "AboutMe,Responsibilities,Tags"));
mGraphServiceClient.me().buildRequest(options).get(new ICallback<User>() {
@Override
public void success(User user) {
callback.success(user.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Get the user's manager
* HTTP GET https://graph.microsoft.com/{version}/me/manager
* @see https://graph.microsoft.io/docs/api-reference/v1.0/resources/user
*/
new MeSnippets<JsonObject>(get_me_manager) {
@Override
public void request(final ICallback<JsonObject> callback) {
mGraphServiceClient.me().manager().buildRequest().get(new ICallback<DirectoryObject>() {
@Override
public void success(DirectoryObject directoryObject) {
callback.success(directoryObject.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Get the user's direct reports
* HTTP GET https://graph.microsoft.com/{version}/me/directReports
* @see https://graph.microsoft.io/docs/api-reference/v1.0/resources/user
*/
new MeSnippets<JsonObject>(get_me_direct_reports) {
@Override
public void request(final ICallback<JsonObject> callback) {
mGraphServiceClient.me().directReports().buildRequest().get(new ICallback<IDirectoryObjectCollectionWithReferencesPage>() {
@Override
public void success(IDirectoryObjectCollectionWithReferencesPage iDirectoryObjectCollectionWithReferencesPage) {
callback.success(iDirectoryObjectCollectionWithReferencesPage.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Get the group membership of the user
* HTTP GET https://graph.microsoft.com/{version}/me/memberOf
* @see https://graph.microsoft.io/docs/api-reference/v1.0/resources/user
*/
new MeSnippets<JsonObject>(get_me_group_membership) {
@Override
public void request(final ICallback<JsonObject> callback) {
mGraphServiceClient.me().memberOf().buildRequest().get(new ICallback<IDirectoryObjectCollectionWithReferencesPage>() {
@Override
public void success(IDirectoryObjectCollectionWithReferencesPage iDirectoryObjectCollectionWithReferencesPage) {
callback.success(iDirectoryObjectCollectionWithReferencesPage.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
}, /* Get the photo of the user
* HTTP GET https://graph.microsoft.com/{version}/me/userPhoto
* @see https://graph.microsoft.io/docs/api-reference/v1.0/resources/user
*/
new MeSnippets<JsonObject>(get_me_photo) {
@Override
public void request(final ICallback<JsonObject> callback) {
mGraphServiceClient.me().photo().buildRequest().get(new ICallback<ProfilePhoto>() {
@Override
public void success(ProfilePhoto profilePhoto) {
callback.success(profilePhoto.getRawObject());
}
@Override
public void failure(ClientException ex) {
callback.failure(ex);
}
});
}
} };
}
Aggregations