add reward card feature with barcodes
This commit is contained in:
+12
-3
@@ -22,15 +22,18 @@ use crate::hub::InMemoryHub;
|
||||
use crate::ports::{
|
||||
CategoryRepository, InvitationRepository, ItemRepository, ListMealRepository, ListRepository,
|
||||
MealCategoryRepository, MealIngredientRepository, MealRepository, PasskeyRepository,
|
||||
PasswordHasher, RealtimeNotifier, SessionRepository, TokenGenerator, UserRepository,
|
||||
PasswordHasher, RealtimeNotifier, RewardsCardRepository, SessionRepository, TokenGenerator,
|
||||
UserRepository,
|
||||
};
|
||||
use crate::security::{Argon2PasswordHasher, RandomTokenGenerator};
|
||||
use crate::services::{AuthService, InvitationService, ListService, MealService, RegistrationMode};
|
||||
use crate::services::{
|
||||
AuthService, InvitationService, ListService, MealService, RegistrationMode, RewardsCardService,
|
||||
};
|
||||
use crate::sqlite::{
|
||||
SqliteCategoryRepository, SqliteDatabase, SqliteInvitationRepository, SqliteItemRepository,
|
||||
SqliteListMealRepository, SqliteListRepository, SqliteMealCategoryRepository,
|
||||
SqliteMealIngredientRepository, SqliteMealRepository, SqlitePasskeyRepository,
|
||||
SqliteSessionRepository, SqliteUserRepository,
|
||||
SqliteRewardsCardRepository, SqliteSessionRepository, SqliteUserRepository,
|
||||
};
|
||||
use crate::webauthn::{AppWebauthnConfig, WebAuthnService};
|
||||
|
||||
@@ -90,6 +93,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let meal_categories: Arc<dyn MealCategoryRepository> = Arc::new(SqliteMealCategoryRepository);
|
||||
let invitations: Arc<dyn InvitationRepository> = Arc::new(SqliteInvitationRepository);
|
||||
let passkeys: Arc<dyn PasskeyRepository> = Arc::new(SqlitePasskeyRepository);
|
||||
let rewards_cards: Arc<dyn RewardsCardRepository> = Arc::new(SqliteRewardsCardRepository);
|
||||
let hasher: Arc<dyn PasswordHasher> = Arc::new(Argon2PasswordHasher);
|
||||
let tokens: Arc<dyn TokenGenerator> = Arc::new(RandomTokenGenerator);
|
||||
let realtime: Arc<dyn RealtimeNotifier> = Arc::new(InMemoryHub::default());
|
||||
@@ -114,6 +118,10 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
Arc::clone(&invitations),
|
||||
Arc::clone(&tokens),
|
||||
));
|
||||
let rewards_cards_service = Arc::new(RewardsCardService::new(
|
||||
db.clone(),
|
||||
Arc::clone(&rewards_cards),
|
||||
));
|
||||
let meals_service = Arc::new(MealService::new(
|
||||
db.clone(),
|
||||
Arc::clone(&meals),
|
||||
@@ -157,6 +165,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
lists: lists_service,
|
||||
meals: meals_service,
|
||||
invitations: invitations_service,
|
||||
rewards_cards: rewards_cards_service,
|
||||
webauthn: webauthn_service,
|
||||
realtime,
|
||||
cookie_secure,
|
||||
|
||||
Reference in New Issue
Block a user