// dart format width=80 // ignore_for_file: type=lint import 'package:drift/drift.dart' as i0; import 'package:immich_mobile/infrastructure/entities/remote_asset_metadata.entity.drift.dart' as i1; import 'dart:typed_data' as i2; import 'package:immich_mobile/infrastructure/entities/remote_asset_metadata.entity.dart' as i3; import 'package:drift/extensions/json1.dart' as i4; import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart' as i5; import 'package:drift/internal/modular.dart' as i6; typedef $$RemoteAssetMetadataEntityTableCreateCompanionBuilder = i1.RemoteAssetMetadataEntityCompanion Function({ required String assetId, required String key, required Map value, }); typedef $$RemoteAssetMetadataEntityTableUpdateCompanionBuilder = i1.RemoteAssetMetadataEntityCompanion Function({ i0.Value assetId, i0.Value key, i0.Value> value, }); final class $$RemoteAssetMetadataEntityTableReferences extends i0.BaseReferences< i0.GeneratedDatabase, i1.$RemoteAssetMetadataEntityTable, i1.RemoteAssetMetadataEntityData > { $$RemoteAssetMetadataEntityTableReferences( super.$_db, super.$_table, super.$_typedResult, ); static i5.$RemoteAssetEntityTable _assetIdTable(i0.GeneratedDatabase db) => i6.ReadDatabaseContainer(db) .resultSet('remote_asset_entity') .createAlias( i0.$_aliasNameGenerator( i6.ReadDatabaseContainer(db) .resultSet( 'remote_asset_metadata_entity', ) .assetId, i6.ReadDatabaseContainer( db, ).resultSet('remote_asset_entity').id, ), ); i5.$$RemoteAssetEntityTableProcessedTableManager get assetId { final $_column = $_itemColumn('asset_id')!; final manager = i5 .$$RemoteAssetEntityTableTableManager( $_db, i6.ReadDatabaseContainer( $_db, ).resultSet('remote_asset_entity'), ) .filter((f) => f.id.sqlEquals($_column)); final item = $_typedResult.readTableOrNull(_assetIdTable($_db)); if (item == null) return manager; return i0.ProcessedTableManager( manager.$state.copyWith(prefetchedData: [item]), ); } } class $$RemoteAssetMetadataEntityTableFilterComposer extends i0.Composer { $$RemoteAssetMetadataEntityTableFilterComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); i0.ColumnFilters get key => $composableBuilder( column: $table.key, builder: (column) => i0.ColumnFilters(column), ); i0.ColumnWithTypeConverterFilters< Map, Map, i2.Uint8List > get value => $composableBuilder( column: $table.value, builder: (column) => i0.ColumnWithTypeConverterFilters(column), ); i0.ColumnFilters get cloudId => $composableBuilder( column: $table.cloudId, builder: (column) => i0.ColumnFilters(column), ); i5.$$RemoteAssetEntityTableFilterComposer get assetId { final i5.$$RemoteAssetEntityTableFilterComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.assetId, referencedTable: i6.ReadDatabaseContainer( $db, ).resultSet('remote_asset_entity'), getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => i5.$$RemoteAssetEntityTableFilterComposer( $db: $db, $table: i6.ReadDatabaseContainer( $db, ).resultSet('remote_asset_entity'), $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } } class $$RemoteAssetMetadataEntityTableOrderingComposer extends i0.Composer { $$RemoteAssetMetadataEntityTableOrderingComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); i0.ColumnOrderings get key => $composableBuilder( column: $table.key, builder: (column) => i0.ColumnOrderings(column), ); i0.ColumnOrderings get value => $composableBuilder( column: $table.value, builder: (column) => i0.ColumnOrderings(column), ); i0.ColumnOrderings get cloudId => $composableBuilder( column: $table.cloudId, builder: (column) => i0.ColumnOrderings(column), ); i5.$$RemoteAssetEntityTableOrderingComposer get assetId { final i5.$$RemoteAssetEntityTableOrderingComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.assetId, referencedTable: i6.ReadDatabaseContainer( $db, ).resultSet('remote_asset_entity'), getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => i5.$$RemoteAssetEntityTableOrderingComposer( $db: $db, $table: i6.ReadDatabaseContainer( $db, ).resultSet('remote_asset_entity'), $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } } class $$RemoteAssetMetadataEntityTableAnnotationComposer extends i0.Composer { $$RemoteAssetMetadataEntityTableAnnotationComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); i0.GeneratedColumn get key => $composableBuilder(column: $table.key, builder: (column) => column); i0.GeneratedColumnWithTypeConverter, i2.Uint8List> get value => $composableBuilder(column: $table.value, builder: (column) => column); i0.GeneratedColumn get cloudId => $composableBuilder(column: $table.cloudId, builder: (column) => column); i5.$$RemoteAssetEntityTableAnnotationComposer get assetId { final i5.$$RemoteAssetEntityTableAnnotationComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.assetId, referencedTable: i6.ReadDatabaseContainer( $db, ).resultSet('remote_asset_entity'), getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => i5.$$RemoteAssetEntityTableAnnotationComposer( $db: $db, $table: i6.ReadDatabaseContainer( $db, ).resultSet('remote_asset_entity'), $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } } class $$RemoteAssetMetadataEntityTableTableManager extends i0.RootTableManager< i0.GeneratedDatabase, i1.$RemoteAssetMetadataEntityTable, i1.RemoteAssetMetadataEntityData, i1.$$RemoteAssetMetadataEntityTableFilterComposer, i1.$$RemoteAssetMetadataEntityTableOrderingComposer, i1.$$RemoteAssetMetadataEntityTableAnnotationComposer, $$RemoteAssetMetadataEntityTableCreateCompanionBuilder, $$RemoteAssetMetadataEntityTableUpdateCompanionBuilder, ( i1.RemoteAssetMetadataEntityData, i1.$$RemoteAssetMetadataEntityTableReferences, ), i1.RemoteAssetMetadataEntityData, i0.PrefetchHooks Function({bool assetId}) > { $$RemoteAssetMetadataEntityTableTableManager( i0.GeneratedDatabase db, i1.$RemoteAssetMetadataEntityTable table, ) : super( i0.TableManagerState( db: db, table: table, createFilteringComposer: () => i1.$$RemoteAssetMetadataEntityTableFilterComposer( $db: db, $table: table, ), createOrderingComposer: () => i1.$$RemoteAssetMetadataEntityTableOrderingComposer( $db: db, $table: table, ), createComputedFieldComposer: () => i1.$$RemoteAssetMetadataEntityTableAnnotationComposer( $db: db, $table: table, ), updateCompanionCallback: ({ i0.Value assetId = const i0.Value.absent(), i0.Value key = const i0.Value.absent(), i0.Value> value = const i0.Value.absent(), }) => i1.RemoteAssetMetadataEntityCompanion( assetId: assetId, key: key, value: value, ), createCompanionCallback: ({ required String assetId, required String key, required Map value, }) => i1.RemoteAssetMetadataEntityCompanion.insert( assetId: assetId, key: key, value: value, ), withReferenceMapper: (p0) => p0 .map( (e) => ( e.readTable(table), i1.$$RemoteAssetMetadataEntityTableReferences(db, table, e), ), ) .toList(), prefetchHooksCallback: ({assetId = false}) { return i0.PrefetchHooks( db: db, explicitlyWatchedTables: [], addJoins: < T extends i0.TableManagerState< dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic > >(state) { if (assetId) { state = state.withJoin( currentTable: table, currentColumn: table.assetId, referencedTable: i1 .$$RemoteAssetMetadataEntityTableReferences ._assetIdTable(db), referencedColumn: i1 .$$RemoteAssetMetadataEntityTableReferences ._assetIdTable(db) .id, ) as T; } return state; }, getPrefetchedDataCallback: (items) async { return []; }, ); }, ), ); } typedef $$RemoteAssetMetadataEntityTableProcessedTableManager = i0.ProcessedTableManager< i0.GeneratedDatabase, i1.$RemoteAssetMetadataEntityTable, i1.RemoteAssetMetadataEntityData, i1.$$RemoteAssetMetadataEntityTableFilterComposer, i1.$$RemoteAssetMetadataEntityTableOrderingComposer, i1.$$RemoteAssetMetadataEntityTableAnnotationComposer, $$RemoteAssetMetadataEntityTableCreateCompanionBuilder, $$RemoteAssetMetadataEntityTableUpdateCompanionBuilder, ( i1.RemoteAssetMetadataEntityData, i1.$$RemoteAssetMetadataEntityTableReferences, ), i1.RemoteAssetMetadataEntityData, 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 i3.RemoteAssetMetadataEntity with i0.TableInfo< $RemoteAssetMetadataEntityTable, i1.RemoteAssetMetadataEntityData > { @override final i0.GeneratedDatabase attachedDatabase; final String? _alias; $RemoteAssetMetadataEntityTable(this.attachedDatabase, [this._alias]); static const i0.VerificationMeta _assetIdMeta = const i0.VerificationMeta( 'assetId', ); @override late final i0.GeneratedColumn assetId = i0.GeneratedColumn( 'asset_id', aliasedName, false, type: i0.DriftSqlType.string, requiredDuringInsert: true, defaultConstraints: i0.GeneratedColumn.constraintIsAlways( 'REFERENCES remote_asset_entity (id) ON DELETE CASCADE', ), ); static const i0.VerificationMeta _keyMeta = const i0.VerificationMeta('key'); @override late final i0.GeneratedColumn key = i0.GeneratedColumn( 'key', aliasedName, false, type: i0.DriftSqlType.string, requiredDuringInsert: true, ); @override late final i0.GeneratedColumnWithTypeConverter< Map, i2.Uint8List > value = i0.GeneratedColumn( 'value', aliasedName, false, type: i0.DriftSqlType.blob, requiredDuringInsert: true, ).withConverter>( i1.$RemoteAssetMetadataEntityTable.$convertervalue, ); static const i0.VerificationMeta _cloudIdMeta = const i0.VerificationMeta( 'cloudId', ); @override late final i0.GeneratedColumn cloudId = i0.GeneratedColumn( 'cloud_id', aliasedName, true, generatedAs: i0.GeneratedAs( i4.JsonbExtensions(value).jsonExtract(r'$.iCloudId'), true, ), type: i0.DriftSqlType.string, requiredDuringInsert: false, ); @override List get $columns => [assetId, key, value, cloudId]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'remote_asset_metadata_entity'; @override i0.VerificationContext validateIntegrity( i0.Insertable instance, { bool isInserting = false, }) { final context = i0.VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('asset_id')) { context.handle( _assetIdMeta, assetId.isAcceptableOrUnknown(data['asset_id']!, _assetIdMeta), ); } else if (isInserting) { context.missing(_assetIdMeta); } if (data.containsKey('key')) { context.handle( _keyMeta, key.isAcceptableOrUnknown(data['key']!, _keyMeta), ); } else if (isInserting) { context.missing(_keyMeta); } if (data.containsKey('cloud_id')) { context.handle( _cloudIdMeta, cloudId.isAcceptableOrUnknown(data['cloud_id']!, _cloudIdMeta), ); } return context; } @override Set get $primaryKey => {assetId, key}; @override i1.RemoteAssetMetadataEntityData map( Map data, { String? tablePrefix, }) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return i1.RemoteAssetMetadataEntityData( assetId: attachedDatabase.typeMapping.read( i0.DriftSqlType.string, data['${effectivePrefix}asset_id'], )!, key: attachedDatabase.typeMapping.read( i0.DriftSqlType.string, data['${effectivePrefix}key'], )!, value: i1.$RemoteAssetMetadataEntityTable.$convertervalue.fromSql( attachedDatabase.typeMapping.read( i0.DriftSqlType.blob, data['${effectivePrefix}value'], )!, ), cloudId: attachedDatabase.typeMapping.read( i0.DriftSqlType.string, data['${effectivePrefix}cloud_id'], ), ); } @override $RemoteAssetMetadataEntityTable createAlias(String alias) { return $RemoteAssetMetadataEntityTable(attachedDatabase, alias); } static i0.JsonTypeConverter2, i2.Uint8List, Object?> $convertervalue = i3.assetMetadataConverter; @override bool get withoutRowId => true; @override bool get isStrict => true; } class RemoteAssetMetadataEntityData extends i0.DataClass implements i0.Insertable { final String assetId; final String key; final Map value; final String? cloudId; const RemoteAssetMetadataEntityData({ required this.assetId, required this.key, required this.value, this.cloudId, }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['asset_id'] = i0.Variable(assetId); map['key'] = i0.Variable(key); { map['value'] = i0.Variable( i1.$RemoteAssetMetadataEntityTable.$convertervalue.toSql(value), ); } return map; } factory RemoteAssetMetadataEntityData.fromJson( Map json, { i0.ValueSerializer? serializer, }) { serializer ??= i0.driftRuntimeOptions.defaultSerializer; return RemoteAssetMetadataEntityData( assetId: serializer.fromJson(json['assetId']), key: serializer.fromJson(json['key']), value: i1.$RemoteAssetMetadataEntityTable.$convertervalue.fromJson( serializer.fromJson(json['value']), ), cloudId: serializer.fromJson(json['cloudId']), ); } @override Map toJson({i0.ValueSerializer? serializer}) { serializer ??= i0.driftRuntimeOptions.defaultSerializer; return { 'assetId': serializer.toJson(assetId), 'key': serializer.toJson(key), 'value': serializer.toJson( i1.$RemoteAssetMetadataEntityTable.$convertervalue.toJson(value), ), 'cloudId': serializer.toJson(cloudId), }; } i1.RemoteAssetMetadataEntityData copyWith({ String? assetId, String? key, Map? value, i0.Value cloudId = const i0.Value.absent(), }) => i1.RemoteAssetMetadataEntityData( assetId: assetId ?? this.assetId, key: key ?? this.key, value: value ?? this.value, cloudId: cloudId.present ? cloudId.value : this.cloudId, ); @override String toString() { return (StringBuffer('RemoteAssetMetadataEntityData(') ..write('assetId: $assetId, ') ..write('key: $key, ') ..write('value: $value, ') ..write('cloudId: $cloudId') ..write(')')) .toString(); } @override int get hashCode => Object.hash(assetId, key, value, cloudId); @override bool operator ==(Object other) => identical(this, other) || (other is i1.RemoteAssetMetadataEntityData && other.assetId == this.assetId && other.key == this.key && other.value == this.value && other.cloudId == this.cloudId); } class RemoteAssetMetadataEntityCompanion extends i0.UpdateCompanion { final i0.Value assetId; final i0.Value key; final i0.Value> value; const RemoteAssetMetadataEntityCompanion({ this.assetId = const i0.Value.absent(), this.key = const i0.Value.absent(), this.value = const i0.Value.absent(), }); RemoteAssetMetadataEntityCompanion.insert({ required String assetId, required String key, required Map value, }) : assetId = i0.Value(assetId), key = i0.Value(key), value = i0.Value(value); static i0.Insertable custom({ i0.Expression? assetId, i0.Expression? key, i0.Expression? value, }) { return i0.RawValuesInsertable({ if (assetId != null) 'asset_id': assetId, if (key != null) 'key': key, if (value != null) 'value': value, }); } i1.RemoteAssetMetadataEntityCompanion copyWith({ i0.Value? assetId, i0.Value? key, i0.Value>? value, }) { return i1.RemoteAssetMetadataEntityCompanion( assetId: assetId ?? this.assetId, key: key ?? this.key, value: value ?? this.value, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (assetId.present) { map['asset_id'] = i0.Variable(assetId.value); } if (key.present) { map['key'] = i0.Variable(key.value); } if (value.present) { map['value'] = i0.Variable( i1.$RemoteAssetMetadataEntityTable.$convertervalue.toSql(value.value), ); } return map; } @override String toString() { return (StringBuffer('RemoteAssetMetadataEntityCompanion(') ..write('assetId: $assetId, ') ..write('key: $key, ') ..write('value: $value') ..write(')')) .toString(); } }