UNPKG

@gleif-it/vlei-verifier-workflows

Version:

Workflows for vLEI users and vLEI credentials for the vLEI-verifier service

80 lines (79 loc) 2.69 kB
import * as fs from 'fs'; import * as yaml from 'js-yaml'; // Function to load and parse YAML file export function loadWorkflow(workflowFilePath) { try { const file = fs.readFileSync(workflowFilePath, 'utf8'); return yaml.load(file); } catch (e) { console.error('Error reading YAML file:', e); return null; } } export function getConfig(configFilePath) { const configJson = JSON.parse(fs.readFileSync(configFilePath, 'utf-8')); return configJson; } export async function getGrantedCredential(client, credId) { const credentialList = await client.credentials().list({ filter: { '-d': credId }, }); let credential; if (credentialList.length > 0) { credential = credentialList[0]; } return credential; } export const CREDENTIAL_CRYPT_VALID = { name: 'cred_crypt_valid', description: 'Credential is cryptographically valid', status: 'valid', }; export const CREDENTIAL_CRYPT_INVALID = { name: 'cred_crypt_invalid', description: 'Credential is not cryptographically valid', status: 'invalid', }; export const CREDENTIAL_VERIFIED = { name: 'cred_verified', description: 'Credential is verified and has a valid login account', status: 'success', }; export const CREDENTIAL_REVOKED = { name: 'cred_revoked', description: 'Credential is revoked', status: 'fail', }; export const CREDENTIAL_INVALID_SCHEMA = { name: 'cred_invalid_schema', description: 'Credential with invalid schema', status: 'fail', }; export const CREDENTIAL_NON_DELEGATED_QVI = { name: 'cred_non_delegated_qvi', description: 'The QVI AID of the credential is not delegated', status: 'fail', }; export const CREDENTIAL_NOT_ROT_DELEGATED_QVI = { name: 'cred_not_rot_delegated_qvi', description: 'The QVI AID of the credential is not delegated by the root of trust', status: 'fail', }; export const CREDENTIAL_NOT_VALID_ROOT_OF_TRUST = { name: 'cred_not_valid_root_of_trust', description: 'Credential is not chained to the valid root of trust', status: 'fail', }; export const credPresentationStatusMapping = new Map([ ['cred_crypt_valid', CREDENTIAL_CRYPT_VALID], ['cred_crypt_invalid', CREDENTIAL_CRYPT_INVALID], ]); export const credAuthorizationStatusMapping = new Map([ ['cred_verified', CREDENTIAL_VERIFIED], ['cred_revoked', CREDENTIAL_REVOKED], ['cred_invalid_schema', CREDENTIAL_INVALID_SCHEMA], ['cred_non_delegated_qvi', CREDENTIAL_NON_DELEGATED_QVI], ['cred_not_rot_delegated_qvi', CREDENTIAL_NOT_ROT_DELEGATED_QVI], ['cred_not_valid_root_of_trust', CREDENTIAL_NOT_VALID_ROOT_OF_TRUST], ]);