// Copyright (C) 2022 WYATT GROUP // Please see the AUTHORS file for details. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:wyatt_crud_bloc/wyatt_crud_bloc.dart'; class UserFirestore extends Model { @override String? id; String? name; String? email; String? phone; UserFirestore({ required this.name, required this.email, required this.phone, this.id, }); UserFirestore._(); factory UserFirestore.parser() { return UserFirestore._(); } @override UserFirestore? from(DocumentSnapshot? object) { if (object == null) return null; if (object.exists) { return UserFirestore( id: object.id, name: (object.data() as Map?)!['name'] as String, email: (object.data() as Map?)!['email'] as String, phone: (object.data() as Map?)!['phone'] as String, ); } return null; } @override Map toMap() { return { 'name': name ?? '', 'email': email ?? '', 'phone': phone ?? '', }; } @override String toString() => 'UserFirestore(id: $id, name: $name, email: $email, phone: $phone)'; }