package dev.ulfrx.recipe.auth

import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp

/**
 * Exposed DSL mapping for the Phase 2 `users` migration (D-24, D-26).
 *
 * DSL only — DAO is forbidden by CLAUDE.md #5. Phase 3 will add `households`,
 * `memberships`, and `invites` tables; this table stays untouched at that point
 * because identity is anchored on the OIDC `sub`.
 */
public object UsersTable : Table("users") {
    public val id = uuid("id")
    public val sub = text("sub")
    public val email = text("email")
    public val displayName = text("display_name")
    public val createdAt = timestamp("created_at")
    public val updatedAt = timestamp("updated_at")
    override val primaryKey = PrimaryKey(id)
}
