@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
41 lines (37 loc) • 1.96 kB
JavaScript
import { DidDocumentRole } from "../../../../modules/dids/domain/DidDocumentRole.mjs";
import { DidRepository } from "../../../../modules/dids/repository/DidRepository.mjs";
import "../../../../modules/dids/index.mjs";
//#region src/storage/migration/updates/0.3.1-0.4/did.ts
/**
* Migrates the {@link DidRecord} to 0.4 compatible format. It fetches all did records from storage
* with method sov and applies the needed updates to the records. After a record has been transformed, it is updated
* in storage and the next record will be transformed.
*
* The following transformations are applied:
* - {@link migrateSovDidToIndyDid}
*/
async function migrateDidRecordToV0_4(agent) {
agent.config.logger.info("Migrating did records to storage version 0.4");
const didRepository = agent.dependencyManager.resolve(DidRepository);
agent.config.logger.debug("Fetching all did records with did method did:sov from storage");
const allSovDids = await didRepository.findByQuery(agent.context, {
method: "sov",
role: DidDocumentRole.Created
});
agent.config.logger.debug(`Found a total of ${allSovDids.length} did:sov did records to update.`);
for (const sovDidRecord of allSovDids) {
agent.config.logger.debug(`Migrating did:sov did record with id ${sovDidRecord.id} to storage version 0.4`);
const oldDid = sovDidRecord.did;
migrateSovDidToIndyDid(agent, sovDidRecord);
await didRepository.update(agent.context, sovDidRecord);
agent.config.logger.debug(`Successfully migrated did:sov did record with old did ${oldDid} to new did ${sovDidRecord.did} for storage version 0.4`);
}
}
function migrateSovDidToIndyDid(agent, didRecord) {
agent.config.logger.debug(`Migrating did record with id ${didRecord.id} and did ${didRecord.did} to indy did for version 0.4`);
didRecord.did = didRecord.getTag("qualifiedIndyDid");
didRecord.setTag("qualifiedIndyDid", void 0);
}
//#endregion
export { migrateDidRecordToV0_4 };
//# sourceMappingURL=did.mjs.map