This commit is contained in:
Mohammed Al-Samarraie
2026-01-13 13:07:31 +03:00
parent ac8a769ff0
commit fa4bee4771
15 changed files with 578 additions and 45 deletions

View File

@@ -0,0 +1,16 @@
class LoginDto {
final String phoneNumber;
final String password;
LoginDto({
required this.phoneNumber,
required this.password,
});
Map<String, dynamic> toJson() {
return {
'phoneNumber': phoneNumber,
'password': password,
};
}
}

View File

@@ -0,0 +1,85 @@
class LoginResponseDto {
final int statusCode;
final bool isSuccess;
final String message;
final LoginDataDto? data;
LoginResponseDto({
required this.statusCode,
required this.isSuccess,
required this.message,
this.data,
});
factory LoginResponseDto.fromJson(Map<String, dynamic> json) {
return LoginResponseDto(
statusCode: json['statusCode'] ?? 0,
isSuccess: json['isSuccess'] ?? false,
message: json['message'] ?? '',
data: json['data'] != null ? LoginDataDto.fromJson(json['data']) : null,
);
}
Map<String, dynamic> toJson() {
return {
'statusCode': statusCode,
'isSuccess': isSuccess,
'message': message,
'data': data?.toJson(),
};
}
}
class LoginDataDto {
final String? token;
final String? id;
final String? employeeId;
final String? username;
final String? fullName;
final String? role;
final String? email;
final String? phoneNumber;
final List<String>? permissions;
LoginDataDto({
this.token,
this.id,
this.employeeId,
this.username,
this.fullName,
this.role,
this.email,
this.phoneNumber,
this.permissions,
});
factory LoginDataDto.fromJson(Map<String, dynamic> json) {
return LoginDataDto(
token: json['token'],
id: json['id'],
employeeId: json['employeeId'],
username: json['username'],
fullName: json['fullName'],
role: json['role'],
email: json['email'],
phoneNumber: json['phoneNumber'],
permissions: json['permissions'] != null
? List<String>.from(json['permissions'])
: null,
);
}
Map<String, dynamic> toJson() {
return {
'token': token,
'id': id,
'employeeId': employeeId,
'username': username,
'fullName': fullName,
'role': role,
'email': email,
'phoneNumber': phoneNumber,
'permissions': permissions,
};
}
}