diff --git a/integration_test/3_gym_mode.dart b/integration_test/3_gym_mode.dart index 8ffcbdc2..9c158882 100644 --- a/integration_test/3_gym_mode.dart +++ b/integration_test/3_gym_mode.dart @@ -20,8 +20,8 @@ Widget createGymModeScreen({locale = 'en'}) { final mockExerciseProvider = MockExercisesProvider(); - when(mockExerciseProvider.findExerciseBaseById(1)).thenReturn(bases[0]); // bench press - when(mockExerciseProvider.findExerciseBaseById(6)).thenReturn(bases[5]); // side raises + when(mockExerciseProvider.findExerciseById(1)).thenReturn(bases[0]); // bench press + when(mockExerciseProvider.findExerciseById(6)).thenReturn(bases[5]); // side raises //when(mockExerciseProvider.findExerciseBaseById(2)).thenReturn(bases[1]); // crunches //when(mockExerciseProvider.findExerciseBaseById(3)).thenReturn(bases[2]); // dead lift diff --git a/lib/core/locator.dart b/lib/core/locator.dart index 917fa7b8..f9d131c2 100644 --- a/lib/core/locator.dart +++ b/lib/core/locator.dart @@ -1,7 +1,8 @@ import 'dart:developer'; import 'package:get_it/get_it.dart'; -import 'package:wger/database/exercise_DB/exercise_database.dart'; +import 'package:wger/database/exercises/exercise_database.dart'; +import 'package:wger/database/ingredients/ingredients_database.dart'; final locator = GetIt.asNewInstance(); @@ -14,7 +15,9 @@ class ServiceLocator { Future _initDB() async { final exerciseDB = ExerciseDatabase(); + final ingredientDB = IngredientDatabase(); locator.registerSingleton(exerciseDB); + locator.registerSingleton(ingredientDB); } Future configure() async { diff --git a/lib/database/exercise_DB/exercise_database.dart b/lib/database/exercise_DB/exercise_database.dart deleted file mode 100644 index c8e0a8e8..00000000 --- a/lib/database/exercise_DB/exercise_database.dart +++ /dev/null @@ -1,44 +0,0 @@ -import 'dart:io'; - -import 'package:drift/drift.dart'; -import 'package:drift/native.dart'; -import 'package:path/path.dart' as p; -import 'package:path_provider/path_provider.dart'; -import 'package:wger/database/exercise_DB/type_converters.dart'; -import 'package:wger/models/exercises/base.dart'; -import 'package:wger/models/exercises/category.dart'; -import 'package:wger/models/exercises/equipment.dart'; -import 'package:wger/models/exercises/language.dart'; -import 'package:wger/models/exercises/muscle.dart'; -import 'package:wger/models/exercises/variation.dart'; - -part 'exercise_database.g.dart'; - -@DataClassName('ExerciseTable') -class ExerciseTableItems extends Table { - IntColumn get id => integer().autoIncrement()(); - TextColumn get exercisebase => text().map(const ExerciseBaseConverter()).nullable()(); - TextColumn get muscle => text().map(const MuscleConverter()).nullable()(); - TextColumn get category => text().map(const ExerciseCategoryConverter()).nullable()(); - TextColumn get variation => text().map(const VariationConverter()).nullable()(); - TextColumn get language => text().map(const LanguageConverter()).nullable()(); - TextColumn get equipment => text().map(const EquipmentConverter()).nullable()(); - DateTimeColumn get expiresIn => dateTime().nullable()(); -} - -@DriftDatabase(tables: [ExerciseTableItems]) -class ExerciseDatabase extends _$ExerciseDatabase { - ExerciseDatabase() : super(_openConnection()); - - @override - // TODO: implement schemaVersion - int get schemaVersion => 1; -} - -LazyDatabase _openConnection() { - return LazyDatabase(() async { - final dbFolder = await getApplicationDocumentsDirectory(); - final file = File(p.join(dbFolder.path, 'db.sqlite')); - return NativeDatabase.createInBackground(file); - }); -} diff --git a/lib/database/exercise_DB/exercise_database.g.dart b/lib/database/exercise_DB/exercise_database.g.dart deleted file mode 100644 index 6880d80d..00000000 --- a/lib/database/exercise_DB/exercise_database.g.dart +++ /dev/null @@ -1,423 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'exercise_database.dart'; - -// ignore_for_file: type=lint -class $ExerciseTableItemsTable extends ExerciseTableItems - with TableInfo<$ExerciseTableItemsTable, ExerciseTable> { - @override - final GeneratedDatabase attachedDatabase; - final String? _alias; - $ExerciseTableItemsTable(this.attachedDatabase, [this._alias]); - static const VerificationMeta _idMeta = const VerificationMeta('id'); - @override - late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, - hasAutoIncrement: true, - type: DriftSqlType.int, - requiredDuringInsert: false, - defaultConstraints: GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); - static const VerificationMeta _exercisebaseMeta = const VerificationMeta('exercisebase'); - @override - late final GeneratedColumnWithTypeConverter exercisebase = - GeneratedColumn('exercisebase', aliasedName, true, - type: DriftSqlType.string, requiredDuringInsert: false) - .withConverter($ExerciseTableItemsTable.$converterexercisebasen); - static const VerificationMeta _muscleMeta = const VerificationMeta('muscle'); - @override - late final GeneratedColumnWithTypeConverter muscle = GeneratedColumn( - 'muscle', aliasedName, true, - type: DriftSqlType.string, requiredDuringInsert: false) - .withConverter($ExerciseTableItemsTable.$convertermusclen); - static const VerificationMeta _categoryMeta = const VerificationMeta('category'); - @override - late final GeneratedColumnWithTypeConverter category = - GeneratedColumn('category', aliasedName, true, - type: DriftSqlType.string, requiredDuringInsert: false) - .withConverter($ExerciseTableItemsTable.$convertercategoryn); - static const VerificationMeta _variationMeta = const VerificationMeta('variation'); - @override - late final GeneratedColumnWithTypeConverter variation = - GeneratedColumn('variation', aliasedName, true, - type: DriftSqlType.string, requiredDuringInsert: false) - .withConverter($ExerciseTableItemsTable.$convertervariationn); - static const VerificationMeta _languageMeta = const VerificationMeta('language'); - @override - late final GeneratedColumnWithTypeConverter language = GeneratedColumn( - 'language', aliasedName, true, - type: DriftSqlType.string, requiredDuringInsert: false) - .withConverter($ExerciseTableItemsTable.$converterlanguagen); - static const VerificationMeta _equipmentMeta = const VerificationMeta('equipment'); - @override - late final GeneratedColumnWithTypeConverter equipment = - GeneratedColumn('equipment', aliasedName, true, - type: DriftSqlType.string, requiredDuringInsert: false) - .withConverter($ExerciseTableItemsTable.$converterequipmentn); - static const VerificationMeta _expiresInMeta = const VerificationMeta('expiresIn'); - @override - late final GeneratedColumn expiresIn = GeneratedColumn( - 'expires_in', aliasedName, true, - type: DriftSqlType.dateTime, requiredDuringInsert: false); - @override - List get $columns => - [id, exercisebase, muscle, category, variation, language, equipment, expiresIn]; - @override - String get aliasedName => _alias ?? actualTableName; - @override - String get actualTableName => $name; - static const String $name = 'exercise_table_items'; - @override - VerificationContext validateIntegrity(Insertable instance, - {bool isInserting = false}) { - final context = VerificationContext(); - final data = instance.toColumns(true); - if (data.containsKey('id')) { - context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); - } - context.handle(_exercisebaseMeta, const VerificationResult.success()); - context.handle(_muscleMeta, const VerificationResult.success()); - context.handle(_categoryMeta, const VerificationResult.success()); - context.handle(_variationMeta, const VerificationResult.success()); - context.handle(_languageMeta, const VerificationResult.success()); - context.handle(_equipmentMeta, const VerificationResult.success()); - if (data.containsKey('expires_in')) { - context.handle( - _expiresInMeta, expiresIn.isAcceptableOrUnknown(data['expires_in']!, _expiresInMeta)); - } - return context; - } - - @override - Set get $primaryKey => {id}; - @override - ExerciseTable map(Map data, {String? tablePrefix}) { - final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return ExerciseTable( - id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, - exercisebase: $ExerciseTableItemsTable.$converterexercisebasen.fromSql(attachedDatabase - .typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}exercisebase'])), - muscle: $ExerciseTableItemsTable.$convertermusclen.fromSql( - attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}muscle'])), - category: $ExerciseTableItemsTable.$convertercategoryn.fromSql(attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}category'])), - variation: $ExerciseTableItemsTable.$convertervariationn.fromSql(attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}variation'])), - language: $ExerciseTableItemsTable.$converterlanguagen.fromSql(attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}language'])), - equipment: $ExerciseTableItemsTable.$converterequipmentn.fromSql(attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}equipment'])), - expiresIn: attachedDatabase.typeMapping - .read(DriftSqlType.dateTime, data['${effectivePrefix}expires_in']), - ); - } - - @override - $ExerciseTableItemsTable createAlias(String alias) { - return $ExerciseTableItemsTable(attachedDatabase, alias); - } - - static TypeConverter $converterexercisebase = const ExerciseBaseConverter(); - static TypeConverter $converterexercisebasen = - NullAwareTypeConverter.wrap($converterexercisebase); - static TypeConverter $convertermuscle = const MuscleConverter(); - static TypeConverter $convertermusclen = - NullAwareTypeConverter.wrap($convertermuscle); - static TypeConverter $convertercategory = - const ExerciseCategoryConverter(); - static TypeConverter $convertercategoryn = - NullAwareTypeConverter.wrap($convertercategory); - static TypeConverter $convertervariation = const VariationConverter(); - static TypeConverter $convertervariationn = - NullAwareTypeConverter.wrap($convertervariation); - static TypeConverter $converterlanguage = const LanguageConverter(); - static TypeConverter $converterlanguagen = - NullAwareTypeConverter.wrap($converterlanguage); - static TypeConverter $converterequipment = const EquipmentConverter(); - static TypeConverter $converterequipmentn = - NullAwareTypeConverter.wrap($converterequipment); -} - -class ExerciseTable extends DataClass implements Insertable { - final int id; - final ExerciseBase? exercisebase; - final Muscle? muscle; - final ExerciseCategory? category; - final Variation? variation; - final Language? language; - final Equipment? equipment; - final DateTime? expiresIn; - const ExerciseTable( - {required this.id, - this.exercisebase, - this.muscle, - this.category, - this.variation, - this.language, - this.equipment, - this.expiresIn}); - @override - Map toColumns(bool nullToAbsent) { - final map = {}; - map['id'] = Variable(id); - if (!nullToAbsent || exercisebase != null) { - final converter = $ExerciseTableItemsTable.$converterexercisebasen; - map['exercisebase'] = Variable(converter.toSql(exercisebase)); - } - if (!nullToAbsent || muscle != null) { - final converter = $ExerciseTableItemsTable.$convertermusclen; - map['muscle'] = Variable(converter.toSql(muscle)); - } - if (!nullToAbsent || category != null) { - final converter = $ExerciseTableItemsTable.$convertercategoryn; - map['category'] = Variable(converter.toSql(category)); - } - if (!nullToAbsent || variation != null) { - final converter = $ExerciseTableItemsTable.$convertervariationn; - map['variation'] = Variable(converter.toSql(variation)); - } - if (!nullToAbsent || language != null) { - final converter = $ExerciseTableItemsTable.$converterlanguagen; - map['language'] = Variable(converter.toSql(language)); - } - if (!nullToAbsent || equipment != null) { - final converter = $ExerciseTableItemsTable.$converterequipmentn; - map['equipment'] = Variable(converter.toSql(equipment)); - } - if (!nullToAbsent || expiresIn != null) { - map['expires_in'] = Variable(expiresIn); - } - return map; - } - - ExerciseTableItemsCompanion toCompanion(bool nullToAbsent) { - return ExerciseTableItemsCompanion( - id: Value(id), - exercisebase: - exercisebase == null && nullToAbsent ? const Value.absent() : Value(exercisebase), - muscle: muscle == null && nullToAbsent ? const Value.absent() : Value(muscle), - category: category == null && nullToAbsent ? const Value.absent() : Value(category), - variation: variation == null && nullToAbsent ? const Value.absent() : Value(variation), - language: language == null && nullToAbsent ? const Value.absent() : Value(language), - equipment: equipment == null && nullToAbsent ? const Value.absent() : Value(equipment), - expiresIn: expiresIn == null && nullToAbsent ? const Value.absent() : Value(expiresIn), - ); - } - - factory ExerciseTable.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= driftRuntimeOptions.defaultSerializer; - return ExerciseTable( - id: serializer.fromJson(json['id']), - exercisebase: serializer.fromJson(json['exercisebase']), - muscle: serializer.fromJson(json['muscle']), - category: serializer.fromJson(json['category']), - variation: serializer.fromJson(json['variation']), - language: serializer.fromJson(json['language']), - equipment: serializer.fromJson(json['equipment']), - expiresIn: serializer.fromJson(json['expiresIn']), - ); - } - @override - Map toJson({ValueSerializer? serializer}) { - serializer ??= driftRuntimeOptions.defaultSerializer; - return { - 'id': serializer.toJson(id), - 'exercisebase': serializer.toJson(exercisebase), - 'muscle': serializer.toJson(muscle), - 'category': serializer.toJson(category), - 'variation': serializer.toJson(variation), - 'language': serializer.toJson(language), - 'equipment': serializer.toJson(equipment), - 'expiresIn': serializer.toJson(expiresIn), - }; - } - - ExerciseTable copyWith( - {int? id, - Value exercisebase = const Value.absent(), - Value muscle = const Value.absent(), - Value category = const Value.absent(), - Value variation = const Value.absent(), - Value language = const Value.absent(), - Value equipment = const Value.absent(), - Value expiresIn = const Value.absent()}) => - ExerciseTable( - id: id ?? this.id, - exercisebase: exercisebase.present ? exercisebase.value : this.exercisebase, - muscle: muscle.present ? muscle.value : this.muscle, - category: category.present ? category.value : this.category, - variation: variation.present ? variation.value : this.variation, - language: language.present ? language.value : this.language, - equipment: equipment.present ? equipment.value : this.equipment, - expiresIn: expiresIn.present ? expiresIn.value : this.expiresIn, - ); - @override - String toString() { - return (StringBuffer('ExerciseTable(') - ..write('id: $id, ') - ..write('exercisebase: $exercisebase, ') - ..write('muscle: $muscle, ') - ..write('category: $category, ') - ..write('variation: $variation, ') - ..write('language: $language, ') - ..write('equipment: $equipment, ') - ..write('expiresIn: $expiresIn') - ..write(')')) - .toString(); - } - - @override - int get hashCode => - Object.hash(id, exercisebase, muscle, category, variation, language, equipment, expiresIn); - @override - bool operator ==(Object other) => - identical(this, other) || - (other is ExerciseTable && - other.id == this.id && - other.exercisebase == this.exercisebase && - other.muscle == this.muscle && - other.category == this.category && - other.variation == this.variation && - other.language == this.language && - other.equipment == this.equipment && - other.expiresIn == this.expiresIn); -} - -class ExerciseTableItemsCompanion extends UpdateCompanion { - final Value id; - final Value exercisebase; - final Value muscle; - final Value category; - final Value variation; - final Value language; - final Value equipment; - final Value expiresIn; - const ExerciseTableItemsCompanion({ - this.id = const Value.absent(), - this.exercisebase = const Value.absent(), - this.muscle = const Value.absent(), - this.category = const Value.absent(), - this.variation = const Value.absent(), - this.language = const Value.absent(), - this.equipment = const Value.absent(), - this.expiresIn = const Value.absent(), - }); - ExerciseTableItemsCompanion.insert({ - this.id = const Value.absent(), - this.exercisebase = const Value.absent(), - this.muscle = const Value.absent(), - this.category = const Value.absent(), - this.variation = const Value.absent(), - this.language = const Value.absent(), - this.equipment = const Value.absent(), - this.expiresIn = const Value.absent(), - }); - static Insertable custom({ - Expression? id, - Expression? exercisebase, - Expression? muscle, - Expression? category, - Expression? variation, - Expression? language, - Expression? equipment, - Expression? expiresIn, - }) { - return RawValuesInsertable({ - if (id != null) 'id': id, - if (exercisebase != null) 'exercisebase': exercisebase, - if (muscle != null) 'muscle': muscle, - if (category != null) 'category': category, - if (variation != null) 'variation': variation, - if (language != null) 'language': language, - if (equipment != null) 'equipment': equipment, - if (expiresIn != null) 'expires_in': expiresIn, - }); - } - - ExerciseTableItemsCompanion copyWith( - {Value? id, - Value? exercisebase, - Value? muscle, - Value? category, - Value? variation, - Value? language, - Value? equipment, - Value? expiresIn}) { - return ExerciseTableItemsCompanion( - id: id ?? this.id, - exercisebase: exercisebase ?? this.exercisebase, - muscle: muscle ?? this.muscle, - category: category ?? this.category, - variation: variation ?? this.variation, - language: language ?? this.language, - equipment: equipment ?? this.equipment, - expiresIn: expiresIn ?? this.expiresIn, - ); - } - - @override - Map toColumns(bool nullToAbsent) { - final map = {}; - if (id.present) { - map['id'] = Variable(id.value); - } - if (exercisebase.present) { - final converter = $ExerciseTableItemsTable.$converterexercisebasen; - - map['exercisebase'] = Variable(converter.toSql(exercisebase.value)); - } - if (muscle.present) { - final converter = $ExerciseTableItemsTable.$convertermusclen; - - map['muscle'] = Variable(converter.toSql(muscle.value)); - } - if (category.present) { - final converter = $ExerciseTableItemsTable.$convertercategoryn; - - map['category'] = Variable(converter.toSql(category.value)); - } - if (variation.present) { - final converter = $ExerciseTableItemsTable.$convertervariationn; - - map['variation'] = Variable(converter.toSql(variation.value)); - } - if (language.present) { - final converter = $ExerciseTableItemsTable.$converterlanguagen; - - map['language'] = Variable(converter.toSql(language.value)); - } - if (equipment.present) { - final converter = $ExerciseTableItemsTable.$converterequipmentn; - - map['equipment'] = Variable(converter.toSql(equipment.value)); - } - if (expiresIn.present) { - map['expires_in'] = Variable(expiresIn.value); - } - return map; - } - - @override - String toString() { - return (StringBuffer('ExerciseTableItemsCompanion(') - ..write('id: $id, ') - ..write('exercisebase: $exercisebase, ') - ..write('muscle: $muscle, ') - ..write('category: $category, ') - ..write('variation: $variation, ') - ..write('language: $language, ') - ..write('equipment: $equipment, ') - ..write('expiresIn: $expiresIn') - ..write(')')) - .toString(); - } -} - -abstract class _$ExerciseDatabase extends GeneratedDatabase { - _$ExerciseDatabase(QueryExecutor e) : super(e); - late final $ExerciseTableItemsTable exerciseTableItems = $ExerciseTableItemsTable(this); - @override - Iterable> get allTables => - allSchemaEntities.whereType>(); - @override - List get allSchemaEntities => [exerciseTableItems]; -} diff --git a/lib/database/exercises/exercise_database.dart b/lib/database/exercises/exercise_database.dart new file mode 100644 index 00000000..84f05b19 --- /dev/null +++ b/lib/database/exercises/exercise_database.dart @@ -0,0 +1,80 @@ +import 'dart:io'; + +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; +import 'package:path/path.dart' as p; +import 'package:path_provider/path_provider.dart'; +import 'package:wger/database/exercises/type_converters.dart'; +import 'package:wger/models/exercises/category.dart'; +import 'package:wger/models/exercises/equipment.dart'; +import 'package:wger/models/exercises/language.dart'; +import 'package:wger/models/exercises/muscle.dart'; + +part 'exercise_database.g.dart'; + +@DataClassName('ExerciseTable') +class Exercises extends Table { + IntColumn get id => integer()(); + + TextColumn get data => text()(); + + // TextColumn get exercisedata => text().map(const ExerciseBaseConverter())(); + + DateTimeColumn get lastUpdate => dateTime()(); +} + +@DataClassName('MuscleTable') +class Muscles extends Table { + IntColumn get id => integer()(); + + TextColumn get data => text().map(const MuscleConverter())(); +} + +@DataClassName('CategoryTable') +class Categories extends Table { + IntColumn get id => integer()(); + + TextColumn get data => text().map(const ExerciseCategoryConverter())(); +} + +@DataClassName('LanguagesTable') +class Languages extends Table { + IntColumn get id => integer()(); + + TextColumn get data => text().map(const LanguageConverter())(); +} + +@DataClassName('EquipmentTable') +class Equipments extends Table { + IntColumn get id => integer()(); + + TextColumn get data => text().map(const EquipmentConverter())(); +} + +@DriftDatabase(tables: [Exercises, Muscles, Equipments, Categories, Languages]) +class ExerciseDatabase extends _$ExerciseDatabase { + ExerciseDatabase() : super(_openConnection()); + + // Named constructor for creating in-memory database + ExerciseDatabase.inMemory(super.e); + + @override + // TODO: implement schemaVersion + int get schemaVersion => 1; + + Future deleteEverything() { + return transaction(() async { + for (final table in allTables) { + await delete(table).go(); + } + }); + } +} + +LazyDatabase _openConnection() { + return LazyDatabase(() async { + final dbFolder = await getApplicationDocumentsDirectory(); + final file = File(p.join(dbFolder.path, 'exercises.sqlite')); + return NativeDatabase.createInBackground(file); + }); +} diff --git a/lib/database/exercises/exercise_database.g.dart b/lib/database/exercises/exercise_database.g.dart new file mode 100644 index 00000000..4c5ea73d --- /dev/null +++ b/lib/database/exercises/exercise_database.g.dart @@ -0,0 +1,938 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'exercise_database.dart'; + +// ignore_for_file: type=lint +class $ExercisesTable extends Exercises with TableInfo<$ExercisesTable, ExerciseTable> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $ExercisesTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true); + static const VerificationMeta _dataMeta = const VerificationMeta('data'); + @override + late final GeneratedColumn data = GeneratedColumn('data', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + static const VerificationMeta _lastUpdateMeta = const VerificationMeta('lastUpdate'); + @override + late final GeneratedColumn lastUpdate = GeneratedColumn( + 'last_update', aliasedName, false, + type: DriftSqlType.dateTime, requiredDuringInsert: true); + @override + List get $columns => [id, data, lastUpdate]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'exercises'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } else if (isInserting) { + context.missing(_idMeta); + } + if (data.containsKey('data')) { + context.handle(_dataMeta, this.data.isAcceptableOrUnknown(data['data']!, _dataMeta)); + } else if (isInserting) { + context.missing(_dataMeta); + } + if (data.containsKey('last_update')) { + context.handle( + _lastUpdateMeta, lastUpdate.isAcceptableOrUnknown(data['last_update']!, _lastUpdateMeta)); + } else if (isInserting) { + context.missing(_lastUpdateMeta); + } + return context; + } + + @override + Set get $primaryKey => const {}; + @override + ExerciseTable map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return ExerciseTable( + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!, + lastUpdate: attachedDatabase.typeMapping + .read(DriftSqlType.dateTime, data['${effectivePrefix}last_update'])!, + ); + } + + @override + $ExercisesTable createAlias(String alias) { + return $ExercisesTable(attachedDatabase, alias); + } +} + +class ExerciseTable extends DataClass implements Insertable { + final int id; + final String data; + final DateTime lastUpdate; + const ExerciseTable({required this.id, required this.data, required this.lastUpdate}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['data'] = Variable(data); + map['last_update'] = Variable(lastUpdate); + return map; + } + + ExercisesCompanion toCompanion(bool nullToAbsent) { + return ExercisesCompanion( + id: Value(id), + data: Value(data), + lastUpdate: Value(lastUpdate), + ); + } + + factory ExerciseTable.fromJson(Map json, {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return ExerciseTable( + id: serializer.fromJson(json['id']), + data: serializer.fromJson(json['data']), + lastUpdate: serializer.fromJson(json['lastUpdate']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'data': serializer.toJson(data), + 'lastUpdate': serializer.toJson(lastUpdate), + }; + } + + ExerciseTable copyWith({int? id, String? data, DateTime? lastUpdate}) => ExerciseTable( + id: id ?? this.id, + data: data ?? this.data, + lastUpdate: lastUpdate ?? this.lastUpdate, + ); + @override + String toString() { + return (StringBuffer('ExerciseTable(') + ..write('id: $id, ') + ..write('data: $data, ') + ..write('lastUpdate: $lastUpdate') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, data, lastUpdate); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is ExerciseTable && + other.id == this.id && + other.data == this.data && + other.lastUpdate == this.lastUpdate); +} + +class ExercisesCompanion extends UpdateCompanion { + final Value id; + final Value data; + final Value lastUpdate; + final Value rowid; + const ExercisesCompanion({ + this.id = const Value.absent(), + this.data = const Value.absent(), + this.lastUpdate = const Value.absent(), + this.rowid = const Value.absent(), + }); + ExercisesCompanion.insert({ + required int id, + required String data, + required DateTime lastUpdate, + this.rowid = const Value.absent(), + }) : id = Value(id), + data = Value(data), + lastUpdate = Value(lastUpdate); + static Insertable custom({ + Expression? id, + Expression? data, + Expression? lastUpdate, + Expression? rowid, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (data != null) 'data': data, + if (lastUpdate != null) 'last_update': lastUpdate, + if (rowid != null) 'rowid': rowid, + }); + } + + ExercisesCompanion copyWith( + {Value? id, Value? data, Value? lastUpdate, Value? rowid}) { + return ExercisesCompanion( + id: id ?? this.id, + data: data ?? this.data, + lastUpdate: lastUpdate ?? this.lastUpdate, + rowid: rowid ?? this.rowid, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (data.present) { + map['data'] = Variable(data.value); + } + if (lastUpdate.present) { + map['last_update'] = Variable(lastUpdate.value); + } + if (rowid.present) { + map['rowid'] = Variable(rowid.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('ExercisesCompanion(') + ..write('id: $id, ') + ..write('data: $data, ') + ..write('lastUpdate: $lastUpdate, ') + ..write('rowid: $rowid') + ..write(')')) + .toString(); + } +} + +class $MusclesTable extends Muscles with TableInfo<$MusclesTable, MuscleTable> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $MusclesTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true); + static const VerificationMeta _dataMeta = const VerificationMeta('data'); + @override + late final GeneratedColumnWithTypeConverter data = GeneratedColumn( + 'data', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter($MusclesTable.$converterdata); + @override + List get $columns => [id, data]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'muscles'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } else if (isInserting) { + context.missing(_idMeta); + } + context.handle(_dataMeta, const VerificationResult.success()); + return context; + } + + @override + Set get $primaryKey => const {}; + @override + MuscleTable map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return MuscleTable( + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: $MusclesTable.$converterdata.fromSql( + attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!), + ); + } + + @override + $MusclesTable createAlias(String alias) { + return $MusclesTable(attachedDatabase, alias); + } + + static TypeConverter $converterdata = const MuscleConverter(); +} + +class MuscleTable extends DataClass implements Insertable { + final int id; + final Muscle data; + const MuscleTable({required this.id, required this.data}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + { + final converter = $MusclesTable.$converterdata; + map['data'] = Variable(converter.toSql(data)); + } + return map; + } + + MusclesCompanion toCompanion(bool nullToAbsent) { + return MusclesCompanion( + id: Value(id), + data: Value(data), + ); + } + + factory MuscleTable.fromJson(Map json, {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return MuscleTable( + id: serializer.fromJson(json['id']), + data: serializer.fromJson(json['data']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'data': serializer.toJson(data), + }; + } + + MuscleTable copyWith({int? id, Muscle? data}) => MuscleTable( + id: id ?? this.id, + data: data ?? this.data, + ); + @override + String toString() { + return (StringBuffer('MuscleTable(') + ..write('id: $id, ') + ..write('data: $data') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, data); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is MuscleTable && other.id == this.id && other.data == this.data); +} + +class MusclesCompanion extends UpdateCompanion { + final Value id; + final Value data; + final Value rowid; + const MusclesCompanion({ + this.id = const Value.absent(), + this.data = const Value.absent(), + this.rowid = const Value.absent(), + }); + MusclesCompanion.insert({ + required int id, + required Muscle data, + this.rowid = const Value.absent(), + }) : id = Value(id), + data = Value(data); + static Insertable custom({ + Expression? id, + Expression? data, + Expression? rowid, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (data != null) 'data': data, + if (rowid != null) 'rowid': rowid, + }); + } + + MusclesCompanion copyWith({Value? id, Value? data, Value? rowid}) { + return MusclesCompanion( + id: id ?? this.id, + data: data ?? this.data, + rowid: rowid ?? this.rowid, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (data.present) { + final converter = $MusclesTable.$converterdata; + + map['data'] = Variable(converter.toSql(data.value)); + } + if (rowid.present) { + map['rowid'] = Variable(rowid.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('MusclesCompanion(') + ..write('id: $id, ') + ..write('data: $data, ') + ..write('rowid: $rowid') + ..write(')')) + .toString(); + } +} + +class $EquipmentsTable extends Equipments with TableInfo<$EquipmentsTable, EquipmentTable> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $EquipmentsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true); + static const VerificationMeta _dataMeta = const VerificationMeta('data'); + @override + late final GeneratedColumnWithTypeConverter data = GeneratedColumn( + 'data', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter($EquipmentsTable.$converterdata); + @override + List get $columns => [id, data]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'equipments'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } else if (isInserting) { + context.missing(_idMeta); + } + context.handle(_dataMeta, const VerificationResult.success()); + return context; + } + + @override + Set get $primaryKey => const {}; + @override + EquipmentTable map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return EquipmentTable( + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: $EquipmentsTable.$converterdata.fromSql( + attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!), + ); + } + + @override + $EquipmentsTable createAlias(String alias) { + return $EquipmentsTable(attachedDatabase, alias); + } + + static TypeConverter $converterdata = const EquipmentConverter(); +} + +class EquipmentTable extends DataClass implements Insertable { + final int id; + final Equipment data; + const EquipmentTable({required this.id, required this.data}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + { + final converter = $EquipmentsTable.$converterdata; + map['data'] = Variable(converter.toSql(data)); + } + return map; + } + + EquipmentsCompanion toCompanion(bool nullToAbsent) { + return EquipmentsCompanion( + id: Value(id), + data: Value(data), + ); + } + + factory EquipmentTable.fromJson(Map json, {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return EquipmentTable( + id: serializer.fromJson(json['id']), + data: serializer.fromJson(json['data']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'data': serializer.toJson(data), + }; + } + + EquipmentTable copyWith({int? id, Equipment? data}) => EquipmentTable( + id: id ?? this.id, + data: data ?? this.data, + ); + @override + String toString() { + return (StringBuffer('EquipmentTable(') + ..write('id: $id, ') + ..write('data: $data') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, data); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is EquipmentTable && other.id == this.id && other.data == this.data); +} + +class EquipmentsCompanion extends UpdateCompanion { + final Value id; + final Value data; + final Value rowid; + const EquipmentsCompanion({ + this.id = const Value.absent(), + this.data = const Value.absent(), + this.rowid = const Value.absent(), + }); + EquipmentsCompanion.insert({ + required int id, + required Equipment data, + this.rowid = const Value.absent(), + }) : id = Value(id), + data = Value(data); + static Insertable custom({ + Expression? id, + Expression? data, + Expression? rowid, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (data != null) 'data': data, + if (rowid != null) 'rowid': rowid, + }); + } + + EquipmentsCompanion copyWith({Value? id, Value? data, Value? rowid}) { + return EquipmentsCompanion( + id: id ?? this.id, + data: data ?? this.data, + rowid: rowid ?? this.rowid, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (data.present) { + final converter = $EquipmentsTable.$converterdata; + + map['data'] = Variable(converter.toSql(data.value)); + } + if (rowid.present) { + map['rowid'] = Variable(rowid.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('EquipmentsCompanion(') + ..write('id: $id, ') + ..write('data: $data, ') + ..write('rowid: $rowid') + ..write(')')) + .toString(); + } +} + +class $CategoriesTable extends Categories with TableInfo<$CategoriesTable, CategoryTable> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $CategoriesTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true); + static const VerificationMeta _dataMeta = const VerificationMeta('data'); + @override + late final GeneratedColumnWithTypeConverter data = + GeneratedColumn('data', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter($CategoriesTable.$converterdata); + @override + List get $columns => [id, data]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'categories'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } else if (isInserting) { + context.missing(_idMeta); + } + context.handle(_dataMeta, const VerificationResult.success()); + return context; + } + + @override + Set get $primaryKey => const {}; + @override + CategoryTable map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return CategoryTable( + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: $CategoriesTable.$converterdata.fromSql( + attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!), + ); + } + + @override + $CategoriesTable createAlias(String alias) { + return $CategoriesTable(attachedDatabase, alias); + } + + static TypeConverter $converterdata = const ExerciseCategoryConverter(); +} + +class CategoryTable extends DataClass implements Insertable { + final int id; + final ExerciseCategory data; + const CategoryTable({required this.id, required this.data}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + { + final converter = $CategoriesTable.$converterdata; + map['data'] = Variable(converter.toSql(data)); + } + return map; + } + + CategoriesCompanion toCompanion(bool nullToAbsent) { + return CategoriesCompanion( + id: Value(id), + data: Value(data), + ); + } + + factory CategoryTable.fromJson(Map json, {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return CategoryTable( + id: serializer.fromJson(json['id']), + data: serializer.fromJson(json['data']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'data': serializer.toJson(data), + }; + } + + CategoryTable copyWith({int? id, ExerciseCategory? data}) => CategoryTable( + id: id ?? this.id, + data: data ?? this.data, + ); + @override + String toString() { + return (StringBuffer('CategoryTable(') + ..write('id: $id, ') + ..write('data: $data') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, data); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is CategoryTable && other.id == this.id && other.data == this.data); +} + +class CategoriesCompanion extends UpdateCompanion { + final Value id; + final Value data; + final Value rowid; + const CategoriesCompanion({ + this.id = const Value.absent(), + this.data = const Value.absent(), + this.rowid = const Value.absent(), + }); + CategoriesCompanion.insert({ + required int id, + required ExerciseCategory data, + this.rowid = const Value.absent(), + }) : id = Value(id), + data = Value(data); + static Insertable custom({ + Expression? id, + Expression? data, + Expression? rowid, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (data != null) 'data': data, + if (rowid != null) 'rowid': rowid, + }); + } + + CategoriesCompanion copyWith({Value? id, Value? data, Value? rowid}) { + return CategoriesCompanion( + id: id ?? this.id, + data: data ?? this.data, + rowid: rowid ?? this.rowid, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (data.present) { + final converter = $CategoriesTable.$converterdata; + + map['data'] = Variable(converter.toSql(data.value)); + } + if (rowid.present) { + map['rowid'] = Variable(rowid.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('CategoriesCompanion(') + ..write('id: $id, ') + ..write('data: $data, ') + ..write('rowid: $rowid') + ..write(')')) + .toString(); + } +} + +class $LanguagesTable extends Languages with TableInfo<$LanguagesTable, LanguagesTable> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $LanguagesTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true); + static const VerificationMeta _dataMeta = const VerificationMeta('data'); + @override + late final GeneratedColumnWithTypeConverter data = GeneratedColumn( + 'data', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter($LanguagesTable.$converterdata); + @override + List get $columns => [id, data]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'languages'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } else if (isInserting) { + context.missing(_idMeta); + } + context.handle(_dataMeta, const VerificationResult.success()); + return context; + } + + @override + Set get $primaryKey => const {}; + @override + LanguagesTable map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return LanguagesTable( + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: $LanguagesTable.$converterdata.fromSql( + attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!), + ); + } + + @override + $LanguagesTable createAlias(String alias) { + return $LanguagesTable(attachedDatabase, alias); + } + + static TypeConverter $converterdata = const LanguageConverter(); +} + +class LanguagesTable extends DataClass implements Insertable { + final int id; + final Language data; + const LanguagesTable({required this.id, required this.data}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + { + final converter = $LanguagesTable.$converterdata; + map['data'] = Variable(converter.toSql(data)); + } + return map; + } + + LanguagesCompanion toCompanion(bool nullToAbsent) { + return LanguagesCompanion( + id: Value(id), + data: Value(data), + ); + } + + factory LanguagesTable.fromJson(Map json, {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return LanguagesTable( + id: serializer.fromJson(json['id']), + data: serializer.fromJson(json['data']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'data': serializer.toJson(data), + }; + } + + LanguagesTable copyWith({int? id, Language? data}) => LanguagesTable( + id: id ?? this.id, + data: data ?? this.data, + ); + @override + String toString() { + return (StringBuffer('LanguagesTable(') + ..write('id: $id, ') + ..write('data: $data') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, data); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is LanguagesTable && other.id == this.id && other.data == this.data); +} + +class LanguagesCompanion extends UpdateCompanion { + final Value id; + final Value data; + final Value rowid; + const LanguagesCompanion({ + this.id = const Value.absent(), + this.data = const Value.absent(), + this.rowid = const Value.absent(), + }); + LanguagesCompanion.insert({ + required int id, + required Language data, + this.rowid = const Value.absent(), + }) : id = Value(id), + data = Value(data); + static Insertable custom({ + Expression? id, + Expression? data, + Expression? rowid, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (data != null) 'data': data, + if (rowid != null) 'rowid': rowid, + }); + } + + LanguagesCompanion copyWith({Value? id, Value? data, Value? rowid}) { + return LanguagesCompanion( + id: id ?? this.id, + data: data ?? this.data, + rowid: rowid ?? this.rowid, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (data.present) { + final converter = $LanguagesTable.$converterdata; + + map['data'] = Variable(converter.toSql(data.value)); + } + if (rowid.present) { + map['rowid'] = Variable(rowid.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('LanguagesCompanion(') + ..write('id: $id, ') + ..write('data: $data, ') + ..write('rowid: $rowid') + ..write(')')) + .toString(); + } +} + +abstract class _$ExerciseDatabase extends GeneratedDatabase { + _$ExerciseDatabase(QueryExecutor e) : super(e); + late final $ExercisesTable exercises = $ExercisesTable(this); + late final $MusclesTable muscles = $MusclesTable(this); + late final $EquipmentsTable equipments = $EquipmentsTable(this); + late final $CategoriesTable categories = $CategoriesTable(this); + late final $LanguagesTable languages = $LanguagesTable(this); + @override + Iterable> get allTables => + allSchemaEntities.whereType>(); + @override + List get allSchemaEntities => + [exercises, muscles, equipments, categories, languages]; +} diff --git a/lib/database/exercise_DB/type_converters.dart b/lib/database/exercises/type_converters.dart similarity index 74% rename from lib/database/exercise_DB/type_converters.dart rename to lib/database/exercises/type_converters.dart index c6e2bd30..58149bb1 100644 --- a/lib/database/exercise_DB/type_converters.dart +++ b/lib/database/exercises/type_converters.dart @@ -1,10 +1,6 @@ import 'dart:convert'; import 'package:drift/drift.dart'; -import 'package:flutter/src/widgets/framework.dart'; -// import 'package:path/path.dart'; -import 'package:provider/provider.dart'; -import 'package:wger/exceptions/no_such_entry_exception.dart'; import 'package:wger/models/exercises/alias.dart'; import 'package:wger/models/exercises/base.dart'; import 'package:wger/models/exercises/category.dart'; @@ -16,25 +12,6 @@ import 'package:wger/models/exercises/muscle.dart'; import 'package:wger/models/exercises/translation.dart'; import 'package:wger/models/exercises/variation.dart'; import 'package:wger/models/exercises/video.dart'; -import 'package:wger/providers/auth.dart'; -import 'package:wger/providers/base_provider.dart'; - -// List _languages = []; -// Future fetchAndSetLanguages(BuildContext context) async { -// final baseProvider= WgerBaseProvider(Provider.of(context, listen: false)) -// final languageData = await baseProvider.fetchPaginated(baseProvider.makeUrl('language')); - -// for (final language in languageData) { -// _languages.add(Language.fromJson(language)); -// } -// } - -// Language findLanguageById(int id) { -// return _languages.firstWhere( -// (language) => language.id == id, -// orElse: () => throw NoSuchEntryException(), -// ); -// } class ExerciseBaseConverter extends TypeConverter { const ExerciseBaseConverter(); @@ -50,20 +27,18 @@ class ExerciseBaseConverter extends TypeConverter { final images = baseData['images'].map((e) => ExerciseImage.fromJson(e)).toList(); final videos = baseData['videos'].map((e) => Video.fromJson(e)).toList(); - final List exercises = []; + final List translations = []; for (final exerciseData in baseData['translations']) { - final exercise = Translation( + final translation = Translation( id: exerciseData['id'], name: exerciseData['name'], description: exerciseData['description'], baseId: baseData['id'], ); - exercise.aliases = - exerciseData['aliases'].map((e) => Alias.fromJson(e)).toList().cast(); - exercise.notes = - exerciseData['notes'].map((e) => Comment.fromJson(e)).toList().cast(); - exercise.language = Language.fromJson(exerciseData['languageObj']); - exercises.add(exercise); + translation.aliases = exerciseData['aliases'].map((e) => Alias.fromJson(e)).toList(); + translation.notes = exerciseData['notes'].map((e) => Comment.fromJson(e)).toList(); + translation.language = Language.fromJson(exerciseData['languageObj']); + translations.add(translation); } final exerciseBase = ExerciseBase( @@ -76,7 +51,7 @@ class ExerciseBaseConverter extends TypeConverter { equipment: equipment.cast(), category: category, images: images.cast(), - exercises: exercises, + exercises: translations, videos: videos.cast