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

com.identityx.clientSDK.repositories.AuthenticatorRepository 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 java.util.HashMap;

import com.daon.identityx.rest.model.def.ResourcePaths;
import com.daon.identityx.rest.model.pojo.Authenticator;
import com.daon.identityx.rest.model.support.AuthenticatorArchiveCriteria;
import com.daon.identityx.rest.model.support.AuthenticatorBlockCriteria;
import com.daon.identityx.rest.model.support.AuthenticatorUnblockCriteria;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.identityx.auth.impl.QueryString;
import com.identityx.clientSDK.collections.AuthenticatorCollection;
import com.identityx.clientSDK.exceptions.IdxRestException;
import com.identityx.clientSDK.expandSpecs.AuthenticatorExpandSpecForGet;
import com.identityx.clientSDK.queryHolders.AuthenticatorQueryHolder;
import com.identityx.clientSDK.queryHolders.SensitiveDataSpec;




/**
 * 
 * repository for the Authenticator entity
 *
 */
public class AuthenticatorRepository extends BaseRepository {

	public AuthenticatorRepository() {
		super(Authenticator.class, AuthenticatorCollection.class);
		setResourcePath(ResourcePaths.defaultAuthenticatorPath);
	}
	
	/**
	 * Executes a get operation on a Rest service
	 * @param href url of the Rest service 
	 * @param expandSpec {@link AuthenticatorExpandSpecForGet}  
	 * @return the deserialised resource returned by the Rest service 
	 * @throws IdxRestException
	 */
	public Authenticator get(String href, AuthenticatorExpandSpecForGet expandSpec, SensitiveDataSpec sensitiveDataSpec) throws IdxRestException {
		
		return this.get(href, expandSpec, sensitiveDataSpec, null);
	}

	public Authenticator get(String href, AuthenticatorExpandSpecForGet 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 Authenticator forceUnblock(Authenticator entity) throws IdxRestException {
		return this.forceUnblock(entity, null);
	}

	public Authenticator forceUnblock(Authenticator entity, HashMap requestSpecificHeaders) throws IdxRestException {
		return getRestClient().post(null, entity.getHref() + "/unblocked", Authenticator.class, requestSpecificHeaders);
	}

	public Authenticator archive(Authenticator entity, AuthenticatorArchiveCriteria archiveCriteria) throws IdxRestException {
		
		return this.archive(entity, archiveCriteria, null);
	}

	public Authenticator archive(Authenticator entity, AuthenticatorArchiveCriteria archiveCriteria, HashMap requestSpecificHeaders) throws IdxRestException {
		
		Authenticator result = getRestClient().post(archiveCriteria, entity.getHref() + "/archived", Authenticator.class, requestSpecificHeaders);
		return result;
	}

	public Authenticator block(Authenticator entity, AuthenticatorBlockCriteria blockCriteria) throws IdxRestException {

		return this.block(entity, blockCriteria, null);
	}

	public Authenticator block(Authenticator entity, AuthenticatorBlockCriteria blockCriteria, HashMap requestSpecificHeaders) throws IdxRestException {
		
		Authenticator result = getRestClient().post(blockCriteria, entity.getHref() + "/blocked", Authenticator.class, requestSpecificHeaders);
		return result;
	}
	
//	public Authenticator unblock(Authenticator entity, AuthenticatorUnblockCriteria unblockCriteria) throws IdxRestException {
//		
//		Authenticator result = getRestClient().deleteWithObject(unblockCriteria, entity.getHref() + "/blocked", Authenticator.class);
//		return result;
//	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy