mirror of
https://github.com/immich-app/immich.git
synced 2025-12-11 23:56:03 -05:00
add generated cloudID column with index
This commit is contained in:
parent
867f4fc53a
commit
d02d3b5472
@ -1,8 +1,12 @@
|
|||||||
import 'package:drift/drift.dart';
|
import 'package:drift/drift.dart';
|
||||||
|
import 'package:drift/extensions/json1.dart';
|
||||||
import 'package:immich_mobile/domain/models/asset/asset_metadata.model.dart';
|
import 'package:immich_mobile/domain/models/asset/asset_metadata.model.dart';
|
||||||
import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart';
|
import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart';
|
||||||
import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart';
|
import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart';
|
||||||
|
|
||||||
|
@TableIndex.sql('''
|
||||||
|
CREATE UNIQUE INDEX IF NOT EXISTS UQ_remote_asset_metadata_cloud_id ON remote_asset_metadata_entity (cloud_id) WHERE ("key" = 'mobile-app');
|
||||||
|
''')
|
||||||
class RemoteAssetMetadataEntity extends Table with DriftDefaultsMixin {
|
class RemoteAssetMetadataEntity extends Table with DriftDefaultsMixin {
|
||||||
const RemoteAssetMetadataEntity();
|
const RemoteAssetMetadataEntity();
|
||||||
|
|
||||||
@ -10,6 +14,8 @@ class RemoteAssetMetadataEntity extends Table with DriftDefaultsMixin {
|
|||||||
|
|
||||||
TextColumn get key => text().map(const RemoteAssetMetadataKeyConverter())();
|
TextColumn get key => text().map(const RemoteAssetMetadataKeyConverter())();
|
||||||
|
|
||||||
|
TextColumn get cloudId => text().generatedAs(key.jsonExtract(r'$.iCloudId'), stored: true)();
|
||||||
|
|
||||||
BlobColumn get value => blob().map(assetMetadataConverter)();
|
BlobColumn get value => blob().map(assetMetadataConverter)();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@ -8,9 +8,10 @@ import 'package:immich_mobile/domain/models/asset/asset_metadata.model.dart'
|
|||||||
import 'dart:typed_data' as i3;
|
import 'dart:typed_data' as i3;
|
||||||
import 'package:immich_mobile/infrastructure/entities/remote_asset_metadata.entity.dart'
|
import 'package:immich_mobile/infrastructure/entities/remote_asset_metadata.entity.dart'
|
||||||
as i4;
|
as i4;
|
||||||
|
import 'package:drift/extensions/json1.dart' as i5;
|
||||||
import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'
|
import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'
|
||||||
as i5;
|
as i6;
|
||||||
import 'package:drift/internal/modular.dart' as i6;
|
import 'package:drift/internal/modular.dart' as i7;
|
||||||
|
|
||||||
typedef $$RemoteAssetMetadataEntityTableCreateCompanionBuilder =
|
typedef $$RemoteAssetMetadataEntityTableCreateCompanionBuilder =
|
||||||
i1.RemoteAssetMetadataEntityCompanion Function({
|
i1.RemoteAssetMetadataEntityCompanion Function({
|
||||||
@ -38,31 +39,31 @@ final class $$RemoteAssetMetadataEntityTableReferences
|
|||||||
super.$_typedResult,
|
super.$_typedResult,
|
||||||
);
|
);
|
||||||
|
|
||||||
static i5.$RemoteAssetEntityTable _assetIdTable(i0.GeneratedDatabase db) =>
|
static i6.$RemoteAssetEntityTable _assetIdTable(i0.GeneratedDatabase db) =>
|
||||||
i6.ReadDatabaseContainer(db)
|
i7.ReadDatabaseContainer(db)
|
||||||
.resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity')
|
.resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity')
|
||||||
.createAlias(
|
.createAlias(
|
||||||
i0.$_aliasNameGenerator(
|
i0.$_aliasNameGenerator(
|
||||||
i6.ReadDatabaseContainer(db)
|
i7.ReadDatabaseContainer(db)
|
||||||
.resultSet<i1.$RemoteAssetMetadataEntityTable>(
|
.resultSet<i1.$RemoteAssetMetadataEntityTable>(
|
||||||
'remote_asset_metadata_entity',
|
'remote_asset_metadata_entity',
|
||||||
)
|
)
|
||||||
.assetId,
|
.assetId,
|
||||||
i6.ReadDatabaseContainer(
|
i7.ReadDatabaseContainer(
|
||||||
db,
|
db,
|
||||||
).resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity').id,
|
).resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity').id,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
i5.$$RemoteAssetEntityTableProcessedTableManager get assetId {
|
i6.$$RemoteAssetEntityTableProcessedTableManager get assetId {
|
||||||
final $_column = $_itemColumn<String>('asset_id')!;
|
final $_column = $_itemColumn<String>('asset_id')!;
|
||||||
|
|
||||||
final manager = i5
|
final manager = i6
|
||||||
.$$RemoteAssetEntityTableTableManager(
|
.$$RemoteAssetEntityTableTableManager(
|
||||||
$_db,
|
$_db,
|
||||||
i6.ReadDatabaseContainer(
|
i7.ReadDatabaseContainer(
|
||||||
$_db,
|
$_db,
|
||||||
).resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity'),
|
).resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity'),
|
||||||
)
|
)
|
||||||
.filter((f) => f.id.sqlEquals($_column));
|
.filter((f) => f.id.sqlEquals($_column));
|
||||||
final item = $_typedResult.readTableOrNull(_assetIdTable($_db));
|
final item = $_typedResult.readTableOrNull(_assetIdTable($_db));
|
||||||
@ -93,6 +94,11 @@ class $$RemoteAssetMetadataEntityTableFilterComposer
|
|||||||
builder: (column) => i0.ColumnWithTypeConverterFilters(column),
|
builder: (column) => i0.ColumnWithTypeConverterFilters(column),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
i0.ColumnFilters<String> get cloudId => $composableBuilder(
|
||||||
|
column: $table.cloudId,
|
||||||
|
builder: (column) => i0.ColumnFilters(column),
|
||||||
|
);
|
||||||
|
|
||||||
i0.ColumnWithTypeConverterFilters<
|
i0.ColumnWithTypeConverterFilters<
|
||||||
Map<String, Object?>,
|
Map<String, Object?>,
|
||||||
Map<String, Object>,
|
Map<String, Object>,
|
||||||
@ -103,24 +109,24 @@ class $$RemoteAssetMetadataEntityTableFilterComposer
|
|||||||
builder: (column) => i0.ColumnWithTypeConverterFilters(column),
|
builder: (column) => i0.ColumnWithTypeConverterFilters(column),
|
||||||
);
|
);
|
||||||
|
|
||||||
i5.$$RemoteAssetEntityTableFilterComposer get assetId {
|
i6.$$RemoteAssetEntityTableFilterComposer get assetId {
|
||||||
final i5.$$RemoteAssetEntityTableFilterComposer composer = $composerBuilder(
|
final i6.$$RemoteAssetEntityTableFilterComposer composer = $composerBuilder(
|
||||||
composer: this,
|
composer: this,
|
||||||
getCurrentColumn: (t) => t.assetId,
|
getCurrentColumn: (t) => t.assetId,
|
||||||
referencedTable: i6.ReadDatabaseContainer(
|
referencedTable: i7.ReadDatabaseContainer(
|
||||||
$db,
|
$db,
|
||||||
).resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity'),
|
).resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity'),
|
||||||
getReferencedColumn: (t) => t.id,
|
getReferencedColumn: (t) => t.id,
|
||||||
builder:
|
builder:
|
||||||
(
|
(
|
||||||
joinBuilder, {
|
joinBuilder, {
|
||||||
$addJoinBuilderToRootComposer,
|
$addJoinBuilderToRootComposer,
|
||||||
$removeJoinBuilderFromRootComposer,
|
$removeJoinBuilderFromRootComposer,
|
||||||
}) => i5.$$RemoteAssetEntityTableFilterComposer(
|
}) => i6.$$RemoteAssetEntityTableFilterComposer(
|
||||||
$db: $db,
|
$db: $db,
|
||||||
$table: i6.ReadDatabaseContainer(
|
$table: i7.ReadDatabaseContainer(
|
||||||
$db,
|
$db,
|
||||||
).resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity'),
|
).resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity'),
|
||||||
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
|
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
|
||||||
joinBuilder: joinBuilder,
|
joinBuilder: joinBuilder,
|
||||||
$removeJoinBuilderFromRootComposer:
|
$removeJoinBuilderFromRootComposer:
|
||||||
@ -146,30 +152,35 @@ class $$RemoteAssetMetadataEntityTableOrderingComposer
|
|||||||
builder: (column) => i0.ColumnOrderings(column),
|
builder: (column) => i0.ColumnOrderings(column),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
i0.ColumnOrderings<String> get cloudId => $composableBuilder(
|
||||||
|
column: $table.cloudId,
|
||||||
|
builder: (column) => i0.ColumnOrderings(column),
|
||||||
|
);
|
||||||
|
|
||||||
i0.ColumnOrderings<i3.Uint8List> get value => $composableBuilder(
|
i0.ColumnOrderings<i3.Uint8List> get value => $composableBuilder(
|
||||||
column: $table.value,
|
column: $table.value,
|
||||||
builder: (column) => i0.ColumnOrderings(column),
|
builder: (column) => i0.ColumnOrderings(column),
|
||||||
);
|
);
|
||||||
|
|
||||||
i5.$$RemoteAssetEntityTableOrderingComposer get assetId {
|
i6.$$RemoteAssetEntityTableOrderingComposer get assetId {
|
||||||
final i5.$$RemoteAssetEntityTableOrderingComposer composer =
|
final i6.$$RemoteAssetEntityTableOrderingComposer composer =
|
||||||
$composerBuilder(
|
$composerBuilder(
|
||||||
composer: this,
|
composer: this,
|
||||||
getCurrentColumn: (t) => t.assetId,
|
getCurrentColumn: (t) => t.assetId,
|
||||||
referencedTable: i6.ReadDatabaseContainer(
|
referencedTable: i7.ReadDatabaseContainer(
|
||||||
$db,
|
$db,
|
||||||
).resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity'),
|
).resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity'),
|
||||||
getReferencedColumn: (t) => t.id,
|
getReferencedColumn: (t) => t.id,
|
||||||
builder:
|
builder:
|
||||||
(
|
(
|
||||||
joinBuilder, {
|
joinBuilder, {
|
||||||
$addJoinBuilderToRootComposer,
|
$addJoinBuilderToRootComposer,
|
||||||
$removeJoinBuilderFromRootComposer,
|
$removeJoinBuilderFromRootComposer,
|
||||||
}) => i5.$$RemoteAssetEntityTableOrderingComposer(
|
}) => i6.$$RemoteAssetEntityTableOrderingComposer(
|
||||||
$db: $db,
|
$db: $db,
|
||||||
$table: i6.ReadDatabaseContainer(
|
$table: i7.ReadDatabaseContainer(
|
||||||
$db,
|
$db,
|
||||||
).resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity'),
|
).resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity'),
|
||||||
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
|
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
|
||||||
joinBuilder: joinBuilder,
|
joinBuilder: joinBuilder,
|
||||||
$removeJoinBuilderFromRootComposer:
|
$removeJoinBuilderFromRootComposer:
|
||||||
@ -194,29 +205,32 @@ class $$RemoteAssetMetadataEntityTableAnnotationComposer
|
|||||||
get key =>
|
get key =>
|
||||||
$composableBuilder(column: $table.key, builder: (column) => column);
|
$composableBuilder(column: $table.key, builder: (column) => column);
|
||||||
|
|
||||||
|
i0.GeneratedColumn<String> get cloudId =>
|
||||||
|
$composableBuilder(column: $table.cloudId, builder: (column) => column);
|
||||||
|
|
||||||
i0.GeneratedColumnWithTypeConverter<Map<String, Object?>, i3.Uint8List>
|
i0.GeneratedColumnWithTypeConverter<Map<String, Object?>, i3.Uint8List>
|
||||||
get value =>
|
get value =>
|
||||||
$composableBuilder(column: $table.value, builder: (column) => column);
|
$composableBuilder(column: $table.value, builder: (column) => column);
|
||||||
|
|
||||||
i5.$$RemoteAssetEntityTableAnnotationComposer get assetId {
|
i6.$$RemoteAssetEntityTableAnnotationComposer get assetId {
|
||||||
final i5.$$RemoteAssetEntityTableAnnotationComposer composer =
|
final i6.$$RemoteAssetEntityTableAnnotationComposer composer =
|
||||||
$composerBuilder(
|
$composerBuilder(
|
||||||
composer: this,
|
composer: this,
|
||||||
getCurrentColumn: (t) => t.assetId,
|
getCurrentColumn: (t) => t.assetId,
|
||||||
referencedTable: i6.ReadDatabaseContainer(
|
referencedTable: i7.ReadDatabaseContainer(
|
||||||
$db,
|
$db,
|
||||||
).resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity'),
|
).resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity'),
|
||||||
getReferencedColumn: (t) => t.id,
|
getReferencedColumn: (t) => t.id,
|
||||||
builder:
|
builder:
|
||||||
(
|
(
|
||||||
joinBuilder, {
|
joinBuilder, {
|
||||||
$addJoinBuilderToRootComposer,
|
$addJoinBuilderToRootComposer,
|
||||||
$removeJoinBuilderFromRootComposer,
|
$removeJoinBuilderFromRootComposer,
|
||||||
}) => i5.$$RemoteAssetEntityTableAnnotationComposer(
|
}) => i6.$$RemoteAssetEntityTableAnnotationComposer(
|
||||||
$db: $db,
|
$db: $db,
|
||||||
$table: i6.ReadDatabaseContainer(
|
$table: i7.ReadDatabaseContainer(
|
||||||
$db,
|
$db,
|
||||||
).resultSet<i5.$RemoteAssetEntityTable>('remote_asset_entity'),
|
).resultSet<i6.$RemoteAssetEntityTable>('remote_asset_entity'),
|
||||||
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
|
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
|
||||||
joinBuilder: joinBuilder,
|
joinBuilder: joinBuilder,
|
||||||
$removeJoinBuilderFromRootComposer:
|
$removeJoinBuilderFromRootComposer:
|
||||||
@ -360,6 +374,10 @@ typedef $$RemoteAssetMetadataEntityTableProcessedTableManager =
|
|||||||
i1.RemoteAssetMetadataEntityData,
|
i1.RemoteAssetMetadataEntityData,
|
||||||
i0.PrefetchHooks Function({bool assetId})
|
i0.PrefetchHooks Function({bool assetId})
|
||||||
>;
|
>;
|
||||||
|
i0.Index get uQRemoteAssetMetadataCloudId => i0.Index(
|
||||||
|
'UQ_remote_asset_metadata_cloud_id',
|
||||||
|
'CREATE UNIQUE INDEX IF NOT EXISTS UQ_remote_asset_metadata_cloud_id ON remote_asset_metadata_entity (cloud_id) WHERE("key" = \'mobile-app\')',
|
||||||
|
);
|
||||||
|
|
||||||
class $RemoteAssetMetadataEntityTable extends i4.RemoteAssetMetadataEntity
|
class $RemoteAssetMetadataEntityTable extends i4.RemoteAssetMetadataEntity
|
||||||
with
|
with
|
||||||
@ -400,6 +418,21 @@ class $RemoteAssetMetadataEntityTable extends i4.RemoteAssetMetadataEntity
|
|||||||
).withConverter<i2.RemoteAssetMetadataKey>(
|
).withConverter<i2.RemoteAssetMetadataKey>(
|
||||||
i1.$RemoteAssetMetadataEntityTable.$converterkey,
|
i1.$RemoteAssetMetadataEntityTable.$converterkey,
|
||||||
);
|
);
|
||||||
|
static const i0.VerificationMeta _cloudIdMeta = const i0.VerificationMeta(
|
||||||
|
'cloudId',
|
||||||
|
);
|
||||||
|
@override
|
||||||
|
late final i0.GeneratedColumn<String> cloudId = i0.GeneratedColumn<String>(
|
||||||
|
'cloud_id',
|
||||||
|
aliasedName,
|
||||||
|
false,
|
||||||
|
generatedAs: i0.GeneratedAs(
|
||||||
|
i5.JsonExtensions(key).jsonExtract(r'$.iCloudId'),
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
type: i0.DriftSqlType.string,
|
||||||
|
requiredDuringInsert: false,
|
||||||
|
);
|
||||||
@override
|
@override
|
||||||
late final i0.GeneratedColumnWithTypeConverter<
|
late final i0.GeneratedColumnWithTypeConverter<
|
||||||
Map<String, Object?>,
|
Map<String, Object?>,
|
||||||
@ -416,7 +449,7 @@ class $RemoteAssetMetadataEntityTable extends i4.RemoteAssetMetadataEntity
|
|||||||
i1.$RemoteAssetMetadataEntityTable.$convertervalue,
|
i1.$RemoteAssetMetadataEntityTable.$convertervalue,
|
||||||
);
|
);
|
||||||
@override
|
@override
|
||||||
List<i0.GeneratedColumn> get $columns => [assetId, key, value];
|
List<i0.GeneratedColumn> get $columns => [assetId, key, cloudId, value];
|
||||||
@override
|
@override
|
||||||
String get aliasedName => _alias ?? actualTableName;
|
String get aliasedName => _alias ?? actualTableName;
|
||||||
@override
|
@override
|
||||||
@ -437,6 +470,12 @@ class $RemoteAssetMetadataEntityTable extends i4.RemoteAssetMetadataEntity
|
|||||||
} else if (isInserting) {
|
} else if (isInserting) {
|
||||||
context.missing(_assetIdMeta);
|
context.missing(_assetIdMeta);
|
||||||
}
|
}
|
||||||
|
if (data.containsKey('cloud_id')) {
|
||||||
|
context.handle(
|
||||||
|
_cloudIdMeta,
|
||||||
|
cloudId.isAcceptableOrUnknown(data['cloud_id']!, _cloudIdMeta),
|
||||||
|
);
|
||||||
|
}
|
||||||
return context;
|
return context;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -459,6 +498,10 @@ class $RemoteAssetMetadataEntityTable extends i4.RemoteAssetMetadataEntity
|
|||||||
data['${effectivePrefix}key'],
|
data['${effectivePrefix}key'],
|
||||||
)!,
|
)!,
|
||||||
),
|
),
|
||||||
|
cloudId: attachedDatabase.typeMapping.read(
|
||||||
|
i0.DriftSqlType.string,
|
||||||
|
data['${effectivePrefix}cloud_id'],
|
||||||
|
)!,
|
||||||
value: i1.$RemoteAssetMetadataEntityTable.$convertervalue.fromSql(
|
value: i1.$RemoteAssetMetadataEntityTable.$convertervalue.fromSql(
|
||||||
attachedDatabase.typeMapping.read(
|
attachedDatabase.typeMapping.read(
|
||||||
i0.DriftSqlType.blob,
|
i0.DriftSqlType.blob,
|
||||||
@ -487,10 +530,12 @@ class RemoteAssetMetadataEntityData extends i0.DataClass
|
|||||||
implements i0.Insertable<i1.RemoteAssetMetadataEntityData> {
|
implements i0.Insertable<i1.RemoteAssetMetadataEntityData> {
|
||||||
final String assetId;
|
final String assetId;
|
||||||
final i2.RemoteAssetMetadataKey key;
|
final i2.RemoteAssetMetadataKey key;
|
||||||
|
final String cloudId;
|
||||||
final Map<String, Object?> value;
|
final Map<String, Object?> value;
|
||||||
const RemoteAssetMetadataEntityData({
|
const RemoteAssetMetadataEntityData({
|
||||||
required this.assetId,
|
required this.assetId,
|
||||||
required this.key,
|
required this.key,
|
||||||
|
required this.cloudId,
|
||||||
required this.value,
|
required this.value,
|
||||||
});
|
});
|
||||||
@override
|
@override
|
||||||
@ -518,6 +563,7 @@ class RemoteAssetMetadataEntityData extends i0.DataClass
|
|||||||
return RemoteAssetMetadataEntityData(
|
return RemoteAssetMetadataEntityData(
|
||||||
assetId: serializer.fromJson<String>(json['assetId']),
|
assetId: serializer.fromJson<String>(json['assetId']),
|
||||||
key: serializer.fromJson<i2.RemoteAssetMetadataKey>(json['key']),
|
key: serializer.fromJson<i2.RemoteAssetMetadataKey>(json['key']),
|
||||||
|
cloudId: serializer.fromJson<String>(json['cloudId']),
|
||||||
value: i1.$RemoteAssetMetadataEntityTable.$convertervalue.fromJson(
|
value: i1.$RemoteAssetMetadataEntityTable.$convertervalue.fromJson(
|
||||||
serializer.fromJson<Object?>(json['value']),
|
serializer.fromJson<Object?>(json['value']),
|
||||||
),
|
),
|
||||||
@ -529,6 +575,7 @@ class RemoteAssetMetadataEntityData extends i0.DataClass
|
|||||||
return <String, dynamic>{
|
return <String, dynamic>{
|
||||||
'assetId': serializer.toJson<String>(assetId),
|
'assetId': serializer.toJson<String>(assetId),
|
||||||
'key': serializer.toJson<i2.RemoteAssetMetadataKey>(key),
|
'key': serializer.toJson<i2.RemoteAssetMetadataKey>(key),
|
||||||
|
'cloudId': serializer.toJson<String>(cloudId),
|
||||||
'value': serializer.toJson<Object?>(
|
'value': serializer.toJson<Object?>(
|
||||||
i1.$RemoteAssetMetadataEntityTable.$convertervalue.toJson(value),
|
i1.$RemoteAssetMetadataEntityTable.$convertervalue.toJson(value),
|
||||||
),
|
),
|
||||||
@ -538,40 +585,34 @@ class RemoteAssetMetadataEntityData extends i0.DataClass
|
|||||||
i1.RemoteAssetMetadataEntityData copyWith({
|
i1.RemoteAssetMetadataEntityData copyWith({
|
||||||
String? assetId,
|
String? assetId,
|
||||||
i2.RemoteAssetMetadataKey? key,
|
i2.RemoteAssetMetadataKey? key,
|
||||||
|
String? cloudId,
|
||||||
Map<String, Object?>? value,
|
Map<String, Object?>? value,
|
||||||
}) => i1.RemoteAssetMetadataEntityData(
|
}) => i1.RemoteAssetMetadataEntityData(
|
||||||
assetId: assetId ?? this.assetId,
|
assetId: assetId ?? this.assetId,
|
||||||
key: key ?? this.key,
|
key: key ?? this.key,
|
||||||
|
cloudId: cloudId ?? this.cloudId,
|
||||||
value: value ?? this.value,
|
value: value ?? this.value,
|
||||||
);
|
);
|
||||||
RemoteAssetMetadataEntityData copyWithCompanion(
|
|
||||||
i1.RemoteAssetMetadataEntityCompanion data,
|
|
||||||
) {
|
|
||||||
return RemoteAssetMetadataEntityData(
|
|
||||||
assetId: data.assetId.present ? data.assetId.value : this.assetId,
|
|
||||||
key: data.key.present ? data.key.value : this.key,
|
|
||||||
value: data.value.present ? data.value.value : this.value,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return (StringBuffer('RemoteAssetMetadataEntityData(')
|
return (StringBuffer('RemoteAssetMetadataEntityData(')
|
||||||
..write('assetId: $assetId, ')
|
..write('assetId: $assetId, ')
|
||||||
..write('key: $key, ')
|
..write('key: $key, ')
|
||||||
|
..write('cloudId: $cloudId, ')
|
||||||
..write('value: $value')
|
..write('value: $value')
|
||||||
..write(')'))
|
..write(')'))
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => Object.hash(assetId, key, value);
|
int get hashCode => Object.hash(assetId, key, cloudId, value);
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) =>
|
bool operator ==(Object other) =>
|
||||||
identical(this, other) ||
|
identical(this, other) ||
|
||||||
(other is i1.RemoteAssetMetadataEntityData &&
|
(other is i1.RemoteAssetMetadataEntityData &&
|
||||||
other.assetId == this.assetId &&
|
other.assetId == this.assetId &&
|
||||||
other.key == this.key &&
|
other.key == this.key &&
|
||||||
|
other.cloudId == this.cloudId &&
|
||||||
other.value == this.value);
|
other.value == this.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -131,6 +131,7 @@ class Drift extends $Drift implements IDatabaseRepository {
|
|||||||
await m.createIndex(v9.idxLocalAssetCloudId);
|
await m.createIndex(v9.idxLocalAssetCloudId);
|
||||||
// Create new table
|
// Create new table
|
||||||
await m.createTable(v9.remoteAssetMetadataEntity);
|
await m.createTable(v9.remoteAssetMetadataEntity);
|
||||||
|
await m.createIndex(v9.uQRemoteAssetMetadataCloudId);
|
||||||
},
|
},
|
||||||
from8To9: (m, v9) async {
|
from8To9: (m, v9) async {
|
||||||
await m.addColumn(v9.localAlbumEntity, v9.localAlbumEntity.linkedRemoteAlbumId);
|
await m.addColumn(v9.localAlbumEntity, v9.localAlbumEntity.linkedRemoteAlbumId);
|
||||||
|
|||||||
@ -72,7 +72,7 @@ Future<void> migrateDatabaseIfNeeded(Isar db, Drift drift) async {
|
|||||||
|
|
||||||
if (version < 15) {
|
if (version < 15) {
|
||||||
try {
|
try {
|
||||||
await _updateCloudId(drift);
|
await updateCloudId(drift);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
Logger("Migration").warning("Error occurred while updating cloud ID: $error");
|
Logger("Migration").warning("Error occurred while updating cloud ID: $error");
|
||||||
// do not update version when error occurs so this is retried the next time
|
// do not update version when error occurs so this is retried the next time
|
||||||
@ -189,7 +189,7 @@ Future<void> migrateDeviceAssetToSqlite(Isar db, Drift drift) async {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _updateCloudId(Drift drift) async {
|
Future<void> updateCloudId(Drift drift) async {
|
||||||
// Android do not have a concept of cloud IDs
|
// Android do not have a concept of cloud IDs
|
||||||
if (Platform.isAndroid) {
|
if (Platform.isAndroid) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user