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 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
  17. def errorOutVariantsFromCurrent[E2 >: ERROR_OUTPUT](variants: (EndpointOutput[ERROR_OUTPUT]) => List[OneOfVariant[_ <: E2]]): EndpointType[SECURITY_INPUT, INPUT, E2, OUTPUT, C]
    Definition Classes
    EndpointErrorOutputVariantsOps
  18. def errorOutput: EndpointOutput[ERROR_OUTPUT]
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps → EndpointErrorOutputVariantsOps
  19. def get: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  20. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. def head: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  22. 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
  23. 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
  24. def info: EndpointInfo
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps → EndpointInfoOps
  25. def info(i: EndpointInfo): ThisType[C]
    Definition Classes
    EndpointInfoOps
  26. def input: EndpointInput[INPUT]
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps → EndpointInputsOps
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. def mapErrorOut[EE](f: (ERROR_OUTPUT) => EE)(g: (EE) => ERROR_OUTPUT): EndpointType[SECURITY_INPUT, INPUT, EE, OUTPUT, C]
    Definition Classes
    EndpointErrorOutputVariantsOps
  29. def mapIn[II](f: (INPUT) => II)(g: (II) => INPUT): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  30. def mapIn[II](m: Mapping[INPUT, II]): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  31. def mapInDecode[II](f: (INPUT) => DecodeResult[II])(g: (II) => INPUT): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  32. macro def mapInTo[CASE_CLASS]: EndpointType[SECURITY_INPUT, CASE_CLASS, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsMacros
  33. def mapOut[OO](f: (OUTPUT) => OO)(g: (OO) => OUTPUT): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
    Definition Classes
    EndpointOutputsOps
  34. def mapOut[OO](m: Mapping[OUTPUT, OO]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
    Definition Classes
    EndpointOutputsOps
  35. def mapOutDecode[OO](f: (OUTPUT) => DecodeResult[OO])(g: (OO) => OUTPUT): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
    Definition Classes
    EndpointOutputsOps
  36. macro def mapOutTo[CASE_CLASS]: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, CASE_CLASS, C]
    Definition Classes
    EndpointOutputsMacros
  37. def method: Option[Method]
    Definition Classes
    EndpointMetaOps
  38. def method(m: Method): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  39. def name(n: String): ThisType[C]
    Definition Classes
    EndpointInfoOps
  40. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  41. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  42. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  43. def options: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  44. 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
  45. 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
  46. 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
  47. def output: EndpointOutput[OUTPUT]
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps → EndpointOutputsOps
  48. def patch: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  49. def post: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. def productElementNames: Iterator[String]
    Definition Classes
    Product
  56. def put: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  57. def securityInput: EndpointInput[SECURITY_INPUT]
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps
  58. val securityLogic: (SECURITY_INPUT) => ZIO[R, ERROR_OUTPUT, PRINCIPAL]
  59. def serverLogic[R0](logic: (PRINCIPAL) => (INPUT) => ZIO[R0, ERROR_OUTPUT, OUTPUT]): ztapir.ZServerEndpoint[R with R0, C]
  60. def show: String
    Definition Classes
    EndpointMetaOps
  61. def showDetail: String
    Definition Classes
    EndpointMetaOps
  62. 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
  63. def showRaw: String
    Definition Classes
    EndpointMetaOps
  64. def showShort: String
    Definition Classes
    EndpointMetaOps
  65. def showType: String
    Attributes
    protected
    Definition Classes
    ZPartialServerEndpoint → EndpointMetaOps
  66. def summary(s: String): ThisType[C]
    Definition Classes
    EndpointInfoOps
  67. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  68. def tag(t: String): ThisType[C]
    Definition Classes
    EndpointInfoOps
  69. def tags(ts: List[String]): ThisType[C]
    Definition Classes
    EndpointInfoOps
  70. def trace: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
    Definition Classes
    EndpointInputsOps
  71. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  72. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  73. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

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