@gleif-it/vlei-verifier-workflows
Version:
Workflows for vLEI users and vLEI credentials for the vLEI-verifier service
49 lines (48 loc) • 2.85 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CredentialVerification = void 0;
const assert_1 = require("assert");
const vlei_verifier_client_1 = require("vlei-verifier-client");
const resolve_env_js_1 = require("./utils/resolve-env.js");
const test_data_js_1 = require("./utils/test-data.js");
class CredentialVerification {
constructor() {
this.env = (0, resolve_env_js_1.resolveEnvironment)();
this.verifierClient = new vlei_verifier_client_1.VerifierClient(this.env.verifierBaseUrl);
}
credentialPresentation(vleiUser_1, credId_1) {
return __awaiter(this, arguments, void 0, function* (vleiUser, credId, expectedStatus = test_data_js_1.CREDENTIAL_CRYPT_VALID) {
const credential = JSON.parse(JSON.stringify(vleiUser.creds[credId]));
const presentationExpectedStatusCode = expectedStatus.status == test_data_js_1.CREDENTIAL_CRYPT_VALID.status ? 202 : 400;
yield this.presentCredential(credential.cred, credential.credCesr, presentationExpectedStatusCode);
});
}
credentialAuthorization(vleiUser_1) {
return __awaiter(this, arguments, void 0, function* (vleiUser, expectedStatus = test_data_js_1.CREDENTIAL_VERIFIED) {
const checkAidAuthExpectedStatus = expectedStatus.status == test_data_js_1.CREDENTIAL_VERIFIED.status ? 200 : 401;
yield this.checkAidAuthStatus(vleiUser.ecrAid.prefix, checkAidAuthExpectedStatus);
});
}
presentCredential(cred, credCesr, expected_status_code) {
return __awaiter(this, void 0, void 0, function* () {
const verifierResponse = yield this.verifierClient.login(cred.sad.d, credCesr);
assert_1.strict.equal(verifierResponse.code, expected_status_code);
});
}
checkAidAuthStatus(aidPrefix, expected_status_code) {
return __awaiter(this, void 0, void 0, function* () {
const verifierResponse = yield this.verifierClient.checkLogin(aidPrefix);
assert_1.strict.equal(verifierResponse.code, expected_status_code);
});
}
}
exports.CredentialVerification = CredentialVerification;