54 lines
1.2 KiB
Dart
54 lines
1.2 KiB
Dart
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<String, dynamic> toMap() {
|
|
return <String, dynamic>{
|
|
'token': token,
|
|
};
|
|
}
|
|
|
|
static LoginModel instance = LoginModel._();
|
|
|
|
factory LoginModel.fromMap(Map<String, dynamic> 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<String, dynamic>);
|
|
|
|
@override
|
|
bool operator ==(covariant LoginModel other) {
|
|
if (identical(this, other)) return true;
|
|
|
|
return other.token == token;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => token.hashCode;
|
|
}
|