mirror-immich/mobile/lib/infrastructure/entities/trash_sync.entity.dart

25 lines
994 B
Dart

import 'package:drift/drift.dart';
import 'package:immich_mobile/domain/models/trash_sync.model.dart';
import 'package:immich_mobile/infrastructure/entities/trash_sync.entity.drift.dart';
import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart';
@TableIndex(name: 'idx_trash_sync_checksum', columns: {#checksum})
@TableIndex(name: 'idx_trash_sync_status', columns: {#isSyncApproved})
@TableIndex(name: 'idx_trash_sync_checksum_status', columns: {#checksum, #isSyncApproved})
class TrashSyncEntity extends Table with DriftDefaultsMixin {
const TrashSyncEntity();
TextColumn get checksum => text()();
BoolColumn get isSyncApproved => boolean().nullable()();
DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)();
@override
Set<Column> get primaryKey => {checksum};
}
extension LocalAssetEntityDataDomainEx on TrashSyncEntityData {
TrashSyncDecision toDto() => TrashSyncDecision(checksum: checksum, isSyncApproved: isSyncApproved);
}