// 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 <https://www.gnu.org/licenses/>.

import 'package:wyatt_crud_bloc/wyatt_crud_bloc.dart';

class User extends ObjectModel {
  @override
  String? id;

  String? name;
  String? email;
  String? phone;

  User({
    required this.name,
    required this.email,
    required this.phone,
    this.id,
  });
  // User._();

  // factory User.parser() {
  //   return User._();
  // }

  // @override
  // User? from(DocumentSnapshot? object) {
  //   if (object == null) return null;
  //   if (object.exists) {
  //     return User(
  //       id: object.id,
  //       name: (object.data() as Map<String, dynamic>?)!['name'] as String,
  //       email: (object.data() as Map<String, dynamic>?)!['email'] as String,
  //       phone: (object.data() as Map<String, dynamic>?)!['phone'] as String,
  //     );
  //   }
  //   return null;
  // }

  Map<String, Object> toMap() {
    return {
      'name': name ?? '',
      'email': email ?? '',
      'phone': phone ?? '',
    };
  }

  @override
  String toString() =>
      'User(id: $id, name: $name, email: $email, phone: $phone)';
}
