pcasttv/lib/models/login_model.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;
}