fix: handle login
This commit is contained in:
@@ -1,8 +1,3 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:device_info_plus/device_info_plus.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:immich_mobile/domain/interfaces/log.interface.dart';
|
||||
import 'package:immich_mobile/domain/interfaces/store.interface.dart';
|
||||
@@ -15,12 +10,12 @@ import 'package:immich_mobile/domain/repositories/user.repository.dart';
|
||||
import 'package:immich_mobile/domain/services/app_setting.service.dart';
|
||||
import 'package:immich_mobile/domain/services/login.service.dart';
|
||||
import 'package:immich_mobile/domain/services/server_info.service.dart';
|
||||
import 'package:immich_mobile/domain/services/user.service.dart';
|
||||
import 'package:immich_mobile/presentation/modules/common/states/current_user.state.dart';
|
||||
import 'package:immich_mobile/presentation/modules/common/states/server_info/server_feature_config.state.dart';
|
||||
import 'package:immich_mobile/presentation/modules/theme/states/app_theme.state.dart';
|
||||
import 'package:immich_mobile/presentation/router/router.dart';
|
||||
import 'package:immich_mobile/utils/immich_auth_interceptor.dart';
|
||||
import 'package:openapi/openapi.dart';
|
||||
import 'package:immich_mobile/utils/immich_api_client.dart';
|
||||
|
||||
final di = GetIt.I;
|
||||
|
||||
@@ -55,47 +50,24 @@ class ServiceLocator {
|
||||
di.registerLazySingleton<AppThemeCubit>(() => AppThemeCubit(di()));
|
||||
}
|
||||
|
||||
static FutureOr<void> registerPostValidationServices(String endpoint) async {
|
||||
if (di.isRegistered<Openapi>()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final deviceInfo = DeviceInfoPlugin();
|
||||
final String deviceModel;
|
||||
if (Platform.isIOS) {
|
||||
deviceModel = (await deviceInfo.iosInfo).utsname.machine;
|
||||
} else {
|
||||
deviceModel = (await deviceInfo.androidInfo).model;
|
||||
}
|
||||
static void registerPostValidationServices(String endpoint) {
|
||||
di.registerSingleton<ImmichApiClient>(ImmichApiClient(endpoint: endpoint));
|
||||
|
||||
// ====== DOMAIN
|
||||
|
||||
di.registerSingleton<Openapi>(
|
||||
Openapi(
|
||||
dio: Dio(
|
||||
BaseOptions(
|
||||
baseUrl: endpoint,
|
||||
connectTimeout: const Duration(milliseconds: 5000),
|
||||
receiveTimeout: const Duration(milliseconds: 3000),
|
||||
headers: {
|
||||
'deviceModel': deviceModel,
|
||||
'deviceType': Platform.operatingSystem,
|
||||
},
|
||||
),
|
||||
),
|
||||
interceptors: [ImmichAuthInterceptor()],
|
||||
),
|
||||
);
|
||||
di.registerFactory<UserService>(() => UserService(di()));
|
||||
di.registerFactory<ServerInfoService>(() => ServerInfoService(di()));
|
||||
|
||||
// ====== PRESENTATION
|
||||
|
||||
di.registerLazySingleton<ServerFeatureConfigCubit>(
|
||||
() => ServerFeatureConfigCubit(di()),
|
||||
);
|
||||
}
|
||||
|
||||
static void registerCurrentUser(User user) {
|
||||
di.registerSingleton<CurrentUserCubit>(CurrentUserCubit(user));
|
||||
if (di.isRegistered<CurrentUserCubit>()) {
|
||||
di<CurrentUserCubit>().updateUser(user);
|
||||
} else {
|
||||
di.registerSingleton<CurrentUserCubit>(CurrentUserCubit(user));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user