25 lines
820 B
Dart
25 lines
820 B
Dart
import 'package:drift/drift.dart';
|
|
import 'package:trainhub_flutter/data/database/app_database.dart';
|
|
|
|
part 'exercise_dao.g.dart';
|
|
|
|
@DriftAccessor(tables: [Exercises])
|
|
class ExerciseDao extends DatabaseAccessor<AppDatabase>
|
|
with _$ExerciseDaoMixin {
|
|
ExerciseDao(super.db);
|
|
|
|
Future<List<Exercise>> getAllExercises() => select(exercises).get();
|
|
|
|
Future<Exercise> getExerciseById(String id) =>
|
|
(select(exercises)..where((t) => t.id.equals(id))).getSingle();
|
|
|
|
Future<void> insertExercise(ExercisesCompanion entry) =>
|
|
into(exercises).insert(entry);
|
|
|
|
Future<void> updateExercise(String id, ExercisesCompanion entry) =>
|
|
(update(exercises)..where((t) => t.id.equals(id))).write(entry);
|
|
|
|
Future<void> deleteExercise(String id) =>
|
|
(delete(exercises)..where((t) => t.id.equals(id))).go();
|
|
}
|