All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.identityx.clientSDK.repositories.UserRepository Maven / Gradle / Ivy

There is a newer version: 5.6.0.2
Show newest version
/*
* 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 com.daon.identityx.rest.model.def.DataTypeEnum;
import com.daon.identityx.rest.model.def.ResourcePaths;
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.UserCollection;
import com.identityx.clientSDK.exceptions.IdxRestException;
import com.identityx.clientSDK.expandSpecs.UserExpandSpecForGet;
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 {
		getRestClient().delete(entity.getHref(), User.class);
	}

	public void deleteData(User entity, DataTypeEnum dataType) throws IdxRestException {
		getRestClient().delete(entity.getHref() + "/" + dataType, User.class);
	}

	public User unblockData(User entity, DataTypeEnum dataType) throws IdxRestException {
		return getRestClient().delete(entity.getHref() + "/" + dataType + "/blocked", User.class);
	}

	/**
	 * 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 {
				
		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);
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy