seed update, action prep, titleization

This commit is contained in:
Joshua Burman
2024-12-24 14:41:39 -05:00
parent ffd696053a
commit c6030f8ac5
23 changed files with 4881 additions and 210 deletions

35
lib/daos/actions_dao.dart Normal file
View File

@ -0,0 +1,35 @@
import 'package:drift/drift.dart';
import 'package:sendtrain/database/database.dart';
part 'actions_dao.g.dart';
@DriftAccessor(tables: [Actions])
class ActionsDao extends DatabaseAccessor<AppDatabase> with _$ActionsDaoMixin {
ActionsDao(super.db);
Future<List<Action>> all() async {
return await select(actions).get();
}
Future<Action> find(int id) async {
return await (select(actions)..where((action) => action.id.equals(id) )).getSingle();
}
Future<List<Action>> fromActivity(Activity activity) async {
final result = select(db.activityActions).join(
[
innerJoin(
db.actions,
db.actions.id.equalsExp(db.activityActions.actionId),
),
],
)
..where(db.activityActions.activityId.equals(activity.id));
final actions = (await result.get())
.map((e) => e.readTable(db.actions))
.toList();
return actions;
}
}

View File

@ -0,0 +1,8 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'actions_dao.dart';
// ignore_for_file: type=lint
mixin _$ActionsDaoMixin on DatabaseAccessor<AppDatabase> {
$ActionsTable get actions => attachedDatabase.actions;
}

View File

@ -0,0 +1,30 @@
import 'package:drift/drift.dart';
import 'package:sendtrain/database/database.dart';
part 'activity_actions_dao.g.dart';
@DriftAccessor(tables: [ActivityActions])
class ActivityActionsDao extends DatabaseAccessor<AppDatabase> with _$ActivityActionsDaoMixin {
ActivityActionsDao(super.db);
Future<List<ActivityAction>> all() => select(activityActions).get();
Stream<List<ActivityAction>> watch() => select(activityActions).watch();
Future insert(ActivityAction activityAction) => into(activityActions).insert(activityAction);
Future replace(ActivityAction activityAction) => update(activityActions).replace(activityAction);
Future remove(ActivityAction activityAction) => delete(activityActions).delete(activityAction);
// Future<List<ActivityAction>> all() async {
// return await select(activityActions).get();
// }
Future<ActivityAction> find(int id) async {
return await (select(activityActions)..where((activityAction) => activityAction.id.equals(id) )).getSingle();
}
Future<List<ActivityAction>> fromActivityId(int id) async {
final result = db.managers.activityActions
.filter((activityAction) => activityAction.activityId.id(id));
return result.get();
}
}

View File

@ -0,0 +1,10 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'activity_actions_dao.dart';
// ignore_for_file: type=lint
mixin _$ActivityActionsDaoMixin on DatabaseAccessor<AppDatabase> {
$ActivitiesTable get activities => attachedDatabase.activities;
$ActionsTable get actions => attachedDatabase.actions;
$ActivityActionsTable get activityActions => attachedDatabase.activityActions;
}