48 lines
2.4 KiB
Dart
48 lines
2.4 KiB
Dart
import 'package:dio/dio.dart';
|
|
import 'package:eatvio_app/core/initialization_cubit/initialization_cubit.dart';
|
|
import 'package:eatvio_app/features/blog_post/presentation/bloc/blog_post_cubit.dart';
|
|
import 'package:eatvio_app/features/blog_post/repositories/blog_post_repository.dart';
|
|
import 'package:eatvio_app/features/blog_post/services/blog_post_service.dart';
|
|
import 'package:eatvio_app/features/bottom_navigation_bar/presentation/bloc/new_messages_cubit/new_messages_cubit.dart';
|
|
import 'package:eatvio_app/features/bottom_navigation_bar/presentation/bloc/notifications_cubit/notifications_cubit.dart';
|
|
import 'package:eatvio_app/features/chat/presentation/bloc/chat_room_cubit/chat_room_cubit.dart';
|
|
import 'package:eatvio_app/features/chat/repositories/chat_repository.dart';
|
|
import 'package:eatvio_app/features/chat/services/chat_service.dart';
|
|
import 'package:eatvio_app/features/feed/presentation/bloc/feed_cubit/feed_cubit.dart';
|
|
import 'package:eatvio_app/features/feed/repositories/feed_repository.dart';
|
|
import 'package:eatvio_app/features/feed/services/feed_service.dart';
|
|
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
|
import 'package:get_it/get_it.dart';
|
|
|
|
final sl = GetIt.instance;
|
|
|
|
Future<void> init() async {
|
|
// BLoC / Cubit
|
|
sl.registerLazySingleton<InitializationCubit>(() => InitializationCubit(chatRepository: sl()));
|
|
sl.registerLazySingleton<NewMessagesCubit>(() => NewMessagesCubit());
|
|
sl.registerLazySingleton<NotificationsCubit>(() => NotificationsCubit());
|
|
|
|
sl.registerFactory<ChatRoomCubit>(() => ChatRoomCubit(chatRepository: sl(), initializationCubit: sl()));
|
|
sl.registerFactory<FeedCubit>(() => FeedCubit(feedRepository: sl()));
|
|
sl.registerFactory<BlogPostCubit>(() => BlogPostCubit(blogPostRepository: sl()));
|
|
|
|
// Repository
|
|
sl.registerLazySingleton<ChatRepository>(() => ChatRepository(chatService: sl()));
|
|
sl.registerLazySingleton<FeedRepository>(() => FeedRepository(feedService: sl()));
|
|
sl.registerLazySingleton<BlogPostRepository>(() => BlogPostRepository(blogPostService: sl()));
|
|
|
|
// Services
|
|
sl.registerLazySingleton<ChatService>(() => ChatService(sl()));
|
|
sl.registerLazySingleton<FeedService>(() => FeedService(sl()));
|
|
sl.registerLazySingleton<BlogPostService>(() => BlogPostService(sl()));
|
|
|
|
// External
|
|
sl.registerLazySingleton(
|
|
() => Dio(
|
|
BaseOptions(
|
|
baseUrl: dotenv.env['SERVER_ROOT']!,
|
|
),
|
|
),
|
|
);
|
|
}
|