001package co.codewizards.cloudstore.rest.client.request;
002
003import static java.util.Objects.*;
004
005import java.util.UUID;
006
007import javax.ws.rs.core.MediaType;
008
009import co.codewizards.cloudstore.core.auth.EncryptedSignedAuthToken;
010
011public class GetEncryptedSignedAuthToken extends AbstractRequest<EncryptedSignedAuthToken> {
012
013        private final String repositoryName;
014        private final UUID clientRepositoryId;
015
016        public GetEncryptedSignedAuthToken(final String repositoryName, final UUID clientRepositoryId) {
017                this.repositoryName = requireNonNull(repositoryName, "repositoryName");
018                this.clientRepositoryId = requireNonNull(clientRepositoryId, "clientRepositoryId");
019        }
020
021        @Override
022        public EncryptedSignedAuthToken execute() {
023                final EncryptedSignedAuthToken encryptedSignedAuthToken = createWebTarget(
024                                getPath(EncryptedSignedAuthToken.class), urlEncode(repositoryName), clientRepositoryId.toString())
025                                .request(MediaType.APPLICATION_XML).get(EncryptedSignedAuthToken.class);
026                return encryptedSignedAuthToken;
027        }
028
029        @Override
030        public boolean isResultNullable() {
031                return false;
032        }
033}