Trait

endpoints.openapi

JsonSchemaEntities

Related Doc: package openapi

Permalink

trait JsonSchemaEntities extends algebra.JsonSchemaEntities with Endpoints with JsonSchemas

Interpreter for algebra.JsonSchemaEntities that produces a documentation of the JSON schemas.

Source
JsonSchemaEntities.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonSchemaEntities
  2. JsonSchemas
  3. Endpoints
  4. Responses
  5. StatusCodes
  6. Requests
  7. Methods
  8. Urls
  9. JsonSchemaEntities
  10. JsonSchemas
  11. JsonEntities
  12. Endpoints
  13. Responses
  14. StatusCodes
  15. Requests
  16. SemigroupalSyntax
  17. PartialInvariantFunctorSyntax
  18. InvariantFunctorSyntax
  19. Methods
  20. Urls
  21. AnyRef
  22. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class DocumentedEndpoint(path: String, item: PathItem) extends Product with Serializable

    Permalink

    path

    Path template (e.g. “/user/{id}”)

    item

    Item documentation

    Definition Classes
    Endpoints
  2. case class DocumentedHeader(name: String, description: Option[String], required: Boolean, schema: Schema) extends Product with Serializable

    Permalink
    Definition Classes
    Requests
  3. case class DocumentedHeaders(value: List[DocumentedHeader]) extends Product with Serializable

    Permalink

    value

    List of request header names (e.g. “Authorization”)

    Definition Classes
    Requests
  4. sealed trait DocumentedJsonSchema extends AnyRef

    Permalink
    Definition Classes
    JsonSchemas
  5. case class DocumentedParameter(name: String, required: Boolean, description: Option[String], schema: Schema) extends Product with Serializable

    Permalink

    name

    Name of the parameter

    required

    Whether this parameter is required or not (MUST be true for path parameters)

    Definition Classes
    Urls
  6. case class DocumentedQueryString(parameters: List[DocumentedParameter]) extends Product with Serializable

    Permalink

    parameters

    List of query string parameters

    Definition Classes
    Urls
  7. case class DocumentedQueryStringParam(schema: Schema, isRequired: Boolean) extends Product with Serializable

    Permalink
    Definition Classes
    Urls
  8. case class DocumentedRequest(method: Requests.Method, url: Requests.DocumentedUrl, headers: DocumentedHeaders, entity: Option[DocumentedRequestEntity]) extends Product with Serializable

    Permalink
    Definition Classes
    Requests
  9. case class DocumentedRequestEntity(documentation: Option[String], content: Map[String, MediaType]) extends Product with Serializable

    Permalink

    documentation

    Human readable documentation of the request entity

    content

    Map that associates each possible content-type (e.g. “text/html”) with a MediaType description

    Definition Classes
    Requests
  10. case class DocumentedResponse(status: Responses.StatusCode, documentation: String, content: Map[String, MediaType]) extends Product with Serializable

    Permalink

    status

    Response status code (e.g. OK or NotFound)

    documentation

    Human readable documentation. Not optional because its required by openapi

    content

    Map that associates each possible content-type (e.g. “text/html”) with a MediaType description

    Definition Classes
    Responses
  11. case class DocumentedUrl(path: List[Either[String, DocumentedParameter]], queryParameters: List[DocumentedParameter]) extends Product with Serializable

    Permalink

    path

    List of path segments. Left is a static segment, right is a path parameter

    queryParameters

    Query string parameters

    Definition Classes
    Urls
  12. type Endpoint[A, B] = DocumentedEndpoint

    Permalink
    Definition Classes
    Endpoints → Endpoints
  13. type Enum[+A] = DocumentedEnum

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  14. implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef

    Permalink
    Definition Classes
    InvariantFunctorSyntax
  15. type JsonRequest[A] = JsonSchema[A]

    Permalink
    Definition Classes
    JsonSchemaEntities → JsonEntities
  16. type JsonResponse[A] = JsonSchema[A]

    Permalink
    Definition Classes
    JsonSchemaEntities → JsonEntities
  17. type JsonSchema[+A] = DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  18. implicit final class JsonSchemaOps[A] extends AnyRef

    Permalink
    Definition Classes
    JsonSchemas
  19. sealed trait Method extends AnyRef

    Permalink
    Definition Classes
    Methods
  20. implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef

    Permalink
    Definition Classes
    PartialInvariantFunctorSyntax
  21. type Path[A] = DocumentedUrl

    Permalink
    Definition Classes
    Urls → Urls
  22. implicit class PathOps[A] extends AnyRef

    Permalink
    Definition Classes
    Urls
  23. type QueryString[A] = DocumentedQueryString

    Permalink
    Definition Classes
    Urls → Urls
  24. implicit class QueryStringOps[A] extends AnyRef

    Permalink
    Definition Classes
    Urls
  25. type QueryStringParam[A] = DocumentedQueryStringParam

    Permalink
    Definition Classes
    Urls → Urls
  26. type Record[+A] = DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  27. implicit final class RecordOps[A] extends AnyRef

    Permalink
    Definition Classes
    JsonSchemas
  28. type Request[A] = DocumentedRequest

    Permalink
    Definition Classes
    Requests → Requests
  29. type RequestEntity[A] = Option[DocumentedRequestEntity]

    Permalink
    Definition Classes
    Requests → Requests
  30. type RequestHeaders[A] = DocumentedHeaders

    Permalink
    Definition Classes
    Requests → Requests
  31. type Response[A] = List[DocumentedResponse]

    Permalink
    Definition Classes
    Responses → Responses
  32. implicit class ResponseExtensions[A] extends AnyRef

    Permalink
    Definition Classes
    Responses
  33. type Segment[A] = Schema

    Permalink
    Definition Classes
    Urls → Urls
  34. implicit class SemigroupalSyntax[A, F[_]] extends AnyRef

    Permalink
    Definition Classes
    SemigroupalSyntax
  35. type StatusCode = Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  36. type Tagged[+A] = DocumentedCoProd

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  37. implicit final class TaggedOps[A] extends AnyRef

    Permalink
    Definition Classes
    JsonSchemas
  38. type Url[A] = DocumentedUrl

    Permalink
    Definition Classes
    Urls → Urls

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def BadRequest: Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  5. object Delete extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  6. object DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas
  7. object Get extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  8. def NotFound: Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  9. def OK: Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  10. object Options extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  11. object Patch extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  12. object Post extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  13. object Put extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  14. def Unauthorized: Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  15. def arrayJsonSchema[C[X] <: Seq[X], A](implicit jsonSchema: JsonSchema[A], factory: scala.collection.compat.Factory[A, C[A]]): JsonSchema[C[A]]

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  16. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  17. lazy val bigdecimalJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  18. lazy val booleanJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  19. def booleanQueryString: QueryStringParam[Boolean]

    Permalink
    Definition Classes
    Urls → Urls
  20. lazy val byteJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  21. def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]

    Permalink
    Definition Classes
    Urls → Urls
  22. def choiceTagged[A, B](taggedA: DocumentedCoProd, taggedB: DocumentedCoProd): DocumentedCoProd

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  23. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]

    Permalink
    Definition Classes
    Urls → Urls
  25. def defaultDiscriminatorName: String

    Permalink
    Definition Classes
    JsonSchemas
  26. final def delete[UrlP, HeadersP, Out](url: Url[UrlP], headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  27. lazy val doubleJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  28. def doubleQueryString: QueryStringParam[Double]

    Permalink
    Definition Classes
    Urls → Urls
  29. def doubleSegment: Segment[Double]

    Permalink
    Definition Classes
    Urls → Urls
  30. implicit def dummyPathToUrl[A](p: Path[A]): Url[A]

    Permalink
    Definition Classes
    Urls
  31. def emptyHeaders: DocumentedHeaders

    Permalink
    Definition Classes
    Requests → Requests
  32. def emptyRecord: DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  33. def emptyRequest: None.type

    Permalink
    Definition Classes
    Requests → Requests
  34. def emptyResponse(docs: Documentation): Response[Unit]

    Permalink
    Definition Classes
    Responses → Responses
  35. def endpoint[A, B](request: Request[A], response: Response[B], summary: Documentation = None, description: Documentation = None, tags: List[String] = Nil): Endpoint[A, B]

    Permalink
    Definition Classes
    Endpoints → Endpoints
  36. def enumeration[A](values: Seq[A])(encode: (A) ⇒ String)(implicit tpe: JsonSchema[String]): DocumentedEnum

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  37. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  38. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  39. def field[A](name: String, docs: Documentation)(implicit tpe: DocumentedJsonSchema): DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  40. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  41. lazy val floatJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  42. final def get[UrlP, HeadersP, Out](url: Url[UrlP], headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  43. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  44. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  45. def header(name: String, docs: Documentation): RequestHeaders[String]

    Permalink
    Definition Classes
    Requests → Requests
  46. lazy val intJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  47. def intQueryString: QueryStringParam[Int]

    Permalink
    Definition Classes
    Urls → Urls
  48. def intSegment: Segment[Int]

    Permalink
    Definition Classes
    Urls → Urls
  49. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  50. def jsonRequest[A](docs: Documentation)(implicit codec: JsonSchema[A]): Option[DocumentedRequestEntity]

    Permalink
    Definition Classes
    JsonSchemaEntities → JsonEntities
  51. def jsonResponse[A](docs: Documentation)(implicit codec: JsonSchema[A]): List[DocumentedResponse]

    Permalink
    Definition Classes
    JsonSchemaEntities → JsonEntities
  52. def lazySchema[A](schema: ⇒ DocumentedJsonSchema, name: String): DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  53. lazy val longJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  54. def longQueryString: QueryStringParam[Long]

    Permalink
    Definition Classes
    Urls → Urls
  55. def longSegment: Segment[Long]

    Permalink
    Definition Classes
    Urls → Urls
  56. def mapJsonSchema[A](implicit jsonSchema: DocumentedJsonSchema): DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  57. def named[A, S[_] <: DocumentedJsonSchema](schema: S[A], name: String): S[A]

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  58. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  59. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  60. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  61. def openApi(info: Info)(endpoints: DocumentedEndpoint*): OpenApi

    Permalink

    info

    General information about the documentation to generate

    endpoints

    The endpoints to generate the documentation for

    returns

    An OpenApi instance for the given endpoint descriptions

    Definition Classes
    Endpoints
  62. def optField[A](name: String, docs: Documentation)(implicit tpe: DocumentedJsonSchema): DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  63. def optHeader(name: String, docs: Documentation): RequestHeaders[Option[String]]

    Permalink
    Definition Classes
    Requests → Requests
  64. implicit def optionalQueryStringParam[A](implicit param: QueryStringParam[A]): QueryStringParam[Option[A]]

    Permalink
    Definition Classes
    Urls → Urls
  65. val path: Path[Unit]

    Permalink
    Definition Classes
    Urls
  66. implicit lazy val pathPartialInvariantFunctor: PartialInvariantFunctor[Path]

    Permalink
    Definition Classes
    Urls → Urls
  67. final def post[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], headers: RequestHeaders[HeadersP])(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  68. final def put[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], headers: RequestHeaders[HeadersP])(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  69. def qs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): QueryString[A]

    Permalink
    Definition Classes
    Urls → Urls
  70. implicit lazy val queryStringParamPartialInvFunctor: PartialInvariantFunctor[QueryStringParam]

    Permalink
    Definition Classes
    Urls → Urls
  71. implicit lazy val queryStringPartialInvFunctor: PartialInvariantFunctor[QueryString]

    Permalink
    Definition Classes
    Urls → Urls
  72. def remainingSegments(name: String, docs: Documentation): Path[String]

    Permalink
    Definition Classes
    Urls → Urls
  73. implicit def repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit param: QueryStringParam[A], factory: scala.collection.compat.Factory[A, CC[A]]): QueryStringParam[CC[A]]

    Permalink
    Definition Classes
    Urls → Urls
  74. implicit lazy val reqEntityInvFunctor: InvariantFunctor[RequestEntity]

    Permalink
    Definition Classes
    Requests → Requests
  75. implicit lazy val reqHeadersInvFunctor: InvariantFunctor[RequestHeaders]

    Permalink
    Definition Classes
    Requests → Requests
  76. implicit lazy val reqHeadersSemigroupal: Semigroupal[RequestHeaders]

    Permalink
    Definition Classes
    Requests → Requests
  77. def request[A, B, C, AB, Out](method: Method, url: Url[A], entity: RequestEntity[B] = emptyRequest, headers: RequestHeaders[C] = emptyHeaders)(implicit tuplerAB: Tupler.Aux[A, B, AB], tuplerABC: Tupler.Aux[AB, C, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests → Requests
  78. def segment[A](name: String, docs: Documentation)(implicit A: Segment[A]): Path[A]

    Permalink
    Definition Classes
    Urls → Urls
  79. implicit lazy val segmentPartialInvFunctor: PartialInvariantFunctor[Segment]

    Permalink
    Definition Classes
    Urls → Urls
  80. def staticPathSegment(segment: String): Path[Unit]

    Permalink
    Definition Classes
    Urls → Urls
  81. lazy val stringJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  82. def stringQueryString: QueryStringParam[String]

    Permalink
    Definition Classes
    Urls → Urls
  83. def stringSegment: Segment[String]

    Permalink
    Definition Classes
    Urls → Urls
  84. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  85. def taggedRecord[A](recordA: DocumentedRecord, tag: String): DocumentedCoProd

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  86. def textRequest(docs: Documentation): Option[DocumentedRequestEntity]

    Permalink
    Definition Classes
    Requests → Requests
  87. def textResponse(docs: Documentation): Response[String]

    Permalink
    Definition Classes
    Responses → Responses
  88. def toSchema(jsonSchema: DocumentedJsonSchema): Schema

    Permalink
  89. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  90. implicit lazy val urlPartialInvFunctor: PartialInvariantFunctor[Url]

    Permalink
    Definition Classes
    Urls → Urls
  91. def urlWithQueryString[A, B](path: Path[A], qs: QueryString[B])(implicit tupler: Tupler[A, B]): Url[Out]

    Permalink
    Definition Classes
    Urls → Urls
  92. lazy val uuidJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  93. def uuidQueryString: QueryStringParam[UUID]

    Permalink
    Definition Classes
    Urls → Urls
  94. def uuidSegment: Segment[UUID]

    Permalink
    Definition Classes
    Urls → Urls
  95. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  96. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  97. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  98. def wheneverFound[A](response: Response[A], notFoundDocs: Documentation): Response[Option[A]]

    Permalink
    Definition Classes
    Responses → Responses
  99. def withDiscriminator[A](tagged: DocumentedCoProd, discriminatorName: String): DocumentedCoProd

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  100. def xmapJsonSchema[A, B](jsonSchema: DocumentedJsonSchema, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  101. def xmapRecord[A, B](record: DocumentedRecord, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  102. def xmapTagged[A, B](tagged: DocumentedCoProd, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedCoProd

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  103. def zipRecords[A, B](recordA: DocumentedRecord, recordB: DocumentedRecord): DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas

Inherited from JsonSchemas

Inherited from Endpoints

Inherited from Responses

Inherited from StatusCodes

Inherited from Requests

Inherited from Methods

Inherited from Urls

Inherited from algebra.JsonSchemas

Inherited from algebra.JsonEntities

Inherited from algebra.Endpoints

Inherited from algebra.Responses

Inherited from algebra.StatusCodes

Inherited from algebra.Requests

Inherited from algebra.Methods

Inherited from algebra.Urls

Inherited from AnyRef

Inherited from Any

Ungrouped