server_info.model.dart 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import 'dart:convert';
  2. class ServerInfo {
  3. final String diskSize;
  4. final String diskUse;
  5. final String diskAvailable;
  6. final int diskSizeRaw;
  7. final int diskUseRaw;
  8. final int diskAvailableRaw;
  9. final double diskUsagePercentage;
  10. ServerInfo({
  11. required this.diskSize,
  12. required this.diskUse,
  13. required this.diskAvailable,
  14. required this.diskSizeRaw,
  15. required this.diskUseRaw,
  16. required this.diskAvailableRaw,
  17. required this.diskUsagePercentage,
  18. });
  19. ServerInfo copyWith({
  20. String? diskSize,
  21. String? diskUse,
  22. String? diskAvailable,
  23. int? diskSizeRaw,
  24. int? diskUseRaw,
  25. int? diskAvailableRaw,
  26. double? diskUsagePercentage,
  27. }) {
  28. return ServerInfo(
  29. diskSize: diskSize ?? this.diskSize,
  30. diskUse: diskUse ?? this.diskUse,
  31. diskAvailable: diskAvailable ?? this.diskAvailable,
  32. diskSizeRaw: diskSizeRaw ?? this.diskSizeRaw,
  33. diskUseRaw: diskUseRaw ?? this.diskUseRaw,
  34. diskAvailableRaw: diskAvailableRaw ?? this.diskAvailableRaw,
  35. diskUsagePercentage: diskUsagePercentage ?? this.diskUsagePercentage,
  36. );
  37. }
  38. Map<String, dynamic> toMap() {
  39. return {
  40. 'diskSize': diskSize,
  41. 'diskUse': diskUse,
  42. 'diskAvailable': diskAvailable,
  43. 'diskSizeRaw': diskSizeRaw,
  44. 'diskUseRaw': diskUseRaw,
  45. 'diskAvailableRaw': diskAvailableRaw,
  46. 'diskUsagePercentage': diskUsagePercentage,
  47. };
  48. }
  49. factory ServerInfo.fromMap(Map<String, dynamic> map) {
  50. return ServerInfo(
  51. diskSize: map['diskSize'] ?? '',
  52. diskUse: map['diskUse'] ?? '',
  53. diskAvailable: map['diskAvailable'] ?? '',
  54. diskSizeRaw: map['diskSizeRaw']?.toInt() ?? 0,
  55. diskUseRaw: map['diskUseRaw']?.toInt() ?? 0,
  56. diskAvailableRaw: map['diskAvailableRaw']?.toInt() ?? 0,
  57. diskUsagePercentage: map['diskUsagePercentage']?.toDouble() ?? 0.0,
  58. );
  59. }
  60. String toJson() => json.encode(toMap());
  61. factory ServerInfo.fromJson(String source) =>
  62. ServerInfo.fromMap(json.decode(source));
  63. @override
  64. String toString() {
  65. return 'ServerInfo(diskSize: $diskSize, diskUse: $diskUse, diskAvailable: $diskAvailable, diskSizeRaw: $diskSizeRaw, diskUseRaw: $diskUseRaw, diskAvailableRaw: $diskAvailableRaw, diskUsagePercentage: $diskUsagePercentage)';
  66. }
  67. @override
  68. bool operator ==(Object other) {
  69. if (identical(this, other)) return true;
  70. return other is ServerInfo &&
  71. other.diskSize == diskSize &&
  72. other.diskUse == diskUse &&
  73. other.diskAvailable == diskAvailable &&
  74. other.diskSizeRaw == diskSizeRaw &&
  75. other.diskUseRaw == diskUseRaw &&
  76. other.diskAvailableRaw == diskAvailableRaw &&
  77. other.diskUsagePercentage == diskUsagePercentage;
  78. }
  79. @override
  80. int get hashCode {
  81. return diskSize.hashCode ^
  82. diskUse.hashCode ^
  83. diskAvailable.hashCode ^
  84. diskSizeRaw.hashCode ^
  85. diskUseRaw.hashCode ^
  86. diskAvailableRaw.hashCode ^
  87. diskUsagePercentage.hashCode;
  88. }
  89. }