com.identityx.clientSDK.repositories.AuthenticatorRepository Maven / Gradle / Ivy
/*
* 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.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 {
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);
}
public Authenticator forceUnblock(Authenticator entity) throws IdxRestException {
return getRestClient().post(null, entity.getHref() + "/unblocked", Authenticator.class);
}
public Authenticator reenrol(Authenticator entity) throws IdxRestException {
return getRestClient().post(null, entity.getHref() + "/reenrol", Authenticator.class);
}
public Authenticator archive(Authenticator entity, AuthenticatorArchiveCriteria archiveCriteria) throws IdxRestException {
Authenticator result = getRestClient().post(archiveCriteria, entity.getHref() + "/archived", Authenticator.class);
return result;
}
public Authenticator block(Authenticator entity, AuthenticatorBlockCriteria blockCriteria) throws IdxRestException {
Authenticator result = getRestClient().post(blockCriteria, entity.getHref() + "/blocked", Authenticator.class);
return result;
}
public Authenticator unblock(Authenticator entity, AuthenticatorUnblockCriteria unblockCriteria) throws IdxRestException {
QueryString queryString = null;
if (unblockCriteria != null) {
queryString = new QueryString();
queryString.put("unblockAllWithSameAppId", Boolean.toString(unblockCriteria.getUnblockAllWithSameAppId()));
queryString.put("unblockAllWithSameDeviceId", Boolean.toString(unblockCriteria.getUnblockAllWithSameDeviceId()));
}
Authenticator result = getRestClient().delete(entity.getHref() + "/blocked", queryString, Authenticator.class);
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy