import 'package:aves/model/availability.dart';
import 'package:aves/model/metadata_db.dart';
import 'package:aves/services/image_file_service.dart';
import 'package:aves/services/media_store_service.dart';
import 'package:aves/services/metadata_service.dart';
import 'package:aves/services/storage_service.dart';
import 'package:aves/services/time_service.dart';
import 'package:get_it/get_it.dart';
import 'package:path/path.dart' as p;
final getIt = GetIt.instance;
final pContext = getIt
();
final availability = getIt();
final metadataDb = getIt();
final imageFileService = getIt();
final mediaStoreService = getIt();
final metadataService = getIt();
final storageService = getIt();
final timeService = getIt();
void initPlatformServices() {
getIt.registerLazySingleton(() => p.Context());
getIt.registerLazySingleton(() => LiveAvesAvailability());
getIt.registerLazySingleton(() => SqfliteMetadataDb());
getIt.registerLazySingleton(() => PlatformImageFileService());
getIt.registerLazySingleton(() => PlatformMediaStoreService());
getIt.registerLazySingleton(() => PlatformMetadataService());
getIt.registerLazySingleton(() => PlatformStorageService());
getIt.registerLazySingleton(() => PlatformTimeService());
}