in bigquery/src/main/scala/magnolify/bigquery/TableRowType.scala [113:132]
override protected def buildSchema(cm: CaseMapper): TableFieldSchema = {
// do not use a scala wrapper in the schema, so clone() works
val fields = new ju.ArrayList[TableFieldSchema](caseClass.parameters.size)
caseClass.parameters.foreach { p =>
val f = p.typeclass
.fieldSchema(cm)
.clone()
.setName(cm.map(p.label))
.setDescription(
getDescription(p.annotations, s"${caseClass.typeName.full}#${p.label}")
)
fields.add(f)
}
new TableFieldSchema()
.setType("STRUCT")
.setMode("REQUIRED")
.setDescription(getDescription(caseClass.annotations, caseClass.typeName.full))
.setFields(fields)
}