this repo has no description
1use crate::repo::PostgresBlockStore; 2use crate::storage::{BlobStorage, S3BlobStorage}; 3use sqlx::PgPool; 4use std::sync::Arc; 5 6#[derive(Clone)] 7pub struct AppState { 8 pub db: PgPool, 9 pub block_store: PostgresBlockStore, 10 pub blob_store: Arc<dyn BlobStorage>, 11} 12 13impl AppState { 14 pub async fn new(db: PgPool) -> Self { 15 let block_store = PostgresBlockStore::new(db.clone()); 16 let blob_store = S3BlobStorage::new().await; 17 Self { 18 db, 19 block_store, 20 blob_store: Arc::new(blob_store), 21 } 22 } 23}