// 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)';
}