Auth client is now specific to each user

This commit is contained in:
2024-08-24 14:12:42 -04:00
Unverified
parent 3e1b5495f8
commit 7bd9a8fc30
2 changed files with 19 additions and 13 deletions

View File

@@ -6,7 +6,6 @@ use futures::future::{self};
use futures::StreamExt;
use sqlx::migrate::MigrateDatabase;
use sqlx::{migrate, Sqlite, SqlitePool};
use sqlx::sqlite::SqlitePoolOptions;
use tarpc::{
server::{Channel},
tokio_serde::formats::Json,
@@ -14,7 +13,6 @@ use tarpc::{
use tarpc::server::incoming::Incoming;
use tarpc::server::BaseChannel;
use tracing::{info, subscriber, warn};
use realm_auth::types::RealmAuthClient;
use realm_server::server::RealmChatServer;
use realm_server::types::RealmChat;
@@ -54,10 +52,6 @@ async fn main() -> anyhow::Result<()> {
migrate!().run(&db_pool).await?; // TODO: Do in Docker with Sqlx-cli
info!("Migrations complete!");
let mut auth_transport = tarpc::serde_transport::tcp::connect((IpAddr::V6(Ipv6Addr::LOCALHOST), 5052), Json::default);
auth_transport.config_mut().max_frame_length(usize::MAX);
let auth_client = RealmAuthClient::new(tarpc::client::Config::default(), auth_transport.await?).spawn();
let server_addr = (IpAddr::V6(Ipv6Addr::LOCALHOST), env::var("PORT").expect("PORT must be set").parse::<u16>().unwrap());
// JSON transport is provided by the json_transport tarpc module. It makes it easy
@@ -74,7 +68,7 @@ async fn main() -> anyhow::Result<()> {
// serve is generated by the service attribute. It takes as input any type implementing
// the generated World trait.
.map(|channel| {
let server = RealmChatServer::new(env::var("SERVER_ID").expect("SERVER_ID must be set"), channel.transport().peer_addr().unwrap(), db_pool.clone(), auth_client.clone());
let server = RealmChatServer::new(env::var("SERVER_ID").expect("SERVER_ID must be set"), channel.transport().peer_addr().unwrap(), db_pool.clone());
channel.execute(server.serve()).for_each(spawn)
})
// Max 10 channels.