Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
211 changes: 209 additions & 2 deletions src/main/java/com/auth0/client/mgmt/ConnectionsEntity.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package com.auth0.client.mgmt;

import com.auth0.client.mgmt.filter.ConnectionFilter;
import com.auth0.json.mgmt.connections.Connection;
import com.auth0.json.mgmt.connections.ConnectionsPage;
import com.auth0.json.mgmt.connections.*;
import com.auth0.net.BaseRequest;
import com.auth0.net.Request;
import com.auth0.net.VoidRequest;
Expand Down Expand Up @@ -163,4 +162,212 @@ public Request<Void> deleteUser(String connectionId, String email) {
.toString();
return new VoidRequest(this.client, tokenProvider, url, HttpMethod.DELETE);
}

/**
* Get the Connections Scim Configuration.
* A token with scope read:scim_config is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/get-scim-configuration">https://auth0.com/docs/api/management/v2#!/connections/get-scim-configuration</a>
* @param connectionId the connection id.
* @return a Request to execute.
*/
public Request<ScimConfigurationResponse> getScimConfiguration( String connectionId) {
Asserts.assertNotNull(connectionId, "connection id");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegment("scim-configuration")
.build()
.toString();
return new BaseRequest<>(client, tokenProvider, url, HttpMethod.GET, new TypeReference<ScimConfigurationResponse>() {
});
}

/**
* Delete the Connections Scim Configuration.
* A token with scope delete:scim_config is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/delete-scim-configuration">https://auth0.com/docs/api/management/v2#!/connections/delete-scim-configuration</a>
* @param connectionId the connection id.
* @return a Request to execute.
*/
public Request<Void> deleteScimConfiguration(String connectionId) {
Asserts.assertNotNull(connectionId, "connection id");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegment("scim-configuration")
.build()
.toString();
return new VoidRequest(client, tokenProvider, url, HttpMethod.DELETE);
}

/**
* Update the Connections Scim Configuration.
* A token with scope update:scim_config is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/patch-scim-configuration">https://auth0.com/docs/api/management/v2#!/connections/patch-scim-configuration</a>
* @param connectionId the connection id.
* @param scimConfigurationRequest the scim configuration request.
* @return a Request to execute.
*/
public Request<ScimConfigurationResponse> updateScimConfiguration(String connectionId, ScimConfigurationRequest scimConfigurationRequest){
Asserts.assertNotNull(connectionId, "connection id");
Asserts.assertNotNull(scimConfigurationRequest, "scim configuration request");
Asserts.assertNotNull(scimConfigurationRequest.getUserIdAttribute(), "user id attribute");
Asserts.assertNotNull(scimConfigurationRequest.getMapping(), "mapping");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegment("scim-configuration")
.build()
.toString();

BaseRequest<ScimConfigurationResponse> request = new BaseRequest<>(client, tokenProvider, url, HttpMethod.PATCH, new TypeReference<ScimConfigurationResponse>() {
});
request.setBody(scimConfigurationRequest);
return request;
}

/**
* Create the Connections Scim Configuration.
* A token with scope create:scim_config is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/post-scim-configuration">https://auth0.com/docs/api/management/v2#!/connections/post-scim-configuration</a>
* @param connectionId the connection id.
* @param request the scim configuration request.
* @return a Request to execute.
*/
public Request<ScimConfigurationResponse> createScimConfiguration(String connectionId, ScimConfigurationRequest request){
Asserts.assertNotNull(connectionId, "connection id");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegment("scim-configuration")
.build()
.toString();

BaseRequest<ScimConfigurationResponse> baseRequest = new BaseRequest<>(client, tokenProvider, url, HttpMethod.POST, new TypeReference<ScimConfigurationResponse>() {
});
baseRequest.setBody(request);
return baseRequest;
}

/**
* Get the Scim Configuration default mapping by its connection Id.
* A token with scope read:scim_config is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/get-default-mapping">https://auth0.com/docs/api/management/v2#!/connections/get-default-mapping</a>
* @param connectionId the connection id.
* @return a Request to execute.
*/
public Request<DefaultScimMappingResponse> getDefaultScimConfiguration(String connectionId){
Asserts.assertNotNull(connectionId, "connection id");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegment("scim-configuration")
.addPathSegment("default-mapping")
.build()
.toString();
return new BaseRequest<>(client, tokenProvider, url, HttpMethod.GET, new TypeReference<DefaultScimMappingResponse>() {
});
}

/**
* Get the Connections Scim Tokens.
* A token with scope read:scim_token is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/get-scim-tokens">https://auth0.com/docs/api/management/v2#!/connections/get-scim-tokens</a>
* @param connectionId the connection id.
* @return a Request to execute.
*/
public Request<List<ScimTokenResponse>> getScimToken(String connectionId){
Asserts.assertNotNull(connectionId, "connection id");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegments("scim-configuration/tokens")
.build()
.toString();
return new BaseRequest<>(client, tokenProvider, url, HttpMethod.GET, new TypeReference<List<ScimTokenResponse>>() {
});
}

/**
* Create a Connections Scim Token.
* A token with scope create:scim_token is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/post-scim-token">https://auth0.com/docs/api/management/v2#!/connections/post-scim-token</a>
* @param connectionId the connection id.
* @param scimTokenRequest the scim token request.
* @return a Request to execute.
*/
public Request<ScimTokenCreateResponse> createScimToken(String connectionId, ScimTokenRequest scimTokenRequest){
Asserts.assertNotNull(connectionId, "connection id");
Asserts.assertNotNull(scimTokenRequest, "scim token request");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegments("scim-configuration/tokens")
.build()
.toString();

BaseRequest<ScimTokenCreateResponse> request = new BaseRequest<>(client, tokenProvider, url, HttpMethod.POST, new TypeReference<ScimTokenCreateResponse>() {
});
request.setBody(scimTokenRequest);
return request;
}

/**
* Delete a Connections Scim Token.
* A token with scope delete:scim_token is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/delete-tokens-by-token-id">https://auth0.com/docs/api/management/v2#!/connections/delete-tokens-by-token-id</a>
* @param connectionId the connection id.
* @param tokenId the token id.
* @return a Request to execute.
*/
public Request<Void> deleteScimToken(String connectionId, String tokenId){
Asserts.assertNotNull(connectionId, "connection id");
Asserts.assertNotNull(tokenId, "token id");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegments("scim-configuration/tokens")
.addPathSegment(tokenId)
.build()
.toString();

return new VoidRequest(client, tokenProvider, url, HttpMethod.DELETE);
}

/**
* Check the Connection Status.
* A token with scope read:connections is needed.
* @see <a href="https://auth0.com/docs/api/management/v2#!/connections/get-status">https://auth0.com/docs/api/management/v2#!/connections/get-status</a>
* @param connectionId the connection id.
* @return a Request to execute.
*/
public Request<Void> checkConnectionStatus(String connectionId){
Asserts.assertNotNull(connectionId, "connection id");

String url = baseUrl
.newBuilder()
.addPathSegments("api/v2/connections")
.addPathSegment(connectionId)
.addPathSegments("status")
.build()
.toString();

return new VoidRequest(client, tokenProvider, url, HttpMethod.GET);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.auth0.json.mgmt.connections;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DefaultScimMappingResponse {
@JsonProperty("mapping")
private List<Mapping> mapping;

/**
* Creates a new instance.
*/
@JsonCreator
public DefaultScimMappingResponse() {
}

/**
* Creates a new instance with the given mapping.
* @param mapping the mapping attribute.
*/
@JsonCreator
public DefaultScimMappingResponse(@JsonProperty("mapping") List<Mapping> mapping) {
this.mapping = mapping;
}

/**
* Getter for the mapping attribute.
* @return the mapping attribute.
*/
public List<Mapping> getMapping() {
return mapping;
}

/**
* Setter for the mapping attribute.
* @param mapping the mapping attribute to set.
*/
public void setMapping(List<Mapping> mapping) {
this.mapping = mapping;
}
}
66 changes: 66 additions & 0 deletions src/main/java/com/auth0/json/mgmt/connections/Mapping.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package com.auth0.json.mgmt.connections;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Mapping {
@JsonProperty("auth0")
private String auth0;
@JsonProperty("scim")
private String scim;

/**
* Creates a new instance.
*/
@JsonCreator
public Mapping() {

}

/**
* Creates a new instance with the given Auth0 and SCIM attributes.
* @param auth0 the Auth0 attribute.
* @param scim the SCIM attribute.
*/
@JsonCreator
public Mapping(@JsonProperty("auth0") String auth0, @JsonProperty("scim") String scim) {
this.auth0 = auth0;
this.scim = scim;
}

/**
* Getter for the Auth0 attribute.
* @return the Auth0 attribute.
*/
public String getAuth0() {
return auth0;
}

/**
* Setter for the Auth0 attribute.
* @param auth0 the Auth0 attribute to set.
*/
public void setAuth0(String auth0) {
this.auth0 = auth0;
}

/**
* Getter for the SCIM attribute.
* @return the SCIM attribute.
*/
public String getScim() {
return scim;
}

/**
* Setter for the SCIM attribute.
* @param scim the SCIM attribute to set.
*/
public void setScim(String scim) {
this.scim = scim;
}
}
Loading
Loading