オプションフィールドを持つ次のケースクラスがあります。
case class BusinessUserRow(id: String, firstName: Option[String], lastName: Option[String], email: Option[String])
ビジネス ユーザー オブジェクトの inputType オブジェクトを作成しようとしています。
val BusinessUserInputType =
deriveInputObjectType[BusinessUserRow](
InputObjectTypeName("input"),
InputObjectTypeDescription("A Business user")
)
この BusinessInputObject を引数として addBusinessUser ミューテーションに渡したい
val businessUserInputArg = Argument("input", BusinessUserInputType)
val Mutation = ObjectType("Mutation", fields[RepoContext, Unit](
Field("addBusinessUser", BusinessUserType,
arguments = businessUserInputArg :: Nil,
resolve = c ⇒ c.ctx.BusinessUserRepo.create(c.arg(businessUserInputArg)))))
しかし、次のコンパイル エラーが発生します。
Type dao.Tables.BusinessUserRow @@ sangria.marshalling.FromInput.InputObjectResult cannot be used as an input. Please consider defining an implicit instance of `FromInput` for it.
[error] val businessUserInputArg = Argument("input", BusinessUserInputType)
ただし、BusinessRow のすべてのフィールドはスカラー値です。何が問題の原因なのかわかりません。表示されていないものはありますか?