import 'package:drift/drift.dart'; import 'package:sendtrain/database/database.dart'; part 'activities_dao.g.dart'; @DriftAccessor(tables: [Activities]) class ActivitiesDao extends DatabaseAccessor with _$ActivitiesDaoMixin { ActivitiesDao(super.db); Future> all() async { return await select(activities).get(); } Future> find(int id) async { return await (select(activities)..where((activity) => activity.id.equals(id) )).get(); } Future> sessionActivities(int id) async { final result = select(db.sessionActivities).join( [ innerJoin( db.activities, db.activities.id .equalsExp(db.sessionActivities.activityId), ), ], )..where(db.sessionActivities.sessionId.equals(id)); final activities = (await result.get()) .map((e) => e.readTable(db.activities)) .toList(); return activities; } }