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:
Lizandro Guarnizo
2026-06-17 16:53:11 -05:00
co-authored by Claude Sonnet 4.6
parent 726cf12fd2
commit 733384091c
65 changed files with 1404 additions and 389 deletions
+4 -5
View File
@@ -1,6 +1,5 @@
import 'dart:developer';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
@@ -13,14 +12,14 @@ part 'service_event.dart';
part 'service_state.dart';
class ServiceBloc extends Bloc<ServiceEvent, ServiceState> {
final FirebaseServiceRepository _serviceRepository;
final ApiServiceRepository _serviceRepository;
final UserRepository _userRepository;
final FirebaseProfessionalRepository _professionalRepository;
final ApiProfessionalRepository _professionalRepository;
ServiceBloc({
required FirebaseServiceRepository serviceRepository,
required ApiServiceRepository serviceRepository,
required UserRepository userRepository,
required FirebaseProfessionalRepository professionRepository,
required ApiProfessionalRepository professionRepository,
}) : _serviceRepository = serviceRepository,
_userRepository = userRepository,
_professionalRepository = professionRepository,
+1 -1
View File
@@ -117,7 +117,7 @@ class CreateService extends ServiceEvent {
final double latitude;
final double longitude;
final String day;
final Timestamp createdAt;
final String createdAt;
final String description;
final TimeOfDay range1Hour1;
final TimeOfDay range1Hour2;