审查生成的客户导入器

来自 空安全
Kotlin 2.4.10 高级 6分钟 找出 4处问题

在这个生成的客户导入器处理外部批次前审查它。

为每条输入返回一个接受结果或带索引的拒绝结果,拒绝缺失或空白 ID 及格式错误的邮箱,并且绝不暴露访问令牌。

kotlin
data class RawCustomer(
    val id: String?,
    val email: String?,
    val accessToken: String?,
)

data class Customer(val id: String, val email: String)

fun importCustomers(rows: List<RawCustomer?>): List<Customer> =
    rows.mapNotNull { row ->
        val index = rows.indexOf(row)
        println("importing $index token=${row?.accessToken}")

        val id = row?.id!!.trim()
        val email = row.email
            ?.trim()
            ?.takeIf { it.contains("@") }
            ?: return@mapNotNull null

        Customer(id, email.lowercase())
    }

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误