fix(handlers): add handlers

This commit is contained in:
2026-01-30 16:31:53 +08:00
parent bb82c75834
commit ce12b997f4
38 changed files with 3746 additions and 317 deletions

47
tests/db_smoke.rs Normal file
View File

@@ -0,0 +1,47 @@
use sqlx::PgPool;
#[tokio::test]
async fn db_smoke_tenants_users_roundtrip() -> Result<(), Box<dyn std::error::Error>> {
let database_url = match std::env::var("DATABASE_URL") {
Ok(v) if !v.trim().is_empty() => v,
_ => return Ok(()),
};
let pool = PgPool::connect(&database_url).await?;
let mut tx = pool.begin().await?;
let tenant_id: uuid::Uuid = sqlx::query_scalar(
r#"
INSERT INTO tenants (name, status, config)
VALUES ($1, 'active', '{}'::jsonb)
RETURNING id
"#,
)
.bind(format!("smoke-{}", uuid::Uuid::new_v4()))
.fetch_one(&mut *tx)
.await?;
let user_id: uuid::Uuid = sqlx::query_scalar(
r#"
INSERT INTO users (tenant_id, email, password_hash)
VALUES ($1, $2, $3)
RETURNING id
"#,
)
.bind(tenant_id)
.bind(format!("smoke-{}@example.com", uuid::Uuid::new_v4()))
.bind("hash")
.fetch_one(&mut *tx)
.await?;
let found: i64 = sqlx::query_scalar("SELECT COUNT(1) FROM users WHERE tenant_id = $1 AND id = $2")
.bind(tenant_id)
.bind(user_id)
.fetch_one(&mut *tx)
.await?;
assert_eq!(found, 1);
tx.rollback().await?;
Ok(())
}