Skip to content

Commit 255f324

Browse files
zuglahrouazana
authored andcommitted
Allowing path customization directly into usersUrl.
Managing new json property odata 'count' returned by MS graphapi
1 parent 2be5f6b commit 255f324

3 files changed

Lines changed: 16 additions & 6 deletions

File tree

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The values to configure are:
2929
##### Connection
3030

3131
- `connections.pluginConnection.msGraphApiConnectionSettings.authenticationURL`: The base URL used for authentication (default is https://login.microsoftonline.com/) (optional)
32-
- `connections.pluginConnection.msGraphApiConnectionSettings.usersURL`: The base URL used for operations on users (default is https://graph.microsoft.com) (optional)
32+
- `connections.pluginConnection.msGraphApiConnectionSettings.usersURL`: The base URL used for operations on users (default is https://graph.microsoft.com/v1.0/users) (optional)
3333
- `connections.pluginConnection.msGraphApiConnectionSettings.scope`: The scope url used during authentication (default is https://graph.microsoft.com/.default) (optional)
3434
- `connections.pluginConnection.msGraphApiConnectionSettings.clientId`: The client id for the application
3535
- `connections.pluginConnection.msGraphApiConnectionSettings.clientSecret`: The client secret used to connect to the application
@@ -48,4 +48,8 @@ JAVA_OPTS="-DLSC.PLUGINS.PACKAGEPATH=org.lsc.plugins.connectors.msgraphapi.gener
4848
```
4949
### Packaging
5050

51+
Clone project then cd inside.
52+
Be sure to have java 8 install then run by default (on debian)::
53+
"JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 mvn clean package"
54+
5155
WIP

src/main/java/org/lsc/plugins/connectors/msgraphapi/MsGraphApiDao.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
public class MsGraphApiDao {
7373
public static final String USER_PATH = "/users";
7474
public static final String DEFAULT_PIVOT = "mail";
75-
public static final String DEFAULT_USERS_URL = "https://graph.microsoft.com";
75+
public static final String DEFAULT_USERS_URL = "https://graph.microsoft.com/v1.0/users";
7676
public static final String ID = "id";
7777
private static final Logger LOGGER = LoggerFactory.getLogger(MsGraphApiDao.class);
7878

@@ -97,9 +97,7 @@ public MsGraphApiDao(String token, MsGraphApiConnectionSettings settings, MsGrap
9797
client = ClientBuilder.newClient()
9898
.register(JacksonFeature.class);
9999
usersClient = client
100-
.target(this.usersURL)
101-
.path("v1.0")
102-
.path(USER_PATH);
100+
.target(this.usersURL);
103101
}
104102

105103
private Optional<String> getStringParameter(String parameter) {
@@ -114,6 +112,7 @@ private List<User> getUsersList(Optional<String> computedFilter) {
114112
WebTarget target = pivot.equals(ID) ? usersClient.queryParam("$select", pivot) : usersClient.queryParam("$select","id," + pivot);
115113

116114
if (computedFilter.isPresent()) {
115+
target = target.queryParam("$count", "true");
117116
target = target.queryParam("$filter", computedFilter.get());
118117
}
119118
if (pageSize.isPresent()) {
@@ -153,6 +152,7 @@ private UsersListResponse getUsersListResponse(WebTarget target) {
153152
try {
154153
response = target.request()
155154
.header(HttpHeaders.AUTHORIZATION, authorizationBearer)
155+
.header("ConsistencyLevel", "eventual")
156156
.accept(MediaType.APPLICATION_JSON_TYPE)
157157
.get();
158158
if (checkResponse(response)) {

src/main/java/org/lsc/plugins/connectors/msgraphapi/beans/UsersListResponse.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,14 @@
5050

5151
public class UsersListResponse {
5252
private final String context;
53+
private final String count;
5354
private final String nextLink;
5455
private final List<Map<String, Object>> value;
5556

5657
@JsonCreator
57-
public UsersListResponse(@JsonProperty("@odata.context") String context, @JsonProperty("@odata.nextLink") String nextLink, @JsonProperty("value") List<Map<String, Object>> value) {
58+
public UsersListResponse(@JsonProperty("@odata.context") String context, @JsonProperty("@odata.count") String count, @JsonProperty("@odata.nextLink") String nextLink, @JsonProperty("value") List<Map<String, Object>> value) {
5859
this.context = context;
60+
this.count = count;
5961
this.nextLink = nextLink;
6062
this.value = value;
6163
}
@@ -64,6 +66,10 @@ public String getContext() {
6466
return context;
6567
}
6668

69+
public String getCount() {
70+
return count;
71+
}
72+
6773
public String getNextLink() {
6874
return nextLink;
6975
}

0 commit comments

Comments
 (0)