// dart format width=80 import 'package:drift/internal/versioned_schema.dart' as i0; import 'package:drift/drift.dart' as i1; import 'package:drift/drift.dart'; import 'package:shadcn_flutter/shadcn_flutter.dart'; import 'package:spotify/spotify.dart'; import 'package:spotube/models/database/database.dart'; import 'package:spotube/services/sourced_track/enums.dart'; // ignore_for_file: type=lint,unused_import // GENERATED BY drift_dev, DO NOT MODIFY. final class Schema2 extends i0.VersionedSchema { Schema2({required super.database}) : super(version: 2); @override late final List entities = [ authenticationTable, blacklistTable, preferencesTable, scrobblerTable, skipSegmentTable, sourceMatchTable, audioPlayerStateTable, playlistTable, playlistMediaTable, historyTable, lyricsTable, uniqueBlacklist, uniqTrackMatch, ]; late final Shape0 authenticationTable = Shape0( source: i0.VersionedTable( entityName: 'authentication_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_1, _column_2, _column_3, ], attachedDatabase: database, ), alias: null); late final Shape1 blacklistTable = Shape1( source: i0.VersionedTable( entityName: 'blacklist_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_4, _column_5, _column_6, ], attachedDatabase: database, ), alias: null); late final Shape2 preferencesTable = Shape2( source: i0.VersionedTable( entityName: 'preferences_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_7, _column_8, _column_9, _column_10, _column_11, _column_12, _column_13, _column_14, _column_15, _column_16, _column_17, _column_18, _column_19, _column_20, _column_21, _column_22, _column_23, _column_24, _column_25, _column_26, _column_27, _column_28, _column_29, _column_30, _column_31, ], attachedDatabase: database, ), alias: null); late final Shape3 scrobblerTable = Shape3( source: i0.VersionedTable( entityName: 'scrobbler_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_32, _column_33, _column_34, ], attachedDatabase: database, ), alias: null); late final Shape4 skipSegmentTable = Shape4( source: i0.VersionedTable( entityName: 'skip_segment_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_35, _column_36, _column_37, _column_32, ], attachedDatabase: database, ), alias: null); late final Shape5 sourceMatchTable = Shape5( source: i0.VersionedTable( entityName: 'source_match_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_37, _column_38, _column_39, _column_32, ], attachedDatabase: database, ), alias: null); late final Shape6 audioPlayerStateTable = Shape6( source: i0.VersionedTable( entityName: 'audio_player_state_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_40, _column_41, _column_42, _column_43, ], attachedDatabase: database, ), alias: null); late final Shape7 playlistTable = Shape7( source: i0.VersionedTable( entityName: 'playlist_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_44, _column_45, ], attachedDatabase: database, ), alias: null); late final Shape8 playlistMediaTable = Shape8( source: i0.VersionedTable( entityName: 'playlist_media_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_46, _column_47, _column_48, _column_49, ], attachedDatabase: database, ), alias: null); late final Shape9 historyTable = Shape9( source: i0.VersionedTable( entityName: 'history_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_32, _column_50, _column_51, _column_52, ], attachedDatabase: database, ), alias: null); late final Shape10 lyricsTable = Shape10( source: i0.VersionedTable( entityName: 'lyrics_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_37, _column_52, ], attachedDatabase: database, ), alias: null); final i1.Index uniqueBlacklist = i1.Index('unique_blacklist', 'CREATE UNIQUE INDEX unique_blacklist ON blacklist_table (element_type, element_id)'); final i1.Index uniqTrackMatch = i1.Index('uniq_track_match', 'CREATE UNIQUE INDEX uniq_track_match ON source_match_table (track_id, source_id, source_type)'); } class Shape0 extends i0.VersionedTable { Shape0({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get cookie => columnsByName['cookie']! as i1.GeneratedColumn; i1.GeneratedColumn get accessToken => columnsByName['access_token']! as i1.GeneratedColumn; i1.GeneratedColumn get expiration => columnsByName['expiration']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_0(String aliasedName) => i1.GeneratedColumn('id', aliasedName, false, hasAutoIncrement: true, type: i1.DriftSqlType.int, defaultConstraints: i1.GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); i1.GeneratedColumn _column_1(String aliasedName) => i1.GeneratedColumn('cookie', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_2(String aliasedName) => i1.GeneratedColumn('access_token', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_3(String aliasedName) => i1.GeneratedColumn('expiration', aliasedName, false, type: i1.DriftSqlType.dateTime); class Shape1 extends i0.VersionedTable { Shape1({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get name => columnsByName['name']! as i1.GeneratedColumn; i1.GeneratedColumn get elementType => columnsByName['element_type']! as i1.GeneratedColumn; i1.GeneratedColumn get elementId => columnsByName['element_id']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_4(String aliasedName) => i1.GeneratedColumn('name', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_5(String aliasedName) => i1.GeneratedColumn('element_type', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_6(String aliasedName) => i1.GeneratedColumn('element_id', aliasedName, false, type: i1.DriftSqlType.string); class Shape2 extends i0.VersionedTable { Shape2({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get audioQuality => columnsByName['audio_quality']! as i1.GeneratedColumn; i1.GeneratedColumn get albumColorSync => columnsByName['album_color_sync']! as i1.GeneratedColumn; i1.GeneratedColumn get amoledDarkTheme => columnsByName['amoled_dark_theme']! as i1.GeneratedColumn; i1.GeneratedColumn get checkUpdate => columnsByName['check_update']! as i1.GeneratedColumn; i1.GeneratedColumn get normalizeAudio => columnsByName['normalize_audio']! as i1.GeneratedColumn; i1.GeneratedColumn get showSystemTrayIcon => columnsByName['show_system_tray_icon']! as i1.GeneratedColumn; i1.GeneratedColumn get systemTitleBar => columnsByName['system_title_bar']! as i1.GeneratedColumn; i1.GeneratedColumn get skipNonMusic => columnsByName['skip_non_music']! as i1.GeneratedColumn; i1.GeneratedColumn get closeBehavior => columnsByName['close_behavior']! as i1.GeneratedColumn; i1.GeneratedColumn get accentColorScheme => columnsByName['accent_color_scheme']! as i1.GeneratedColumn; i1.GeneratedColumn get layoutMode => columnsByName['layout_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get locale => columnsByName['locale']! as i1.GeneratedColumn; i1.GeneratedColumn get market => columnsByName['market']! as i1.GeneratedColumn; i1.GeneratedColumn get searchMode => columnsByName['search_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get downloadLocation => columnsByName['download_location']! as i1.GeneratedColumn; i1.GeneratedColumn get localLibraryLocation => columnsByName['local_library_location']! as i1.GeneratedColumn; i1.GeneratedColumn get pipedInstance => columnsByName['piped_instance']! as i1.GeneratedColumn; i1.GeneratedColumn get invidiousInstance => columnsByName['invidious_instance']! as i1.GeneratedColumn; i1.GeneratedColumn get themeMode => columnsByName['theme_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get audioSource => columnsByName['audio_source']! as i1.GeneratedColumn; i1.GeneratedColumn get streamMusicCodec => columnsByName['stream_music_codec']! as i1.GeneratedColumn; i1.GeneratedColumn get downloadMusicCodec => columnsByName['download_music_codec']! as i1.GeneratedColumn; i1.GeneratedColumn get discordPresence => columnsByName['discord_presence']! as i1.GeneratedColumn; i1.GeneratedColumn get endlessPlayback => columnsByName['endless_playback']! as i1.GeneratedColumn; i1.GeneratedColumn get enableConnect => columnsByName['enable_connect']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_7(String aliasedName) => i1.GeneratedColumn('audio_quality', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(SourceQualities.high.name)); i1.GeneratedColumn _column_8(String aliasedName) => i1.GeneratedColumn('album_color_sync', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("album_color_sync" IN (0, 1))'), defaultValue: const Constant(true)); i1.GeneratedColumn _column_9(String aliasedName) => i1.GeneratedColumn('amoled_dark_theme', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("amoled_dark_theme" IN (0, 1))'), defaultValue: const Constant(false)); i1.GeneratedColumn _column_10(String aliasedName) => i1.GeneratedColumn('check_update', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("check_update" IN (0, 1))'), defaultValue: const Constant(true)); i1.GeneratedColumn _column_11(String aliasedName) => i1.GeneratedColumn('normalize_audio', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("normalize_audio" IN (0, 1))'), defaultValue: const Constant(false)); i1.GeneratedColumn _column_12(String aliasedName) => i1.GeneratedColumn('show_system_tray_icon', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("show_system_tray_icon" IN (0, 1))'), defaultValue: const Constant(false)); i1.GeneratedColumn _column_13(String aliasedName) => i1.GeneratedColumn('system_title_bar', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("system_title_bar" IN (0, 1))'), defaultValue: const Constant(false)); i1.GeneratedColumn _column_14(String aliasedName) => i1.GeneratedColumn('skip_non_music', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("skip_non_music" IN (0, 1))'), defaultValue: const Constant(false)); i1.GeneratedColumn _column_15(String aliasedName) => i1.GeneratedColumn('close_behavior', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(CloseBehavior.close.name)); i1.GeneratedColumn _column_16(String aliasedName) => i1.GeneratedColumn('accent_color_scheme', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: const Constant("Blue:0xFF2196F3")); i1.GeneratedColumn _column_17(String aliasedName) => i1.GeneratedColumn('layout_mode', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(LayoutMode.adaptive.name)); i1.GeneratedColumn _column_18(String aliasedName) => i1.GeneratedColumn('locale', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: const Constant('{"languageCode":"system","countryCode":"system"}')); i1.GeneratedColumn _column_19(String aliasedName) => i1.GeneratedColumn('market', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(Market.US.name)); i1.GeneratedColumn _column_20(String aliasedName) => i1.GeneratedColumn('search_mode', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(SearchMode.youtube.name)); i1.GeneratedColumn _column_21(String aliasedName) => i1.GeneratedColumn('download_location', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: const Constant("")); i1.GeneratedColumn _column_22(String aliasedName) => i1.GeneratedColumn('local_library_location', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: const Constant("")); i1.GeneratedColumn _column_23(String aliasedName) => i1.GeneratedColumn('piped_instance', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: const Constant("https://pipedapi.kavin.rocks")); i1.GeneratedColumn _column_24(String aliasedName) => i1.GeneratedColumn('invidious_instance', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: const Constant("https://inv.nadeko.net")); i1.GeneratedColumn _column_25(String aliasedName) => i1.GeneratedColumn('theme_mode', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(ThemeMode.system.name)); i1.GeneratedColumn _column_26(String aliasedName) => i1.GeneratedColumn('audio_source', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(AudioSource.youtube.name)); i1.GeneratedColumn _column_27(String aliasedName) => i1.GeneratedColumn('stream_music_codec', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(SourceCodecs.weba.name)); i1.GeneratedColumn _column_28(String aliasedName) => i1.GeneratedColumn('download_music_codec', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(SourceCodecs.m4a.name)); i1.GeneratedColumn _column_29(String aliasedName) => i1.GeneratedColumn('discord_presence', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("discord_presence" IN (0, 1))'), defaultValue: const Constant(true)); i1.GeneratedColumn _column_30(String aliasedName) => i1.GeneratedColumn('endless_playback', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("endless_playback" IN (0, 1))'), defaultValue: const Constant(true)); i1.GeneratedColumn _column_31(String aliasedName) => i1.GeneratedColumn('enable_connect', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("enable_connect" IN (0, 1))'), defaultValue: const Constant(false)); class Shape3 extends i0.VersionedTable { Shape3({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get createdAt => columnsByName['created_at']! as i1.GeneratedColumn; i1.GeneratedColumn get username => columnsByName['username']! as i1.GeneratedColumn; i1.GeneratedColumn get passwordHash => columnsByName['password_hash']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_32(String aliasedName) => i1.GeneratedColumn('created_at', aliasedName, false, type: i1.DriftSqlType.dateTime, defaultValue: currentDateAndTime); i1.GeneratedColumn _column_33(String aliasedName) => i1.GeneratedColumn('username', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_34(String aliasedName) => i1.GeneratedColumn('password_hash', aliasedName, false, type: i1.DriftSqlType.string); class Shape4 extends i0.VersionedTable { Shape4({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get start => columnsByName['start']! as i1.GeneratedColumn; i1.GeneratedColumn get end => columnsByName['end']! as i1.GeneratedColumn; i1.GeneratedColumn get trackId => columnsByName['track_id']! as i1.GeneratedColumn; i1.GeneratedColumn get createdAt => columnsByName['created_at']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_35(String aliasedName) => i1.GeneratedColumn('start', aliasedName, false, type: i1.DriftSqlType.int); i1.GeneratedColumn _column_36(String aliasedName) => i1.GeneratedColumn('end', aliasedName, false, type: i1.DriftSqlType.int); i1.GeneratedColumn _column_37(String aliasedName) => i1.GeneratedColumn('track_id', aliasedName, false, type: i1.DriftSqlType.string); class Shape5 extends i0.VersionedTable { Shape5({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get trackId => columnsByName['track_id']! as i1.GeneratedColumn; i1.GeneratedColumn get sourceId => columnsByName['source_id']! as i1.GeneratedColumn; i1.GeneratedColumn get sourceType => columnsByName['source_type']! as i1.GeneratedColumn; i1.GeneratedColumn get createdAt => columnsByName['created_at']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_38(String aliasedName) => i1.GeneratedColumn('source_id', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_39(String aliasedName) => i1.GeneratedColumn('source_type', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(SourceType.youtube.name)); class Shape6 extends i0.VersionedTable { Shape6({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get playing => columnsByName['playing']! as i1.GeneratedColumn; i1.GeneratedColumn get loopMode => columnsByName['loop_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get shuffled => columnsByName['shuffled']! as i1.GeneratedColumn; i1.GeneratedColumn get collections => columnsByName['collections']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_40(String aliasedName) => i1.GeneratedColumn('playing', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("playing" IN (0, 1))')); i1.GeneratedColumn _column_41(String aliasedName) => i1.GeneratedColumn('loop_mode', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_42(String aliasedName) => i1.GeneratedColumn('shuffled', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("shuffled" IN (0, 1))')); i1.GeneratedColumn _column_43(String aliasedName) => i1.GeneratedColumn('collections', aliasedName, false, type: i1.DriftSqlType.string); class Shape7 extends i0.VersionedTable { Shape7({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get audioPlayerStateId => columnsByName['audio_player_state_id']! as i1.GeneratedColumn; i1.GeneratedColumn get index => columnsByName['index']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_44(String aliasedName) => i1.GeneratedColumn('audio_player_state_id', aliasedName, false, type: i1.DriftSqlType.int, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'REFERENCES audio_player_state_table (id)')); i1.GeneratedColumn _column_45(String aliasedName) => i1.GeneratedColumn('index', aliasedName, false, type: i1.DriftSqlType.int); class Shape8 extends i0.VersionedTable { Shape8({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get playlistId => columnsByName['playlist_id']! as i1.GeneratedColumn; i1.GeneratedColumn get uri => columnsByName['uri']! as i1.GeneratedColumn; i1.GeneratedColumn get extras => columnsByName['extras']! as i1.GeneratedColumn; i1.GeneratedColumn get httpHeaders => columnsByName['http_headers']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_46(String aliasedName) => i1.GeneratedColumn('playlist_id', aliasedName, false, type: i1.DriftSqlType.int, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'REFERENCES playlist_table (id)')); i1.GeneratedColumn _column_47(String aliasedName) => i1.GeneratedColumn('uri', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_48(String aliasedName) => i1.GeneratedColumn('extras', aliasedName, true, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_49(String aliasedName) => i1.GeneratedColumn('http_headers', aliasedName, true, type: i1.DriftSqlType.string); class Shape9 extends i0.VersionedTable { Shape9({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get createdAt => columnsByName['created_at']! as i1.GeneratedColumn; i1.GeneratedColumn get type => columnsByName['type']! as i1.GeneratedColumn; i1.GeneratedColumn get itemId => columnsByName['item_id']! as i1.GeneratedColumn; i1.GeneratedColumn get data => columnsByName['data']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_50(String aliasedName) => i1.GeneratedColumn('type', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_51(String aliasedName) => i1.GeneratedColumn('item_id', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_52(String aliasedName) => i1.GeneratedColumn('data', aliasedName, false, type: i1.DriftSqlType.string); class Shape10 extends i0.VersionedTable { Shape10({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get trackId => columnsByName['track_id']! as i1.GeneratedColumn; i1.GeneratedColumn get data => columnsByName['data']! as i1.GeneratedColumn; } final class Schema3 extends i0.VersionedSchema { Schema3({required super.database}) : super(version: 3); @override late final List entities = [ authenticationTable, blacklistTable, preferencesTable, scrobblerTable, skipSegmentTable, sourceMatchTable, audioPlayerStateTable, playlistTable, playlistMediaTable, historyTable, lyricsTable, uniqueBlacklist, uniqTrackMatch, ]; late final Shape0 authenticationTable = Shape0( source: i0.VersionedTable( entityName: 'authentication_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_1, _column_2, _column_3, ], attachedDatabase: database, ), alias: null); late final Shape1 blacklistTable = Shape1( source: i0.VersionedTable( entityName: 'blacklist_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_4, _column_5, _column_6, ], attachedDatabase: database, ), alias: null); late final Shape11 preferencesTable = Shape11( source: i0.VersionedTable( entityName: 'preferences_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_7, _column_8, _column_9, _column_10, _column_11, _column_12, _column_13, _column_14, _column_15, _column_16, _column_17, _column_18, _column_19, _column_20, _column_21, _column_22, _column_23, _column_24, _column_25, _column_26, _column_27, _column_28, _column_29, _column_30, _column_31, _column_53, ], attachedDatabase: database, ), alias: null); late final Shape3 scrobblerTable = Shape3( source: i0.VersionedTable( entityName: 'scrobbler_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_32, _column_33, _column_34, ], attachedDatabase: database, ), alias: null); late final Shape4 skipSegmentTable = Shape4( source: i0.VersionedTable( entityName: 'skip_segment_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_35, _column_36, _column_37, _column_32, ], attachedDatabase: database, ), alias: null); late final Shape5 sourceMatchTable = Shape5( source: i0.VersionedTable( entityName: 'source_match_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_37, _column_38, _column_39, _column_32, ], attachedDatabase: database, ), alias: null); late final Shape6 audioPlayerStateTable = Shape6( source: i0.VersionedTable( entityName: 'audio_player_state_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_40, _column_41, _column_42, _column_43, ], attachedDatabase: database, ), alias: null); late final Shape7 playlistTable = Shape7( source: i0.VersionedTable( entityName: 'playlist_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_44, _column_45, ], attachedDatabase: database, ), alias: null); late final Shape8 playlistMediaTable = Shape8( source: i0.VersionedTable( entityName: 'playlist_media_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_46, _column_47, _column_48, _column_49, ], attachedDatabase: database, ), alias: null); late final Shape9 historyTable = Shape9( source: i0.VersionedTable( entityName: 'history_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_32, _column_50, _column_51, _column_52, ], attachedDatabase: database, ), alias: null); late final Shape10 lyricsTable = Shape10( source: i0.VersionedTable( entityName: 'lyrics_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_37, _column_52, ], attachedDatabase: database, ), alias: null); final i1.Index uniqueBlacklist = i1.Index('unique_blacklist', 'CREATE UNIQUE INDEX unique_blacklist ON blacklist_table (element_type, element_id)'); final i1.Index uniqTrackMatch = i1.Index('uniq_track_match', 'CREATE UNIQUE INDEX uniq_track_match ON source_match_table (track_id, source_id, source_type)'); } class Shape11 extends i0.VersionedTable { Shape11({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get audioQuality => columnsByName['audio_quality']! as i1.GeneratedColumn; i1.GeneratedColumn get albumColorSync => columnsByName['album_color_sync']! as i1.GeneratedColumn; i1.GeneratedColumn get amoledDarkTheme => columnsByName['amoled_dark_theme']! as i1.GeneratedColumn; i1.GeneratedColumn get checkUpdate => columnsByName['check_update']! as i1.GeneratedColumn; i1.GeneratedColumn get normalizeAudio => columnsByName['normalize_audio']! as i1.GeneratedColumn; i1.GeneratedColumn get showSystemTrayIcon => columnsByName['show_system_tray_icon']! as i1.GeneratedColumn; i1.GeneratedColumn get systemTitleBar => columnsByName['system_title_bar']! as i1.GeneratedColumn; i1.GeneratedColumn get skipNonMusic => columnsByName['skip_non_music']! as i1.GeneratedColumn; i1.GeneratedColumn get closeBehavior => columnsByName['close_behavior']! as i1.GeneratedColumn; i1.GeneratedColumn get accentColorScheme => columnsByName['accent_color_scheme']! as i1.GeneratedColumn; i1.GeneratedColumn get layoutMode => columnsByName['layout_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get locale => columnsByName['locale']! as i1.GeneratedColumn; i1.GeneratedColumn get market => columnsByName['market']! as i1.GeneratedColumn; i1.GeneratedColumn get searchMode => columnsByName['search_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get downloadLocation => columnsByName['download_location']! as i1.GeneratedColumn; i1.GeneratedColumn get localLibraryLocation => columnsByName['local_library_location']! as i1.GeneratedColumn; i1.GeneratedColumn get pipedInstance => columnsByName['piped_instance']! as i1.GeneratedColumn; i1.GeneratedColumn get invidiousInstance => columnsByName['invidious_instance']! as i1.GeneratedColumn; i1.GeneratedColumn get themeMode => columnsByName['theme_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get audioSource => columnsByName['audio_source']! as i1.GeneratedColumn; i1.GeneratedColumn get streamMusicCodec => columnsByName['stream_music_codec']! as i1.GeneratedColumn; i1.GeneratedColumn get downloadMusicCodec => columnsByName['download_music_codec']! as i1.GeneratedColumn; i1.GeneratedColumn get discordPresence => columnsByName['discord_presence']! as i1.GeneratedColumn; i1.GeneratedColumn get endlessPlayback => columnsByName['endless_playback']! as i1.GeneratedColumn; i1.GeneratedColumn get enableConnect => columnsByName['enable_connect']! as i1.GeneratedColumn; i1.GeneratedColumn get cacheMusic => columnsByName['cache_music']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_53(String aliasedName) => i1.GeneratedColumn('cache_music', aliasedName, false, type: i1.DriftSqlType.bool, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'CHECK ("cache_music" IN (0, 1))'), defaultValue: const Constant(true)); final class Schema4 extends i0.VersionedSchema { Schema4({required super.database}) : super(version: 4); @override late final List entities = [ authenticationTable, blacklistTable, preferencesTable, scrobblerTable, skipSegmentTable, sourceMatchTable, audioPlayerStateTable, playlistTable, playlistMediaTable, historyTable, lyricsTable, uniqueBlacklist, uniqTrackMatch, ]; late final Shape0 authenticationTable = Shape0( source: i0.VersionedTable( entityName: 'authentication_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_1, _column_2, _column_3, ], attachedDatabase: database, ), alias: null); late final Shape1 blacklistTable = Shape1( source: i0.VersionedTable( entityName: 'blacklist_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_4, _column_5, _column_6, ], attachedDatabase: database, ), alias: null); late final Shape12 preferencesTable = Shape12( source: i0.VersionedTable( entityName: 'preferences_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_7, _column_8, _column_9, _column_10, _column_11, _column_12, _column_13, _column_14, _column_15, _column_16, _column_17, _column_18, _column_19, _column_20, _column_21, _column_22, _column_23, _column_24, _column_25, _column_26, _column_54, _column_27, _column_28, _column_29, _column_30, _column_31, _column_53, ], attachedDatabase: database, ), alias: null); late final Shape3 scrobblerTable = Shape3( source: i0.VersionedTable( entityName: 'scrobbler_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_32, _column_33, _column_34, ], attachedDatabase: database, ), alias: null); late final Shape4 skipSegmentTable = Shape4( source: i0.VersionedTable( entityName: 'skip_segment_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_35, _column_36, _column_37, _column_32, ], attachedDatabase: database, ), alias: null); late final Shape5 sourceMatchTable = Shape5( source: i0.VersionedTable( entityName: 'source_match_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_37, _column_38, _column_39, _column_32, ], attachedDatabase: database, ), alias: null); late final Shape6 audioPlayerStateTable = Shape6( source: i0.VersionedTable( entityName: 'audio_player_state_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_40, _column_41, _column_42, _column_43, ], attachedDatabase: database, ), alias: null); late final Shape7 playlistTable = Shape7( source: i0.VersionedTable( entityName: 'playlist_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_44, _column_45, ], attachedDatabase: database, ), alias: null); late final Shape8 playlistMediaTable = Shape8( source: i0.VersionedTable( entityName: 'playlist_media_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_46, _column_47, _column_48, _column_49, ], attachedDatabase: database, ), alias: null); late final Shape9 historyTable = Shape9( source: i0.VersionedTable( entityName: 'history_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_32, _column_50, _column_51, _column_52, ], attachedDatabase: database, ), alias: null); late final Shape10 lyricsTable = Shape10( source: i0.VersionedTable( entityName: 'lyrics_table', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_37, _column_52, ], attachedDatabase: database, ), alias: null); final i1.Index uniqueBlacklist = i1.Index('unique_blacklist', 'CREATE UNIQUE INDEX unique_blacklist ON blacklist_table (element_type, element_id)'); final i1.Index uniqTrackMatch = i1.Index('uniq_track_match', 'CREATE UNIQUE INDEX uniq_track_match ON source_match_table (track_id, source_id, source_type)'); } class Shape12 extends i0.VersionedTable { Shape12({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get audioQuality => columnsByName['audio_quality']! as i1.GeneratedColumn; i1.GeneratedColumn get albumColorSync => columnsByName['album_color_sync']! as i1.GeneratedColumn; i1.GeneratedColumn get amoledDarkTheme => columnsByName['amoled_dark_theme']! as i1.GeneratedColumn; i1.GeneratedColumn get checkUpdate => columnsByName['check_update']! as i1.GeneratedColumn; i1.GeneratedColumn get normalizeAudio => columnsByName['normalize_audio']! as i1.GeneratedColumn; i1.GeneratedColumn get showSystemTrayIcon => columnsByName['show_system_tray_icon']! as i1.GeneratedColumn; i1.GeneratedColumn get systemTitleBar => columnsByName['system_title_bar']! as i1.GeneratedColumn; i1.GeneratedColumn get skipNonMusic => columnsByName['skip_non_music']! as i1.GeneratedColumn; i1.GeneratedColumn get closeBehavior => columnsByName['close_behavior']! as i1.GeneratedColumn; i1.GeneratedColumn get accentColorScheme => columnsByName['accent_color_scheme']! as i1.GeneratedColumn; i1.GeneratedColumn get layoutMode => columnsByName['layout_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get locale => columnsByName['locale']! as i1.GeneratedColumn; i1.GeneratedColumn get market => columnsByName['market']! as i1.GeneratedColumn; i1.GeneratedColumn get searchMode => columnsByName['search_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get downloadLocation => columnsByName['download_location']! as i1.GeneratedColumn; i1.GeneratedColumn get localLibraryLocation => columnsByName['local_library_location']! as i1.GeneratedColumn; i1.GeneratedColumn get pipedInstance => columnsByName['piped_instance']! as i1.GeneratedColumn; i1.GeneratedColumn get invidiousInstance => columnsByName['invidious_instance']! as i1.GeneratedColumn; i1.GeneratedColumn get themeMode => columnsByName['theme_mode']! as i1.GeneratedColumn; i1.GeneratedColumn get audioSource => columnsByName['audio_source']! as i1.GeneratedColumn; i1.GeneratedColumn get youtubeClientEngine => columnsByName['youtube_client_engine']! as i1.GeneratedColumn; i1.GeneratedColumn get streamMusicCodec => columnsByName['stream_music_codec']! as i1.GeneratedColumn; i1.GeneratedColumn get downloadMusicCodec => columnsByName['download_music_codec']! as i1.GeneratedColumn; i1.GeneratedColumn get discordPresence => columnsByName['discord_presence']! as i1.GeneratedColumn; i1.GeneratedColumn get endlessPlayback => columnsByName['endless_playback']! as i1.GeneratedColumn; i1.GeneratedColumn get enableConnect => columnsByName['enable_connect']! as i1.GeneratedColumn; i1.GeneratedColumn get cacheMusic => columnsByName['cache_music']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_54(String aliasedName) => i1.GeneratedColumn('youtube_client_engine', aliasedName, false, type: i1.DriftSqlType.string, defaultValue: Constant(YoutubeClientEngine.youtubeExplode.name)); i0.MigrationStepWithVersion migrationSteps({ required Future Function(i1.Migrator m, Schema2 schema) from1To2, required Future Function(i1.Migrator m, Schema3 schema) from2To3, required Future Function(i1.Migrator m, Schema4 schema) from3To4, }) { return (currentVersion, database) async { switch (currentVersion) { case 1: final schema = Schema2(database: database); final migrator = i1.Migrator(database, schema); await from1To2(migrator, schema); return 2; case 2: final schema = Schema3(database: database); final migrator = i1.Migrator(database, schema); await from2To3(migrator, schema); return 3; case 3: final schema = Schema4(database: database); final migrator = i1.Migrator(database, schema); await from3To4(migrator, schema); return 4; default: throw ArgumentError.value('Unknown migration from $currentVersion'); } }; } i1.OnUpgrade stepByStep({ required Future Function(i1.Migrator m, Schema2 schema) from1To2, required Future Function(i1.Migrator m, Schema3 schema) from2To3, required Future Function(i1.Migrator m, Schema4 schema) from3To4, }) => i0.VersionedSchema.stepByStepHelper( step: migrationSteps( from1To2: from1To2, from2To3: from2To3, from3To4: from3To4, ));