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]
- Alphabetic
- By Inheritance
- ZPartialServerEndpoint
- Serializable
- Product
- Equals
- EndpointMetaOps
- EndpointInfoOps
- EndpointErrorOutputVariantsOps
- EndpointOutputsOps
- EndpointOutputsMacros
- EndpointInputsOps
- EndpointInputsMacros
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ZPartialServerEndpoint(endpoint: Endpoint[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C], securityLogic: (SECURITY_INPUT) => ZIO[R, ERROR_OUTPUT, PRINCIPAL])
Type Members
- type EndpointType[_A, _I, _E, _O, -_R] = ZPartialServerEndpoint[R, _A, PRINCIPAL, _I, _E, _O, _R]
- Definition Classes
- ZPartialServerEndpoint → EndpointErrorOutputVariantsOps → EndpointOutputsOps → EndpointInputsOps
- type ThisType[-_R] = ZPartialServerEndpoint[R, SECURITY_INPUT, PRINCIPAL, INPUT, ERROR_OUTPUT, OUTPUT, _R]
- Definition Classes
- ZPartialServerEndpoint → EndpointInfoOps
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def attribute[T](k: AttributeKey[T], v: T): ThisType[C]
- Definition Classes
- EndpointInfoOps
- def attribute[T](k: AttributeKey[T]): Option[T]
- Definition Classes
- EndpointInfoOps
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def connect: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- def delete: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- def deprecated(): ThisType[C]
- Definition Classes
- EndpointInfoOps
- def description(d: String): ThisType[C]
- Definition Classes
- EndpointInfoOps
- val endpoint: Endpoint[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def errorOutEither[E2](o: EndpointOutput[E2]): EndpointType[SECURITY_INPUT, INPUT, Either[ERROR_OUTPUT, E2], OUTPUT, C]
- Definition Classes
- EndpointErrorOutputVariantsOps
- 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
- def errorOutVariantPrepend[E2 >: ERROR_OUTPUT](o: OneOfVariant[_ <: E2]): EndpointType[SECURITY_INPUT, INPUT, E2, OUTPUT, C]
- Definition Classes
- EndpointErrorOutputVariantsOps
- 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
- def errorOutVariantsFromCurrent[E2 >: ERROR_OUTPUT](variants: (EndpointOutput[ERROR_OUTPUT]) => List[OneOfVariant[_ <: E2]]): EndpointType[SECURITY_INPUT, INPUT, E2, OUTPUT, C]
- Definition Classes
- EndpointErrorOutputVariantsOps
- def errorOutput: EndpointOutput[ERROR_OUTPUT]
- Definition Classes
- ZPartialServerEndpoint → EndpointMetaOps → EndpointErrorOutputVariantsOps
- def get: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def head: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- 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
- 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
- def info: EndpointInfo
- Definition Classes
- ZPartialServerEndpoint → EndpointMetaOps → EndpointInfoOps
- def info(i: EndpointInfo): ThisType[C]
- Definition Classes
- EndpointInfoOps
- def input: EndpointInput[INPUT]
- Definition Classes
- ZPartialServerEndpoint → EndpointMetaOps → EndpointInputsOps
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mapErrorOut[EE](f: (ERROR_OUTPUT) => EE)(g: (EE) => ERROR_OUTPUT): EndpointType[SECURITY_INPUT, INPUT, EE, OUTPUT, C]
- Definition Classes
- EndpointErrorOutputVariantsOps
- def mapIn[II](f: (INPUT) => II)(g: (II) => INPUT): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- def mapIn[II](m: Mapping[INPUT, II]): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- def mapInDecode[II](f: (INPUT) => DecodeResult[II])(g: (II) => INPUT): EndpointType[SECURITY_INPUT, II, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- macro def mapInTo[CASE_CLASS]: EndpointType[SECURITY_INPUT, CASE_CLASS, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsMacros
- def mapOut[OO](f: (OUTPUT) => OO)(g: (OO) => OUTPUT): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
- Definition Classes
- EndpointOutputsOps
- def mapOut[OO](m: Mapping[OUTPUT, OO]): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
- Definition Classes
- EndpointOutputsOps
- def mapOutDecode[OO](f: (OUTPUT) => DecodeResult[OO])(g: (OO) => OUTPUT): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OO, C]
- Definition Classes
- EndpointOutputsOps
- macro def mapOutTo[CASE_CLASS]: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, CASE_CLASS, C]
- Definition Classes
- EndpointOutputsMacros
- def method: Option[Method]
- Definition Classes
- EndpointMetaOps
- def method(m: Method): EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- def name(n: String): ThisType[C]
- Definition Classes
- EndpointInfoOps
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def options: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- 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
- 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
- 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
- def output: EndpointOutput[OUTPUT]
- Definition Classes
- ZPartialServerEndpoint → EndpointMetaOps → EndpointOutputsOps
- def patch: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- def post: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- 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
- 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
- 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
- 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
- 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
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def put: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- def securityInput: EndpointInput[SECURITY_INPUT]
- Definition Classes
- ZPartialServerEndpoint → EndpointMetaOps
- val securityLogic: (SECURITY_INPUT) => ZIO[R, ERROR_OUTPUT, PRINCIPAL]
- def serverLogic[R0](logic: (PRINCIPAL) => (INPUT) => ZIO[R0, ERROR_OUTPUT, OUTPUT]): ztapir.ZServerEndpoint[R with R0, C]
- def show: String
- Definition Classes
- EndpointMetaOps
- def showDetail: String
- Definition Classes
- EndpointMetaOps
- 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
- def showRaw: String
- Definition Classes
- EndpointMetaOps
- def showShort: String
- Definition Classes
- EndpointMetaOps
- def showType: String
- Attributes
- protected
- Definition Classes
- ZPartialServerEndpoint → EndpointMetaOps
- def summary(s: String): ThisType[C]
- Definition Classes
- EndpointInfoOps
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tag(t: String): ThisType[C]
- Definition Classes
- EndpointInfoOps
- def tags(ts: List[String]): ThisType[C]
- Definition Classes
- EndpointInfoOps
- def trace: EndpointType[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]
- Definition Classes
- EndpointInputsOps
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withTag(t: String): ThisType[C]
- Definition Classes
- EndpointInfoOps
- def withTags(ts: List[String]): ThisType[C]
- Definition Classes
- EndpointInfoOps
- def withoutTags: ThisType[C]
- Definition Classes
- EndpointInfoOps
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated