feat: migrate prosappco from Firebase to NestJS REST API (Fase 2)
- Replace all Firebase* repositories with Api* repositories using HTTP + SharedPreferences JWT - Remove Firebase.initializeApp() and firebase_messaging background handler from main.dart - Update DI (app_di.dart) to inject Api* repositories instead of Firebase* ones - Replace all Timestamp/cloud_firestore usage with ISO 8601 String dates - Stub PhoneVerificationService (Firebase phone OTP → backend OTP when implemented) - Add ApiService singleton with JWT management in lib/services/ - Legacy firebase_*_repository.dart files preserved for Fase 4 cleanup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
726cf12fd2
commit
733384091c
+15
-20
@@ -1,5 +1,4 @@
|
||||
import 'package:chat_repository/chat_repository.dart';
|
||||
import 'package:firebase_auth/firebase_auth.dart';
|
||||
import 'package:injector/injector.dart';
|
||||
import 'package:profession_repository/profession_repository.dart';
|
||||
import 'package:professional_repository/professional_repository.dart';
|
||||
@@ -29,20 +28,20 @@ class AppDI {
|
||||
final injector = Injector.appInstance;
|
||||
|
||||
injector.registerSingleton<UserRepository>(
|
||||
(() => FirebaseUserRepository(FirebaseAuth.instance)));
|
||||
(() => ApiUserRepository()));
|
||||
|
||||
injector.registerSingleton<CityRepository>(() => FirebaseCityRepository());
|
||||
injector.registerSingleton<CityRepository>(() => ApiCityRepository());
|
||||
|
||||
injector.registerSingleton<ProfessionRepository>(
|
||||
() => FirebaseProfessionRepository());
|
||||
() => ApiProfessionRepository());
|
||||
|
||||
injector.registerSingleton<SettingRepository>(
|
||||
() => FirebaseSettingRepository());
|
||||
() => ApiSettingRepository());
|
||||
|
||||
injector.registerSingleton(() => FirebaseProfessionalRepository());
|
||||
injector.registerSingleton(() => FirebaseServiceRepository());
|
||||
injector.registerSingleton(() => FirebaseChatRepository());
|
||||
injector.registerSingleton(() => FirebaseScoreRepository());
|
||||
injector.registerSingleton(() => ApiProfessionalRepository());
|
||||
injector.registerSingleton(() => ApiServiceRepository());
|
||||
injector.registerSingleton(() => ApiChatRepository());
|
||||
injector.registerSingleton(() => ApiScoreRepository());
|
||||
|
||||
injector.registerSingleton<AuthenticationBloc>((() =>
|
||||
AuthenticationBloc(myUserRepository: injector.get<UserRepository>())));
|
||||
@@ -60,7 +59,8 @@ class AppDI {
|
||||
);
|
||||
injector.registerSingleton(
|
||||
() => NotificationBloc(
|
||||
requestLocalNotificationPermission: LocalNotifications.requestPermissionLocalNotifications,
|
||||
requestLocalNotificationPermission:
|
||||
LocalNotifications.requestPermissionLocalNotifications,
|
||||
showLocalNotification: LocalNotifications.showLocalNotification,
|
||||
),
|
||||
);
|
||||
@@ -84,31 +84,26 @@ class AppDI {
|
||||
() => ProfessionalListBloc(
|
||||
userRepository: injector.get<UserRepository>(),
|
||||
firebaseProfessonalRepository:
|
||||
injector.get<FirebaseProfessionalRepository>()),
|
||||
injector.get<ApiProfessionalRepository>()),
|
||||
);
|
||||
|
||||
injector.registerDependency<ChatBloc>(() => ChatBloc(
|
||||
chatRepository: injector.get<FirebaseChatRepository>(),
|
||||
chatRepository: injector.get<ApiChatRepository>(),
|
||||
));
|
||||
|
||||
injector.registerDependency<ServiceBloc>(
|
||||
() => ServiceBloc(
|
||||
serviceRepository: injector.get<FirebaseServiceRepository>(),
|
||||
serviceRepository: injector.get<ApiServiceRepository>(),
|
||||
userRepository: injector.get<UserRepository>(),
|
||||
professionRepository: injector.get<FirebaseProfessionalRepository>(),
|
||||
professionRepository: injector.get<ApiProfessionalRepository>(),
|
||||
),
|
||||
);
|
||||
|
||||
injector.registerDependency<ScoreBloc>(
|
||||
() => ScoreBloc(
|
||||
scoreRepository: injector.get<FirebaseScoreRepository>(),
|
||||
scoreRepository: injector.get<ApiScoreRepository>(),
|
||||
userRepository: injector.get<UserRepository>(),
|
||||
),
|
||||
);
|
||||
|
||||
// injector.registerSingleton((() => ScoreBloc(
|
||||
// firebaseScoreRepository: injector.get(),
|
||||
// userRepository: injector.get<UserRepository>(),
|
||||
// )));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user