1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2018 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.core.auth
21 
22 import java.time.ZonedDateTime
23 
24 import io.circe.Encoder
25 import io.circe.generic.semiauto.deriveEncoder
26 import io.swagger.annotations.ApiModelProperty
27 import org.make.core.CirceFormatters
28 import org.make.core.user.UserId
29 
30 import scala.annotation.meta.field
31 
32 final case class AuthCode(
33   authorizationCode: String,
34   scope: Option[String],
35   redirectUri: Option[String],
36   createdAt: ZonedDateTime,
37   expiresIn: Int,
38   @(ApiModelProperty @field)(dataType = "string", example = "11111111-2222-3333-4444-555555555555", required = true)
39   user: UserId,
40   @(ApiModelProperty @field)(dataType = "string", example = "11111111-2222-3333-4444-555555555555", required = true)
41   client: ClientId
42 )
43 
44 object AuthCode extends CirceFormatters {
45   implicit val encoder: Encoder[AuthCode] = deriveEncoder[AuthCode]
46 }
Line Stmt Id Pos Tree Symbol Tests Code
45 2300 1546 - 1569 ApplyToImplicitArgs io.circe.generic.semiauto.deriveEncoder io.circe.generic.semiauto.deriveEncoder[org.make.core.auth.AuthCode]({ val inst$macro$32: io.circe.generic.encoding.DerivedAsObjectEncoder[org.make.core.auth.AuthCode] = { final class anon$lazy$macro$31 extends AnyRef with Serializable { def <init>(): anon$lazy$macro$31 = { anon$lazy$macro$31.super.<init>(); () }; <stable> <accessor> lazy val inst$macro$1: io.circe.generic.encoding.DerivedAsObjectEncoder[org.make.core.auth.AuthCode] = encoding.this.DerivedAsObjectEncoder.deriveEncoder[org.make.core.auth.AuthCode, shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](shapeless.this.LabelledGeneric.materializeProduct[org.make.core.auth.AuthCode, (Symbol @@ String("authorizationCode")) :: (Symbol @@ String("scope")) :: (Symbol @@ String("redirectUri")) :: (Symbol @@ String("createdAt")) :: (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil, String :: Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil, shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](DefaultSymbolicLabelling.instance[org.make.core.auth.AuthCode, (Symbol @@ String("authorizationCode")) :: (Symbol @@ String("scope")) :: (Symbol @@ String("redirectUri")) :: (Symbol @@ String("createdAt")) :: (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil](::.apply[Symbol @@ String("authorizationCode"), (Symbol @@ String("scope")) :: (Symbol @@ String("redirectUri")) :: (Symbol @@ String("createdAt")) :: (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil.type](scala.Symbol.apply("authorizationCode").asInstanceOf[Symbol @@ String("authorizationCode")], ::.apply[Symbol @@ String("scope"), (Symbol @@ String("redirectUri")) :: (Symbol @@ String("createdAt")) :: (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil.type](scala.Symbol.apply("scope").asInstanceOf[Symbol @@ String("scope")], ::.apply[Symbol @@ String("redirectUri"), (Symbol @@ String("createdAt")) :: (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil.type](scala.Symbol.apply("redirectUri").asInstanceOf[Symbol @@ String("redirectUri")], ::.apply[Symbol @@ String("createdAt"), (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil.type](scala.Symbol.apply("createdAt").asInstanceOf[Symbol @@ String("createdAt")], ::.apply[Symbol @@ String("expiresIn"), (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil.type](scala.Symbol.apply("expiresIn").asInstanceOf[Symbol @@ String("expiresIn")], ::.apply[Symbol @@ String("user"), (Symbol @@ String("client")) :: shapeless.HNil.type](scala.Symbol.apply("user").asInstanceOf[Symbol @@ String("user")], ::.apply[Symbol @@ String("client"), shapeless.HNil.type](scala.Symbol.apply("client").asInstanceOf[Symbol @@ String("client")], HNil)))))))), Generic.instance[org.make.core.auth.AuthCode, String :: Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil](((x0$3: org.make.core.auth.AuthCode) => x0$3 match { case (authorizationCode: String, scope: Option[String], redirectUri: Option[String], createdAt: java.time.ZonedDateTime, expiresIn: Int, user: org.make.core.user.UserId, client: org.make.core.auth.ClientId): org.make.core.auth.AuthCode((authorizationCode$macro$23 @ _), (scope$macro$24 @ _), (redirectUri$macro$25 @ _), (createdAt$macro$26 @ _), (expiresIn$macro$27 @ _), (user$macro$28 @ _), (client$macro$29 @ _)) => ::.apply[String, Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil.type](authorizationCode$macro$23, ::.apply[Option[String], Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil.type](scope$macro$24, ::.apply[Option[String], java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil.type](redirectUri$macro$25, ::.apply[java.time.ZonedDateTime, Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil.type](createdAt$macro$26, ::.apply[Int, org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil.type](expiresIn$macro$27, ::.apply[org.make.core.user.UserId, org.make.core.auth.ClientId :: shapeless.HNil.type](user$macro$28, ::.apply[org.make.core.auth.ClientId, shapeless.HNil.type](client$macro$29, HNil))))))).asInstanceOf[String :: Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil] }), ((x0$4: String :: Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil) => x0$4 match { case (head: String, tail: Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil): String :: Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil((authorizationCode$macro$16 @ _), (head: Option[String], tail: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil): Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil((scope$macro$17 @ _), (head: Option[String], tail: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil): Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil((redirectUri$macro$18 @ _), (head: java.time.ZonedDateTime, tail: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil): java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil((createdAt$macro$19 @ _), (head: Int, tail: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil): Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil((expiresIn$macro$20 @ _), (head: org.make.core.user.UserId, tail: org.make.core.auth.ClientId :: shapeless.HNil): org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil((user$macro$21 @ _), (head: org.make.core.auth.ClientId, tail: shapeless.HNil): org.make.core.auth.ClientId :: shapeless.HNil((client$macro$22 @ _), HNil))))))) => auth.this.AuthCode.apply(authorizationCode$macro$16, scope$macro$17, redirectUri$macro$18, createdAt$macro$19, expiresIn$macro$20, user$macro$21, client$macro$22) })), hlist.this.ZipWithKeys.hconsZipWithKeys[Symbol @@ String("authorizationCode"), String, (Symbol @@ String("scope")) :: (Symbol @@ String("redirectUri")) :: (Symbol @@ String("createdAt")) :: (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil, Option[String] :: Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil, shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](hlist.this.ZipWithKeys.hconsZipWithKeys[Symbol @@ String("scope"), Option[String], (Symbol @@ String("redirectUri")) :: (Symbol @@ String("createdAt")) :: (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil, Option[String] :: java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil, shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](hlist.this.ZipWithKeys.hconsZipWithKeys[Symbol @@ String("redirectUri"), Option[String], (Symbol @@ String("createdAt")) :: (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil, java.time.ZonedDateTime :: Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil, shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](hlist.this.ZipWithKeys.hconsZipWithKeys[Symbol @@ String("createdAt"), java.time.ZonedDateTime, (Symbol @@ String("expiresIn")) :: (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil, Int :: org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil, shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](hlist.this.ZipWithKeys.hconsZipWithKeys[Symbol @@ String("expiresIn"), Int, (Symbol @@ String("user")) :: (Symbol @@ String("client")) :: shapeless.HNil, org.make.core.user.UserId :: org.make.core.auth.ClientId :: shapeless.HNil, shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](hlist.this.ZipWithKeys.hconsZipWithKeys[Symbol @@ String("user"), org.make.core.user.UserId, (Symbol @@ String("client")) :: shapeless.HNil, org.make.core.auth.ClientId :: shapeless.HNil, shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](hlist.this.ZipWithKeys.hconsZipWithKeys[Symbol @@ String("client"), org.make.core.auth.ClientId, shapeless.HNil, shapeless.HNil, shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out](hlist.this.ZipWithKeys.hnilZipWithKeys, Witness.mkWitness[Symbol with shapeless.tag.Tagged[String("client")]](scala.Symbol.apply("client").asInstanceOf[Symbol @@ String("client")].asInstanceOf[Symbol with shapeless.tag.Tagged[String("client")]])), Witness.mkWitness[Symbol with shapeless.tag.Tagged[String("user")]](scala.Symbol.apply("user").asInstanceOf[Symbol @@ String("user")].asInstanceOf[Symbol with shapeless.tag.Tagged[String("user")]])), Witness.mkWitness[Symbol with shapeless.tag.Tagged[String("expiresIn")]](scala.Symbol.apply("expiresIn").asInstanceOf[Symbol @@ String("expiresIn")].asInstanceOf[Symbol with shapeless.tag.Tagged[String("expiresIn")]])), Witness.mkWitness[Symbol with shapeless.tag.Tagged[String("createdAt")]](scala.Symbol.apply("createdAt").asInstanceOf[Symbol @@ String("createdAt")].asInstanceOf[Symbol with shapeless.tag.Tagged[String("createdAt")]])), Witness.mkWitness[Symbol with shapeless.tag.Tagged[String("redirectUri")]](scala.Symbol.apply("redirectUri").asInstanceOf[Symbol @@ String("redirectUri")].asInstanceOf[Symbol with shapeless.tag.Tagged[String("redirectUri")]])), Witness.mkWitness[Symbol with shapeless.tag.Tagged[String("scope")]](scala.Symbol.apply("scope").asInstanceOf[Symbol @@ String("scope")].asInstanceOf[Symbol with shapeless.tag.Tagged[String("scope")]])), Witness.mkWitness[Symbol with shapeless.tag.Tagged[String("authorizationCode")]](scala.Symbol.apply("authorizationCode").asInstanceOf[Symbol @@ String("authorizationCode")].asInstanceOf[Symbol with shapeless.tag.Tagged[String("authorizationCode")]])), scala.this.<:<.refl[shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out]), shapeless.Lazy.apply[io.circe.generic.encoding.ReprAsObjectEncoder[shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out]](anon$lazy$macro$31.this.inst$macro$30)).asInstanceOf[io.circe.generic.encoding.DerivedAsObjectEncoder[org.make.core.auth.AuthCode]]; <stable> <accessor> lazy val inst$macro$30: io.circe.generic.encoding.ReprAsObjectEncoder[shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out] = ({ final class $anon extends io.circe.generic.encoding.ReprAsObjectEncoder[shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out] { def <init>(): <$anon: io.circe.generic.encoding.ReprAsObjectEncoder[shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out]> = { $anon.super.<init>(); () }; private[this] val circeGenericEncoderForauthorizationCode: io.circe.Encoder[String] = circe.this.Encoder.encodeString; private[this] val circeGenericEncoderForredirectUri: io.circe.Encoder[Option[String]] = circe.this.Encoder.encodeOption[String](circe.this.Encoder.encodeString); private[this] val circeGenericEncoderForcreatedAt: io.circe.Encoder[java.time.ZonedDateTime] = AuthCode.this.zonedDateTimeEncoder; private[this] val circeGenericEncoderForexpiresIn: io.circe.Encoder[Int] = circe.this.Encoder.encodeInt; private[this] val circeGenericEncoderForuser: io.circe.Encoder[org.make.core.user.UserId] = AuthCode.this.stringValueEncoder[org.make.core.user.UserId]; private[this] val circeGenericEncoderForclient: io.circe.Encoder[org.make.core.auth.ClientId] = AuthCode.this.stringValueEncoder[org.make.core.auth.ClientId]; final def encodeObject(a: shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out): io.circe.JsonObject = a match { case (head: shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String], tail: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out): shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out((circeGenericHListBindingForauthorizationCode @ _), (head: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]], tail: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out): shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out((circeGenericHListBindingForscope @ _), (head: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]], tail: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out): shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out((circeGenericHListBindingForredirectUri @ _), (head: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime], tail: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out): shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out((circeGenericHListBindingForcreatedAt @ _), (head: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int], tail: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out): shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out((circeGenericHListBindingForexpiresIn @ _), (head: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId], tail: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out): shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out((circeGenericHListBindingForuser @ _), (head: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId], tail: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out): shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out((circeGenericHListBindingForclient @ _), shapeless.HNil))))))) => io.circe.JsonObject.fromIterable(scala.collection.immutable.Vector.apply[(String, io.circe.Json)](scala.Tuple2.apply[String, io.circe.Json]("authorizationCode", $anon.this.circeGenericEncoderForauthorizationCode.apply(circeGenericHListBindingForauthorizationCode)), scala.Tuple2.apply[String, io.circe.Json]("scope", $anon.this.circeGenericEncoderForredirectUri.apply(circeGenericHListBindingForscope)), scala.Tuple2.apply[String, io.circe.Json]("redirectUri", $anon.this.circeGenericEncoderForredirectUri.apply(circeGenericHListBindingForredirectUri)), scala.Tuple2.apply[String, io.circe.Json]("createdAt", $anon.this.circeGenericEncoderForcreatedAt.apply(circeGenericHListBindingForcreatedAt)), scala.Tuple2.apply[String, io.circe.Json]("expiresIn", $anon.this.circeGenericEncoderForexpiresIn.apply(circeGenericHListBindingForexpiresIn)), scala.Tuple2.apply[String, io.circe.Json]("user", $anon.this.circeGenericEncoderForuser.apply(circeGenericHListBindingForuser)), scala.Tuple2.apply[String, io.circe.Json]("client", $anon.this.circeGenericEncoderForclient.apply(circeGenericHListBindingForclient)))) } }; new $anon() }: io.circe.generic.encoding.ReprAsObjectEncoder[shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out]).asInstanceOf[io.circe.generic.encoding.ReprAsObjectEncoder[shapeless.labelled.FieldType[Symbol @@ String("authorizationCode"),String] :: shapeless.labelled.FieldType[Symbol @@ String("scope"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("redirectUri"),Option[String]] :: shapeless.labelled.FieldType[Symbol @@ String("createdAt"),java.time.ZonedDateTime] :: shapeless.labelled.FieldType[Symbol @@ String("expiresIn"),Int] :: shapeless.labelled.FieldType[Symbol @@ String("user"),org.make.core.user.UserId] :: shapeless.labelled.FieldType[Symbol @@ String("client"),org.make.core.auth.ClientId] :: shapeless.ops.hlist.ZipWithKeys.hnilZipWithKeys.Out]] }; new anon$lazy$macro$31().inst$macro$1 }; shapeless.Lazy.apply[io.circe.generic.encoding.DerivedAsObjectEncoder[org.make.core.auth.AuthCode]](inst$macro$32) })