UNPKG

@intersect.mbo/govtool-delegation-pillar

Version:
49 lines (44 loc) 1.16 kB
import { DRepData, DRepMetadata, DrepDataDTO } from 'types'; import { postValidate } from 'services'; import { fixViewForScriptBasedDRep } from './dRep'; export const mapDtoToDrep = async ( validationApiUrl: string, dto: DrepDataDTO ): Promise<DRepData> => { const emptyMetadata = { paymentAddress: null, givenName: '', image: null, objectives: null, motivations: null, qualifications: null, references: [], doNotList: false, metadataStatus: null, metadataValid: true, }; // DBSync contains wrong representation of DRep view for script based DReps const view = fixViewForScriptBasedDRep(dto.view, dto.isScriptBased); if (dto.metadataHash && dto.url) { const validationResponse = await postValidate<DRepMetadata>( validationApiUrl, { url: dto.url, hash: dto.metadataHash, } ); return { ...dto, ...emptyMetadata, ...validationResponse.metadata, metadataStatus: validationResponse.status || null, metadataValid: validationResponse.valid, view, }; } return { ...dto, ...emptyMetadata, view, }; };