• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

input-output-hk / atala-prism-building-blocks / 5376174778

26 Jun 2023 08:57AM UTC coverage: 27.426% (+0.1%) from 27.31%
5376174778

push

web-flow
fix(prism-agent): decouple secret storage backend from agent (#570)

* chore: add PrismAgentApp

* chore: refactor jobs repitition

* chore: encapsulate DidCommHttpServer

* chore: config can choose multiple implementation

* chore: use auto layer wiring

* chore: remove unused imports

* chore: add logging and comments

* docs: update secret storage docs

* chore: log error when storage backend is wrong

* Update docs/docusaurus/secrets/operation.md

Co-authored-by: Yurii Shynbuiev - IOHK <102033808+yshyn-iohk@users.noreply.github.com>

---------

Co-authored-by: Yurii Shynbuiev - IOHK <102033808+yshyn-iohk@users.noreply.github.com>

2493 of 9090 relevant lines covered (27.43%)

0.27 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/castor/lib/core/src/main/scala/io/iohk/atala/castor/core/model/did/w3c/package.scala
1
package io.iohk.atala.castor.core.model.did
2

3
import io.iohk.atala.castor.core.model.error.DIDResolutionError
4
import io.iohk.atala.castor.core.service.DIDService
5
import zio.*
6

7
package object w3c {
8

9
  import W3CModelHelper.*
10

11
  /** A wrapper for DID resolution in W3C format */
×
12
  def makeW3CResolver(
13
      service: DIDService
14
  )(did: String): IO[DIDResolutionErrorRepr, (DIDDocumentMetadataRepr, DIDDocumentRepr)] = {
15
    import DIDResolutionError.*
×
16
    for {
×
17
      prismDID <- ZIO
×
18
        .fromEither(PrismDID.fromString(did))
19
        .mapError(e => DIDResolutionErrorRepr.InvalidDID(e))
×
20
      didData <- service
×
21
        .resolveDID(prismDID)
22
        .tapError {
×
23
          case ValidationError(_) => ZIO.unit
×
24
          case error              => ZIO.logError(error.toString)
25
        }
26
        .mapBoth(
27
          {
×
28
            case DLTProxyError(_) =>
29
              DIDResolutionErrorRepr.InternalError("Error occurred while connecting to Prism Node")
×
30
            case UnexpectedDLTResult(_) =>
31
              DIDResolutionErrorRepr.InternalError("Unexpected result obtained from Prism Node")
×
32
            case ValidationError(e) => DIDResolutionErrorRepr.InvalidDID(e.toString)
33
          },
×
34
          _.toRight(DIDResolutionErrorRepr.NotFound)
35
        )
36
        .absolve
37
    } yield {
38
      // https://www.w3.org/TR/did-core/#dfn-diddocument
39
      // The value of id in the resolved DID document MUST match the DID that was resolved.
×
40
      (didData._1.toW3C(prismDID), didData._2.toW3C(prismDID))
41
    }
42
  }
43

44
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc