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

hyperledger / identus-cloud-agent / 10793991050

10 Sep 2024 01:56PM UTC coverage: 48.504% (-4.5%) from 52.962%
10793991050

push

web-flow
build: sbt and plugins dependency update (#1337)

Signed-off-by: Hyperledger Bot <hyperledger-bot@hyperledger.org>
Signed-off-by: Yurii Shynbuiev <yurii.shynbuiev@iohk.io>
Co-authored-by: Hyperledger Bot <hyperledger-bot@hyperledger.org>
Co-authored-by: Yurii Shynbuiev <yurii.shynbuiev@iohk.io>

7406 of 15269 relevant lines covered (48.5%)

0.49 hits per line

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

90.91
/pollux/core/src/main/scala/org/hyperledger/identus/pollux/core/service/LinkSecretServiceImpl.scala
1
package org.hyperledger.identus.pollux.core.service
2

3
import org.hyperledger.identus.agent.walletapi.storage.{GenericSecret, GenericSecretStorage}
4
import org.hyperledger.identus.pollux.anoncreds.{AnoncredLinkSecret, AnoncredLinkSecretWithId}
5
import org.hyperledger.identus.pollux.core.model.error.LinkSecretError
6
import org.hyperledger.identus.shared.models.WalletAccessContext
7
import zio.*
8
import zio.json.ast.Json
9

10
import scala.util.Try
11

12
class LinkSecretServiceImpl(genericSecretStorage: GenericSecretStorage) extends LinkSecretService {
13

14
  import LinkSecretServiceImpl.given
15

16
  type Result[T] = ZIO[WalletAccessContext, LinkSecretError, T]
17

18
  override def fetchOrCreate(): URIO[WalletAccessContext, AnoncredLinkSecretWithId] = {
1✔
19
    genericSecretStorage
1✔
20
      .get[String, AnoncredLinkSecret](LinkSecretServiceImpl.defaultLinkSecretId)
21
      .flatMap {
22
        case Some(secret) => ZIO.succeed(secret)
1✔
23
        case None =>
24
          val linkSecret = AnoncredLinkSecret()
1✔
25
          genericSecretStorage
1✔
26
            .set[String, AnoncredLinkSecret](LinkSecretServiceImpl.defaultLinkSecretId, linkSecret)
27
            .as(linkSecret)
28
      }
29
      .map(linkSecret => AnoncredLinkSecretWithId(LinkSecretServiceImpl.defaultLinkSecretId, linkSecret))
30
      .orDie
31
  }
32
}
33

34
object LinkSecretServiceImpl {
35
  val defaultLinkSecretId = "default-link-secret-id"
36

37
  val layer: URLayer[
38
    GenericSecretStorage,
39
    LinkSecretService
40
  ] =
41
    ZLayer.fromFunction(LinkSecretServiceImpl(_))
1✔
42

43
  given GenericSecret[String, AnoncredLinkSecret] = new {
44
    override def keyPath(id: String): String = s"link-secret/${id.toString}"
1✔
45

46
    override def encodeValue(secret: AnoncredLinkSecret): Json = Json.Str(secret.data)
1✔
47

48
    override def decodeValue(json: Json): Try[AnoncredLinkSecret] = json match {
1✔
49
      case Json.Str(data) => Try(AnoncredLinkSecret(data))
1✔
50
      case _              => scala.util.Failure(new Exception("Invalid JSON format for LinkSecret"))
×
51
    }
52
  }
53
}
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