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

cn.hyperchain.sdk.service.impl.DIDServiceImpl Maven / Gradle / Ivy

package cn.hyperchain.sdk.service.impl;

import cn.hyperchain.sdk.provider.ProviderManager;
import cn.hyperchain.sdk.request.DIDRequest;
import cn.hyperchain.sdk.request.ReceiptRequest;
import cn.hyperchain.sdk.request.Request;
import cn.hyperchain.sdk.request.SendDIDTxRequest;
import cn.hyperchain.sdk.response.ReceiptResponse;
import cn.hyperchain.sdk.response.TxHashResponse;
import cn.hyperchain.sdk.response.did.DIDCredentialResponse;
import cn.hyperchain.sdk.response.did.DIDDocumentResponose;
import cn.hyperchain.sdk.response.did.DIDResponse;
import cn.hyperchain.sdk.service.DIDService;
import cn.hyperchain.sdk.transaction.Transaction;
import java.util.HashMap;


public class DIDServiceImpl implements DIDService {
    private ProviderManager providerManager;
    private static final String DID_PREFIX = "did_";
//    private static volatile String GLOBAL_CHAINID = "";

    public DIDServiceImpl(ProviderManager providerManager) {
        this.providerManager = providerManager;
    }


    private Request sendDIDTransaction(Transaction transaction, int...nodeIds) {
        SendDIDTxRequest sendDIDTxRequest = new SendDIDTxRequest(DID_PREFIX + "sendDIDTransaction", providerManager, TxHashResponse.class, transaction, nodeIds);
        sendDIDTxRequest.addParams(transaction.commonParamMap());
        return sendDIDTxRequest;
    }

    private Request grpcSendDIDTransactionReturnReceipt(Transaction transaction, int...nodeIds) {
        ReceiptRequest receiptRequest = new ReceiptRequest(DID_PREFIX + "sendDIDTransactionReturnReceipt", providerManager, ReceiptResponse.class, nodeIds);
        receiptRequest.addParams(transaction.commonParamMap());
        return receiptRequest;
    }

    @Override
    public Request getChainID(int... nodeIds) {
        DIDRequest didRequest = new DIDRequest(DID_PREFIX + "getChainID", providerManager, DIDResponse.class, nodeIds);
        return didRequest;
    }

    @Override
    public Request getDIDDocument(String didAddress, int... nodeIds) {
        DIDRequest didRequest = new DIDRequest(DID_PREFIX + "getDIDDocument", providerManager, DIDDocumentResponose.class, nodeIds);
        HashMap params = new HashMap<>();
        params.put("didAddress",didAddress);
        didRequest.addParams(params);
        return didRequest;
    }

    @Override
    public Request getCredentialPrimaryMessage(String id, int... nodeIds) {
        DIDRequest didRequest = new DIDRequest(DID_PREFIX + "getCredentialPrimaryMessage", providerManager, DIDCredentialResponse.class, nodeIds);
        HashMap params = new HashMap<>();
        params.put("id",id);
        didRequest.addParams(params);
        return didRequest;
    }

    @Override
    public Request checkCredentialValid(String id, int... nodeIds) {
        DIDRequest didRequest = new DIDRequest(DID_PREFIX + "checkCredentialValid", providerManager, DIDResponse.class, nodeIds);
        HashMap params = new HashMap<>();
        params.put("id",id);
        didRequest.addParams(params);
        return didRequest;
    }

    @Override
    public Request checkCredentialAbandoned(String id, int... nodeIds) {
        DIDRequest didRequest = new DIDRequest(DID_PREFIX + "checkCredentialAbandoned", providerManager, DIDResponse.class, nodeIds);
        HashMap params = new HashMap<>();
        params.put("id",id);
        didRequest.addParams(params);
        return didRequest;
    }

    @Override
    public void setLocalGlobalChainID(ProviderManager providerManager) {
        providerManager.setLocalChainID();
    }

    @Override
    public Request setExtra(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request getExtra(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request register(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcRegisterReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }

    @Override
    public Request freeze(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcFreezeReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }

    @Override
    public Request unFreeze(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcUnFreezeReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }


    @Override
    public Request updatePublicKey(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcUpdatePublicKeyReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }

    @Override
    public Request updateAdmins(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcUpdateAdminsReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }

    @Override
    public Request destroy(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcDestroyReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }

    @Override
    public Request uploadCredential(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcUploadCredentialReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }

    @Override
    public Request downloadCredential(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcDownloadCredentialReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }

    @Override
    public Request destroyCredential(Transaction transaction, int... nodeIds) {
        return sendDIDTransaction(transaction, nodeIds);
    }

    @Override
    public Request grpcDestroyCredentialReturnReceipt(Transaction transaction, int... nodeIds) {
        return grpcSendDIDTransactionReturnReceipt(transaction, nodeIds);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy