spotube/test/drift/app_db/generated/schema_v7.dart
Kingkor Roy Tirtho cdc64e4bb0 feat: Add repository and plugin API version fields to metadata plugins
- Updated database schema to include `repository` and `pluginApiVersion` columns in the `MetadataPluginsTable`.
- Modified `PluginConfiguration` model to include new fields for `repository` and `pluginApiVersion`.
- Enhanced JSON serialization and deserialization for the new fields in `PluginConfiguration`.
- Refactored `SettingsMetadataProviderPage` to display installed plugins with their repository information.
- Created new components `MetadataInstalledPluginItem` and `MetadataPluginRepositoryItem` for better UI representation of plugins.
- Updated plugin installation logic to handle new fields and display relevant information.
- Bumped `youtube_explode_dart` dependency version to `2.5.1`.
2025-07-18 15:55:28 +06:00

3517 lines
130 KiB
Dart

// dart format width=80
// GENERATED CODE, DO NOT EDIT BY HAND.
// ignore_for_file: type=lint
import 'package:drift/drift.dart';
class AuthenticationTable extends Table
with TableInfo<AuthenticationTable, AuthenticationTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
AuthenticationTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<String> cookie = GeneratedColumn<String>(
'cookie', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> accessToken = GeneratedColumn<String>(
'access_token', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<DateTime> expiration = GeneratedColumn<DateTime>(
'expiration', aliasedName, false,
type: DriftSqlType.dateTime, requiredDuringInsert: true);
@override
List<GeneratedColumn> get $columns => [id, cookie, accessToken, expiration];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'authentication_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
AuthenticationTableData map(Map<String, dynamic> data,
{String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return AuthenticationTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
cookie: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}cookie'])!,
accessToken: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}access_token'])!,
expiration: attachedDatabase.typeMapping
.read(DriftSqlType.dateTime, data['${effectivePrefix}expiration'])!,
);
}
@override
AuthenticationTable createAlias(String alias) {
return AuthenticationTable(attachedDatabase, alias);
}
}
class AuthenticationTableData extends DataClass
implements Insertable<AuthenticationTableData> {
final int id;
final String cookie;
final String accessToken;
final DateTime expiration;
const AuthenticationTableData(
{required this.id,
required this.cookie,
required this.accessToken,
required this.expiration});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['cookie'] = Variable<String>(cookie);
map['access_token'] = Variable<String>(accessToken);
map['expiration'] = Variable<DateTime>(expiration);
return map;
}
AuthenticationTableCompanion toCompanion(bool nullToAbsent) {
return AuthenticationTableCompanion(
id: Value(id),
cookie: Value(cookie),
accessToken: Value(accessToken),
expiration: Value(expiration),
);
}
factory AuthenticationTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return AuthenticationTableData(
id: serializer.fromJson<int>(json['id']),
cookie: serializer.fromJson<String>(json['cookie']),
accessToken: serializer.fromJson<String>(json['accessToken']),
expiration: serializer.fromJson<DateTime>(json['expiration']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'cookie': serializer.toJson<String>(cookie),
'accessToken': serializer.toJson<String>(accessToken),
'expiration': serializer.toJson<DateTime>(expiration),
};
}
AuthenticationTableData copyWith(
{int? id,
String? cookie,
String? accessToken,
DateTime? expiration}) =>
AuthenticationTableData(
id: id ?? this.id,
cookie: cookie ?? this.cookie,
accessToken: accessToken ?? this.accessToken,
expiration: expiration ?? this.expiration,
);
AuthenticationTableData copyWithCompanion(AuthenticationTableCompanion data) {
return AuthenticationTableData(
id: data.id.present ? data.id.value : this.id,
cookie: data.cookie.present ? data.cookie.value : this.cookie,
accessToken:
data.accessToken.present ? data.accessToken.value : this.accessToken,
expiration:
data.expiration.present ? data.expiration.value : this.expiration,
);
}
@override
String toString() {
return (StringBuffer('AuthenticationTableData(')
..write('id: $id, ')
..write('cookie: $cookie, ')
..write('accessToken: $accessToken, ')
..write('expiration: $expiration')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, cookie, accessToken, expiration);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is AuthenticationTableData &&
other.id == this.id &&
other.cookie == this.cookie &&
other.accessToken == this.accessToken &&
other.expiration == this.expiration);
}
class AuthenticationTableCompanion
extends UpdateCompanion<AuthenticationTableData> {
final Value<int> id;
final Value<String> cookie;
final Value<String> accessToken;
final Value<DateTime> expiration;
const AuthenticationTableCompanion({
this.id = const Value.absent(),
this.cookie = const Value.absent(),
this.accessToken = const Value.absent(),
this.expiration = const Value.absent(),
});
AuthenticationTableCompanion.insert({
this.id = const Value.absent(),
required String cookie,
required String accessToken,
required DateTime expiration,
}) : cookie = Value(cookie),
accessToken = Value(accessToken),
expiration = Value(expiration);
static Insertable<AuthenticationTableData> custom({
Expression<int>? id,
Expression<String>? cookie,
Expression<String>? accessToken,
Expression<DateTime>? expiration,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (cookie != null) 'cookie': cookie,
if (accessToken != null) 'access_token': accessToken,
if (expiration != null) 'expiration': expiration,
});
}
AuthenticationTableCompanion copyWith(
{Value<int>? id,
Value<String>? cookie,
Value<String>? accessToken,
Value<DateTime>? expiration}) {
return AuthenticationTableCompanion(
id: id ?? this.id,
cookie: cookie ?? this.cookie,
accessToken: accessToken ?? this.accessToken,
expiration: expiration ?? this.expiration,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (cookie.present) {
map['cookie'] = Variable<String>(cookie.value);
}
if (accessToken.present) {
map['access_token'] = Variable<String>(accessToken.value);
}
if (expiration.present) {
map['expiration'] = Variable<DateTime>(expiration.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('AuthenticationTableCompanion(')
..write('id: $id, ')
..write('cookie: $cookie, ')
..write('accessToken: $accessToken, ')
..write('expiration: $expiration')
..write(')'))
.toString();
}
}
class BlacklistTable extends Table
with TableInfo<BlacklistTable, BlacklistTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
BlacklistTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<String> name = GeneratedColumn<String>(
'name', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> elementType = GeneratedColumn<String>(
'element_type', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> elementId = GeneratedColumn<String>(
'element_id', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
@override
List<GeneratedColumn> get $columns => [id, name, elementType, elementId];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'blacklist_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
BlacklistTableData map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return BlacklistTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
name: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}name'])!,
elementType: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}element_type'])!,
elementId: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}element_id'])!,
);
}
@override
BlacklistTable createAlias(String alias) {
return BlacklistTable(attachedDatabase, alias);
}
}
class BlacklistTableData extends DataClass
implements Insertable<BlacklistTableData> {
final int id;
final String name;
final String elementType;
final String elementId;
const BlacklistTableData(
{required this.id,
required this.name,
required this.elementType,
required this.elementId});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['name'] = Variable<String>(name);
map['element_type'] = Variable<String>(elementType);
map['element_id'] = Variable<String>(elementId);
return map;
}
BlacklistTableCompanion toCompanion(bool nullToAbsent) {
return BlacklistTableCompanion(
id: Value(id),
name: Value(name),
elementType: Value(elementType),
elementId: Value(elementId),
);
}
factory BlacklistTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return BlacklistTableData(
id: serializer.fromJson<int>(json['id']),
name: serializer.fromJson<String>(json['name']),
elementType: serializer.fromJson<String>(json['elementType']),
elementId: serializer.fromJson<String>(json['elementId']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'name': serializer.toJson<String>(name),
'elementType': serializer.toJson<String>(elementType),
'elementId': serializer.toJson<String>(elementId),
};
}
BlacklistTableData copyWith(
{int? id, String? name, String? elementType, String? elementId}) =>
BlacklistTableData(
id: id ?? this.id,
name: name ?? this.name,
elementType: elementType ?? this.elementType,
elementId: elementId ?? this.elementId,
);
BlacklistTableData copyWithCompanion(BlacklistTableCompanion data) {
return BlacklistTableData(
id: data.id.present ? data.id.value : this.id,
name: data.name.present ? data.name.value : this.name,
elementType:
data.elementType.present ? data.elementType.value : this.elementType,
elementId: data.elementId.present ? data.elementId.value : this.elementId,
);
}
@override
String toString() {
return (StringBuffer('BlacklistTableData(')
..write('id: $id, ')
..write('name: $name, ')
..write('elementType: $elementType, ')
..write('elementId: $elementId')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, name, elementType, elementId);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is BlacklistTableData &&
other.id == this.id &&
other.name == this.name &&
other.elementType == this.elementType &&
other.elementId == this.elementId);
}
class BlacklistTableCompanion extends UpdateCompanion<BlacklistTableData> {
final Value<int> id;
final Value<String> name;
final Value<String> elementType;
final Value<String> elementId;
const BlacklistTableCompanion({
this.id = const Value.absent(),
this.name = const Value.absent(),
this.elementType = const Value.absent(),
this.elementId = const Value.absent(),
});
BlacklistTableCompanion.insert({
this.id = const Value.absent(),
required String name,
required String elementType,
required String elementId,
}) : name = Value(name),
elementType = Value(elementType),
elementId = Value(elementId);
static Insertable<BlacklistTableData> custom({
Expression<int>? id,
Expression<String>? name,
Expression<String>? elementType,
Expression<String>? elementId,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (name != null) 'name': name,
if (elementType != null) 'element_type': elementType,
if (elementId != null) 'element_id': elementId,
});
}
BlacklistTableCompanion copyWith(
{Value<int>? id,
Value<String>? name,
Value<String>? elementType,
Value<String>? elementId}) {
return BlacklistTableCompanion(
id: id ?? this.id,
name: name ?? this.name,
elementType: elementType ?? this.elementType,
elementId: elementId ?? this.elementId,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (name.present) {
map['name'] = Variable<String>(name.value);
}
if (elementType.present) {
map['element_type'] = Variable<String>(elementType.value);
}
if (elementId.present) {
map['element_id'] = Variable<String>(elementId.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('BlacklistTableCompanion(')
..write('id: $id, ')
..write('name: $name, ')
..write('elementType: $elementType, ')
..write('elementId: $elementId')
..write(')'))
.toString();
}
}
class PreferencesTable extends Table
with TableInfo<PreferencesTable, PreferencesTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
PreferencesTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<String> audioQuality = GeneratedColumn<String>(
'audio_quality', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(SourceQualities.high.name));
late final GeneratedColumn<bool> albumColorSync = GeneratedColumn<bool>(
'album_color_sync', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("album_color_sync" IN (0, 1))'),
defaultValue: const Constant(true));
late final GeneratedColumn<bool> amoledDarkTheme = GeneratedColumn<bool>(
'amoled_dark_theme', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("amoled_dark_theme" IN (0, 1))'),
defaultValue: const Constant(false));
late final GeneratedColumn<bool> checkUpdate = GeneratedColumn<bool>(
'check_update', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("check_update" IN (0, 1))'),
defaultValue: const Constant(true));
late final GeneratedColumn<bool> normalizeAudio = GeneratedColumn<bool>(
'normalize_audio', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("normalize_audio" IN (0, 1))'),
defaultValue: const Constant(false));
late final GeneratedColumn<bool> showSystemTrayIcon = GeneratedColumn<bool>(
'show_system_tray_icon', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("show_system_tray_icon" IN (0, 1))'),
defaultValue: const Constant(false));
late final GeneratedColumn<bool> systemTitleBar = GeneratedColumn<bool>(
'system_title_bar', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("system_title_bar" IN (0, 1))'),
defaultValue: const Constant(false));
late final GeneratedColumn<bool> skipNonMusic = GeneratedColumn<bool>(
'skip_non_music', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("skip_non_music" IN (0, 1))'),
defaultValue: const Constant(false));
late final GeneratedColumn<String> closeBehavior = GeneratedColumn<String>(
'close_behavior', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(CloseBehavior.close.name));
late final GeneratedColumn<String> accentColorScheme =
GeneratedColumn<String>('accent_color_scheme', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: const Constant("Orange:0xFFf97315"));
late final GeneratedColumn<String> layoutMode = GeneratedColumn<String>(
'layout_mode', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(LayoutMode.adaptive.name));
late final GeneratedColumn<String> locale = GeneratedColumn<String>(
'locale', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue:
const Constant('{"languageCode":"system","countryCode":"system"}'));
late final GeneratedColumn<String> market = GeneratedColumn<String>(
'market', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(Market.US.name));
late final GeneratedColumn<String> searchMode = GeneratedColumn<String>(
'search_mode', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(SearchMode.youtube.name));
late final GeneratedColumn<String> downloadLocation = GeneratedColumn<String>(
'download_location', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: const Constant(""));
late final GeneratedColumn<String> localLibraryLocation =
GeneratedColumn<String>('local_library_location', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: const Constant(""));
late final GeneratedColumn<String> pipedInstance = GeneratedColumn<String>(
'piped_instance', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: const Constant("https://pipedapi.kavin.rocks"));
late final GeneratedColumn<String> invidiousInstance =
GeneratedColumn<String>('invidious_instance', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: const Constant("https://inv.nadeko.net"));
late final GeneratedColumn<String> themeMode = GeneratedColumn<String>(
'theme_mode', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(ThemeMode.system.name));
late final GeneratedColumn<String> audioSource = GeneratedColumn<String>(
'audio_source', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(AudioSource.youtube.name));
late final GeneratedColumn<String> youtubeClientEngine =
GeneratedColumn<String>('youtube_client_engine', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(YoutubeClientEngine.youtubeExplode.name));
late final GeneratedColumn<String> streamMusicCodec = GeneratedColumn<String>(
'stream_music_codec', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(SourceCodecs.weba.name));
late final GeneratedColumn<String> downloadMusicCodec =
GeneratedColumn<String>('download_music_codec', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(SourceCodecs.m4a.name));
late final GeneratedColumn<bool> discordPresence = GeneratedColumn<bool>(
'discord_presence', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("discord_presence" IN (0, 1))'),
defaultValue: const Constant(true));
late final GeneratedColumn<bool> endlessPlayback = GeneratedColumn<bool>(
'endless_playback', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("endless_playback" IN (0, 1))'),
defaultValue: const Constant(true));
late final GeneratedColumn<bool> enableConnect = GeneratedColumn<bool>(
'enable_connect', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("enable_connect" IN (0, 1))'),
defaultValue: const Constant(false));
late final GeneratedColumn<int> connectPort = GeneratedColumn<int>(
'connect_port', aliasedName, false,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultValue: const Constant(-1));
late final GeneratedColumn<bool> cacheMusic = GeneratedColumn<bool>(
'cache_music', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('CHECK ("cache_music" IN (0, 1))'),
defaultValue: const Constant(true));
@override
List<GeneratedColumn> get $columns => [
id,
audioQuality,
albumColorSync,
amoledDarkTheme,
checkUpdate,
normalizeAudio,
showSystemTrayIcon,
systemTitleBar,
skipNonMusic,
closeBehavior,
accentColorScheme,
layoutMode,
locale,
market,
searchMode,
downloadLocation,
localLibraryLocation,
pipedInstance,
invidiousInstance,
themeMode,
audioSource,
youtubeClientEngine,
streamMusicCodec,
downloadMusicCodec,
discordPresence,
endlessPlayback,
enableConnect,
connectPort,
cacheMusic
];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'preferences_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
PreferencesTableData map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return PreferencesTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
audioQuality: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}audio_quality'])!,
albumColorSync: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}album_color_sync'])!,
amoledDarkTheme: attachedDatabase.typeMapping.read(
DriftSqlType.bool, data['${effectivePrefix}amoled_dark_theme'])!,
checkUpdate: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}check_update'])!,
normalizeAudio: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}normalize_audio'])!,
showSystemTrayIcon: attachedDatabase.typeMapping.read(
DriftSqlType.bool, data['${effectivePrefix}show_system_tray_icon'])!,
systemTitleBar: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}system_title_bar'])!,
skipNonMusic: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}skip_non_music'])!,
closeBehavior: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}close_behavior'])!,
accentColorScheme: attachedDatabase.typeMapping.read(
DriftSqlType.string, data['${effectivePrefix}accent_color_scheme'])!,
layoutMode: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}layout_mode'])!,
locale: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}locale'])!,
market: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}market'])!,
searchMode: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}search_mode'])!,
downloadLocation: attachedDatabase.typeMapping.read(
DriftSqlType.string, data['${effectivePrefix}download_location'])!,
localLibraryLocation: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}local_library_location'])!,
pipedInstance: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}piped_instance'])!,
invidiousInstance: attachedDatabase.typeMapping.read(
DriftSqlType.string, data['${effectivePrefix}invidious_instance'])!,
themeMode: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}theme_mode'])!,
audioSource: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}audio_source'])!,
youtubeClientEngine: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}youtube_client_engine'])!,
streamMusicCodec: attachedDatabase.typeMapping.read(
DriftSqlType.string, data['${effectivePrefix}stream_music_codec'])!,
downloadMusicCodec: attachedDatabase.typeMapping.read(
DriftSqlType.string, data['${effectivePrefix}download_music_codec'])!,
discordPresence: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}discord_presence'])!,
endlessPlayback: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}endless_playback'])!,
enableConnect: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}enable_connect'])!,
connectPort: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}connect_port'])!,
cacheMusic: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}cache_music'])!,
);
}
@override
PreferencesTable createAlias(String alias) {
return PreferencesTable(attachedDatabase, alias);
}
}
class PreferencesTableData extends DataClass
implements Insertable<PreferencesTableData> {
final int id;
final String audioQuality;
final bool albumColorSync;
final bool amoledDarkTheme;
final bool checkUpdate;
final bool normalizeAudio;
final bool showSystemTrayIcon;
final bool systemTitleBar;
final bool skipNonMusic;
final String closeBehavior;
final String accentColorScheme;
final String layoutMode;
final String locale;
final String market;
final String searchMode;
final String downloadLocation;
final String localLibraryLocation;
final String pipedInstance;
final String invidiousInstance;
final String themeMode;
final String audioSource;
final String youtubeClientEngine;
final String streamMusicCodec;
final String downloadMusicCodec;
final bool discordPresence;
final bool endlessPlayback;
final bool enableConnect;
final int connectPort;
final bool cacheMusic;
const PreferencesTableData(
{required this.id,
required this.audioQuality,
required this.albumColorSync,
required this.amoledDarkTheme,
required this.checkUpdate,
required this.normalizeAudio,
required this.showSystemTrayIcon,
required this.systemTitleBar,
required this.skipNonMusic,
required this.closeBehavior,
required this.accentColorScheme,
required this.layoutMode,
required this.locale,
required this.market,
required this.searchMode,
required this.downloadLocation,
required this.localLibraryLocation,
required this.pipedInstance,
required this.invidiousInstance,
required this.themeMode,
required this.audioSource,
required this.youtubeClientEngine,
required this.streamMusicCodec,
required this.downloadMusicCodec,
required this.discordPresence,
required this.endlessPlayback,
required this.enableConnect,
required this.connectPort,
required this.cacheMusic});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['audio_quality'] = Variable<String>(audioQuality);
map['album_color_sync'] = Variable<bool>(albumColorSync);
map['amoled_dark_theme'] = Variable<bool>(amoledDarkTheme);
map['check_update'] = Variable<bool>(checkUpdate);
map['normalize_audio'] = Variable<bool>(normalizeAudio);
map['show_system_tray_icon'] = Variable<bool>(showSystemTrayIcon);
map['system_title_bar'] = Variable<bool>(systemTitleBar);
map['skip_non_music'] = Variable<bool>(skipNonMusic);
map['close_behavior'] = Variable<String>(closeBehavior);
map['accent_color_scheme'] = Variable<String>(accentColorScheme);
map['layout_mode'] = Variable<String>(layoutMode);
map['locale'] = Variable<String>(locale);
map['market'] = Variable<String>(market);
map['search_mode'] = Variable<String>(searchMode);
map['download_location'] = Variable<String>(downloadLocation);
map['local_library_location'] = Variable<String>(localLibraryLocation);
map['piped_instance'] = Variable<String>(pipedInstance);
map['invidious_instance'] = Variable<String>(invidiousInstance);
map['theme_mode'] = Variable<String>(themeMode);
map['audio_source'] = Variable<String>(audioSource);
map['youtube_client_engine'] = Variable<String>(youtubeClientEngine);
map['stream_music_codec'] = Variable<String>(streamMusicCodec);
map['download_music_codec'] = Variable<String>(downloadMusicCodec);
map['discord_presence'] = Variable<bool>(discordPresence);
map['endless_playback'] = Variable<bool>(endlessPlayback);
map['enable_connect'] = Variable<bool>(enableConnect);
map['connect_port'] = Variable<int>(connectPort);
map['cache_music'] = Variable<bool>(cacheMusic);
return map;
}
PreferencesTableCompanion toCompanion(bool nullToAbsent) {
return PreferencesTableCompanion(
id: Value(id),
audioQuality: Value(audioQuality),
albumColorSync: Value(albumColorSync),
amoledDarkTheme: Value(amoledDarkTheme),
checkUpdate: Value(checkUpdate),
normalizeAudio: Value(normalizeAudio),
showSystemTrayIcon: Value(showSystemTrayIcon),
systemTitleBar: Value(systemTitleBar),
skipNonMusic: Value(skipNonMusic),
closeBehavior: Value(closeBehavior),
accentColorScheme: Value(accentColorScheme),
layoutMode: Value(layoutMode),
locale: Value(locale),
market: Value(market),
searchMode: Value(searchMode),
downloadLocation: Value(downloadLocation),
localLibraryLocation: Value(localLibraryLocation),
pipedInstance: Value(pipedInstance),
invidiousInstance: Value(invidiousInstance),
themeMode: Value(themeMode),
audioSource: Value(audioSource),
youtubeClientEngine: Value(youtubeClientEngine),
streamMusicCodec: Value(streamMusicCodec),
downloadMusicCodec: Value(downloadMusicCodec),
discordPresence: Value(discordPresence),
endlessPlayback: Value(endlessPlayback),
enableConnect: Value(enableConnect),
connectPort: Value(connectPort),
cacheMusic: Value(cacheMusic),
);
}
factory PreferencesTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return PreferencesTableData(
id: serializer.fromJson<int>(json['id']),
audioQuality: serializer.fromJson<String>(json['audioQuality']),
albumColorSync: serializer.fromJson<bool>(json['albumColorSync']),
amoledDarkTheme: serializer.fromJson<bool>(json['amoledDarkTheme']),
checkUpdate: serializer.fromJson<bool>(json['checkUpdate']),
normalizeAudio: serializer.fromJson<bool>(json['normalizeAudio']),
showSystemTrayIcon: serializer.fromJson<bool>(json['showSystemTrayIcon']),
systemTitleBar: serializer.fromJson<bool>(json['systemTitleBar']),
skipNonMusic: serializer.fromJson<bool>(json['skipNonMusic']),
closeBehavior: serializer.fromJson<String>(json['closeBehavior']),
accentColorScheme: serializer.fromJson<String>(json['accentColorScheme']),
layoutMode: serializer.fromJson<String>(json['layoutMode']),
locale: serializer.fromJson<String>(json['locale']),
market: serializer.fromJson<String>(json['market']),
searchMode: serializer.fromJson<String>(json['searchMode']),
downloadLocation: serializer.fromJson<String>(json['downloadLocation']),
localLibraryLocation:
serializer.fromJson<String>(json['localLibraryLocation']),
pipedInstance: serializer.fromJson<String>(json['pipedInstance']),
invidiousInstance: serializer.fromJson<String>(json['invidiousInstance']),
themeMode: serializer.fromJson<String>(json['themeMode']),
audioSource: serializer.fromJson<String>(json['audioSource']),
youtubeClientEngine:
serializer.fromJson<String>(json['youtubeClientEngine']),
streamMusicCodec: serializer.fromJson<String>(json['streamMusicCodec']),
downloadMusicCodec:
serializer.fromJson<String>(json['downloadMusicCodec']),
discordPresence: serializer.fromJson<bool>(json['discordPresence']),
endlessPlayback: serializer.fromJson<bool>(json['endlessPlayback']),
enableConnect: serializer.fromJson<bool>(json['enableConnect']),
connectPort: serializer.fromJson<int>(json['connectPort']),
cacheMusic: serializer.fromJson<bool>(json['cacheMusic']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'audioQuality': serializer.toJson<String>(audioQuality),
'albumColorSync': serializer.toJson<bool>(albumColorSync),
'amoledDarkTheme': serializer.toJson<bool>(amoledDarkTheme),
'checkUpdate': serializer.toJson<bool>(checkUpdate),
'normalizeAudio': serializer.toJson<bool>(normalizeAudio),
'showSystemTrayIcon': serializer.toJson<bool>(showSystemTrayIcon),
'systemTitleBar': serializer.toJson<bool>(systemTitleBar),
'skipNonMusic': serializer.toJson<bool>(skipNonMusic),
'closeBehavior': serializer.toJson<String>(closeBehavior),
'accentColorScheme': serializer.toJson<String>(accentColorScheme),
'layoutMode': serializer.toJson<String>(layoutMode),
'locale': serializer.toJson<String>(locale),
'market': serializer.toJson<String>(market),
'searchMode': serializer.toJson<String>(searchMode),
'downloadLocation': serializer.toJson<String>(downloadLocation),
'localLibraryLocation': serializer.toJson<String>(localLibraryLocation),
'pipedInstance': serializer.toJson<String>(pipedInstance),
'invidiousInstance': serializer.toJson<String>(invidiousInstance),
'themeMode': serializer.toJson<String>(themeMode),
'audioSource': serializer.toJson<String>(audioSource),
'youtubeClientEngine': serializer.toJson<String>(youtubeClientEngine),
'streamMusicCodec': serializer.toJson<String>(streamMusicCodec),
'downloadMusicCodec': serializer.toJson<String>(downloadMusicCodec),
'discordPresence': serializer.toJson<bool>(discordPresence),
'endlessPlayback': serializer.toJson<bool>(endlessPlayback),
'enableConnect': serializer.toJson<bool>(enableConnect),
'connectPort': serializer.toJson<int>(connectPort),
'cacheMusic': serializer.toJson<bool>(cacheMusic),
};
}
PreferencesTableData copyWith(
{int? id,
String? audioQuality,
bool? albumColorSync,
bool? amoledDarkTheme,
bool? checkUpdate,
bool? normalizeAudio,
bool? showSystemTrayIcon,
bool? systemTitleBar,
bool? skipNonMusic,
String? closeBehavior,
String? accentColorScheme,
String? layoutMode,
String? locale,
String? market,
String? searchMode,
String? downloadLocation,
String? localLibraryLocation,
String? pipedInstance,
String? invidiousInstance,
String? themeMode,
String? audioSource,
String? youtubeClientEngine,
String? streamMusicCodec,
String? downloadMusicCodec,
bool? discordPresence,
bool? endlessPlayback,
bool? enableConnect,
int? connectPort,
bool? cacheMusic}) =>
PreferencesTableData(
id: id ?? this.id,
audioQuality: audioQuality ?? this.audioQuality,
albumColorSync: albumColorSync ?? this.albumColorSync,
amoledDarkTheme: amoledDarkTheme ?? this.amoledDarkTheme,
checkUpdate: checkUpdate ?? this.checkUpdate,
normalizeAudio: normalizeAudio ?? this.normalizeAudio,
showSystemTrayIcon: showSystemTrayIcon ?? this.showSystemTrayIcon,
systemTitleBar: systemTitleBar ?? this.systemTitleBar,
skipNonMusic: skipNonMusic ?? this.skipNonMusic,
closeBehavior: closeBehavior ?? this.closeBehavior,
accentColorScheme: accentColorScheme ?? this.accentColorScheme,
layoutMode: layoutMode ?? this.layoutMode,
locale: locale ?? this.locale,
market: market ?? this.market,
searchMode: searchMode ?? this.searchMode,
downloadLocation: downloadLocation ?? this.downloadLocation,
localLibraryLocation: localLibraryLocation ?? this.localLibraryLocation,
pipedInstance: pipedInstance ?? this.pipedInstance,
invidiousInstance: invidiousInstance ?? this.invidiousInstance,
themeMode: themeMode ?? this.themeMode,
audioSource: audioSource ?? this.audioSource,
youtubeClientEngine: youtubeClientEngine ?? this.youtubeClientEngine,
streamMusicCodec: streamMusicCodec ?? this.streamMusicCodec,
downloadMusicCodec: downloadMusicCodec ?? this.downloadMusicCodec,
discordPresence: discordPresence ?? this.discordPresence,
endlessPlayback: endlessPlayback ?? this.endlessPlayback,
enableConnect: enableConnect ?? this.enableConnect,
connectPort: connectPort ?? this.connectPort,
cacheMusic: cacheMusic ?? this.cacheMusic,
);
PreferencesTableData copyWithCompanion(PreferencesTableCompanion data) {
return PreferencesTableData(
id: data.id.present ? data.id.value : this.id,
audioQuality: data.audioQuality.present
? data.audioQuality.value
: this.audioQuality,
albumColorSync: data.albumColorSync.present
? data.albumColorSync.value
: this.albumColorSync,
amoledDarkTheme: data.amoledDarkTheme.present
? data.amoledDarkTheme.value
: this.amoledDarkTheme,
checkUpdate:
data.checkUpdate.present ? data.checkUpdate.value : this.checkUpdate,
normalizeAudio: data.normalizeAudio.present
? data.normalizeAudio.value
: this.normalizeAudio,
showSystemTrayIcon: data.showSystemTrayIcon.present
? data.showSystemTrayIcon.value
: this.showSystemTrayIcon,
systemTitleBar: data.systemTitleBar.present
? data.systemTitleBar.value
: this.systemTitleBar,
skipNonMusic: data.skipNonMusic.present
? data.skipNonMusic.value
: this.skipNonMusic,
closeBehavior: data.closeBehavior.present
? data.closeBehavior.value
: this.closeBehavior,
accentColorScheme: data.accentColorScheme.present
? data.accentColorScheme.value
: this.accentColorScheme,
layoutMode:
data.layoutMode.present ? data.layoutMode.value : this.layoutMode,
locale: data.locale.present ? data.locale.value : this.locale,
market: data.market.present ? data.market.value : this.market,
searchMode:
data.searchMode.present ? data.searchMode.value : this.searchMode,
downloadLocation: data.downloadLocation.present
? data.downloadLocation.value
: this.downloadLocation,
localLibraryLocation: data.localLibraryLocation.present
? data.localLibraryLocation.value
: this.localLibraryLocation,
pipedInstance: data.pipedInstance.present
? data.pipedInstance.value
: this.pipedInstance,
invidiousInstance: data.invidiousInstance.present
? data.invidiousInstance.value
: this.invidiousInstance,
themeMode: data.themeMode.present ? data.themeMode.value : this.themeMode,
audioSource:
data.audioSource.present ? data.audioSource.value : this.audioSource,
youtubeClientEngine: data.youtubeClientEngine.present
? data.youtubeClientEngine.value
: this.youtubeClientEngine,
streamMusicCodec: data.streamMusicCodec.present
? data.streamMusicCodec.value
: this.streamMusicCodec,
downloadMusicCodec: data.downloadMusicCodec.present
? data.downloadMusicCodec.value
: this.downloadMusicCodec,
discordPresence: data.discordPresence.present
? data.discordPresence.value
: this.discordPresence,
endlessPlayback: data.endlessPlayback.present
? data.endlessPlayback.value
: this.endlessPlayback,
enableConnect: data.enableConnect.present
? data.enableConnect.value
: this.enableConnect,
connectPort:
data.connectPort.present ? data.connectPort.value : this.connectPort,
cacheMusic:
data.cacheMusic.present ? data.cacheMusic.value : this.cacheMusic,
);
}
@override
String toString() {
return (StringBuffer('PreferencesTableData(')
..write('id: $id, ')
..write('audioQuality: $audioQuality, ')
..write('albumColorSync: $albumColorSync, ')
..write('amoledDarkTheme: $amoledDarkTheme, ')
..write('checkUpdate: $checkUpdate, ')
..write('normalizeAudio: $normalizeAudio, ')
..write('showSystemTrayIcon: $showSystemTrayIcon, ')
..write('systemTitleBar: $systemTitleBar, ')
..write('skipNonMusic: $skipNonMusic, ')
..write('closeBehavior: $closeBehavior, ')
..write('accentColorScheme: $accentColorScheme, ')
..write('layoutMode: $layoutMode, ')
..write('locale: $locale, ')
..write('market: $market, ')
..write('searchMode: $searchMode, ')
..write('downloadLocation: $downloadLocation, ')
..write('localLibraryLocation: $localLibraryLocation, ')
..write('pipedInstance: $pipedInstance, ')
..write('invidiousInstance: $invidiousInstance, ')
..write('themeMode: $themeMode, ')
..write('audioSource: $audioSource, ')
..write('youtubeClientEngine: $youtubeClientEngine, ')
..write('streamMusicCodec: $streamMusicCodec, ')
..write('downloadMusicCodec: $downloadMusicCodec, ')
..write('discordPresence: $discordPresence, ')
..write('endlessPlayback: $endlessPlayback, ')
..write('enableConnect: $enableConnect, ')
..write('connectPort: $connectPort, ')
..write('cacheMusic: $cacheMusic')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hashAll([
id,
audioQuality,
albumColorSync,
amoledDarkTheme,
checkUpdate,
normalizeAudio,
showSystemTrayIcon,
systemTitleBar,
skipNonMusic,
closeBehavior,
accentColorScheme,
layoutMode,
locale,
market,
searchMode,
downloadLocation,
localLibraryLocation,
pipedInstance,
invidiousInstance,
themeMode,
audioSource,
youtubeClientEngine,
streamMusicCodec,
downloadMusicCodec,
discordPresence,
endlessPlayback,
enableConnect,
connectPort,
cacheMusic
]);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is PreferencesTableData &&
other.id == this.id &&
other.audioQuality == this.audioQuality &&
other.albumColorSync == this.albumColorSync &&
other.amoledDarkTheme == this.amoledDarkTheme &&
other.checkUpdate == this.checkUpdate &&
other.normalizeAudio == this.normalizeAudio &&
other.showSystemTrayIcon == this.showSystemTrayIcon &&
other.systemTitleBar == this.systemTitleBar &&
other.skipNonMusic == this.skipNonMusic &&
other.closeBehavior == this.closeBehavior &&
other.accentColorScheme == this.accentColorScheme &&
other.layoutMode == this.layoutMode &&
other.locale == this.locale &&
other.market == this.market &&
other.searchMode == this.searchMode &&
other.downloadLocation == this.downloadLocation &&
other.localLibraryLocation == this.localLibraryLocation &&
other.pipedInstance == this.pipedInstance &&
other.invidiousInstance == this.invidiousInstance &&
other.themeMode == this.themeMode &&
other.audioSource == this.audioSource &&
other.youtubeClientEngine == this.youtubeClientEngine &&
other.streamMusicCodec == this.streamMusicCodec &&
other.downloadMusicCodec == this.downloadMusicCodec &&
other.discordPresence == this.discordPresence &&
other.endlessPlayback == this.endlessPlayback &&
other.enableConnect == this.enableConnect &&
other.connectPort == this.connectPort &&
other.cacheMusic == this.cacheMusic);
}
class PreferencesTableCompanion extends UpdateCompanion<PreferencesTableData> {
final Value<int> id;
final Value<String> audioQuality;
final Value<bool> albumColorSync;
final Value<bool> amoledDarkTheme;
final Value<bool> checkUpdate;
final Value<bool> normalizeAudio;
final Value<bool> showSystemTrayIcon;
final Value<bool> systemTitleBar;
final Value<bool> skipNonMusic;
final Value<String> closeBehavior;
final Value<String> accentColorScheme;
final Value<String> layoutMode;
final Value<String> locale;
final Value<String> market;
final Value<String> searchMode;
final Value<String> downloadLocation;
final Value<String> localLibraryLocation;
final Value<String> pipedInstance;
final Value<String> invidiousInstance;
final Value<String> themeMode;
final Value<String> audioSource;
final Value<String> youtubeClientEngine;
final Value<String> streamMusicCodec;
final Value<String> downloadMusicCodec;
final Value<bool> discordPresence;
final Value<bool> endlessPlayback;
final Value<bool> enableConnect;
final Value<int> connectPort;
final Value<bool> cacheMusic;
const PreferencesTableCompanion({
this.id = const Value.absent(),
this.audioQuality = const Value.absent(),
this.albumColorSync = const Value.absent(),
this.amoledDarkTheme = const Value.absent(),
this.checkUpdate = const Value.absent(),
this.normalizeAudio = const Value.absent(),
this.showSystemTrayIcon = const Value.absent(),
this.systemTitleBar = const Value.absent(),
this.skipNonMusic = const Value.absent(),
this.closeBehavior = const Value.absent(),
this.accentColorScheme = const Value.absent(),
this.layoutMode = const Value.absent(),
this.locale = const Value.absent(),
this.market = const Value.absent(),
this.searchMode = const Value.absent(),
this.downloadLocation = const Value.absent(),
this.localLibraryLocation = const Value.absent(),
this.pipedInstance = const Value.absent(),
this.invidiousInstance = const Value.absent(),
this.themeMode = const Value.absent(),
this.audioSource = const Value.absent(),
this.youtubeClientEngine = const Value.absent(),
this.streamMusicCodec = const Value.absent(),
this.downloadMusicCodec = const Value.absent(),
this.discordPresence = const Value.absent(),
this.endlessPlayback = const Value.absent(),
this.enableConnect = const Value.absent(),
this.connectPort = const Value.absent(),
this.cacheMusic = const Value.absent(),
});
PreferencesTableCompanion.insert({
this.id = const Value.absent(),
this.audioQuality = const Value.absent(),
this.albumColorSync = const Value.absent(),
this.amoledDarkTheme = const Value.absent(),
this.checkUpdate = const Value.absent(),
this.normalizeAudio = const Value.absent(),
this.showSystemTrayIcon = const Value.absent(),
this.systemTitleBar = const Value.absent(),
this.skipNonMusic = const Value.absent(),
this.closeBehavior = const Value.absent(),
this.accentColorScheme = const Value.absent(),
this.layoutMode = const Value.absent(),
this.locale = const Value.absent(),
this.market = const Value.absent(),
this.searchMode = const Value.absent(),
this.downloadLocation = const Value.absent(),
this.localLibraryLocation = const Value.absent(),
this.pipedInstance = const Value.absent(),
this.invidiousInstance = const Value.absent(),
this.themeMode = const Value.absent(),
this.audioSource = const Value.absent(),
this.youtubeClientEngine = const Value.absent(),
this.streamMusicCodec = const Value.absent(),
this.downloadMusicCodec = const Value.absent(),
this.discordPresence = const Value.absent(),
this.endlessPlayback = const Value.absent(),
this.enableConnect = const Value.absent(),
this.connectPort = const Value.absent(),
this.cacheMusic = const Value.absent(),
});
static Insertable<PreferencesTableData> custom({
Expression<int>? id,
Expression<String>? audioQuality,
Expression<bool>? albumColorSync,
Expression<bool>? amoledDarkTheme,
Expression<bool>? checkUpdate,
Expression<bool>? normalizeAudio,
Expression<bool>? showSystemTrayIcon,
Expression<bool>? systemTitleBar,
Expression<bool>? skipNonMusic,
Expression<String>? closeBehavior,
Expression<String>? accentColorScheme,
Expression<String>? layoutMode,
Expression<String>? locale,
Expression<String>? market,
Expression<String>? searchMode,
Expression<String>? downloadLocation,
Expression<String>? localLibraryLocation,
Expression<String>? pipedInstance,
Expression<String>? invidiousInstance,
Expression<String>? themeMode,
Expression<String>? audioSource,
Expression<String>? youtubeClientEngine,
Expression<String>? streamMusicCodec,
Expression<String>? downloadMusicCodec,
Expression<bool>? discordPresence,
Expression<bool>? endlessPlayback,
Expression<bool>? enableConnect,
Expression<int>? connectPort,
Expression<bool>? cacheMusic,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (audioQuality != null) 'audio_quality': audioQuality,
if (albumColorSync != null) 'album_color_sync': albumColorSync,
if (amoledDarkTheme != null) 'amoled_dark_theme': amoledDarkTheme,
if (checkUpdate != null) 'check_update': checkUpdate,
if (normalizeAudio != null) 'normalize_audio': normalizeAudio,
if (showSystemTrayIcon != null)
'show_system_tray_icon': showSystemTrayIcon,
if (systemTitleBar != null) 'system_title_bar': systemTitleBar,
if (skipNonMusic != null) 'skip_non_music': skipNonMusic,
if (closeBehavior != null) 'close_behavior': closeBehavior,
if (accentColorScheme != null) 'accent_color_scheme': accentColorScheme,
if (layoutMode != null) 'layout_mode': layoutMode,
if (locale != null) 'locale': locale,
if (market != null) 'market': market,
if (searchMode != null) 'search_mode': searchMode,
if (downloadLocation != null) 'download_location': downloadLocation,
if (localLibraryLocation != null)
'local_library_location': localLibraryLocation,
if (pipedInstance != null) 'piped_instance': pipedInstance,
if (invidiousInstance != null) 'invidious_instance': invidiousInstance,
if (themeMode != null) 'theme_mode': themeMode,
if (audioSource != null) 'audio_source': audioSource,
if (youtubeClientEngine != null)
'youtube_client_engine': youtubeClientEngine,
if (streamMusicCodec != null) 'stream_music_codec': streamMusicCodec,
if (downloadMusicCodec != null)
'download_music_codec': downloadMusicCodec,
if (discordPresence != null) 'discord_presence': discordPresence,
if (endlessPlayback != null) 'endless_playback': endlessPlayback,
if (enableConnect != null) 'enable_connect': enableConnect,
if (connectPort != null) 'connect_port': connectPort,
if (cacheMusic != null) 'cache_music': cacheMusic,
});
}
PreferencesTableCompanion copyWith(
{Value<int>? id,
Value<String>? audioQuality,
Value<bool>? albumColorSync,
Value<bool>? amoledDarkTheme,
Value<bool>? checkUpdate,
Value<bool>? normalizeAudio,
Value<bool>? showSystemTrayIcon,
Value<bool>? systemTitleBar,
Value<bool>? skipNonMusic,
Value<String>? closeBehavior,
Value<String>? accentColorScheme,
Value<String>? layoutMode,
Value<String>? locale,
Value<String>? market,
Value<String>? searchMode,
Value<String>? downloadLocation,
Value<String>? localLibraryLocation,
Value<String>? pipedInstance,
Value<String>? invidiousInstance,
Value<String>? themeMode,
Value<String>? audioSource,
Value<String>? youtubeClientEngine,
Value<String>? streamMusicCodec,
Value<String>? downloadMusicCodec,
Value<bool>? discordPresence,
Value<bool>? endlessPlayback,
Value<bool>? enableConnect,
Value<int>? connectPort,
Value<bool>? cacheMusic}) {
return PreferencesTableCompanion(
id: id ?? this.id,
audioQuality: audioQuality ?? this.audioQuality,
albumColorSync: albumColorSync ?? this.albumColorSync,
amoledDarkTheme: amoledDarkTheme ?? this.amoledDarkTheme,
checkUpdate: checkUpdate ?? this.checkUpdate,
normalizeAudio: normalizeAudio ?? this.normalizeAudio,
showSystemTrayIcon: showSystemTrayIcon ?? this.showSystemTrayIcon,
systemTitleBar: systemTitleBar ?? this.systemTitleBar,
skipNonMusic: skipNonMusic ?? this.skipNonMusic,
closeBehavior: closeBehavior ?? this.closeBehavior,
accentColorScheme: accentColorScheme ?? this.accentColorScheme,
layoutMode: layoutMode ?? this.layoutMode,
locale: locale ?? this.locale,
market: market ?? this.market,
searchMode: searchMode ?? this.searchMode,
downloadLocation: downloadLocation ?? this.downloadLocation,
localLibraryLocation: localLibraryLocation ?? this.localLibraryLocation,
pipedInstance: pipedInstance ?? this.pipedInstance,
invidiousInstance: invidiousInstance ?? this.invidiousInstance,
themeMode: themeMode ?? this.themeMode,
audioSource: audioSource ?? this.audioSource,
youtubeClientEngine: youtubeClientEngine ?? this.youtubeClientEngine,
streamMusicCodec: streamMusicCodec ?? this.streamMusicCodec,
downloadMusicCodec: downloadMusicCodec ?? this.downloadMusicCodec,
discordPresence: discordPresence ?? this.discordPresence,
endlessPlayback: endlessPlayback ?? this.endlessPlayback,
enableConnect: enableConnect ?? this.enableConnect,
connectPort: connectPort ?? this.connectPort,
cacheMusic: cacheMusic ?? this.cacheMusic,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (audioQuality.present) {
map['audio_quality'] = Variable<String>(audioQuality.value);
}
if (albumColorSync.present) {
map['album_color_sync'] = Variable<bool>(albumColorSync.value);
}
if (amoledDarkTheme.present) {
map['amoled_dark_theme'] = Variable<bool>(amoledDarkTheme.value);
}
if (checkUpdate.present) {
map['check_update'] = Variable<bool>(checkUpdate.value);
}
if (normalizeAudio.present) {
map['normalize_audio'] = Variable<bool>(normalizeAudio.value);
}
if (showSystemTrayIcon.present) {
map['show_system_tray_icon'] = Variable<bool>(showSystemTrayIcon.value);
}
if (systemTitleBar.present) {
map['system_title_bar'] = Variable<bool>(systemTitleBar.value);
}
if (skipNonMusic.present) {
map['skip_non_music'] = Variable<bool>(skipNonMusic.value);
}
if (closeBehavior.present) {
map['close_behavior'] = Variable<String>(closeBehavior.value);
}
if (accentColorScheme.present) {
map['accent_color_scheme'] = Variable<String>(accentColorScheme.value);
}
if (layoutMode.present) {
map['layout_mode'] = Variable<String>(layoutMode.value);
}
if (locale.present) {
map['locale'] = Variable<String>(locale.value);
}
if (market.present) {
map['market'] = Variable<String>(market.value);
}
if (searchMode.present) {
map['search_mode'] = Variable<String>(searchMode.value);
}
if (downloadLocation.present) {
map['download_location'] = Variable<String>(downloadLocation.value);
}
if (localLibraryLocation.present) {
map['local_library_location'] =
Variable<String>(localLibraryLocation.value);
}
if (pipedInstance.present) {
map['piped_instance'] = Variable<String>(pipedInstance.value);
}
if (invidiousInstance.present) {
map['invidious_instance'] = Variable<String>(invidiousInstance.value);
}
if (themeMode.present) {
map['theme_mode'] = Variable<String>(themeMode.value);
}
if (audioSource.present) {
map['audio_source'] = Variable<String>(audioSource.value);
}
if (youtubeClientEngine.present) {
map['youtube_client_engine'] =
Variable<String>(youtubeClientEngine.value);
}
if (streamMusicCodec.present) {
map['stream_music_codec'] = Variable<String>(streamMusicCodec.value);
}
if (downloadMusicCodec.present) {
map['download_music_codec'] = Variable<String>(downloadMusicCodec.value);
}
if (discordPresence.present) {
map['discord_presence'] = Variable<bool>(discordPresence.value);
}
if (endlessPlayback.present) {
map['endless_playback'] = Variable<bool>(endlessPlayback.value);
}
if (enableConnect.present) {
map['enable_connect'] = Variable<bool>(enableConnect.value);
}
if (connectPort.present) {
map['connect_port'] = Variable<int>(connectPort.value);
}
if (cacheMusic.present) {
map['cache_music'] = Variable<bool>(cacheMusic.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('PreferencesTableCompanion(')
..write('id: $id, ')
..write('audioQuality: $audioQuality, ')
..write('albumColorSync: $albumColorSync, ')
..write('amoledDarkTheme: $amoledDarkTheme, ')
..write('checkUpdate: $checkUpdate, ')
..write('normalizeAudio: $normalizeAudio, ')
..write('showSystemTrayIcon: $showSystemTrayIcon, ')
..write('systemTitleBar: $systemTitleBar, ')
..write('skipNonMusic: $skipNonMusic, ')
..write('closeBehavior: $closeBehavior, ')
..write('accentColorScheme: $accentColorScheme, ')
..write('layoutMode: $layoutMode, ')
..write('locale: $locale, ')
..write('market: $market, ')
..write('searchMode: $searchMode, ')
..write('downloadLocation: $downloadLocation, ')
..write('localLibraryLocation: $localLibraryLocation, ')
..write('pipedInstance: $pipedInstance, ')
..write('invidiousInstance: $invidiousInstance, ')
..write('themeMode: $themeMode, ')
..write('audioSource: $audioSource, ')
..write('youtubeClientEngine: $youtubeClientEngine, ')
..write('streamMusicCodec: $streamMusicCodec, ')
..write('downloadMusicCodec: $downloadMusicCodec, ')
..write('discordPresence: $discordPresence, ')
..write('endlessPlayback: $endlessPlayback, ')
..write('enableConnect: $enableConnect, ')
..write('connectPort: $connectPort, ')
..write('cacheMusic: $cacheMusic')
..write(')'))
.toString();
}
}
class ScrobblerTable extends Table
with TableInfo<ScrobblerTable, ScrobblerTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
ScrobblerTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<DateTime> createdAt = GeneratedColumn<DateTime>(
'created_at', aliasedName, false,
type: DriftSqlType.dateTime,
requiredDuringInsert: false,
defaultValue: currentDateAndTime);
late final GeneratedColumn<String> username = GeneratedColumn<String>(
'username', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> passwordHash = GeneratedColumn<String>(
'password_hash', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
@override
List<GeneratedColumn> get $columns => [id, createdAt, username, passwordHash];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'scrobbler_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
ScrobblerTableData map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return ScrobblerTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
createdAt: attachedDatabase.typeMapping
.read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!,
username: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}username'])!,
passwordHash: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}password_hash'])!,
);
}
@override
ScrobblerTable createAlias(String alias) {
return ScrobblerTable(attachedDatabase, alias);
}
}
class ScrobblerTableData extends DataClass
implements Insertable<ScrobblerTableData> {
final int id;
final DateTime createdAt;
final String username;
final String passwordHash;
const ScrobblerTableData(
{required this.id,
required this.createdAt,
required this.username,
required this.passwordHash});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['created_at'] = Variable<DateTime>(createdAt);
map['username'] = Variable<String>(username);
map['password_hash'] = Variable<String>(passwordHash);
return map;
}
ScrobblerTableCompanion toCompanion(bool nullToAbsent) {
return ScrobblerTableCompanion(
id: Value(id),
createdAt: Value(createdAt),
username: Value(username),
passwordHash: Value(passwordHash),
);
}
factory ScrobblerTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return ScrobblerTableData(
id: serializer.fromJson<int>(json['id']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
username: serializer.fromJson<String>(json['username']),
passwordHash: serializer.fromJson<String>(json['passwordHash']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'createdAt': serializer.toJson<DateTime>(createdAt),
'username': serializer.toJson<String>(username),
'passwordHash': serializer.toJson<String>(passwordHash),
};
}
ScrobblerTableData copyWith(
{int? id,
DateTime? createdAt,
String? username,
String? passwordHash}) =>
ScrobblerTableData(
id: id ?? this.id,
createdAt: createdAt ?? this.createdAt,
username: username ?? this.username,
passwordHash: passwordHash ?? this.passwordHash,
);
ScrobblerTableData copyWithCompanion(ScrobblerTableCompanion data) {
return ScrobblerTableData(
id: data.id.present ? data.id.value : this.id,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
username: data.username.present ? data.username.value : this.username,
passwordHash: data.passwordHash.present
? data.passwordHash.value
: this.passwordHash,
);
}
@override
String toString() {
return (StringBuffer('ScrobblerTableData(')
..write('id: $id, ')
..write('createdAt: $createdAt, ')
..write('username: $username, ')
..write('passwordHash: $passwordHash')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, createdAt, username, passwordHash);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is ScrobblerTableData &&
other.id == this.id &&
other.createdAt == this.createdAt &&
other.username == this.username &&
other.passwordHash == this.passwordHash);
}
class ScrobblerTableCompanion extends UpdateCompanion<ScrobblerTableData> {
final Value<int> id;
final Value<DateTime> createdAt;
final Value<String> username;
final Value<String> passwordHash;
const ScrobblerTableCompanion({
this.id = const Value.absent(),
this.createdAt = const Value.absent(),
this.username = const Value.absent(),
this.passwordHash = const Value.absent(),
});
ScrobblerTableCompanion.insert({
this.id = const Value.absent(),
this.createdAt = const Value.absent(),
required String username,
required String passwordHash,
}) : username = Value(username),
passwordHash = Value(passwordHash);
static Insertable<ScrobblerTableData> custom({
Expression<int>? id,
Expression<DateTime>? createdAt,
Expression<String>? username,
Expression<String>? passwordHash,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (createdAt != null) 'created_at': createdAt,
if (username != null) 'username': username,
if (passwordHash != null) 'password_hash': passwordHash,
});
}
ScrobblerTableCompanion copyWith(
{Value<int>? id,
Value<DateTime>? createdAt,
Value<String>? username,
Value<String>? passwordHash}) {
return ScrobblerTableCompanion(
id: id ?? this.id,
createdAt: createdAt ?? this.createdAt,
username: username ?? this.username,
passwordHash: passwordHash ?? this.passwordHash,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (createdAt.present) {
map['created_at'] = Variable<DateTime>(createdAt.value);
}
if (username.present) {
map['username'] = Variable<String>(username.value);
}
if (passwordHash.present) {
map['password_hash'] = Variable<String>(passwordHash.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('ScrobblerTableCompanion(')
..write('id: $id, ')
..write('createdAt: $createdAt, ')
..write('username: $username, ')
..write('passwordHash: $passwordHash')
..write(')'))
.toString();
}
}
class SkipSegmentTable extends Table
with TableInfo<SkipSegmentTable, SkipSegmentTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
SkipSegmentTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<int> start = GeneratedColumn<int>(
'start', aliasedName, false,
type: DriftSqlType.int, requiredDuringInsert: true);
late final GeneratedColumn<int> end = GeneratedColumn<int>(
'end', aliasedName, false,
type: DriftSqlType.int, requiredDuringInsert: true);
late final GeneratedColumn<String> trackId = GeneratedColumn<String>(
'track_id', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<DateTime> createdAt = GeneratedColumn<DateTime>(
'created_at', aliasedName, false,
type: DriftSqlType.dateTime,
requiredDuringInsert: false,
defaultValue: currentDateAndTime);
@override
List<GeneratedColumn> get $columns => [id, start, end, trackId, createdAt];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'skip_segment_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
SkipSegmentTableData map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return SkipSegmentTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
start: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}start'])!,
end: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}end'])!,
trackId: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}track_id'])!,
createdAt: attachedDatabase.typeMapping
.read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!,
);
}
@override
SkipSegmentTable createAlias(String alias) {
return SkipSegmentTable(attachedDatabase, alias);
}
}
class SkipSegmentTableData extends DataClass
implements Insertable<SkipSegmentTableData> {
final int id;
final int start;
final int end;
final String trackId;
final DateTime createdAt;
const SkipSegmentTableData(
{required this.id,
required this.start,
required this.end,
required this.trackId,
required this.createdAt});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['start'] = Variable<int>(start);
map['end'] = Variable<int>(end);
map['track_id'] = Variable<String>(trackId);
map['created_at'] = Variable<DateTime>(createdAt);
return map;
}
SkipSegmentTableCompanion toCompanion(bool nullToAbsent) {
return SkipSegmentTableCompanion(
id: Value(id),
start: Value(start),
end: Value(end),
trackId: Value(trackId),
createdAt: Value(createdAt),
);
}
factory SkipSegmentTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return SkipSegmentTableData(
id: serializer.fromJson<int>(json['id']),
start: serializer.fromJson<int>(json['start']),
end: serializer.fromJson<int>(json['end']),
trackId: serializer.fromJson<String>(json['trackId']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'start': serializer.toJson<int>(start),
'end': serializer.toJson<int>(end),
'trackId': serializer.toJson<String>(trackId),
'createdAt': serializer.toJson<DateTime>(createdAt),
};
}
SkipSegmentTableData copyWith(
{int? id,
int? start,
int? end,
String? trackId,
DateTime? createdAt}) =>
SkipSegmentTableData(
id: id ?? this.id,
start: start ?? this.start,
end: end ?? this.end,
trackId: trackId ?? this.trackId,
createdAt: createdAt ?? this.createdAt,
);
SkipSegmentTableData copyWithCompanion(SkipSegmentTableCompanion data) {
return SkipSegmentTableData(
id: data.id.present ? data.id.value : this.id,
start: data.start.present ? data.start.value : this.start,
end: data.end.present ? data.end.value : this.end,
trackId: data.trackId.present ? data.trackId.value : this.trackId,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
);
}
@override
String toString() {
return (StringBuffer('SkipSegmentTableData(')
..write('id: $id, ')
..write('start: $start, ')
..write('end: $end, ')
..write('trackId: $trackId, ')
..write('createdAt: $createdAt')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, start, end, trackId, createdAt);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is SkipSegmentTableData &&
other.id == this.id &&
other.start == this.start &&
other.end == this.end &&
other.trackId == this.trackId &&
other.createdAt == this.createdAt);
}
class SkipSegmentTableCompanion extends UpdateCompanion<SkipSegmentTableData> {
final Value<int> id;
final Value<int> start;
final Value<int> end;
final Value<String> trackId;
final Value<DateTime> createdAt;
const SkipSegmentTableCompanion({
this.id = const Value.absent(),
this.start = const Value.absent(),
this.end = const Value.absent(),
this.trackId = const Value.absent(),
this.createdAt = const Value.absent(),
});
SkipSegmentTableCompanion.insert({
this.id = const Value.absent(),
required int start,
required int end,
required String trackId,
this.createdAt = const Value.absent(),
}) : start = Value(start),
end = Value(end),
trackId = Value(trackId);
static Insertable<SkipSegmentTableData> custom({
Expression<int>? id,
Expression<int>? start,
Expression<int>? end,
Expression<String>? trackId,
Expression<DateTime>? createdAt,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (start != null) 'start': start,
if (end != null) 'end': end,
if (trackId != null) 'track_id': trackId,
if (createdAt != null) 'created_at': createdAt,
});
}
SkipSegmentTableCompanion copyWith(
{Value<int>? id,
Value<int>? start,
Value<int>? end,
Value<String>? trackId,
Value<DateTime>? createdAt}) {
return SkipSegmentTableCompanion(
id: id ?? this.id,
start: start ?? this.start,
end: end ?? this.end,
trackId: trackId ?? this.trackId,
createdAt: createdAt ?? this.createdAt,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (start.present) {
map['start'] = Variable<int>(start.value);
}
if (end.present) {
map['end'] = Variable<int>(end.value);
}
if (trackId.present) {
map['track_id'] = Variable<String>(trackId.value);
}
if (createdAt.present) {
map['created_at'] = Variable<DateTime>(createdAt.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('SkipSegmentTableCompanion(')
..write('id: $id, ')
..write('start: $start, ')
..write('end: $end, ')
..write('trackId: $trackId, ')
..write('createdAt: $createdAt')
..write(')'))
.toString();
}
}
class SourceMatchTable extends Table
with TableInfo<SourceMatchTable, SourceMatchTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
SourceMatchTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<String> trackId = GeneratedColumn<String>(
'track_id', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> sourceId = GeneratedColumn<String>(
'source_id', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> sourceType = GeneratedColumn<String>(
'source_type', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: Constant(SourceType.youtube.name));
late final GeneratedColumn<DateTime> createdAt = GeneratedColumn<DateTime>(
'created_at', aliasedName, false,
type: DriftSqlType.dateTime,
requiredDuringInsert: false,
defaultValue: currentDateAndTime);
@override
List<GeneratedColumn> get $columns =>
[id, trackId, sourceId, sourceType, createdAt];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'source_match_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
SourceMatchTableData map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return SourceMatchTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
trackId: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}track_id'])!,
sourceId: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}source_id'])!,
sourceType: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}source_type'])!,
createdAt: attachedDatabase.typeMapping
.read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!,
);
}
@override
SourceMatchTable createAlias(String alias) {
return SourceMatchTable(attachedDatabase, alias);
}
}
class SourceMatchTableData extends DataClass
implements Insertable<SourceMatchTableData> {
final int id;
final String trackId;
final String sourceId;
final String sourceType;
final DateTime createdAt;
const SourceMatchTableData(
{required this.id,
required this.trackId,
required this.sourceId,
required this.sourceType,
required this.createdAt});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['track_id'] = Variable<String>(trackId);
map['source_id'] = Variable<String>(sourceId);
map['source_type'] = Variable<String>(sourceType);
map['created_at'] = Variable<DateTime>(createdAt);
return map;
}
SourceMatchTableCompanion toCompanion(bool nullToAbsent) {
return SourceMatchTableCompanion(
id: Value(id),
trackId: Value(trackId),
sourceId: Value(sourceId),
sourceType: Value(sourceType),
createdAt: Value(createdAt),
);
}
factory SourceMatchTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return SourceMatchTableData(
id: serializer.fromJson<int>(json['id']),
trackId: serializer.fromJson<String>(json['trackId']),
sourceId: serializer.fromJson<String>(json['sourceId']),
sourceType: serializer.fromJson<String>(json['sourceType']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'trackId': serializer.toJson<String>(trackId),
'sourceId': serializer.toJson<String>(sourceId),
'sourceType': serializer.toJson<String>(sourceType),
'createdAt': serializer.toJson<DateTime>(createdAt),
};
}
SourceMatchTableData copyWith(
{int? id,
String? trackId,
String? sourceId,
String? sourceType,
DateTime? createdAt}) =>
SourceMatchTableData(
id: id ?? this.id,
trackId: trackId ?? this.trackId,
sourceId: sourceId ?? this.sourceId,
sourceType: sourceType ?? this.sourceType,
createdAt: createdAt ?? this.createdAt,
);
SourceMatchTableData copyWithCompanion(SourceMatchTableCompanion data) {
return SourceMatchTableData(
id: data.id.present ? data.id.value : this.id,
trackId: data.trackId.present ? data.trackId.value : this.trackId,
sourceId: data.sourceId.present ? data.sourceId.value : this.sourceId,
sourceType:
data.sourceType.present ? data.sourceType.value : this.sourceType,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
);
}
@override
String toString() {
return (StringBuffer('SourceMatchTableData(')
..write('id: $id, ')
..write('trackId: $trackId, ')
..write('sourceId: $sourceId, ')
..write('sourceType: $sourceType, ')
..write('createdAt: $createdAt')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, trackId, sourceId, sourceType, createdAt);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is SourceMatchTableData &&
other.id == this.id &&
other.trackId == this.trackId &&
other.sourceId == this.sourceId &&
other.sourceType == this.sourceType &&
other.createdAt == this.createdAt);
}
class SourceMatchTableCompanion extends UpdateCompanion<SourceMatchTableData> {
final Value<int> id;
final Value<String> trackId;
final Value<String> sourceId;
final Value<String> sourceType;
final Value<DateTime> createdAt;
const SourceMatchTableCompanion({
this.id = const Value.absent(),
this.trackId = const Value.absent(),
this.sourceId = const Value.absent(),
this.sourceType = const Value.absent(),
this.createdAt = const Value.absent(),
});
SourceMatchTableCompanion.insert({
this.id = const Value.absent(),
required String trackId,
required String sourceId,
this.sourceType = const Value.absent(),
this.createdAt = const Value.absent(),
}) : trackId = Value(trackId),
sourceId = Value(sourceId);
static Insertable<SourceMatchTableData> custom({
Expression<int>? id,
Expression<String>? trackId,
Expression<String>? sourceId,
Expression<String>? sourceType,
Expression<DateTime>? createdAt,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (trackId != null) 'track_id': trackId,
if (sourceId != null) 'source_id': sourceId,
if (sourceType != null) 'source_type': sourceType,
if (createdAt != null) 'created_at': createdAt,
});
}
SourceMatchTableCompanion copyWith(
{Value<int>? id,
Value<String>? trackId,
Value<String>? sourceId,
Value<String>? sourceType,
Value<DateTime>? createdAt}) {
return SourceMatchTableCompanion(
id: id ?? this.id,
trackId: trackId ?? this.trackId,
sourceId: sourceId ?? this.sourceId,
sourceType: sourceType ?? this.sourceType,
createdAt: createdAt ?? this.createdAt,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (trackId.present) {
map['track_id'] = Variable<String>(trackId.value);
}
if (sourceId.present) {
map['source_id'] = Variable<String>(sourceId.value);
}
if (sourceType.present) {
map['source_type'] = Variable<String>(sourceType.value);
}
if (createdAt.present) {
map['created_at'] = Variable<DateTime>(createdAt.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('SourceMatchTableCompanion(')
..write('id: $id, ')
..write('trackId: $trackId, ')
..write('sourceId: $sourceId, ')
..write('sourceType: $sourceType, ')
..write('createdAt: $createdAt')
..write(')'))
.toString();
}
}
class AudioPlayerStateTable extends Table
with TableInfo<AudioPlayerStateTable, AudioPlayerStateTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
AudioPlayerStateTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<bool> playing = GeneratedColumn<bool>(
'playing', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: true,
defaultConstraints:
GeneratedColumn.constraintIsAlways('CHECK ("playing" IN (0, 1))'));
late final GeneratedColumn<String> loopMode = GeneratedColumn<String>(
'loop_mode', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<bool> shuffled = GeneratedColumn<bool>(
'shuffled', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: true,
defaultConstraints:
GeneratedColumn.constraintIsAlways('CHECK ("shuffled" IN (0, 1))'));
late final GeneratedColumn<String> collections = GeneratedColumn<String>(
'collections', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> tracks = GeneratedColumn<String>(
'tracks', aliasedName, false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: const Constant("[]"));
late final GeneratedColumn<int> currentIndex = GeneratedColumn<int>(
'current_index', aliasedName, false,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultValue: const Constant(0));
@override
List<GeneratedColumn> get $columns =>
[id, playing, loopMode, shuffled, collections, tracks, currentIndex];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'audio_player_state_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
AudioPlayerStateTableData map(Map<String, dynamic> data,
{String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return AudioPlayerStateTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
playing: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}playing'])!,
loopMode: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}loop_mode'])!,
shuffled: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}shuffled'])!,
collections: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}collections'])!,
tracks: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}tracks'])!,
currentIndex: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}current_index'])!,
);
}
@override
AudioPlayerStateTable createAlias(String alias) {
return AudioPlayerStateTable(attachedDatabase, alias);
}
}
class AudioPlayerStateTableData extends DataClass
implements Insertable<AudioPlayerStateTableData> {
final int id;
final bool playing;
final String loopMode;
final bool shuffled;
final String collections;
final String tracks;
final int currentIndex;
const AudioPlayerStateTableData(
{required this.id,
required this.playing,
required this.loopMode,
required this.shuffled,
required this.collections,
required this.tracks,
required this.currentIndex});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['playing'] = Variable<bool>(playing);
map['loop_mode'] = Variable<String>(loopMode);
map['shuffled'] = Variable<bool>(shuffled);
map['collections'] = Variable<String>(collections);
map['tracks'] = Variable<String>(tracks);
map['current_index'] = Variable<int>(currentIndex);
return map;
}
AudioPlayerStateTableCompanion toCompanion(bool nullToAbsent) {
return AudioPlayerStateTableCompanion(
id: Value(id),
playing: Value(playing),
loopMode: Value(loopMode),
shuffled: Value(shuffled),
collections: Value(collections),
tracks: Value(tracks),
currentIndex: Value(currentIndex),
);
}
factory AudioPlayerStateTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return AudioPlayerStateTableData(
id: serializer.fromJson<int>(json['id']),
playing: serializer.fromJson<bool>(json['playing']),
loopMode: serializer.fromJson<String>(json['loopMode']),
shuffled: serializer.fromJson<bool>(json['shuffled']),
collections: serializer.fromJson<String>(json['collections']),
tracks: serializer.fromJson<String>(json['tracks']),
currentIndex: serializer.fromJson<int>(json['currentIndex']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'playing': serializer.toJson<bool>(playing),
'loopMode': serializer.toJson<String>(loopMode),
'shuffled': serializer.toJson<bool>(shuffled),
'collections': serializer.toJson<String>(collections),
'tracks': serializer.toJson<String>(tracks),
'currentIndex': serializer.toJson<int>(currentIndex),
};
}
AudioPlayerStateTableData copyWith(
{int? id,
bool? playing,
String? loopMode,
bool? shuffled,
String? collections,
String? tracks,
int? currentIndex}) =>
AudioPlayerStateTableData(
id: id ?? this.id,
playing: playing ?? this.playing,
loopMode: loopMode ?? this.loopMode,
shuffled: shuffled ?? this.shuffled,
collections: collections ?? this.collections,
tracks: tracks ?? this.tracks,
currentIndex: currentIndex ?? this.currentIndex,
);
AudioPlayerStateTableData copyWithCompanion(
AudioPlayerStateTableCompanion data) {
return AudioPlayerStateTableData(
id: data.id.present ? data.id.value : this.id,
playing: data.playing.present ? data.playing.value : this.playing,
loopMode: data.loopMode.present ? data.loopMode.value : this.loopMode,
shuffled: data.shuffled.present ? data.shuffled.value : this.shuffled,
collections:
data.collections.present ? data.collections.value : this.collections,
tracks: data.tracks.present ? data.tracks.value : this.tracks,
currentIndex: data.currentIndex.present
? data.currentIndex.value
: this.currentIndex,
);
}
@override
String toString() {
return (StringBuffer('AudioPlayerStateTableData(')
..write('id: $id, ')
..write('playing: $playing, ')
..write('loopMode: $loopMode, ')
..write('shuffled: $shuffled, ')
..write('collections: $collections, ')
..write('tracks: $tracks, ')
..write('currentIndex: $currentIndex')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(
id, playing, loopMode, shuffled, collections, tracks, currentIndex);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is AudioPlayerStateTableData &&
other.id == this.id &&
other.playing == this.playing &&
other.loopMode == this.loopMode &&
other.shuffled == this.shuffled &&
other.collections == this.collections &&
other.tracks == this.tracks &&
other.currentIndex == this.currentIndex);
}
class AudioPlayerStateTableCompanion
extends UpdateCompanion<AudioPlayerStateTableData> {
final Value<int> id;
final Value<bool> playing;
final Value<String> loopMode;
final Value<bool> shuffled;
final Value<String> collections;
final Value<String> tracks;
final Value<int> currentIndex;
const AudioPlayerStateTableCompanion({
this.id = const Value.absent(),
this.playing = const Value.absent(),
this.loopMode = const Value.absent(),
this.shuffled = const Value.absent(),
this.collections = const Value.absent(),
this.tracks = const Value.absent(),
this.currentIndex = const Value.absent(),
});
AudioPlayerStateTableCompanion.insert({
this.id = const Value.absent(),
required bool playing,
required String loopMode,
required bool shuffled,
required String collections,
this.tracks = const Value.absent(),
this.currentIndex = const Value.absent(),
}) : playing = Value(playing),
loopMode = Value(loopMode),
shuffled = Value(shuffled),
collections = Value(collections);
static Insertable<AudioPlayerStateTableData> custom({
Expression<int>? id,
Expression<bool>? playing,
Expression<String>? loopMode,
Expression<bool>? shuffled,
Expression<String>? collections,
Expression<String>? tracks,
Expression<int>? currentIndex,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (playing != null) 'playing': playing,
if (loopMode != null) 'loop_mode': loopMode,
if (shuffled != null) 'shuffled': shuffled,
if (collections != null) 'collections': collections,
if (tracks != null) 'tracks': tracks,
if (currentIndex != null) 'current_index': currentIndex,
});
}
AudioPlayerStateTableCompanion copyWith(
{Value<int>? id,
Value<bool>? playing,
Value<String>? loopMode,
Value<bool>? shuffled,
Value<String>? collections,
Value<String>? tracks,
Value<int>? currentIndex}) {
return AudioPlayerStateTableCompanion(
id: id ?? this.id,
playing: playing ?? this.playing,
loopMode: loopMode ?? this.loopMode,
shuffled: shuffled ?? this.shuffled,
collections: collections ?? this.collections,
tracks: tracks ?? this.tracks,
currentIndex: currentIndex ?? this.currentIndex,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (playing.present) {
map['playing'] = Variable<bool>(playing.value);
}
if (loopMode.present) {
map['loop_mode'] = Variable<String>(loopMode.value);
}
if (shuffled.present) {
map['shuffled'] = Variable<bool>(shuffled.value);
}
if (collections.present) {
map['collections'] = Variable<String>(collections.value);
}
if (tracks.present) {
map['tracks'] = Variable<String>(tracks.value);
}
if (currentIndex.present) {
map['current_index'] = Variable<int>(currentIndex.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('AudioPlayerStateTableCompanion(')
..write('id: $id, ')
..write('playing: $playing, ')
..write('loopMode: $loopMode, ')
..write('shuffled: $shuffled, ')
..write('collections: $collections, ')
..write('tracks: $tracks, ')
..write('currentIndex: $currentIndex')
..write(')'))
.toString();
}
}
class HistoryTable extends Table
with TableInfo<HistoryTable, HistoryTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
HistoryTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<DateTime> createdAt = GeneratedColumn<DateTime>(
'created_at', aliasedName, false,
type: DriftSqlType.dateTime,
requiredDuringInsert: false,
defaultValue: currentDateAndTime);
late final GeneratedColumn<String> type = GeneratedColumn<String>(
'type', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> itemId = GeneratedColumn<String>(
'item_id', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> data = GeneratedColumn<String>(
'data', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
@override
List<GeneratedColumn> get $columns => [id, createdAt, type, itemId, data];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'history_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
HistoryTableData map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return HistoryTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
createdAt: attachedDatabase.typeMapping
.read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!,
type: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}type'])!,
itemId: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}item_id'])!,
data: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}data'])!,
);
}
@override
HistoryTable createAlias(String alias) {
return HistoryTable(attachedDatabase, alias);
}
}
class HistoryTableData extends DataClass
implements Insertable<HistoryTableData> {
final int id;
final DateTime createdAt;
final String type;
final String itemId;
final String data;
const HistoryTableData(
{required this.id,
required this.createdAt,
required this.type,
required this.itemId,
required this.data});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['created_at'] = Variable<DateTime>(createdAt);
map['type'] = Variable<String>(type);
map['item_id'] = Variable<String>(itemId);
map['data'] = Variable<String>(data);
return map;
}
HistoryTableCompanion toCompanion(bool nullToAbsent) {
return HistoryTableCompanion(
id: Value(id),
createdAt: Value(createdAt),
type: Value(type),
itemId: Value(itemId),
data: Value(data),
);
}
factory HistoryTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return HistoryTableData(
id: serializer.fromJson<int>(json['id']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
type: serializer.fromJson<String>(json['type']),
itemId: serializer.fromJson<String>(json['itemId']),
data: serializer.fromJson<String>(json['data']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'createdAt': serializer.toJson<DateTime>(createdAt),
'type': serializer.toJson<String>(type),
'itemId': serializer.toJson<String>(itemId),
'data': serializer.toJson<String>(data),
};
}
HistoryTableData copyWith(
{int? id,
DateTime? createdAt,
String? type,
String? itemId,
String? data}) =>
HistoryTableData(
id: id ?? this.id,
createdAt: createdAt ?? this.createdAt,
type: type ?? this.type,
itemId: itemId ?? this.itemId,
data: data ?? this.data,
);
HistoryTableData copyWithCompanion(HistoryTableCompanion data) {
return HistoryTableData(
id: data.id.present ? data.id.value : this.id,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
type: data.type.present ? data.type.value : this.type,
itemId: data.itemId.present ? data.itemId.value : this.itemId,
data: data.data.present ? data.data.value : this.data,
);
}
@override
String toString() {
return (StringBuffer('HistoryTableData(')
..write('id: $id, ')
..write('createdAt: $createdAt, ')
..write('type: $type, ')
..write('itemId: $itemId, ')
..write('data: $data')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, createdAt, type, itemId, data);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is HistoryTableData &&
other.id == this.id &&
other.createdAt == this.createdAt &&
other.type == this.type &&
other.itemId == this.itemId &&
other.data == this.data);
}
class HistoryTableCompanion extends UpdateCompanion<HistoryTableData> {
final Value<int> id;
final Value<DateTime> createdAt;
final Value<String> type;
final Value<String> itemId;
final Value<String> data;
const HistoryTableCompanion({
this.id = const Value.absent(),
this.createdAt = const Value.absent(),
this.type = const Value.absent(),
this.itemId = const Value.absent(),
this.data = const Value.absent(),
});
HistoryTableCompanion.insert({
this.id = const Value.absent(),
this.createdAt = const Value.absent(),
required String type,
required String itemId,
required String data,
}) : type = Value(type),
itemId = Value(itemId),
data = Value(data);
static Insertable<HistoryTableData> custom({
Expression<int>? id,
Expression<DateTime>? createdAt,
Expression<String>? type,
Expression<String>? itemId,
Expression<String>? data,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (createdAt != null) 'created_at': createdAt,
if (type != null) 'type': type,
if (itemId != null) 'item_id': itemId,
if (data != null) 'data': data,
});
}
HistoryTableCompanion copyWith(
{Value<int>? id,
Value<DateTime>? createdAt,
Value<String>? type,
Value<String>? itemId,
Value<String>? data}) {
return HistoryTableCompanion(
id: id ?? this.id,
createdAt: createdAt ?? this.createdAt,
type: type ?? this.type,
itemId: itemId ?? this.itemId,
data: data ?? this.data,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (createdAt.present) {
map['created_at'] = Variable<DateTime>(createdAt.value);
}
if (type.present) {
map['type'] = Variable<String>(type.value);
}
if (itemId.present) {
map['item_id'] = Variable<String>(itemId.value);
}
if (data.present) {
map['data'] = Variable<String>(data.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('HistoryTableCompanion(')
..write('id: $id, ')
..write('createdAt: $createdAt, ')
..write('type: $type, ')
..write('itemId: $itemId, ')
..write('data: $data')
..write(')'))
.toString();
}
}
class LyricsTable extends Table with TableInfo<LyricsTable, LyricsTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
LyricsTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<String> trackId = GeneratedColumn<String>(
'track_id', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> data = GeneratedColumn<String>(
'data', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
@override
List<GeneratedColumn> get $columns => [id, trackId, data];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'lyrics_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
LyricsTableData map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return LyricsTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
trackId: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}track_id'])!,
data: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}data'])!,
);
}
@override
LyricsTable createAlias(String alias) {
return LyricsTable(attachedDatabase, alias);
}
}
class LyricsTableData extends DataClass implements Insertable<LyricsTableData> {
final int id;
final String trackId;
final String data;
const LyricsTableData(
{required this.id, required this.trackId, required this.data});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['track_id'] = Variable<String>(trackId);
map['data'] = Variable<String>(data);
return map;
}
LyricsTableCompanion toCompanion(bool nullToAbsent) {
return LyricsTableCompanion(
id: Value(id),
trackId: Value(trackId),
data: Value(data),
);
}
factory LyricsTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return LyricsTableData(
id: serializer.fromJson<int>(json['id']),
trackId: serializer.fromJson<String>(json['trackId']),
data: serializer.fromJson<String>(json['data']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'trackId': serializer.toJson<String>(trackId),
'data': serializer.toJson<String>(data),
};
}
LyricsTableData copyWith({int? id, String? trackId, String? data}) =>
LyricsTableData(
id: id ?? this.id,
trackId: trackId ?? this.trackId,
data: data ?? this.data,
);
LyricsTableData copyWithCompanion(LyricsTableCompanion data) {
return LyricsTableData(
id: data.id.present ? data.id.value : this.id,
trackId: data.trackId.present ? data.trackId.value : this.trackId,
data: data.data.present ? data.data.value : this.data,
);
}
@override
String toString() {
return (StringBuffer('LyricsTableData(')
..write('id: $id, ')
..write('trackId: $trackId, ')
..write('data: $data')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, trackId, data);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is LyricsTableData &&
other.id == this.id &&
other.trackId == this.trackId &&
other.data == this.data);
}
class LyricsTableCompanion extends UpdateCompanion<LyricsTableData> {
final Value<int> id;
final Value<String> trackId;
final Value<String> data;
const LyricsTableCompanion({
this.id = const Value.absent(),
this.trackId = const Value.absent(),
this.data = const Value.absent(),
});
LyricsTableCompanion.insert({
this.id = const Value.absent(),
required String trackId,
required String data,
}) : trackId = Value(trackId),
data = Value(data);
static Insertable<LyricsTableData> custom({
Expression<int>? id,
Expression<String>? trackId,
Expression<String>? data,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (trackId != null) 'track_id': trackId,
if (data != null) 'data': data,
});
}
LyricsTableCompanion copyWith(
{Value<int>? id, Value<String>? trackId, Value<String>? data}) {
return LyricsTableCompanion(
id: id ?? this.id,
trackId: trackId ?? this.trackId,
data: data ?? this.data,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (trackId.present) {
map['track_id'] = Variable<String>(trackId.value);
}
if (data.present) {
map['data'] = Variable<String>(data.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('LyricsTableCompanion(')
..write('id: $id, ')
..write('trackId: $trackId, ')
..write('data: $data')
..write(')'))
.toString();
}
}
class MetadataPluginsTable extends Table
with TableInfo<MetadataPluginsTable, MetadataPluginsTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
MetadataPluginsTable(this.attachedDatabase, [this._alias]);
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id', aliasedName, false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
late final GeneratedColumn<String> name = GeneratedColumn<String>(
'name', aliasedName, false,
additionalChecks:
GeneratedColumn.checkTextLength(minTextLength: 1, maxTextLength: 50),
type: DriftSqlType.string,
requiredDuringInsert: true);
late final GeneratedColumn<String> description = GeneratedColumn<String>(
'description', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> version = GeneratedColumn<String>(
'version', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> author = GeneratedColumn<String>(
'author', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> entryPoint = GeneratedColumn<String>(
'entry_point', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> apis = GeneratedColumn<String>(
'apis', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<String> abilities = GeneratedColumn<String>(
'abilities', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
late final GeneratedColumn<bool> selected = GeneratedColumn<bool>(
'selected', aliasedName, false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints:
GeneratedColumn.constraintIsAlways('CHECK ("selected" IN (0, 1))'),
defaultValue: const Constant(false));
late final GeneratedColumn<String> repository = GeneratedColumn<String>(
'repository', aliasedName, true,
type: DriftSqlType.string, requiredDuringInsert: false);
late final GeneratedColumn<String> pluginApiVersion = GeneratedColumn<String>(
'plugin_api_version', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true);
@override
List<GeneratedColumn> get $columns => [
id,
name,
description,
version,
author,
entryPoint,
apis,
abilities,
selected,
repository,
pluginApiVersion
];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'metadata_plugins_table';
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
MetadataPluginsTableData map(Map<String, dynamic> data,
{String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return MetadataPluginsTableData(
id: attachedDatabase.typeMapping
.read(DriftSqlType.int, data['${effectivePrefix}id'])!,
name: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}name'])!,
description: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}description'])!,
version: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}version'])!,
author: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}author'])!,
entryPoint: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}entry_point'])!,
apis: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}apis'])!,
abilities: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}abilities'])!,
selected: attachedDatabase.typeMapping
.read(DriftSqlType.bool, data['${effectivePrefix}selected'])!,
repository: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}repository']),
pluginApiVersion: attachedDatabase.typeMapping.read(
DriftSqlType.string, data['${effectivePrefix}plugin_api_version'])!,
);
}
@override
MetadataPluginsTable createAlias(String alias) {
return MetadataPluginsTable(attachedDatabase, alias);
}
}
class MetadataPluginsTableData extends DataClass
implements Insertable<MetadataPluginsTableData> {
final int id;
final String name;
final String description;
final String version;
final String author;
final String entryPoint;
final String apis;
final String abilities;
final bool selected;
final String? repository;
final String pluginApiVersion;
const MetadataPluginsTableData(
{required this.id,
required this.name,
required this.description,
required this.version,
required this.author,
required this.entryPoint,
required this.apis,
required this.abilities,
required this.selected,
this.repository,
required this.pluginApiVersion});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['name'] = Variable<String>(name);
map['description'] = Variable<String>(description);
map['version'] = Variable<String>(version);
map['author'] = Variable<String>(author);
map['entry_point'] = Variable<String>(entryPoint);
map['apis'] = Variable<String>(apis);
map['abilities'] = Variable<String>(abilities);
map['selected'] = Variable<bool>(selected);
if (!nullToAbsent || repository != null) {
map['repository'] = Variable<String>(repository);
}
map['plugin_api_version'] = Variable<String>(pluginApiVersion);
return map;
}
MetadataPluginsTableCompanion toCompanion(bool nullToAbsent) {
return MetadataPluginsTableCompanion(
id: Value(id),
name: Value(name),
description: Value(description),
version: Value(version),
author: Value(author),
entryPoint: Value(entryPoint),
apis: Value(apis),
abilities: Value(abilities),
selected: Value(selected),
repository: repository == null && nullToAbsent
? const Value.absent()
: Value(repository),
pluginApiVersion: Value(pluginApiVersion),
);
}
factory MetadataPluginsTableData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return MetadataPluginsTableData(
id: serializer.fromJson<int>(json['id']),
name: serializer.fromJson<String>(json['name']),
description: serializer.fromJson<String>(json['description']),
version: serializer.fromJson<String>(json['version']),
author: serializer.fromJson<String>(json['author']),
entryPoint: serializer.fromJson<String>(json['entryPoint']),
apis: serializer.fromJson<String>(json['apis']),
abilities: serializer.fromJson<String>(json['abilities']),
selected: serializer.fromJson<bool>(json['selected']),
repository: serializer.fromJson<String?>(json['repository']),
pluginApiVersion: serializer.fromJson<String>(json['pluginApiVersion']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'name': serializer.toJson<String>(name),
'description': serializer.toJson<String>(description),
'version': serializer.toJson<String>(version),
'author': serializer.toJson<String>(author),
'entryPoint': serializer.toJson<String>(entryPoint),
'apis': serializer.toJson<String>(apis),
'abilities': serializer.toJson<String>(abilities),
'selected': serializer.toJson<bool>(selected),
'repository': serializer.toJson<String?>(repository),
'pluginApiVersion': serializer.toJson<String>(pluginApiVersion),
};
}
MetadataPluginsTableData copyWith(
{int? id,
String? name,
String? description,
String? version,
String? author,
String? entryPoint,
String? apis,
String? abilities,
bool? selected,
Value<String?> repository = const Value.absent(),
String? pluginApiVersion}) =>
MetadataPluginsTableData(
id: id ?? this.id,
name: name ?? this.name,
description: description ?? this.description,
version: version ?? this.version,
author: author ?? this.author,
entryPoint: entryPoint ?? this.entryPoint,
apis: apis ?? this.apis,
abilities: abilities ?? this.abilities,
selected: selected ?? this.selected,
repository: repository.present ? repository.value : this.repository,
pluginApiVersion: pluginApiVersion ?? this.pluginApiVersion,
);
MetadataPluginsTableData copyWithCompanion(
MetadataPluginsTableCompanion data) {
return MetadataPluginsTableData(
id: data.id.present ? data.id.value : this.id,
name: data.name.present ? data.name.value : this.name,
description:
data.description.present ? data.description.value : this.description,
version: data.version.present ? data.version.value : this.version,
author: data.author.present ? data.author.value : this.author,
entryPoint:
data.entryPoint.present ? data.entryPoint.value : this.entryPoint,
apis: data.apis.present ? data.apis.value : this.apis,
abilities: data.abilities.present ? data.abilities.value : this.abilities,
selected: data.selected.present ? data.selected.value : this.selected,
repository:
data.repository.present ? data.repository.value : this.repository,
pluginApiVersion: data.pluginApiVersion.present
? data.pluginApiVersion.value
: this.pluginApiVersion,
);
}
@override
String toString() {
return (StringBuffer('MetadataPluginsTableData(')
..write('id: $id, ')
..write('name: $name, ')
..write('description: $description, ')
..write('version: $version, ')
..write('author: $author, ')
..write('entryPoint: $entryPoint, ')
..write('apis: $apis, ')
..write('abilities: $abilities, ')
..write('selected: $selected, ')
..write('repository: $repository, ')
..write('pluginApiVersion: $pluginApiVersion')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, name, description, version, author,
entryPoint, apis, abilities, selected, repository, pluginApiVersion);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is MetadataPluginsTableData &&
other.id == this.id &&
other.name == this.name &&
other.description == this.description &&
other.version == this.version &&
other.author == this.author &&
other.entryPoint == this.entryPoint &&
other.apis == this.apis &&
other.abilities == this.abilities &&
other.selected == this.selected &&
other.repository == this.repository &&
other.pluginApiVersion == this.pluginApiVersion);
}
class MetadataPluginsTableCompanion
extends UpdateCompanion<MetadataPluginsTableData> {
final Value<int> id;
final Value<String> name;
final Value<String> description;
final Value<String> version;
final Value<String> author;
final Value<String> entryPoint;
final Value<String> apis;
final Value<String> abilities;
final Value<bool> selected;
final Value<String?> repository;
final Value<String> pluginApiVersion;
const MetadataPluginsTableCompanion({
this.id = const Value.absent(),
this.name = const Value.absent(),
this.description = const Value.absent(),
this.version = const Value.absent(),
this.author = const Value.absent(),
this.entryPoint = const Value.absent(),
this.apis = const Value.absent(),
this.abilities = const Value.absent(),
this.selected = const Value.absent(),
this.repository = const Value.absent(),
this.pluginApiVersion = const Value.absent(),
});
MetadataPluginsTableCompanion.insert({
this.id = const Value.absent(),
required String name,
required String description,
required String version,
required String author,
required String entryPoint,
required String apis,
required String abilities,
this.selected = const Value.absent(),
this.repository = const Value.absent(),
required String pluginApiVersion,
}) : name = Value(name),
description = Value(description),
version = Value(version),
author = Value(author),
entryPoint = Value(entryPoint),
apis = Value(apis),
abilities = Value(abilities),
pluginApiVersion = Value(pluginApiVersion);
static Insertable<MetadataPluginsTableData> custom({
Expression<int>? id,
Expression<String>? name,
Expression<String>? description,
Expression<String>? version,
Expression<String>? author,
Expression<String>? entryPoint,
Expression<String>? apis,
Expression<String>? abilities,
Expression<bool>? selected,
Expression<String>? repository,
Expression<String>? pluginApiVersion,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (name != null) 'name': name,
if (description != null) 'description': description,
if (version != null) 'version': version,
if (author != null) 'author': author,
if (entryPoint != null) 'entry_point': entryPoint,
if (apis != null) 'apis': apis,
if (abilities != null) 'abilities': abilities,
if (selected != null) 'selected': selected,
if (repository != null) 'repository': repository,
if (pluginApiVersion != null) 'plugin_api_version': pluginApiVersion,
});
}
MetadataPluginsTableCompanion copyWith(
{Value<int>? id,
Value<String>? name,
Value<String>? description,
Value<String>? version,
Value<String>? author,
Value<String>? entryPoint,
Value<String>? apis,
Value<String>? abilities,
Value<bool>? selected,
Value<String?>? repository,
Value<String>? pluginApiVersion}) {
return MetadataPluginsTableCompanion(
id: id ?? this.id,
name: name ?? this.name,
description: description ?? this.description,
version: version ?? this.version,
author: author ?? this.author,
entryPoint: entryPoint ?? this.entryPoint,
apis: apis ?? this.apis,
abilities: abilities ?? this.abilities,
selected: selected ?? this.selected,
repository: repository ?? this.repository,
pluginApiVersion: pluginApiVersion ?? this.pluginApiVersion,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (name.present) {
map['name'] = Variable<String>(name.value);
}
if (description.present) {
map['description'] = Variable<String>(description.value);
}
if (version.present) {
map['version'] = Variable<String>(version.value);
}
if (author.present) {
map['author'] = Variable<String>(author.value);
}
if (entryPoint.present) {
map['entry_point'] = Variable<String>(entryPoint.value);
}
if (apis.present) {
map['apis'] = Variable<String>(apis.value);
}
if (abilities.present) {
map['abilities'] = Variable<String>(abilities.value);
}
if (selected.present) {
map['selected'] = Variable<bool>(selected.value);
}
if (repository.present) {
map['repository'] = Variable<String>(repository.value);
}
if (pluginApiVersion.present) {
map['plugin_api_version'] = Variable<String>(pluginApiVersion.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('MetadataPluginsTableCompanion(')
..write('id: $id, ')
..write('name: $name, ')
..write('description: $description, ')
..write('version: $version, ')
..write('author: $author, ')
..write('entryPoint: $entryPoint, ')
..write('apis: $apis, ')
..write('abilities: $abilities, ')
..write('selected: $selected, ')
..write('repository: $repository, ')
..write('pluginApiVersion: $pluginApiVersion')
..write(')'))
.toString();
}
}
class DatabaseAtV7 extends GeneratedDatabase {
DatabaseAtV7(QueryExecutor e) : super(e);
late final AuthenticationTable authenticationTable =
AuthenticationTable(this);
late final BlacklistTable blacklistTable = BlacklistTable(this);
late final PreferencesTable preferencesTable = PreferencesTable(this);
late final ScrobblerTable scrobblerTable = ScrobblerTable(this);
late final SkipSegmentTable skipSegmentTable = SkipSegmentTable(this);
late final SourceMatchTable sourceMatchTable = SourceMatchTable(this);
late final AudioPlayerStateTable audioPlayerStateTable =
AudioPlayerStateTable(this);
late final HistoryTable historyTable = HistoryTable(this);
late final LyricsTable lyricsTable = LyricsTable(this);
late final MetadataPluginsTable metadataPluginsTable =
MetadataPluginsTable(this);
late final Index uniqueBlacklist = Index('unique_blacklist',
'CREATE UNIQUE INDEX unique_blacklist ON blacklist_table (element_type, element_id)');
late final Index uniqTrackMatch = Index('uniq_track_match',
'CREATE UNIQUE INDEX uniq_track_match ON source_match_table (track_id, source_id, source_type)');
@override
Iterable<TableInfo<Table, Object?>> get allTables =>
allSchemaEntities.whereType<TableInfo<Table, Object?>>();
@override
List<DatabaseSchemaEntity> get allSchemaEntities => [
authenticationTable,
blacklistTable,
preferencesTable,
scrobblerTable,
skipSegmentTable,
sourceMatchTable,
audioPlayerStateTable,
historyTable,
lyricsTable,
metadataPluginsTable,
uniqueBlacklist,
uniqTrackMatch
];
@override
int get schemaVersion => 7;
}