private FabricUser getAdmin()

in src/main/java/com/lambdajavablockchain/service/ManagedBlockchainService.java [246:272]


    private FabricUser getAdmin(HFCAClient hfcaClient) throws EnrollmentException, org.hyperledger.fabric_ca.sdk.exception.InvalidArgumentException {
        try {
            // Try to build enrollment using AWS Secrets Manager credentials
            FabricEnrollment fabricEnrollment = SecretsManagerUtil.getFabricEnrollment(AMBConfig.ADMINUSER, AMBConfig.ORG1);

            // Create Admin user context with existing credentials
            FabricUser adminUserContext = new FabricUser(AMBConfig.ADMINUSER, AMBConfig.ORG1,
                    AMBConfig.ORG1_MSP, fabricEnrollment);
            log.info("Admin user context reconstructed from Secrets Manager");
            return adminUserContext;
        } catch (EnrollmentNotFoundException e) {
            // If admin has not yet been enrolled, enroll admin once and save credentials
            log.info("No secret found in Secrets Manager, enrolling admin");

            // Enroll Admin first
            Enrollment adminEnrollment = hfcaClient.enroll(AMBConfig.ADMINUSER, AMBConfig.ADMINPWD);
            FabricUser adminUserContext = new FabricUser(AMBConfig.ADMINUSER, AMBConfig.ORG1,
                    AMBConfig.ORG1_MSP, adminEnrollment);
            log.info("Admin successfully enrolled");

            // Save credentials on AWS Secrets Manager
            SecretsManagerUtil.storeEnrollmentCredentials(AMBConfig.ADMINUSER, AMBConfig.ORG1, adminEnrollment);

            log.info("Admin credentials saved on Secrets Manager");
            return adminUserContext;
        }
    }