mirror of
https://github.com/immich-app/immich.git
synced 2025-11-22 10:00:41 +09:00
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Docker / pre-job (push) Waiting to run
Docker / Re-Tag ML () (push) Blocked by required conditions
Docker / Re-Tag ML (-armnn) (push) Blocked by required conditions
Docker / Re-Tag ML (-cuda) (push) Blocked by required conditions
Docker / Re-Tag ML (-openvino) (push) Blocked by required conditions
Docker / Re-Tag ML (-rknn) (push) Blocked by required conditions
Docker / Re-Tag ML (-rocm) (push) Blocked by required conditions
Docker / Re-Tag Server () (push) Blocked by required conditions
Docker / Build and Push ML (armnn, linux/arm64, -armnn) (push) Blocked by required conditions
Docker / Build and Push ML (cpu, ) (push) Blocked by required conditions
Docker / Build and Push ML (cuda, linux/amd64, -cuda) (push) Blocked by required conditions
Docker / Build and Push ML (openvino, linux/amd64, -openvino) (push) Blocked by required conditions
Docker / Build and Push ML (rknn, linux/arm64, -rknn) (push) Blocked by required conditions
Docker / Build and Push ML (rocm, linux/amd64, {"linux/amd64": "mich"}, -rocm) (push) Blocked by required conditions
Docker / Build and Push Server (push) Blocked by required conditions
Docker / Docker Build & Push Server Success (push) Blocked by required conditions
Docker / Docker Build & Push ML Success (push) Blocked by required conditions
Docs build / pre-job (push) Waiting to run
Docs build / Docs Build (push) Blocked by required conditions
Static Code Analysis / pre-job (push) Waiting to run
Static Code Analysis / Run Dart Code Analysis (push) Blocked by required conditions
Static Code Analysis / zizmor (push) Waiting to run
Test / pre-job (push) Waiting to run
Test / Test & Lint Server (push) Blocked by required conditions
Test / Unit Test CLI (push) Blocked by required conditions
Test / Unit Test CLI (Windows) (push) Blocked by required conditions
Test / Lint Web (push) Blocked by required conditions
Test / Test Web (push) Blocked by required conditions
Test / Test i18n (push) Blocked by required conditions
Test / End-to-End Lint (push) Blocked by required conditions
Test / Medium Tests (Server) (push) Blocked by required conditions
Test / End-to-End Tests (Server & CLI) (ubuntu-24.04-arm) (push) Blocked by required conditions
Test / End-to-End Tests (Server & CLI) (ubuntu-latest) (push) Blocked by required conditions
Test / End-to-End Tests (Web) (ubuntu-24.04-arm) (push) Blocked by required conditions
Test / End-to-End Tests (Web) (ubuntu-latest) (push) Blocked by required conditions
Test / End-to-End Tests Success (push) Blocked by required conditions
Test / Unit Test Mobile (push) Blocked by required conditions
Test / Unit Test ML (push) Blocked by required conditions
Test / .github Files Formatting (push) Blocked by required conditions
Test / ShellCheck (push) Waiting to run
Test / OpenAPI Clients (push) Waiting to run
Test / SQL Schema Checks (push) Waiting to run
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
103 lines
2.6 KiB
Dart
103 lines
2.6 KiB
Dart
import 'package:immich_mobile/domain/models/user.model.dart';
|
|
|
|
/// Key for each possible value in the `Store`.
|
|
/// Defines the data type for each value
|
|
enum StoreKey<T> {
|
|
version<int>._(0),
|
|
assetETag<String>._(1),
|
|
currentUser<UserDto>._(2),
|
|
deviceIdHash<int>._(3),
|
|
deviceId<String>._(4),
|
|
backupFailedSince<DateTime>._(5),
|
|
backupRequireWifi<bool>._(6),
|
|
backupRequireCharging<bool>._(7),
|
|
backupTriggerDelay<int>._(8),
|
|
serverUrl<String>._(10),
|
|
accessToken<String>._(11),
|
|
serverEndpoint<String>._(12),
|
|
autoBackup<bool>._(13),
|
|
backgroundBackup<bool>._(14),
|
|
sslClientCertData<String>._(15),
|
|
sslClientPasswd<String>._(16),
|
|
// user settings from [AppSettingsEnum] below:
|
|
loadPreview<bool>._(100),
|
|
loadOriginal<bool>._(101),
|
|
themeMode<String>._(102),
|
|
tilesPerRow<int>._(103),
|
|
dynamicLayout<bool>._(104),
|
|
groupAssetsBy<int>._(105),
|
|
uploadErrorNotificationGracePeriod<int>._(106),
|
|
backgroundBackupTotalProgress<bool>._(107),
|
|
backgroundBackupSingleProgress<bool>._(108),
|
|
storageIndicator<bool>._(109),
|
|
thumbnailCacheSize<int>._(110),
|
|
imageCacheSize<int>._(111),
|
|
albumThumbnailCacheSize<int>._(112),
|
|
selectedAlbumSortOrder<int>._(113),
|
|
advancedTroubleshooting<bool>._(114),
|
|
logLevel<int>._(115),
|
|
preferRemoteImage<bool>._(116),
|
|
loopVideo<bool>._(117),
|
|
// map related settings
|
|
mapShowFavoriteOnly<bool>._(118),
|
|
mapRelativeDate<int>._(119),
|
|
selfSignedCert<bool>._(120),
|
|
mapIncludeArchived<bool>._(121),
|
|
ignoreIcloudAssets<bool>._(122),
|
|
selectedAlbumSortReverse<bool>._(123),
|
|
mapThemeMode<int>._(124),
|
|
mapwithPartners<bool>._(125),
|
|
enableHapticFeedback<bool>._(126),
|
|
customHeaders<String>._(127),
|
|
|
|
// theme settings
|
|
primaryColor<String>._(128),
|
|
dynamicTheme<bool>._(129),
|
|
colorfulInterface<bool>._(130),
|
|
|
|
syncAlbums<bool>._(131),
|
|
|
|
// Auto endpoint switching
|
|
autoEndpointSwitching<bool>._(132),
|
|
preferredWifiName<String>._(133),
|
|
localEndpoint<String>._(134),
|
|
externalEndpointList<String>._(135),
|
|
|
|
// Video settings
|
|
loadOriginalVideo<bool>._(136),
|
|
manageLocalMediaAndroid<bool>._(137),
|
|
|
|
// Experimental stuff
|
|
photoManagerCustomFilter<bool>._(1000);
|
|
|
|
const StoreKey._(this.id);
|
|
final int id;
|
|
Type get type => T;
|
|
}
|
|
|
|
class StoreDto<T> {
|
|
final StoreKey<T> key;
|
|
final T? value;
|
|
|
|
const StoreDto(this.key, this.value);
|
|
|
|
@override
|
|
String toString() {
|
|
return '''
|
|
StoreDto: {
|
|
key: $key,
|
|
value: ${value ?? '<NA>'},
|
|
}''';
|
|
}
|
|
|
|
@override
|
|
bool operator ==(covariant StoreDto<T> other) {
|
|
if (identical(this, other)) return true;
|
|
|
|
return other.key == key && other.value == value;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => key.hashCode ^ value.hashCode;
|
|
}
|