2025-11-19 00:36:28 +05:30

58 lines
1.5 KiB
Dart

import 'dart:convert';
import 'package:autos/domain/entities/user.dart';
class UserModel extends User {
const UserModel({
required super.id,
required super.name,
required super.email,
required super.role,
super.plan,
super.paymentStatus,
super.phoneNumber,
super.message,
super.code,
});
factory UserModel.fromJson(Map<String, dynamic> json) {
final payment = json['payment'] ?? {};
return UserModel(
id: json['userid'] ?? json['id']?.toString() ?? '',
name: json['name'] ?? '',
email: json['email'] ?? '',
role: json['role'] ?? '',
plan: payment['plan'] ?? json['plan'],
paymentStatus: payment['status'] ?? json['paymentStatus'],
phoneNumber: json['phonenumber'] ?? '',
message: json['message'] ?? '',
code: json['code'] ?? '',
);
}
Map<String, dynamic> toJson() {
return {
'userid': id,
'name': name,
'email': email,
'role': role,
'plan': plan,
'paymentStatus': paymentStatus,
'phonenumber': phoneNumber,
'message': message,
'code': code,
};
}
/// Store user as raw JSON string
String toRawJson() => jsonEncode(toJson());
/// Parse user from raw JSON string
factory UserModel.fromRawJson(String raw) =>
UserModel.fromJson(jsonDecode(raw));
@override
String toString() {
return 'UserModel(id: $id, name: $name, email: $email, role: $role, phone: $phoneNumber, plan: $plan, status: $paymentStatus, code: $code)';
}
}