mirror of
https://github.com/immich-app/immich.git
synced 2026-02-07 11:33:45 -05:00
* use adjustment time in iOS for hash reset # Conflicts: # mobile/lib/infrastructure/repositories/local_album.repository.dart # mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart * migration * feat: sync cloudId and eTag on sync * fixes fixes * more fixes * re-sync updated eTags * add server version check & auto sync cloud ids on compatible servers * fix test * remove button from sync status page * chore: modify for testing * more changes * chore: add commas in toString * use cached provider in splash screen * read upload service provider to prevent reset * log errors from fetching cloud id mapping * WIP: migrate cloud id - debug log * ignore locked asset update * bulk update metadata * change log text --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com>
52 lines
1.7 KiB
Dart
52 lines
1.7 KiB
Dart
import 'package:drift/drift.dart';
|
|
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
|
import 'package:immich_mobile/infrastructure/entities/local_asset.entity.drift.dart';
|
|
import 'package:immich_mobile/infrastructure/utils/asset.mixin.dart';
|
|
import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart';
|
|
|
|
@TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_local_asset_checksum ON local_asset_entity (checksum)')
|
|
@TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_local_asset_cloud_id ON local_asset_entity (i_cloud_id)')
|
|
class LocalAssetEntity extends Table with DriftDefaultsMixin, AssetEntityMixin {
|
|
const LocalAssetEntity();
|
|
|
|
TextColumn get id => text()();
|
|
TextColumn get checksum => text().nullable()();
|
|
|
|
// Only used during backup to mirror the favorite status of the asset in the server
|
|
BoolColumn get isFavorite => boolean().withDefault(const Constant(false))();
|
|
|
|
IntColumn get orientation => integer().withDefault(const Constant(0))();
|
|
|
|
TextColumn get iCloudId => text().nullable()();
|
|
|
|
DateTimeColumn get adjustmentTime => dateTime().nullable()();
|
|
|
|
RealColumn get latitude => real().nullable()();
|
|
|
|
RealColumn get longitude => real().nullable()();
|
|
|
|
@override
|
|
Set<Column> get primaryKey => {id};
|
|
}
|
|
|
|
extension LocalAssetEntityDataDomainExtension on LocalAssetEntityData {
|
|
LocalAsset toDto({String? remoteId}) => LocalAsset(
|
|
id: id,
|
|
name: name,
|
|
checksum: checksum,
|
|
type: type,
|
|
createdAt: createdAt,
|
|
updatedAt: updatedAt,
|
|
durationInSeconds: durationInSeconds,
|
|
isFavorite: isFavorite,
|
|
height: height,
|
|
width: width,
|
|
remoteId: remoteId,
|
|
orientation: orientation,
|
|
adjustmentTime: adjustmentTime,
|
|
latitude: latitude,
|
|
longitude: longitude,
|
|
cloudId: iCloudId,
|
|
);
|
|
}
|