import 'dart:convert'; class LoginModel { String? message; String? token; int? userId; String? userName; String? userType; LoginModel._(); bool get isLogged => token != null && token!.isNotEmpty; String get loginMessage => message ?? ""; String get userRole => userType == "A" ? "Administrador" : userType == "R" ? "Revendedor" : "Usuário"; Map toMap() { return { 'token': token, }; } static LoginModel instance = LoginModel._(); factory LoginModel.fromMap(Map map) { var authModel = LoginModel._(); authModel.message = map['message'] as String; authModel.token = map['token'] as String; authModel.userId = map['userId'] as int; authModel.userName = map['userName'] as String; authModel.userType = map['userType'] as String; return authModel; } String toJson() => json.encode(toMap()); factory LoginModel.fromJson(String source) => LoginModel.fromMap(json.decode(source) as Map); @override bool operator ==(covariant LoginModel other) { if (identical(this, other)) return true; return other.token == token; } @override int get hashCode => token.hashCode; }