25 lines
857 B
Dart
25 lines
857 B
Dart
import 'package:drift/drift.dart';
|
|
import 'package:trainhub_flutter/data/database/app_database.dart';
|
|
|
|
part 'training_plan_dao.g.dart';
|
|
|
|
@DriftAccessor(tables: [TrainingPlans])
|
|
class TrainingPlanDao extends DatabaseAccessor<AppDatabase>
|
|
with _$TrainingPlanDaoMixin {
|
|
TrainingPlanDao(super.db);
|
|
|
|
Future<List<TrainingPlan>> getAllPlans() => select(trainingPlans).get();
|
|
|
|
Future<TrainingPlan> getPlanById(String id) =>
|
|
(select(trainingPlans)..where((t) => t.id.equals(id))).getSingle();
|
|
|
|
Future<void> insertPlan(TrainingPlansCompanion entry) =>
|
|
into(trainingPlans).insert(entry);
|
|
|
|
Future<void> updatePlan(String id, TrainingPlansCompanion entry) =>
|
|
(update(trainingPlans)..where((t) => t.id.equals(id))).write(entry);
|
|
|
|
Future<void> deletePlan(String id) =>
|
|
(delete(trainingPlans)..where((t) => t.id.equals(id))).go();
|
|
}
|