Package

com.avsystem.commons.rest

openapi

Permalink

package openapi

Visibility
  1. Public
  2. All

Type Members

  1. case class Callback(byExpression: Map[String, PathItem]) extends Product with Serializable

    Permalink

    Representation of Callback Object

    Representation of Callback Object

    Annotations
    @transparent()
  2. case class Components(schemas: Map[String, RefOr[Schema]] = Map.empty, responses: Map[String, RefOr[Response]] = Map.empty, parameters: Map[String, RefOr[Parameter]] = Map.empty, examples: Map[String, RefOr[Example]] = Map.empty, requestBodies: Map[String, RefOr[RequestBody]] = Map.empty, headers: Map[String, RefOr[Header]] = Map.empty, securitySchemes: Map[String, RefOr[SecurityScheme]] = Map.empty, links: Map[String, RefOr[Link]] = Map.empty, callbacks: Map[String, RefOr[Callback]] = Map.empty) extends Product with Serializable

    Permalink

    Representation of Components Object

  3. case class Contact(name: commons.OptArg[String] = OptArg.Empty, url: commons.OptArg[String] = OptArg.Empty, email: commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Contact Object

  4. final class DataType extends AbstractValueEnum

    Permalink
  5. case class Discriminator(propertyName: String, mapping: Map[String, String] = Map.empty) extends Product with Serializable

    Permalink

    Representation of Discriminator Object

  6. case class Encoding(contentType: commons.OptArg[String] = OptArg.Empty, headers: Map[String, RefOr[Header]] = Map.empty, style: commons.OptArg[Style] = OptArg.Empty, explode: commons.OptArg[Boolean] = OptArg.Empty, allowReserved: Boolean = false) extends Product with Serializable

    Permalink

    Representation of Encoding Object

  7. case class Entry[K, V](key: K, value: V) extends Product with Serializable

    Permalink
  8. case class Example(summary: commons.OptArg[String] = OptArg.Empty, description: commons.OptArg[String] = OptArg.Empty, value: commons.OptArg[JsonValue] = OptArg.Empty, externalValue: commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Permalink
  9. case class ExternalDocumentation(url: String, description: commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of External Documentation Object

  10. case class Header(description: commons.OptArg[String] = OptArg.Empty, required: Boolean = false, deprecated: Boolean = false, allowEmptyValue: Boolean = false, style: commons.OptArg[Style] = OptArg.Empty, explode: commons.OptArg[Boolean] = OptArg.Empty, allowReserved: Boolean = false, schema: commons.OptArg[RefOr[Schema]] = OptArg.Empty, example: commons.OptArg[JsonValue] = OptArg.Empty, examples: Map[String, RefOr[Example]] = Map.empty, content: commons.OptArg[Entry[String, MediaType]] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Header Object

  11. case class Info(title: String, version: String, license: commons.OptArg[License] = OptArg.Empty, description: commons.OptArg[String] = OptArg.Empty, termsOfService: commons.OptArg[String] = OptArg.Empty, contact: commons.OptArg[Contact] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Info Object

  12. final class InliningResolver extends SchemaResolver

    Permalink
  13. case class License(name: String, url: commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of License Object

  14. case class Link(operationRef: commons.OptArg[String] = OptArg.Empty, operationId: commons.OptArg[String] = OptArg.Empty, parameters: Map[String, JsonValue] = Map.empty, requestBody: commons.OptArg[JsonValue] = OptArg.Empty, description: commons.OptArg[String] = OptArg.Empty, server: commons.OptArg[Server] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Link Object

  15. final class Location extends AbstractValueEnum

    Permalink
  16. case class MediaType(schema: commons.OptArg[RefOr[Schema]] = OptArg.Empty, example: commons.OptArg[JsonValue] = OptArg.Empty, examples: Map[String, RefOr[Example]] = Map.empty, encoding: Map[String, Encoding] = Map.empty) extends Product with Serializable

    Permalink

    Representation of Media Type Object

  17. case class OAuthFlow(scopes: Map[String, String], authorizationUrl: commons.OptArg[String] = OptArg.Empty, tokenUrl: commons.OptArg[String] = OptArg.Empty, refreshUrl: commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of OAuth Flow Object

  18. case class OAuthFlows(implicit: commons.OptArg[OAuthFlow] = OptArg.Empty, password: commons.OptArg[OAuthFlow] = OptArg.Empty, clientCredentials: commons.OptArg[OAuthFlow] = OptArg.Empty, authorizationCode: commons.OptArg[OAuthFlow] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of OAuth Flows Object

  19. case class OpenApi(openapi: String = OpenApi.Version, info: Info, paths: Paths, servers: List[Server] = Nil, components: commons.OptArg[Components] = OptArg.Empty, security: List[SecurityRequirement] = Nil, tags: List[Tag] = Nil, externalDocs: commons.OptArg[ExternalDocumentation] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of OpenAPI Object from OpenAPI 3.0 specification.

    Representation of OpenAPI Object from OpenAPI 3.0 specification. It may be serialized to OpenAPI 3.0 compliant JSON using JsonStringOutput. This JSON can then be consumed by tools that support OpenAPI 3.0, e.g. Swagger UI.

  20. case class OpenApiBody[T](restRequestBody: RestRequestBody[T], schemaAdjusters: List[SchemaAdjuster]) extends TypedMetadata[T] with Product with Serializable

    Permalink
  21. case class OpenApiBodyField[T](info: OpenApiParamInfo[T], schemaAdjusters: List[SchemaAdjuster]) extends TypedMetadata[T] with Product with Serializable

    Permalink
  22. case class OpenApiBodyOperation[T](name: String, methodTag: HttpMethodTag, operationAdjusters: List[OperationAdjuster], pathAdjusters: List[PathItemAdjuster], parameters: List[OpenApiParameter[_]], bodyFields: List[OpenApiBodyField[_]], singleBody: commons.Opt[OpenApiBody[_]], formBody: Boolean, resultType: RestResultType[T]) extends OpenApiOperation[T] with Product with Serializable

    Permalink
  23. case class OpenApiGetOperation[T](name: String, methodTag: HttpMethodTag, operationAdjusters: List[OperationAdjuster], pathAdjusters: List[PathItemAdjuster], parameters: List[OpenApiParameter[_]], resultType: RestResultType[T]) extends OpenApiOperation[T] with Product with Serializable

    Permalink
  24. case class OpenApiMetadata[T](prefixes: List[OpenApiPrefix[_]], gets: List[OpenApiGetOperation[_]], bodyMethods: List[OpenApiBodyOperation[_]]) extends Product with Serializable

    Permalink
    Annotations
    @implicitNotFound( ... ) @methodTag( ... )
  25. sealed trait OpenApiMethod[T] extends TypedMetadata[T]

    Permalink
  26. sealed trait OpenApiOperation[T] extends OpenApiMethod[T]

    Permalink
  27. case class OpenApiParamInfo[T](name: String, whenAbsentInfo: commons.Opt[WhenAbsentInfo[T]], flags: ParamFlags, restSchema: RestSchema[T]) extends TypedMetadata[T] with Product with Serializable

    Permalink
  28. case class OpenApiParameter[T](paramTag: NonBodyTag, info: OpenApiParamInfo[T], adjusters: List[ParameterAdjuster]) extends TypedMetadata[T] with Product with Serializable

    Permalink
  29. case class OpenApiPrefix[T](name: String, methodTag: Prefix, parameters: List[OpenApiParameter[_]], operationAdjusters: List[OperationAdjuster], pathAdjusters: List[PathItemAdjuster], operationIdPrefix: commons.Opt[operationIdPrefix], result: OpenApiMetadata.Lazy[T]) extends OpenApiMethod[T] with Product with Serializable

    Permalink
  30. case class Operation(tags: List[String] = Nil, summary: commons.OptArg[String] = OptArg.Empty, description: commons.OptArg[String] = OptArg.Empty, externalDocs: commons.OptArg[ExternalDocumentation] = OptArg.Empty, operationId: commons.OptArg[String] = OptArg.Empty, parameters: List[RefOr[Parameter]] = Nil, requestBody: commons.OptArg[RefOr[RequestBody]] = OptArg.Empty, responses: Responses, callbacks: Map[String, RefOr[Callback]] = Map.empty, deprecated: Boolean = false, security: List[SecurityRequirement] = Nil, servers: List[Server] = Nil) extends Product with Serializable

    Permalink

    Representation of Operation Object

  31. case class Parameter(name: String, in: Location, description: commons.OptArg[String] = OptArg.Empty, required: Boolean = false, deprecated: Boolean = false, allowEmptyValue: Boolean = false, style: commons.OptArg[Style] = OptArg.Empty, explode: commons.OptArg[Boolean] = OptArg.Empty, allowReserved: Boolean = false, schema: commons.OptArg[RefOr[Schema]] = OptArg.Empty, example: commons.OptArg[JsonValue] = OptArg.Empty, examples: Map[String, RefOr[Example]] = Map.empty, content: commons.OptArg[Entry[String, MediaType]] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Parameter Object

  32. case class PathItem(summary: commons.OptArg[String] = OptArg.Empty, description: commons.OptArg[String] = OptArg.Empty, get: commons.OptArg[Operation] = OptArg.Empty, put: commons.OptArg[Operation] = OptArg.Empty, post: commons.OptArg[Operation] = OptArg.Empty, delete: commons.OptArg[Operation] = OptArg.Empty, options: commons.OptArg[Operation] = OptArg.Empty, head: commons.OptArg[Operation] = OptArg.Empty, patch: commons.OptArg[Operation] = OptArg.Empty, trace: commons.OptArg[Operation] = OptArg.Empty, servers: List[Server] = Nil, parameters: List[RefOr[Parameter]] = Nil) extends Product with Serializable

    Permalink

    Representation of Path Item Object

  33. case class PathOperation(path: String, method: HttpMethod, operation: Operation, pathAdjusters: List[PathItemAdjuster]) extends Product with Serializable

    Permalink
  34. case class Paths(paths: Map[String, RefOr[PathItem]]) extends Product with Serializable

    Permalink

    Representation of Paths Object

    Representation of Paths Object

    Annotations
    @transparent()
  35. sealed trait RefOr[+A] extends AnyRef

    Permalink
  36. case class RequestBody(description: commons.OptArg[String] = OptArg.Empty, content: Map[String, MediaType], required: Boolean = false) extends Product with Serializable

    Permalink

    Representation of Request Body Object

  37. case class Response(description: commons.OptArg[String] = OptArg.Empty, headers: Map[String, RefOr[Header]] = Map.empty, content: Map[String, MediaType] = Map.empty, links: Map[String, RefOr[Link]] = Map.empty) extends Product with Serializable

    Permalink

    Representation of Response Object

  38. case class Responses(byStatusCode: Map[Int, RefOr[Response]] = Map.empty, default: commons.OptArg[RefOr[Response]] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Responses Object

  39. trait RestRequestBody[T] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  40. case class RestResponses[T](responses: (SchemaResolver) ⇒ Responses) extends Product with Serializable

    Permalink

    Typeclass which defines how an OpenAPI Responses Object will look like for a given type.

    Typeclass which defines how an OpenAPI Responses Object will look like for a given type. By default, RestResponses is derived based on RestSchema for that type.

    Annotations
    @implicitNotFound( "RestResponses for ${T} not found" )
  41. case class RestResultType[T](responses: (SchemaResolver) ⇒ Responses) extends Product with Serializable

    Permalink

    Just like RestResponses, RestResultType is a typeclass that defines how an OpenAPI Responses Object will look like for a HTTP method which returns given type.

    Just like RestResponses, RestResultType is a typeclass that defines how an OpenAPI Responses Object will look like for a HTTP method which returns given type. The difference between RestResultType and RestResponses is that RestResultType is defined for full result type which usually is some kind of asynchronous wrapper over actual result type (e.g. Future). In such situation, RestResponses must be provided for T while RestResultType is provided for Future[T] (or whatever async wrapper is used), based on the RestResponses instance of T. You can see an example of this in FutureRestImplicits.

    RestResultType for OpenApiMetadata is analogous to HttpResponseType for RestMetadata.

  42. trait RestSchema[T] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( "RestSchema for ${T} not found" )
  43. sealed trait RestStructure[T] extends TypedMetadata[T]

    Permalink
  44. case class Schema(type: commons.OptArg[DataType] = OptArg.Empty, format: commons.OptArg[String] = OptArg.Empty, title: commons.OptArg[String] = OptArg.Empty, description: commons.OptArg[String] = OptArg.Empty, nullable: Boolean = false, readOnly: Boolean = false, writeOnly: Boolean = false, xml: commons.OptArg[Xml] = OptArg.Empty, externalDocs: commons.OptArg[ExternalDocumentation] = OptArg.Empty, deprecated: Boolean = false, multipleOf: commons.OptArg[BigDecimal] = OptArg.Empty, maximum: commons.OptArg[BigDecimal] = OptArg.Empty, exclusiveMaximum: Boolean = false, minimum: commons.OptArg[BigDecimal] = OptArg.Empty, exclusiveMinimum: Boolean = false, maxLength: commons.OptArg[Int] = OptArg.Empty, minLength: commons.OptArg[Int] = OptArg.Empty, pattern: commons.OptArg[String] = OptArg.Empty, items: commons.OptArg[RefOr[Schema]] = OptArg.Empty, maxItems: commons.OptArg[Int] = OptArg.Empty, minItems: commons.OptArg[Int] = OptArg.Empty, uniqueItems: Boolean = false, properties: Map[String, RefOr[Schema]] = Map.empty, additionalProperties: commons.OptArg[RefOr[Schema]] = OptArg.Empty, maxProperties: commons.OptArg[Int] = OptArg.Empty, minProperties: commons.OptArg[Int] = OptArg.Empty, required: List[String] = Nil, allOf: List[RefOr[Schema]] = Nil, oneOf: List[RefOr[Schema]] = Nil, anyOf: List[RefOr[Schema]] = Nil, not: commons.OptArg[RefOr[Schema]] = OptArg.Empty, discriminator: commons.OptArg[Discriminator] = OptArg.Empty, enum: List[JsonValue] = Nil, default: commons.OptArg[JsonValue] = OptArg.Empty, example: commons.OptArg[JsonValue] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Schema Object

  45. final class SchemaRegistry extends SchemaResolver

    Permalink
  46. trait SchemaResolver extends AnyRef

    Permalink
  47. case class SecurityRequirement(schemes: Map[String, List[String]]) extends Product with Serializable

    Permalink

    Representation of Security Requirement Object

    Representation of Security Requirement Object

    Annotations
    @transparent()
  48. sealed trait SecurityScheme extends AnyRef

    Permalink

    Representation of Security Scheme Object

    Representation of Security Scheme Object

    Annotations
    @flatten( "type" )
  49. case class Server(url: String, description: commons.OptArg[String] = OptArg.Empty, serverVariables: Map[String, ServerVariable] = Map.empty) extends Product with Serializable

    Permalink

    Representation of Server Object

  50. case class ServerVariable(default: String, enum: List[String] = Nil, description: commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Server Variable Object

  51. final class Style extends AbstractValueEnum

    Permalink

    Representation of parameter style

  52. case class Tag(name: String, description: commons.OptArg[String] = OptArg.Empty, externalDocs: commons.OptArg[ExternalDocumentation] = OptArg.Empty) extends Product with Serializable

    Permalink

    Representation of Tag Object

  53. case class WhenAbsentInfo[T](annot: whenAbsent[T], asJson: AsRaw[JsonValue, T]) extends TypedMetadata[T] with Product with Serializable

    Permalink
  54. case class Xml(name: commons.OptArg[String] = OptArg.Empty, namespace: commons.OptArg[String] = OptArg.Empty, prefix: commons.OptArg[String] = OptArg.Empty, attribute: Boolean = false, wrapped: Boolean = false) extends Product with Serializable

    Permalink

    Representation of Xml Object

Value Members

  1. object Callback extends HasGenCodec[Callback] with Serializable

    Permalink
  2. object Components extends HasGenCodec[Components] with Serializable

    Permalink
  3. object Contact extends HasGenCodec[Contact] with Serializable

    Permalink
  4. object DataType extends AbstractValueEnumCompanion[DataType] with Serializable

    Permalink
  5. object Discriminator extends HasGenCodec[Discriminator] with Serializable

    Permalink
  6. object Encoding extends HasGenCodec[Encoding] with Serializable

    Permalink
  7. object Entry extends Serializable

    Permalink
  8. object Example extends HasGenCodec[Example] with Serializable

    Permalink
  9. object ExternalDocumentation extends HasGenCodec[ExternalDocumentation] with Serializable

    Permalink
  10. object Format

    Permalink
  11. object Header extends HasGenCodec[Header] with Serializable

    Permalink
  12. object Info extends HasGenCodec[Info] with Serializable

    Permalink
  13. object InliningResolver

    Permalink
  14. object License extends HasGenCodec[License] with Serializable

    Permalink
  15. object Link extends HasGenCodec[Link] with Serializable

    Permalink
  16. object Location extends AbstractValueEnumCompanion[Location] with Serializable

    Permalink
  17. object MediaType extends HasGenCodec[MediaType] with Serializable

    Permalink
  18. object OAuthFlow extends HasGenCodec[OAuthFlow] with Serializable

    Permalink
  19. object OAuthFlows extends HasGenCodec[OAuthFlows] with Serializable

    Permalink
  20. object OpenApi extends HasGenCodec[OpenApi] with Serializable

    Permalink
  21. object OpenApiMetadata extends RpcMetadataCompanion[OpenApiMetadata] with Serializable

    Permalink
  22. object Operation extends HasGenCodec[Operation] with Serializable

    Permalink
  23. object Parameter extends HasGenCodec[Parameter] with Serializable

    Permalink
  24. object PathItem extends HasGenCodec[PathItem] with Serializable

    Permalink
  25. object Paths extends HasGenCodec[Paths] with Serializable

    Permalink
  26. object RefOr

    Permalink
  27. object RequestBody extends HasGenCodec[RequestBody] with Serializable

    Permalink
  28. object Response extends HasGenCodec[Response] with Serializable

    Permalink
  29. object Responses extends Serializable

    Permalink
  30. object RestRequestBody

    Permalink
  31. object RestResponses extends Serializable

    Permalink
  32. object RestResultType extends Serializable

    Permalink
  33. object RestSchema

    Permalink
  34. object RestStructure extends AdtMetadataCompanion[RestStructure]

    Permalink
  35. object Schema extends HasGenCodec[Schema] with Serializable

    Permalink
  36. object SecurityRequirement extends HasGenCodec[SecurityRequirement] with Serializable

    Permalink
  37. object SecurityScheme

    Permalink
  38. object Server extends HasGenCodec[Server] with Serializable

    Permalink
  39. object ServerVariable extends HasGenCodec[ServerVariable] with Serializable

    Permalink
  40. object Style extends AbstractValueEnumCompanion[Style] with Serializable

    Permalink
  41. object Tag extends HasGenCodec[Tag] with Serializable

    Permalink
  42. object Xml extends HasGenCodec[Xml] with Serializable

    Permalink
  43. package adjusters

    Permalink

Ungrouped