c

sttp.tapir.ztapir

ZPartialServerEndpoint

case class ZPartialServerEndpoint[R, SECURITY_INPUT, PRINCIPAL, INPUT, ERROR_OUTPUT, OUTPUT, -C](endpoint: Endpoint[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C], securityLogic: (SECURITY_INPUT) => ZIO[R, ERROR_OUTPUT, PRINCIPAL]) extends EndpointInputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C] with EndpointOutputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C] with EndpointErrorOutputVariantsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C] with EndpointInfoOps[C] with EndpointMetaOps with Product with Serializable

An endpoint with the security logic provided, and the main logic yet unspecified. See RichZEndpoint.zServerLogic.

The provided security part of the server logic transforms inputs of type SECURITY_INPUT, either to an error of type ERROR_OUTPUT, or value of type PRINCIPAL.

The part of the server logic which is not provided, will have to transform a tuple: (PRINCIPAL, INPUT) either into an error, or a value of type OUTPUT.

Inputs/outputs can be added to partial endpoints as to regular endpoints, however the shape of the error outputs is fixed and cannot be changed. Hence, it's possible to create a base, secured input, and then specialise it with inputs, outputs and logic as needed.

SECURITY_INPUT

Type of the security inputs, transformed into PRINCIPAL

PRINCIPAL

Type of transformed security input.

INPUT

Input parameter types.

ERROR_OUTPUT

Error output parameter types.

OUTPUT

Output parameter types.

C

The capabilities that are required by this endpoint's inputs/outputs. Any, if no requirements.

Self Type
ZPartialServerEndpoint[R, SECURITY_INPUT, PRINCIPAL, INPUT, ERROR_OUTPUT, OUTPUT, C]
Linear Supertypes
Serializable, Product, Equals, EndpointMetaOps, EndpointInfoOps[C], EndpointErrorOutputVariantsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C], EndpointOutputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C], EndpointOutputsMacros[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C], EndpointInputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C], EndpointInputsMacros[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ZPartialServerEndpoint
  2. Serializable
  3. Product
  4. Equals
  5. EndpointMetaOps
  6. EndpointInfoOps
  7. EndpointErrorOutputVariantsOps
  8. EndpointOutputsOps
  9. EndpointOutputsMacros
  10. EndpointInputsOps
  11. EndpointInputsMacros
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ZPartialServerEndpoint(endpoint: Endpoint[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C], securityLogic: (SECURITY_INPUT) => ZIO[R, ERROR_OUTPUT, PRINCIPAL])

Type Members

  1. type EndpointType[_A, _I, _E, _O, -_R] = ZPartialServerEndpoint[R, _A, PRINCIPAL, _I, _E, _O, _R]
    Definition Classes
    ZPartialServerEndpoint → EndpointErrorOutputVariantsOps → EndpointOutputsOps → EndpointInputsOps
  2. type ThisType[-_R] = ZPartialServerEndpoint[R, SECURITY_INPUT, PRINCIPAL, INPUT, ERROR_OUTPUT, OUTPUT, _R]
    Definition Classes
    ZPartialServerEndpoint → EndpointInfoOps

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def attribute[T](k: AttributeKey[T], v: T): ThisType[C]
    Definition Classes
    EndpointInfoOps
  6. def attribute[T](k: AttributeKey[T]): Option[T]
    Definition Classes
    EndpointInfoOps
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. def connect: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  9. def delete: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  10. def deprecated(): ThisType[C]
    Definition Classes
    EndpointInfoOps
  11. def description(d: String): ThisType[C]
    Definition Classes
    EndpointInfoOps
  12. val endpoint: Endpoint[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def errorOutEither[E2](o: EndpointOutput[E2]): EndpointType[SECURITY_INPUT, INPUT, Either[ERROR_OUTPUT, E2], OUTPUT, C]
    Definition Classes
    EndpointErrorOutputVariantsOps
  15. def errorOutVariant[E2 >: ERROR_OUTPUT](o: OneOfVariant[_ <: E2])(implicit ct: ClassTag[ERROR_OUTPUT], eEqualToErasure: ErasureSameAsType[ERROR_OUTPUT]): EndpointType[SECURITY_INPUT, INPUT, E2, OUTPUT, C]
    Definition Classes
    EndpointErrorOutputVariantsOps
  16. def errorOutVariantPrepend[E2 >: ERROR_OUTPUT](o: OneOfVariant[_ <: E2]): EndpointType[SECURITY_INPUT, INPUT, E2, OUTPUT, C]
    Definition Classes
    EndpointErrorOutputVariantsOps
  17. def errorOutVariants[E2 >: ERROR_OUTPUT](first: OneOfVariant[_ <: E2], other: OneOfVariant[_ <: E2]*)(implicit ct: ClassTag[ERROR_OUTPUT], eEqualToErasure: ErasureSameAsType[ERROR_OUTPUT]): EndpointType[SECURITY_INPUT, INPUT, E2, OUTPUT, C]
    Definition Classes
    EndpointErrorOutputVariantsOps
  18. def errorOutVariantsFromCurrent[E2 >: ERROR_OUTPUT](variants: (EndpointOutput[ERROR_OUTPUT]) => List[OneOfVariant[_ <: E2]]): EndpointType[SECURITY_INPUT, INPUT, E2, OUTPUT, C]
    Definition Classes
    EndpointErrorOutputVariantsOps
  19. def errorOutput: EndpointOutput[ERROR_OUTPUT]
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps → EndpointErrorOutputVariantsOps
  20. def get: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  21. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. def head: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  23. def in[BS, J, IJ, R2](i: StreamBodyIO[BS, J, R2])(implicit concat: typelevel.ParamConcat.Aux[INPUT, J, IJ]): EndpointType[SECURITY_INPUT, IJ, ERROR_OUTPUT, OUTPUT, C with R2]
    Definition Classes
    EndpointInputsOps
  24. def in[J, IJ](i: EndpointInput[J])(implicit concat: typelevel.ParamConcat.Aux[INPUT, J, IJ]): EndpointType[SECURITY_INPUT, IJ, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  25. def info: EndpointInfo
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps → EndpointInfoOps
  26. def info(i: EndpointInfo): ThisType[C]
    Definition Classes
    EndpointInfoOps
  27. def input: EndpointInput[INPUT]
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps → EndpointInputsOps
  28. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  29. def mapErrorOut[EE](f: (ERROR_OUTPUT) => EE)(g: (EE) => ERROR_OUTPUT): EndpointType[SECURITY_INPUT, INPUT, EE, OUTPUT, C]
    Definition Classes
    EndpointErrorOutputVariantsOps
  30. def mapIn[II](f: (INPUT) => II)(g: (II) => INPUT): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  31. def mapIn[II](m: Mapping[INPUT, II]): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  32. def mapInDecode[II](f: (INPUT) => DecodeResult[II])(g: (II) => INPUT): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  33. macro def mapInTo[CASE_CLASS]: EndpointType[SECURITY_INPUT, CASE_CLASS, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsMacros
  34. def mapOut[OO](f: (OUTPUT) => OO)(g: (OO) => OUTPUT): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
    Definition Classes
    EndpointOutputsOps
  35. def mapOut[OO](m: Mapping[OUTPUT, OO]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
    Definition Classes
    EndpointOutputsOps
  36. def mapOutDecode[OO](f: (OUTPUT) => DecodeResult[OO])(g: (OO) => OUTPUT): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
    Definition Classes
    EndpointOutputsOps
  37. macro def mapOutTo[CASE_CLASS]: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, CASE_CLASS, C]
    Definition Classes
    EndpointOutputsMacros
  38. def method: Option[Method]
    Definition Classes
    EndpointMetaOps
  39. def method(m: Method): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  40. def name(n: String): ThisType[C]
    Definition Classes
    EndpointInfoOps
  41. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  43. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  44. def options: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  45. def out[PIPE_REQ_RESP, P, OP, R2](i: WebSocketBodyOutput[PIPE_REQ_RESP, _, _, P, R2])(implicit ts: typelevel.ParamConcat.Aux[OUTPUT, P, OP]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OP, C with R2 with WebSockets]
    Definition Classes
    EndpointOutputsOps
  46. def out[BS, P, OP, R2](i: StreamBodyIO[BS, P, R2])(implicit ts: typelevel.ParamConcat.Aux[OUTPUT, P, OP]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OP, C with R2]
    Definition Classes
    EndpointOutputsOps
  47. def out[P, OP](i: EndpointOutput[P])(implicit ts: typelevel.ParamConcat.Aux[OUTPUT, P, OP]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OP, C]
    Definition Classes
    EndpointOutputsOps
  48. def output: EndpointOutput[OUTPUT]
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps → EndpointOutputsOps
  49. def patch: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  50. def post: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  51. def prependIn[BS, J, JI, R2](i: StreamBodyIO[BS, J, R2])(implicit concat: typelevel.ParamConcat.Aux[J, INPUT, JI]): EndpointType[SECURITY_INPUT, JI, ERROR_OUTPUT, OUTPUT, C with R2]
    Definition Classes
    EndpointInputsOps
  52. def prependIn[J, JI](i: EndpointInput[J])(implicit concat: typelevel.ParamConcat.Aux[J, INPUT, JI]): EndpointType[SECURITY_INPUT, JI, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  53. def prependOut[PIPE_REQ_RESP, P, PO, R2](i: WebSocketBodyOutput[PIPE_REQ_RESP, _, _, P, R2])(implicit ts: typelevel.ParamConcat.Aux[P, OUTPUT, PO]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, PO, C with R2 with WebSockets]
    Definition Classes
    EndpointOutputsOps
  54. def prependOut[BS, P, PO, R2](i: StreamBodyIO[BS, P, R2])(implicit ts: typelevel.ParamConcat.Aux[P, OUTPUT, PO]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, PO, C with R2]
    Definition Classes
    EndpointOutputsOps
  55. def prependOut[P, PO](i: EndpointOutput[P])(implicit ts: typelevel.ParamConcat.Aux[P, OUTPUT, PO]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, PO, C]
    Definition Classes
    EndpointOutputsOps
  56. def productElementNames: Iterator[String]
    Definition Classes
    Product
  57. def put: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  58. def securityInput: EndpointInput[SECURITY_INPUT]
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps
  59. val securityLogic: (SECURITY_INPUT) => ZIO[R, ERROR_OUTPUT, PRINCIPAL]
  60. def serverLogic[R0](logic: (PRINCIPAL) => (INPUT) => ZIO[R0, ERROR_OUTPUT, OUTPUT]): ztapir.ZServerEndpoint[R with R0, C]
  61. def show: String
    Definition Classes
    EndpointMetaOps
  62. def showDetail: String
    Definition Classes
    EndpointMetaOps
  63. def showPathTemplate(showPathParam: (Int, PathCapture[_]) => String, showQueryParam: Option[(Int, Query[_]) => String], includeAuth: Boolean, showNoPathAs: String, showPathsAs: Option[String], showQueryParamsAs: Option[String]): String
    Definition Classes
    EndpointMetaOps
  64. def showRaw: String
    Definition Classes
    EndpointMetaOps
  65. def showShort: String
    Definition Classes
    EndpointMetaOps
  66. def showType: String
    Attributes
    protected
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps
  67. def summary(s: String): ThisType[C]
    Definition Classes
    EndpointInfoOps
  68. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  69. def tag(t: String): ThisType[C]
    Definition Classes
    EndpointInfoOps
  70. def tags(ts: List[String]): ThisType[C]
    Definition Classes
    EndpointInfoOps
  71. def trace: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  72. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  73. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  74. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  75. def withTag(t: String): ThisType[C]
    Definition Classes
    EndpointInfoOps
  76. def withTags(ts: List[String]): ThisType[C]
    Definition Classes
    EndpointInfoOps
  77. def withoutTags: ThisType[C]
    Definition Classes
    EndpointInfoOps

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from EndpointMetaOps

Inherited from EndpointInfoOps[C]

Inherited from EndpointErrorOutputVariantsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]

Inherited from EndpointOutputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]

Inherited from EndpointOutputsMacros[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]

Inherited from EndpointInputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]

Inherited from EndpointInputsMacros[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]

Inherited from AnyRef

Inherited from Any

Ungrouped