moved to migration strategy, moved daos to top lib
This commit is contained in:
35
lib/daos/activities_dao.dart
Normal file
35
lib/daos/activities_dao.dart
Normal file
@ -0,0 +1,35 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
|
||||
part 'activities_dao.g.dart';
|
||||
|
||||
@DriftAccessor(tables: [Activities])
|
||||
class ActivitiesDao extends DatabaseAccessor<AppDatabase> with _$ActivitiesDaoMixin {
|
||||
ActivitiesDao(super.db);
|
||||
|
||||
Future<List<Activity>> all() async {
|
||||
return await select(activities).get();
|
||||
}
|
||||
|
||||
Future<List<Activity>> find(int id) async {
|
||||
return await (select(activities)..where((activity) => activity.id.equals(id) )).get();
|
||||
}
|
||||
|
||||
Future<List<Activity>> 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;
|
||||
}
|
||||
}
|
8
lib/daos/activities_dao.g.dart
Normal file
8
lib/daos/activities_dao.g.dart
Normal file
@ -0,0 +1,8 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'activities_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$ActivitiesDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$ActivitiesTable get activities => attachedDatabase.activities;
|
||||
}
|
37
lib/daos/media_items_dao.dart
Normal file
37
lib/daos/media_items_dao.dart
Normal file
@ -0,0 +1,37 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
|
||||
part 'media_items_dao.g.dart';
|
||||
|
||||
@DriftAccessor(tables: [MediaItems])
|
||||
class MediaItemsDao extends DatabaseAccessor<AppDatabase> with _$MediaItemsDaoMixin {
|
||||
MediaItemsDao(super.db);
|
||||
|
||||
Future<List<MediaItem>> all() async {
|
||||
return await select(mediaItems).get();
|
||||
}
|
||||
|
||||
Future<List<MediaItem>> find(int id) async {
|
||||
return await (select(mediaItems)..where((mediaItem) => mediaItem.id.equals(id) )).get();
|
||||
}
|
||||
|
||||
Future<List<MediaItem>> mediaItemsFromSession(Session session) async {
|
||||
final result = select(db.objectMediaItems).join(
|
||||
[
|
||||
innerJoin(
|
||||
db.mediaItems,
|
||||
db.mediaItems.id.equalsExp(db.objectMediaItems.mediaId),
|
||||
),
|
||||
],
|
||||
)
|
||||
..where(
|
||||
db.objectMediaItems.objectType.equals(ObjectType.sessions.name))
|
||||
..where(db.objectMediaItems.objectId.equals(session.id));
|
||||
|
||||
final mediaItems = (await result.get())
|
||||
.map((e) => e.readTable(db.mediaItems))
|
||||
.toList();
|
||||
|
||||
return mediaItems;
|
||||
}
|
||||
}
|
8
lib/daos/media_items_dao.g.dart
Normal file
8
lib/daos/media_items_dao.g.dart
Normal file
@ -0,0 +1,8 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'media_items_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$MediaItemsDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$MediaItemsTable get mediaItems => attachedDatabase.mediaItems;
|
||||
}
|
24
lib/daos/session_activities_dao.dart
Normal file
24
lib/daos/session_activities_dao.dart
Normal file
@ -0,0 +1,24 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
|
||||
part 'session_activities_dao.g.dart';
|
||||
|
||||
@DriftAccessor(tables: [SessionActivities])
|
||||
class SessionActivitiesDao extends DatabaseAccessor<AppDatabase> with _$SessionActivitiesDaoMixin {
|
||||
SessionActivitiesDao(super.db);
|
||||
|
||||
Future<List<SessionActivity>> all() async {
|
||||
return await select(sessionActivities).get();
|
||||
}
|
||||
|
||||
Future<List<SessionActivity>> find(int id) async {
|
||||
return await (select(sessionActivities)..where((sessionActivity) => sessionActivity.id.equals(id) )).get();
|
||||
}
|
||||
|
||||
Future<List<SessionActivity>> sessionActivitiesBySessionId(int id) async {
|
||||
final result = db.managers.sessionActivities
|
||||
.filter((sessionActivity) => sessionActivity.sessionId.id(id));
|
||||
|
||||
return result.get();
|
||||
}
|
||||
}
|
11
lib/daos/session_activities_dao.g.dart
Normal file
11
lib/daos/session_activities_dao.g.dart
Normal file
@ -0,0 +1,11 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'session_activities_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$SessionActivitiesDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$SessionsTable get sessions => attachedDatabase.sessions;
|
||||
$ActivitiesTable get activities => attachedDatabase.activities;
|
||||
$SessionActivitiesTable get sessionActivities =>
|
||||
attachedDatabase.sessionActivities;
|
||||
}
|
17
lib/daos/sessions_dao.dart
Normal file
17
lib/daos/sessions_dao.dart
Normal file
@ -0,0 +1,17 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
|
||||
part 'sessions_dao.g.dart';
|
||||
|
||||
@DriftAccessor(tables: [Sessions])
|
||||
class SessionsDao extends DatabaseAccessor<AppDatabase> with _$SessionsDaoMixin {
|
||||
SessionsDao(super.db);
|
||||
|
||||
Future<List<Session>> all() async {
|
||||
return await select(sessions).get();
|
||||
}
|
||||
|
||||
Future<List<Session>> find(int id) async {
|
||||
return await (select(sessions)..where((session) => session.id.equals(id) )).get();
|
||||
}
|
||||
}
|
8
lib/daos/sessions_dao.g.dart
Normal file
8
lib/daos/sessions_dao.g.dart
Normal file
@ -0,0 +1,8 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'sessions_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$SessionsDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$SessionsTable get sessions => attachedDatabase.sessions;
|
||||
}
|
Reference in New Issue
Block a user