import axios from 'axios'; import { InvalidStatusListCredentialException } from '../statusList/exceptions/invalidStatusListCredentialException.js'; export type StatusListCredentialResponse = { '@context'?: string[]; id?: string; type?: string[]; issuer?: | string | { id: string; name: string; }; validUntil?: string; credentialStatus?: { type: string; id: string; statusListCredential?: string; statusListIndex: string; }; issuanceDate?: string; credentialSubject?: { id?: string; [x: string]: string; }; proof?: { type: string; created: string; proofPurpose: string; verificationMethod: string; jws: string; }; }; export class StatusListCredentialFetcher { async getStatusListCredential( statusListCredentialUrl: string, ): Promise { try { const response = await axios.get(statusListCredentialUrl); return response.data; } catch (e) { console.log(e); throw new InvalidStatusListCredentialException(statusListCredentialUrl); } } }