use crate::redis_cache::RedisCache; use crate::users::UsersService; use sqlx::PgPool; use std::sync::Arc; pub struct Database { pub users_service: UsersService, // User-specific functionality } impl Database { pub async fn new(pool: PgPool, cache: Arc) -> Self { let users_service = UsersService { pool, cache }; Self { users_service } } pub async fn health_check(&self) -> bool { // Simple query to check database health sqlx::query("SELECT 1") .execute(&self.users_service.pool) .await .is_ok() } }