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

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

02 Oct 2023 01:37PM UTC coverage: 29.098% (+0.2%) from 28.908%
6380885733

push

web-flow
refactor: update zio-http to 3.0.0-RC2 and tapir to 1.6.4, remove legacy tapir (#729)

Signed-off-by: Shota Jolbordi <shota.jolbordi@iohk.io>
Signed-off-by: Milos Backonja <milos.backonja@iohk.io>
Signed-off-by: Anton Baliasnikov <anton.baliasnikov@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Benjamin Voiturier <benjamin.voiturier@iohk.io>
Signed-off-by: shotexa <shota.jolbordi@iohk.io>
Co-authored-by: Milos Backonja <35807060+milosbackonja@users.noreply.github.com>
Co-authored-by: atala-dev <atala.dev@iohk.io>
Co-authored-by: patlo-iog <pat.losoponkul@iohk.io>
Co-authored-by: Yurii Shynbuiev - IOHK <yurii.shynbuiev@iohk.io>
Co-authored-by: bvoiturier <benjamin.voiturier@iohk.io>

35 of 35 new or added lines in 4 files covered. (100.0%)

3511 of 12066 relevant lines covered (29.1%)

0.29 hits per line

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

70.0
/pollux/lib/core/src/main/scala/io/iohk/atala/pollux/core/model/schema/validator/SchemaSerDes.scala
1
package io.iohk.atala.pollux.core.model.schema.validator
2

3
import com.networknt.schema.JsonSchema
4
import io.iohk.atala.pollux.core.model.schema.validator.JsonSchemaError.*
5
import zio.IO
6
import zio.ZIO
7
import zio.json.*
8
import zio.json.JsonDecoder
9
import zio.json.ast.Json
10
import zio.json.ast.Json.*
11

12
class SchemaSerDes[S](jsonSchemaSchemaStr: String) {
13

1✔
14
  def initialiseJsonSchema: IO[JsonSchemaError, JsonSchema] =
1✔
15
    JsonSchemaUtils.jsonSchema(jsonSchemaSchemaStr)
16

1✔
17
  def deserialize(
18
      schema: zio.json.ast.Json
19
  )(using decoder: JsonDecoder[S]): IO[JsonSchemaError, S] = {
1✔
20
    deserialize(schema.toString())
21
  }
22

1✔
23
  def deserialize(
24
      jsonString: String
25
  )(using decoder: JsonDecoder[S]): IO[JsonSchemaError, S] = {
1✔
26
    for {
1✔
27
      _ <- validate(jsonString)
1✔
28
      anoncredSchema <-
×
29
        ZIO
×
30
          .fromEither(decoder.decodeJson(jsonString))
31
          .mapError(JsonSchemaError.JsonSchemaParsingError.apply)
32
    } yield anoncredSchema
33
  }
34

1✔
35
  def deserializeAsJson(jsonString: String): IO[JsonSchemaError, Json] = {
1✔
36
    for {
1✔
37
      _ <- validate(jsonString)
1✔
38
      json <-
×
39
        ZIO
×
40
          .fromEither(jsonString.fromJson[Json])
41
          .mapError(JsonSchemaError.JsonSchemaParsingError.apply)
42
    } yield json
43
  }
44

1✔
45
  def validate(jsonString: String): IO[JsonSchemaError, Boolean] = {
1✔
46
    for {
×
47
      jsonSchemaSchema <- JsonSchemaUtils.jsonSchema(jsonSchemaSchemaStr)
48
      schemaValidator = JsonSchemaValidatorImpl(jsonSchemaSchema)
×
49
      _ <- schemaValidator.validate(jsonString)
50
    } yield true
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