This commit is contained in:
Felipe
2024-03-15 16:55:01 -05:00
parent a3c50cf2c8
commit e5a8221edf
9 changed files with 337 additions and 115 deletions
@@ -1,11 +1,12 @@
import 'dart:async';
import 'dart:developer';
import 'dart:io';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:professional_repository/professional_repository.dart';
import 'package:firebase_storage/firebase_storage.dart';
class FirebaseProfessionalRepository {
bool isProModeActive = false;
final professionalCollection =
FirebaseFirestore.instance.collection('professional_info');
@@ -28,4 +29,52 @@ class FirebaseProfessionalRepository {
Future<void> saveProfessionalInfo(ProfessionalEntity entity) async {
await professionalCollection.doc(entity.id).set(entity.toJson());
}
Future<String> uploadPdfCedula(String file, String userId) async {
try {
File pdfFile = File(file);
Reference firebaseStoreRef =
FirebaseStorage.instance.ref().child('$userId/PDF/${userId}_cedula');
await firebaseStoreRef.putFile(pdfFile);
String url = await firebaseStoreRef.getDownloadURL();
return url;
} catch (e) {
log(e.toString());
rethrow;
}
}
Future<String> uploadPdfCertificado(String file, String userId) async {
try {
File pdfFile = File(file);
Reference firebaseStoreRef = FirebaseStorage.instance
.ref()
.child('$userId/PDF/${userId}_certificado');
await firebaseStoreRef.putFile(pdfFile);
String url = await firebaseStoreRef.getDownloadURL();
return url;
} catch (e) {
log(e.toString());
rethrow;
}
}
Future<List<String>> uploadPdfsEspecializaciones(
List<String> files, String userId) async {
try {
List<String> urls = [];
for (String file in files) {
File pdfFile = File(file);
Reference firebaseStoreRef = FirebaseStorage.instance.ref().child(
'$userId/PDF/${userId}_${DateTime.now().millisecondsSinceEpoch}_especializacion');
await firebaseStoreRef.putFile(pdfFile);
String url = await firebaseStoreRef.getDownloadURL();
urls.add(url);
}
return urls;
} catch (e) {
log(e.toString());
rethrow;
}
}
}
@@ -113,6 +113,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.11.5"
firebase_storage:
dependency: "direct main"
description:
name: firebase_storage
sha256: ce1b0efe8dc111058c5f079b2f2ce84906d030d0fd2eef70c42ca1253c67039a
url: "https://pub.dev"
source: hosted
version: "11.6.9"
firebase_storage_platform_interface:
dependency: transitive
description:
name: firebase_storage_platform_interface
sha256: "4a2b64d4dac096390a0b7f2e7b6d086d0546c4a1bf7ee3fc4b5ae4cc41005c46"
url: "https://pub.dev"
source: hosted
version: "5.1.12"
firebase_storage_web:
dependency: transitive
description:
name: firebase_storage_web
sha256: "4153814db8d59138e816d9f016736e4095c45675a2c18f2868d11ffd8cc6a4ca"
url: "https://pub.dev"
source: hosted
version: "3.7.3"
flutter:
dependency: "direct main"
description: flutter
@@ -136,6 +160,22 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
http:
dependency: transitive
description:
name: http
sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba
url: "https://pub.dev"
source: hosted
version: "1.2.0"
http_parser:
dependency: transitive
description:
name: http_parser
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
url: "https://pub.dev"
source: hosted
version: "4.0.2"
intl:
dependency: "direct main"
description:
@@ -253,6 +293,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.6.1"
typed_data:
dependency: transitive
description:
name: typed_data
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
url: "https://pub.dev"
source: hosted
version: "1.3.2"
vector_math:
dependency: transitive
description:
@@ -14,6 +14,7 @@ dependencies:
# Firebase
cloud_firestore: ^4.15.4
firebase_storage: ^11.6.5
firebase_core: ^2.25.4
intl: ^0.18.1
@@ -367,8 +367,7 @@ class FirebaseUserRepository implements UserRepository {
Future<String> uploadPicture(String file, String userId) async {
try {
File imageFile = File(file);
Reference firebaseStoreRef =
FirebaseStorage.instance.ref().child('$userId/PP/${userId}_lead');
Reference firebaseStoreRef = FirebaseStorage.instance.ref().child('$userId/PP/${userId}_lead');
await firebaseStoreRef.putFile(imageFile);
String url = await firebaseStoreRef.getDownloadURL();
return url;