import 'dart:convert'; import 'package:flutter/cupertino.dart'; UserModel userModelJson(String str) => UserModel.fromJson(json.decode(str)); String userModelToJSON(UserModel data) => json.encode(data.toJson()); class UserModel { String _email = ""; String _userName = ""; String _password = ""; ImageProvider? profilePicture = AssetImage('images/profile_coffee.jpg'); // can be NetworkImage or AssetImage. UserModel({ required userName, required email, required password, }); UserModel.login(String username, String pass) { _userName = username; _password = pass; } factory UserModel.fromJson(Map json) => UserModel( email: json["email"], userName: json["username"], password: json["pass"]); Map toJson() => {"email": _email, "username": _userName, "pass": _password}; String get getEmail => _email.trim(); // if user accidentally added space at the end String get getUserName => _userName.trim(); String get getPassword => _password; set password(String value) { _password = value; } set userName(String value) { _userName = value; } set email(String value) { _email = value; } }