mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:27:09 -05:00 
			
		
		
		
	* Renamed multipart filed name 'files' to 'assetData'. * Added an additional field name of 'thumbnailData' to multipart form. * Implemented upload mechanism for thumbnail directly from the mobile client. * Removed dead code * Implemented a version checking mechanism.
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
import 'dart:convert';
 | 
						|
 | 
						|
import 'package:immich_mobile/shared/models/mapbox_info.model.dart';
 | 
						|
import 'package:immich_mobile/shared/models/server_version.model.dart';
 | 
						|
 | 
						|
class ServerInfoState {
 | 
						|
  final MapboxInfo mapboxInfo;
 | 
						|
  final ServerVersion serverVersion;
 | 
						|
  final bool isVersionMismatch;
 | 
						|
  final String versionMismatchErrorMessage;
 | 
						|
 | 
						|
  ServerInfoState({
 | 
						|
    required this.mapboxInfo,
 | 
						|
    required this.serverVersion,
 | 
						|
    required this.isVersionMismatch,
 | 
						|
    required this.versionMismatchErrorMessage,
 | 
						|
  });
 | 
						|
 | 
						|
  ServerInfoState copyWith({
 | 
						|
    MapboxInfo? mapboxInfo,
 | 
						|
    ServerVersion? serverVersion,
 | 
						|
    bool? isVersionMismatch,
 | 
						|
    String? versionMismatchErrorMessage,
 | 
						|
  }) {
 | 
						|
    return ServerInfoState(
 | 
						|
      mapboxInfo: mapboxInfo ?? this.mapboxInfo,
 | 
						|
      serverVersion: serverVersion ?? this.serverVersion,
 | 
						|
      isVersionMismatch: isVersionMismatch ?? this.isVersionMismatch,
 | 
						|
      versionMismatchErrorMessage: versionMismatchErrorMessage ?? this.versionMismatchErrorMessage,
 | 
						|
    );
 | 
						|
  }
 | 
						|
 | 
						|
  Map<String, dynamic> toMap() {
 | 
						|
    return {
 | 
						|
      'mapboxInfo': mapboxInfo.toMap(),
 | 
						|
      'serverVersion': serverVersion.toMap(),
 | 
						|
      'isVersionMismatch': isVersionMismatch,
 | 
						|
      'versionMismatchErrorMessage': versionMismatchErrorMessage,
 | 
						|
    };
 | 
						|
  }
 | 
						|
 | 
						|
  factory ServerInfoState.fromMap(Map<String, dynamic> map) {
 | 
						|
    return ServerInfoState(
 | 
						|
      mapboxInfo: MapboxInfo.fromMap(map['mapboxInfo']),
 | 
						|
      serverVersion: ServerVersion.fromMap(map['serverVersion']),
 | 
						|
      isVersionMismatch: map['isVersionMismatch'] ?? false,
 | 
						|
      versionMismatchErrorMessage: map['versionMismatchErrorMessage'] ?? '',
 | 
						|
    );
 | 
						|
  }
 | 
						|
 | 
						|
  String toJson() => json.encode(toMap());
 | 
						|
 | 
						|
  factory ServerInfoState.fromJson(String source) => ServerInfoState.fromMap(json.decode(source));
 | 
						|
 | 
						|
  @override
 | 
						|
  String toString() {
 | 
						|
    return 'ServerInfoState(mapboxInfo: $mapboxInfo, serverVersion: $serverVersion, isVersionMismatch: $isVersionMismatch, versionMismatchErrorMessage: $versionMismatchErrorMessage)';
 | 
						|
  }
 | 
						|
 | 
						|
  @override
 | 
						|
  bool operator ==(Object other) {
 | 
						|
    if (identical(this, other)) return true;
 | 
						|
 | 
						|
    return other is ServerInfoState &&
 | 
						|
        other.mapboxInfo == mapboxInfo &&
 | 
						|
        other.serverVersion == serverVersion &&
 | 
						|
        other.isVersionMismatch == isVersionMismatch &&
 | 
						|
        other.versionMismatchErrorMessage == versionMismatchErrorMessage;
 | 
						|
  }
 | 
						|
 | 
						|
  @override
 | 
						|
  int get hashCode {
 | 
						|
    return mapboxInfo.hashCode ^
 | 
						|
        serverVersion.hashCode ^
 | 
						|
        isVersionMismatch.hashCode ^
 | 
						|
        versionMismatchErrorMessage.hashCode;
 | 
						|
  }
 | 
						|
}
 |