Replace entire repo content with correct code from /root/shahikitchen-website/
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import type { MenuRepository } from '@/domain/menu/repository';
|
||||
import type { CartRepository } from '@/domain/cart/repository';
|
||||
import type { WishlistRepository } from '@/domain/wishlist/repository';
|
||||
import type { LanguageRepository } from '@/domain/language/repository';
|
||||
import type { MessagingGateway } from '@/application/messaging/ports';
|
||||
import { StaticMenuRepository } from '@/infrastructure/menu/static-menu-repository';
|
||||
import { LocalStorageCartRepository } from '@/infrastructure/persistence/local-storage-cart-repository';
|
||||
import { LocalStorageWishlistRepository } from '@/infrastructure/persistence/local-storage-wishlist-repository';
|
||||
import { LocalStorageLanguageRepository } from '@/infrastructure/persistence/local-storage-language-repository';
|
||||
import { BrowserWhatsAppGateway } from '@/infrastructure/messaging/browser-whatsapp-gateway';
|
||||
|
||||
/**
|
||||
* Composition root — wires domain ports to infrastructure adapters.
|
||||
* Presentation layer imports from here instead of concrete implementations.
|
||||
*/
|
||||
class AppContainer {
|
||||
readonly menuRepository: MenuRepository = new StaticMenuRepository();
|
||||
readonly cartRepository: CartRepository = new LocalStorageCartRepository();
|
||||
readonly wishlistRepository: WishlistRepository = new LocalStorageWishlistRepository();
|
||||
readonly languageRepository: LanguageRepository = new LocalStorageLanguageRepository();
|
||||
readonly messagingGateway: MessagingGateway = new BrowserWhatsAppGateway();
|
||||
}
|
||||
|
||||
export const container = new AppContainer();
|
||||
Reference in New Issue
Block a user