com.identityx.clientSDK.repositories.UserRepository Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of IdentityXClientSDK Show documentation
Show all versions of IdentityXClientSDK Show documentation
Client SDK for IdentityX Rest Services
/*
* Copyright Daon.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.identityx.clientSDK.repositories;
import java.util.HashMap;
import com.daon.identityx.rest.model.def.DataTypeEnum;
import com.daon.identityx.rest.model.def.ResourcePaths;
import com.daon.identityx.rest.model.pojo.DataSample;
import com.daon.identityx.rest.model.pojo.FaceDataSample;
import com.daon.identityx.rest.model.pojo.User;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.identityx.auth.impl.QueryString;
import com.identityx.clientSDK.collections.DataSampleCollection;
import com.identityx.clientSDK.collections.FaceDataSampleCollection;
import com.identityx.clientSDK.collections.UserCollection;
import com.identityx.clientSDK.exceptions.IdxRestException;
import com.identityx.clientSDK.expandSpecs.UserExpandSpecForGet;
import com.identityx.clientSDK.queryHolders.DataRemovalSpec;
import com.identityx.clientSDK.queryHolders.DataSampleQueryHolder;
import com.identityx.clientSDK.queryHolders.SensitiveDataSpec;
import com.identityx.clientSDK.queryHolders.UserQueryHolder;
/**
*
* Repository for the User entity.
*
*/
public class UserRepository extends BaseRepository {
public UserRepository() {
super(User.class, UserCollection.class);
setResourcePath(ResourcePaths.defaultUserPath);
}
public void delete(User entity) throws IdxRestException {
this.delete(entity, null);
}
public void delete(User entity, HashMap requestSpecificHeaders) throws IdxRestException {
getRestClient().delete(entity.getHref(), User.class, requestSpecificHeaders);
}
public User deleteData(User entity, DataTypeEnum dataType) throws IdxRestException {
return getRestClient().delete(entity.getHref() + "/" + dataType, User.class);
}
public User deleteData(User entity, DataTypeEnum dataType, HashMap requestSpecificHeaders) throws IdxRestException {
return getRestClient().delete(entity.getHref() + "/" + dataType, User.class, requestSpecificHeaders);
}
public FaceDataSampleCollection addData(User entity, FaceDataSample data) throws IdxRestException {
return this.addData(entity, data, null);
}
public FaceDataSampleCollection addData(User entity, FaceDataSample data, HashMap requestSpecificHeaders) throws IdxRestException {
return getRestClient().post(data, entity.getHref() + "/face/samples", FaceDataSampleCollection.class, requestSpecificHeaders);
}
public DataSampleCollection addData(User entity, DataSample data) throws IdxRestException {
return this.addData(entity, data, null);
}
public DataSampleCollection addData(User entity, DataSample data, HashMap requestSpecificHeaders) throws IdxRestException {
return getRestClient().post(data, entity.getHref() + "/samples", DataSampleCollection.class, requestSpecificHeaders);
}
public DataSampleCollection addData(User entity, DataSample[] data) throws IdxRestException {
return this.addData(entity, data, null);
}
public DataSampleCollection addData(User entity, DataSample[] data, HashMap requestSpecificHeaders) throws IdxRestException {
return getRestClient().post(data, entity.getHref() + "/samples", DataSampleCollection.class, requestSpecificHeaders);
}
public User deleteData(User entity, DataTypeEnum dataType, DataRemovalSpec dataRemovalSpec) throws IdxRestException {
return this.deleteData(entity, dataType, dataRemovalSpec, null);
}
public User deleteData(User entity, DataTypeEnum dataType, DataRemovalSpec dataRemovalSpec, HashMap requestSpecificHeaders) throws IdxRestException {
QueryString queryString = new QueryString();
if (dataRemovalSpec != null) {
queryString.put("rawDataOnly", Boolean.toString(dataRemovalSpec.isRawDataOnly()));
}
String href = entity.getHref() + "/" + dataType.name();
return getRestClient().delete(href, queryString, User.class, requestSpecificHeaders);
}
public User unblockData(User entity, DataTypeEnum dataType) throws IdxRestException {
return getRestClient().delete(entity.getHref() + "/" + dataType + "/blocked", User.class);
}
public User unblockData(User entity, DataTypeEnum dataType, HashMap requestSpecificHeaders) throws IdxRestException {
return getRestClient().delete(entity.getHref() + "/" + dataType + "/blocked", User.class, requestSpecificHeaders);
}
/**
* Executes a get operation on a Rest service
* @param href url of the Rest service
* @param expandSpec {@link com.identityx.clientSDK.expandSpecs.UserExpandSpecForGet}
* @return the deserialised resource returned by the Rest service
* @throws IdxRestException
*/
public User get(String href, UserExpandSpecForGet expandSpec, SensitiveDataSpec sensitiveDataSpec) throws IdxRestException {
return this.get(href, expandSpec, sensitiveDataSpec, null);
}
public User get(String href, UserExpandSpecForGet expandSpec, SensitiveDataSpec sensitiveDataSpec, HashMap requestSpecificHeaders) throws IdxRestException {
QueryString queryString = new QueryString();
if (expandSpec != null) {
try {
queryString.put("expand", (new ObjectMapper()).writeValueAsString(expandSpec));
} catch (JsonProcessingException e) {
throw new IdxRestException("Failed to convert to JSON", e);
}
}
if (sensitiveDataSpec != null) {
queryString.put("sensitiveData", String.valueOf(sensitiveDataSpec.getSensitiveData()));
}
return super.get(href, queryString, requestSpecificHeaders);
}
public DataSampleCollection listSamples(User entity, DataSampleQueryHolder queryHolder) throws IdxRestException {
String href = entity.getHref() + "/samples";
DataSampleCollection result = getRestClient().list(queryHolder, href, DataSampleCollection.class);
return result;
}
public DataSample getSample(String href, SensitiveDataSpec sensitiveDataSpec) throws IdxRestException {
return getSample(href, sensitiveDataSpec, null);
}
public DataSample getSample(String href, SensitiveDataSpec sensitiveDataSpec, HashMap requestSpecificHeaders) throws IdxRestException {
QueryString queryString = new QueryString();
if (sensitiveDataSpec != null) {
queryString.put("sensitiveData", String.valueOf(sensitiveDataSpec.getSensitiveData()));
}
return getRestClient().get(queryString, href, DataSample.class, requestSpecificHeaders);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy