1
0
mirror of https://github.com/immich-app/immich.git synced 2025-07-17 08:37:42 +02:00

feat(server): do not automatically download android motion videos (#11774)

feat(server): do not automatically download embedded android motion videos
This commit is contained in:
Jason Rasmussen
2024-08-15 16:06:16 -04:00
committed by GitHub
parent ed6971222c
commit 32c05ea950
13 changed files with 151 additions and 28 deletions

View File

@ -14,25 +14,31 @@ class DownloadResponse {
/// Returns a new [DownloadResponse] instance.
DownloadResponse({
required this.archiveSize,
this.includeEmbeddedVideos = false,
});
int archiveSize;
bool includeEmbeddedVideos;
@override
bool operator ==(Object other) => identical(this, other) || other is DownloadResponse &&
other.archiveSize == archiveSize;
other.archiveSize == archiveSize &&
other.includeEmbeddedVideos == includeEmbeddedVideos;
@override
int get hashCode =>
// ignore: unnecessary_parenthesis
(archiveSize.hashCode);
(archiveSize.hashCode) +
(includeEmbeddedVideos.hashCode);
@override
String toString() => 'DownloadResponse[archiveSize=$archiveSize]';
String toString() => 'DownloadResponse[archiveSize=$archiveSize, includeEmbeddedVideos=$includeEmbeddedVideos]';
Map<String, dynamic> toJson() {
final json = <String, dynamic>{};
json[r'archiveSize'] = this.archiveSize;
json[r'includeEmbeddedVideos'] = this.includeEmbeddedVideos;
return json;
}
@ -45,6 +51,7 @@ class DownloadResponse {
return DownloadResponse(
archiveSize: mapValueOfType<int>(json, r'archiveSize')!,
includeEmbeddedVideos: mapValueOfType<bool>(json, r'includeEmbeddedVideos')!,
);
}
return null;
@ -93,6 +100,7 @@ class DownloadResponse {
/// The list of required keys that must be present in a JSON.
static const requiredKeys = <String>{
'archiveSize',
'includeEmbeddedVideos',
};
}

View File

@ -14,6 +14,7 @@ class DownloadUpdate {
/// Returns a new [DownloadUpdate] instance.
DownloadUpdate({
this.archiveSize,
this.includeEmbeddedVideos,
});
/// Minimum value: 1
@ -25,17 +26,27 @@ class DownloadUpdate {
///
int? archiveSize;
///
/// Please note: This property should have been non-nullable! Since the specification file
/// does not include a default value (using the "default:" property), however, the generated
/// source code must fall back to having a nullable type.
/// Consider adding a "default:" property in the specification file to hide this note.
///
bool? includeEmbeddedVideos;
@override
bool operator ==(Object other) => identical(this, other) || other is DownloadUpdate &&
other.archiveSize == archiveSize;
other.archiveSize == archiveSize &&
other.includeEmbeddedVideos == includeEmbeddedVideos;
@override
int get hashCode =>
// ignore: unnecessary_parenthesis
(archiveSize == null ? 0 : archiveSize!.hashCode);
(archiveSize == null ? 0 : archiveSize!.hashCode) +
(includeEmbeddedVideos == null ? 0 : includeEmbeddedVideos!.hashCode);
@override
String toString() => 'DownloadUpdate[archiveSize=$archiveSize]';
String toString() => 'DownloadUpdate[archiveSize=$archiveSize, includeEmbeddedVideos=$includeEmbeddedVideos]';
Map<String, dynamic> toJson() {
final json = <String, dynamic>{};
@ -44,6 +55,11 @@ class DownloadUpdate {
} else {
// json[r'archiveSize'] = null;
}
if (this.includeEmbeddedVideos != null) {
json[r'includeEmbeddedVideos'] = this.includeEmbeddedVideos;
} else {
// json[r'includeEmbeddedVideos'] = null;
}
return json;
}
@ -56,6 +72,7 @@ class DownloadUpdate {
return DownloadUpdate(
archiveSize: mapValueOfType<int>(json, r'archiveSize'),
includeEmbeddedVideos: mapValueOfType<bool>(json, r'includeEmbeddedVideos'),
);
}
return null;