Initial commit
This commit is contained in:
32
lib/data/database/daos/analysis_dao.dart
Normal file
32
lib/data/database/daos/analysis_dao.dart
Normal file
@@ -0,0 +1,32 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:trainhub_flutter/data/database/app_database.dart';
|
||||
|
||||
part 'analysis_dao.g.dart';
|
||||
|
||||
@DriftAccessor(tables: [AnalysisSessions, Annotations])
|
||||
class AnalysisDao extends DatabaseAccessor<AppDatabase>
|
||||
with _$AnalysisDaoMixin {
|
||||
AnalysisDao(super.db);
|
||||
|
||||
Future<List<AnalysisSession>> getAllSessions() =>
|
||||
select(analysisSessions).get();
|
||||
|
||||
Future<AnalysisSession?> getSession(String id) =>
|
||||
(select(analysisSessions)..where((t) => t.id.equals(id)))
|
||||
.getSingleOrNull();
|
||||
|
||||
Future<void> insertSession(AnalysisSessionsCompanion entry) =>
|
||||
into(analysisSessions).insert(entry);
|
||||
|
||||
Future<void> deleteSession(String id) =>
|
||||
(delete(analysisSessions)..where((t) => t.id.equals(id))).go();
|
||||
|
||||
Future<List<Annotation>> getAnnotations(String sessionId) =>
|
||||
(select(annotations)..where((t) => t.sessionId.equals(sessionId))).get();
|
||||
|
||||
Future<void> insertAnnotation(AnnotationsCompanion entry) =>
|
||||
into(annotations).insert(entry);
|
||||
|
||||
Future<void> deleteAnnotation(String id) =>
|
||||
(delete(annotations)..where((t) => t.id.equals(id))).go();
|
||||
}
|
||||
10
lib/data/database/daos/analysis_dao.g.dart
Normal file
10
lib/data/database/daos/analysis_dao.g.dart
Normal file
@@ -0,0 +1,10 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'analysis_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$AnalysisDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$AnalysisSessionsTable get analysisSessions =>
|
||||
attachedDatabase.analysisSessions;
|
||||
$AnnotationsTable get annotations => attachedDatabase.annotations;
|
||||
}
|
||||
43
lib/data/database/daos/chat_dao.dart
Normal file
43
lib/data/database/daos/chat_dao.dart
Normal file
@@ -0,0 +1,43 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:trainhub_flutter/data/database/app_database.dart';
|
||||
|
||||
part 'chat_dao.g.dart';
|
||||
|
||||
@DriftAccessor(tables: [ChatSessions, ChatMessages])
|
||||
class ChatDao extends DatabaseAccessor<AppDatabase> with _$ChatDaoMixin {
|
||||
ChatDao(super.db);
|
||||
|
||||
Future<List<ChatSession>> getAllSessions() =>
|
||||
(select(chatSessions)
|
||||
..orderBy([
|
||||
(t) => OrderingTerm(
|
||||
expression: t.createdAt, mode: OrderingMode.desc)
|
||||
]))
|
||||
.get();
|
||||
|
||||
Future<ChatSession?> getSession(String id) =>
|
||||
(select(chatSessions)..where((t) => t.id.equals(id)))
|
||||
.getSingleOrNull();
|
||||
|
||||
Future<void> insertSession(ChatSessionsCompanion entry) =>
|
||||
into(chatSessions).insert(entry);
|
||||
|
||||
Future<void> deleteSession(String id) =>
|
||||
(delete(chatSessions)..where((t) => t.id.equals(id))).go();
|
||||
|
||||
Future<void> updateSessionTitle(String id, String title) =>
|
||||
(update(chatSessions)..where((t) => t.id.equals(id)))
|
||||
.write(ChatSessionsCompanion(title: Value(title)));
|
||||
|
||||
Future<List<ChatMessage>> getMessages(String sessionId) =>
|
||||
(select(chatMessages)
|
||||
..where((t) => t.sessionId.equals(sessionId))
|
||||
..orderBy([
|
||||
(t) =>
|
||||
OrderingTerm(expression: t.createdAt, mode: OrderingMode.asc)
|
||||
]))
|
||||
.get();
|
||||
|
||||
Future<void> insertMessage(ChatMessagesCompanion entry) =>
|
||||
into(chatMessages).insert(entry);
|
||||
}
|
||||
9
lib/data/database/daos/chat_dao.g.dart
Normal file
9
lib/data/database/daos/chat_dao.g.dart
Normal file
@@ -0,0 +1,9 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'chat_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$ChatDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$ChatSessionsTable get chatSessions => attachedDatabase.chatSessions;
|
||||
$ChatMessagesTable get chatMessages => attachedDatabase.chatMessages;
|
||||
}
|
||||
24
lib/data/database/daos/exercise_dao.dart
Normal file
24
lib/data/database/daos/exercise_dao.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
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();
|
||||
}
|
||||
8
lib/data/database/daos/exercise_dao.g.dart
Normal file
8
lib/data/database/daos/exercise_dao.g.dart
Normal file
@@ -0,0 +1,8 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'exercise_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$ExerciseDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$ExercisesTable get exercises => attachedDatabase.exercises;
|
||||
}
|
||||
60
lib/data/database/daos/program_dao.dart
Normal file
60
lib/data/database/daos/program_dao.dart
Normal file
@@ -0,0 +1,60 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:trainhub_flutter/data/database/app_database.dart';
|
||||
|
||||
part 'program_dao.g.dart';
|
||||
|
||||
@DriftAccessor(tables: [Programs, ProgramWeeks, ProgramWorkouts])
|
||||
class ProgramDao extends DatabaseAccessor<AppDatabase>
|
||||
with _$ProgramDaoMixin {
|
||||
ProgramDao(super.db);
|
||||
|
||||
Future<List<Program>> getAllPrograms() =>
|
||||
(select(programs)
|
||||
..orderBy([
|
||||
(t) =>
|
||||
OrderingTerm(expression: t.createdAt, mode: OrderingMode.desc)
|
||||
]))
|
||||
.get();
|
||||
|
||||
Future<Program?> getProgram(String id) =>
|
||||
(select(programs)..where((t) => t.id.equals(id))).getSingleOrNull();
|
||||
|
||||
Future<void> insertProgram(ProgramsCompanion entry) =>
|
||||
into(programs).insert(entry);
|
||||
|
||||
Future<void> deleteProgram(String id) =>
|
||||
(delete(programs)..where((t) => t.id.equals(id))).go();
|
||||
|
||||
Future<List<ProgramWeek>> getWeeks(String programId) =>
|
||||
(select(programWeeks)
|
||||
..where((t) => t.programId.equals(programId))
|
||||
..orderBy([(t) => OrderingTerm(expression: t.position)]))
|
||||
.get();
|
||||
|
||||
Future<void> insertWeek(ProgramWeeksCompanion entry) =>
|
||||
into(programWeeks).insert(entry);
|
||||
|
||||
Future<void> deleteWeek(String id) =>
|
||||
(delete(programWeeks)..where((t) => t.id.equals(id))).go();
|
||||
|
||||
Future<void> updateWeekNote(String weekId, String note) =>
|
||||
(update(programWeeks)..where((t) => t.id.equals(weekId)))
|
||||
.write(ProgramWeeksCompanion(notes: Value(note)));
|
||||
|
||||
Future<List<ProgramWorkout>> getWorkouts(String programId) =>
|
||||
(select(programWorkouts)..where((t) => t.programId.equals(programId)))
|
||||
.get();
|
||||
|
||||
Future<void> insertWorkout(ProgramWorkoutsCompanion entry) =>
|
||||
into(programWorkouts).insert(entry);
|
||||
|
||||
Future<void> updateWorkout(String id, ProgramWorkoutsCompanion entry) =>
|
||||
(update(programWorkouts)..where((t) => t.id.equals(id))).write(entry);
|
||||
|
||||
Future<void> deleteWorkout(String id) =>
|
||||
(delete(programWorkouts)..where((t) => t.id.equals(id))).go();
|
||||
|
||||
Future<void> toggleWorkoutComplete(String id, bool currentStatus) =>
|
||||
(update(programWorkouts)..where((t) => t.id.equals(id)))
|
||||
.write(ProgramWorkoutsCompanion(completed: Value(!currentStatus)));
|
||||
}
|
||||
10
lib/data/database/daos/program_dao.g.dart
Normal file
10
lib/data/database/daos/program_dao.g.dart
Normal file
@@ -0,0 +1,10 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'program_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$ProgramDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$ProgramsTable get programs => attachedDatabase.programs;
|
||||
$ProgramWeeksTable get programWeeks => attachedDatabase.programWeeks;
|
||||
$ProgramWorkoutsTable get programWorkouts => attachedDatabase.programWorkouts;
|
||||
}
|
||||
24
lib/data/database/daos/training_plan_dao.dart
Normal file
24
lib/data/database/daos/training_plan_dao.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
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();
|
||||
}
|
||||
8
lib/data/database/daos/training_plan_dao.g.dart
Normal file
8
lib/data/database/daos/training_plan_dao.g.dart
Normal file
@@ -0,0 +1,8 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'training_plan_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$TrainingPlanDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$TrainingPlansTable get trainingPlans => attachedDatabase.trainingPlans;
|
||||
}
|
||||
Reference in New Issue
Block a user