form pro - sin imagenes

This commit is contained in:
Felipe
2024-03-14 22:07:46 -05:00
parent 66125235dd
commit a3c50cf2c8
123 changed files with 2077 additions and 18345 deletions
@@ -0,0 +1 @@
export '/src/entities/profession_entity.dart';
@@ -0,0 +1,29 @@
import 'package:equatable/equatable.dart';
class ProfessionEntity extends Equatable {
final String name;
const ProfessionEntity({required this.name});
Map<String, Object?> toDocument() {
return {
'name': name,
};
}
static ProfessionEntity fromDocument(Map<String, dynamic> doc) {
return ProfessionEntity(
name: doc['name'] as String,
);
}
@override
List<Object?> get props => [name];
@override
String toString() {
return '''ProfessionEntity {
name: $name
}''';
}
}
@@ -0,0 +1 @@
export 'profession_ui.dart';
@@ -0,0 +1,12 @@
import 'package:equatable/equatable.dart';
class ProfessionUi extends Equatable {
final String name;
const ProfessionUi({
required this.name,
});
@override
List<Object?> get props => [name];
}
@@ -0,0 +1,30 @@
import 'dart:developer';
import 'package:profession_repository/profession_repository.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class FirebaseProfessionRepository implements ProfessionRepository {
final professionsCollection =
FirebaseFirestore.instance.collection('professions');
@override
Future<Professions> getProfessions() async {
try {
final doc = await professionsCollection.doc("professions").get();
return Professions.fromDocument(doc.data() as Map<String, dynamic>);
} catch (e) {
log('Error getting documents: $e');
rethrow;
}
}
}
class Professions {
final List<String> professions;
Professions(this.professions);
factory Professions.fromDocument(Map<String, dynamic> json) {
return Professions(List<String>.from(json['professions']));
}
}
@@ -0,0 +1,5 @@
import 'package:profession_repository/profession_repository.dart';
abstract class ProfessionRepository {
Future<Professions> getProfessions();
}