migrating...
This commit is contained in:
parent
bdc4fee8c2
commit
de22d62432
File diff suppressed because it is too large
Load Diff
24
lib/daos/action_sets_dao.dart
Normal file
24
lib/daos/action_sets_dao.dart
Normal file
@ -0,0 +1,24 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
|
||||
part 'action_sets_dao.g.dart';
|
||||
|
||||
@DriftAccessor(tables: [ActionSets])
|
||||
class ActionSetsDao extends DatabaseAccessor<AppDatabase>
|
||||
with _$ActionSetsDaoMixin {
|
||||
ActionSetsDao(super.db);
|
||||
|
||||
// Future<Session> find(int id) => (select(sessions)..where((session) => session.id.equals(id) )).getSingle();
|
||||
// Stream<Session> watchSession(int id) => (select(sessions)..where((session) => session.id.equals(id) )).watchSingle();
|
||||
// Future<List<Session>> all() => select(sessions).get();
|
||||
// Stream<List<Session>> watch() => select(sessions).watch();
|
||||
// Future createOrUpdate(SessionsCompanion session) => into(sessions).insertOnConflictUpdate(session);
|
||||
// Future replace(Session session) => update(sessions).replace(session);
|
||||
// Future remove(Session session) => delete(sessions).delete(session);
|
||||
|
||||
Future<List<ActionSet>> fromSession(Session session) async {
|
||||
return await (select(actionSets)
|
||||
..where((actionSet) => actionSet.sessionId.equals(session.id))..orderBy([(t) => OrderingTerm.asc(actionSets.position)]))
|
||||
.get();
|
||||
}
|
||||
}
|
10
lib/daos/action_sets_dao.g.dart
Normal file
10
lib/daos/action_sets_dao.g.dart
Normal file
@ -0,0 +1,10 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'action_sets_dao.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
mixin _$ActionSetsDaoMixin on DatabaseAccessor<AppDatabase> {
|
||||
$ActivitiesTable get activities => attachedDatabase.activities;
|
||||
$SessionsTable get sessions => attachedDatabase.sessions;
|
||||
$ActionSetsTable get actionSets => attachedDatabase.actionSets;
|
||||
}
|
@ -12,7 +12,7 @@ class ActionsDao extends DatabaseAccessor<AppDatabase> with _$ActionsDaoMixin {
|
||||
}
|
||||
|
||||
Future<Action> find(int id) async {
|
||||
return await (select(actions)..where((action) => action.id.equals(id) )).getSingle();
|
||||
return await (select(actions)..where((action) => action.id.equals(id))).getSingle();
|
||||
}
|
||||
|
||||
Future<List<Action>> fromActivity(Activity activity, Session session) async {
|
||||
|
@ -7,6 +7,7 @@ import 'package:sendtrain/daos/media_items_dao.dart';
|
||||
import 'package:sendtrain/daos/object_media_items_dao.dart';
|
||||
import 'package:sendtrain/daos/session_activities_dao.dart';
|
||||
import 'package:sendtrain/daos/sessions_dao.dart';
|
||||
import 'package:sendtrain/daos/action_sets_dao.dart';
|
||||
import 'package:sendtrain/database/seed.dart';
|
||||
|
||||
part 'database.g.dart';
|
||||
@ -14,6 +15,8 @@ part 'database.g.dart';
|
||||
@DriftDatabase(tables: [
|
||||
Sessions,
|
||||
SessionActivities,
|
||||
// SessionSets,
|
||||
ActionSets,
|
||||
Activities,
|
||||
ActivityActions,
|
||||
Actions,
|
||||
@ -25,6 +28,8 @@ part 'database.g.dart';
|
||||
MediaItemsDao,
|
||||
ObjectMediaItemsDao,
|
||||
SessionActivitiesDao,
|
||||
// SessionSetsDao,
|
||||
ActionSetsDao,
|
||||
ActivityActionsDao,
|
||||
ActionsDao
|
||||
])
|
||||
@ -35,7 +40,7 @@ class AppDatabase extends _$AppDatabase {
|
||||
AppDatabase() : super(_openConnection());
|
||||
|
||||
@override
|
||||
int get schemaVersion => 35;
|
||||
int get schemaVersion => 40;
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration {
|
||||
@ -73,6 +78,26 @@ class Sessions extends Table {
|
||||
dateTime().withDefault(Variable(DateTime.now()))();
|
||||
}
|
||||
|
||||
class ActionSets extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
TextColumn get name => text().withLength(min: 3, max: 32)();
|
||||
IntColumn get reps => integer()();
|
||||
IntColumn get activityId =>
|
||||
integer().references(Activities, #id, onDelete: KeyAction.cascade)();
|
||||
IntColumn get restBeforeSet => integer().nullable()();
|
||||
IntColumn get restBetweenReps => integer().nullable()();
|
||||
IntColumn get restAfterSet => integer().nullable()();
|
||||
TextColumn get repType => textEnum<RepType>()();
|
||||
IntColumn get repLength => integer().nullable()();
|
||||
TextColumn get setWeights => text().nullable()();
|
||||
BoolColumn get isAlternating => boolean().withDefault(Variable(false))();
|
||||
TextColumn get tempo => text().withLength(min: 6, max: 36).nullable()();
|
||||
IntColumn get sessionId => integer().references(Sessions, #id, onDelete: KeyAction.cascade)();
|
||||
IntColumn get position => integer()();
|
||||
DateTimeColumn get createdAt =>
|
||||
dateTime().withDefault(Variable(DateTime.now()))();
|
||||
}
|
||||
|
||||
class SessionActivities extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
IntColumn get sessionId =>
|
||||
@ -85,6 +110,16 @@ class SessionActivities extends Table {
|
||||
dateTime().withDefault(Variable(DateTime.now()))();
|
||||
}
|
||||
|
||||
// class SessionSets extends Table {
|
||||
// IntColumn get id => integer().autoIncrement()();
|
||||
// IntColumn get setId =>
|
||||
// integer().references(ActionSets, #id, onDelete: KeyAction.cascade)();
|
||||
// IntColumn get sessionId => integer().references(Sessions, #id, onDelete: KeyAction.cascade)();
|
||||
// IntColumn get position => integer()();
|
||||
// DateTimeColumn get createdAt =>
|
||||
// dateTime().withDefault(Variable(DateTime.now()))();
|
||||
// }
|
||||
|
||||
enum ActivityCategories { fundamentals, conditioning, advanced, custom, pro }
|
||||
|
||||
enum ActivityType {
|
||||
@ -113,7 +148,8 @@ enum ActivityEquipment {
|
||||
bands,
|
||||
medicineBall,
|
||||
exerciseBall,
|
||||
eZCurlBar
|
||||
eZCurlBar,
|
||||
crimpBlock,
|
||||
}
|
||||
|
||||
enum ActivityMuscle {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5610,6 +5610,899 @@ final class Schema35 extends i0.VersionedSchema {
|
||||
alias: null);
|
||||
}
|
||||
|
||||
final class Schema36 extends i0.VersionedSchema {
|
||||
Schema36({required super.database}) : super(version: 36);
|
||||
@override
|
||||
late final List<i1.DatabaseSchemaEntity> entities = [
|
||||
sessions,
|
||||
activities,
|
||||
sessionActivities,
|
||||
actions,
|
||||
activityActions,
|
||||
mediaItems,
|
||||
objectMediaItems,
|
||||
];
|
||||
late final Shape12 sessions = Shape12(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'sessions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_1,
|
||||
_column_2,
|
||||
_column_3,
|
||||
_column_11,
|
||||
_column_20,
|
||||
_column_4,
|
||||
_column_63,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape17 activities = Shape17(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'activities',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_40,
|
||||
_column_36,
|
||||
_column_37,
|
||||
_column_38,
|
||||
_column_27,
|
||||
_column_28,
|
||||
_column_29,
|
||||
_column_35,
|
||||
_column_31,
|
||||
_column_32,
|
||||
_column_63,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape13 sessionActivities = Shape13(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'session_activities',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_21,
|
||||
_column_22,
|
||||
_column_19,
|
||||
_column_10,
|
||||
_column_63,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape21 actions = Shape21(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'actions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_41,
|
||||
_column_2,
|
||||
_column_42,
|
||||
_column_43,
|
||||
_column_44,
|
||||
_column_45,
|
||||
_column_46,
|
||||
_column_47,
|
||||
_column_48,
|
||||
_column_49,
|
||||
_column_53,
|
||||
_column_54,
|
||||
_column_64,
|
||||
_column_52,
|
||||
_column_65,
|
||||
_column_66,
|
||||
_column_12,
|
||||
_column_63,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape22 activityActions = Shape22(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'activity_actions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_22,
|
||||
_column_23,
|
||||
_column_21,
|
||||
_column_19,
|
||||
_column_63,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape5 mediaItems = Shape5(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'media_items',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_41,
|
||||
_column_2,
|
||||
_column_25,
|
||||
_column_6,
|
||||
_column_63,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape6 objectMediaItems = Shape6(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'object_media_items',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_15,
|
||||
_column_16,
|
||||
_column_24,
|
||||
_column_63,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
}
|
||||
|
||||
i1.GeneratedColumn<DateTime> _column_63(String aliasedName) =>
|
||||
i1.GeneratedColumn<DateTime>('created_at', aliasedName, false,
|
||||
type: i1.DriftSqlType.dateTime,
|
||||
defaultValue: const CustomExpression('1739308481'));
|
||||
i1.GeneratedColumn<bool> _column_64(String aliasedName) =>
|
||||
i1.GeneratedColumn<bool>('is_alternating', aliasedName, false,
|
||||
type: i1.DriftSqlType.bool,
|
||||
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
|
||||
'CHECK ("is_alternating" IN (0, 1))'),
|
||||
defaultValue: const CustomExpression('0'));
|
||||
i1.GeneratedColumn<String> _column_65(String aliasedName) =>
|
||||
i1.GeneratedColumn<String>('status', aliasedName, false,
|
||||
type: i1.DriftSqlType.string,
|
||||
defaultValue: const CustomExpression('\'pending\''));
|
||||
i1.GeneratedColumn<String> _column_66(String aliasedName) => i1.GeneratedColumn<
|
||||
String>('state', aliasedName, false,
|
||||
type: i1.DriftSqlType.string,
|
||||
defaultValue: const CustomExpression(
|
||||
'\'{"currentSet": 0, "currentRep": 0, "currentActionType": 0, "currentTime": 0, "currentAction": 0}\''));
|
||||
|
||||
final class Schema37 extends i0.VersionedSchema {
|
||||
Schema37({required super.database}) : super(version: 37);
|
||||
@override
|
||||
late final List<i1.DatabaseSchemaEntity> entities = [
|
||||
sessions,
|
||||
activities,
|
||||
sessionActivities,
|
||||
actions,
|
||||
sets,
|
||||
sessionSets,
|
||||
activityActions,
|
||||
mediaItems,
|
||||
objectMediaItems,
|
||||
];
|
||||
late final Shape12 sessions = Shape12(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'sessions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_1,
|
||||
_column_2,
|
||||
_column_3,
|
||||
_column_11,
|
||||
_column_20,
|
||||
_column_4,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape17 activities = Shape17(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'activities',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_40,
|
||||
_column_36,
|
||||
_column_37,
|
||||
_column_38,
|
||||
_column_27,
|
||||
_column_28,
|
||||
_column_29,
|
||||
_column_35,
|
||||
_column_31,
|
||||
_column_32,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape13 sessionActivities = Shape13(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'session_activities',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_21,
|
||||
_column_22,
|
||||
_column_19,
|
||||
_column_10,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape21 actions = Shape21(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'actions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_41,
|
||||
_column_2,
|
||||
_column_42,
|
||||
_column_43,
|
||||
_column_44,
|
||||
_column_45,
|
||||
_column_46,
|
||||
_column_47,
|
||||
_column_48,
|
||||
_column_49,
|
||||
_column_53,
|
||||
_column_54,
|
||||
_column_64,
|
||||
_column_52,
|
||||
_column_65,
|
||||
_column_66,
|
||||
_column_12,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape23 sets = Shape23(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'sets',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_68,
|
||||
_column_69,
|
||||
_column_23,
|
||||
_column_70,
|
||||
_column_46,
|
||||
_column_71,
|
||||
_column_48,
|
||||
_column_49,
|
||||
_column_54,
|
||||
_column_64,
|
||||
_column_52,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape24 sessionSets = Shape24(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'session_sets',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_72,
|
||||
_column_21,
|
||||
_column_19,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape22 activityActions = Shape22(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'activity_actions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_22,
|
||||
_column_23,
|
||||
_column_21,
|
||||
_column_19,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape5 mediaItems = Shape5(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'media_items',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_41,
|
||||
_column_2,
|
||||
_column_25,
|
||||
_column_6,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape6 objectMediaItems = Shape6(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'object_media_items',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_15,
|
||||
_column_16,
|
||||
_column_24,
|
||||
_column_67,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
}
|
||||
|
||||
i1.GeneratedColumn<DateTime> _column_67(String aliasedName) =>
|
||||
i1.GeneratedColumn<DateTime>('created_at', aliasedName, false,
|
||||
type: i1.DriftSqlType.dateTime,
|
||||
defaultValue: const CustomExpression('1744074941'));
|
||||
|
||||
class Shape23 extends i0.VersionedTable {
|
||||
Shape23({required super.source, required super.alias}) : super.aliased();
|
||||
i1.GeneratedColumn<int> get id =>
|
||||
columnsByName['id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get name =>
|
||||
columnsByName['name']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<int> get reps =>
|
||||
columnsByName['reps']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get actionId =>
|
||||
columnsByName['action_id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restBeforeSet =>
|
||||
columnsByName['rest_before_set']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restBetweenReps =>
|
||||
columnsByName['rest_between_reps']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restAfterSet =>
|
||||
columnsByName['rest_after_set']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get repType =>
|
||||
columnsByName['rep_type']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<int> get repLength =>
|
||||
columnsByName['rep_length']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get setWeights =>
|
||||
columnsByName['set_weights']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<bool> get isAlternating =>
|
||||
columnsByName['is_alternating']! as i1.GeneratedColumn<bool>;
|
||||
i1.GeneratedColumn<String> get tempo =>
|
||||
columnsByName['tempo']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<DateTime> get createdAt =>
|
||||
columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
|
||||
}
|
||||
|
||||
i1.GeneratedColumn<String> _column_68(String aliasedName) =>
|
||||
i1.GeneratedColumn<String>('name', aliasedName, false,
|
||||
additionalChecks: i1.GeneratedColumn.checkTextLength(
|
||||
minTextLength: 3, maxTextLength: 32),
|
||||
type: i1.DriftSqlType.string);
|
||||
i1.GeneratedColumn<int> _column_69(String aliasedName) =>
|
||||
i1.GeneratedColumn<int>('reps', aliasedName, false,
|
||||
type: i1.DriftSqlType.int);
|
||||
i1.GeneratedColumn<int> _column_70(String aliasedName) =>
|
||||
i1.GeneratedColumn<int>('rest_before_set', aliasedName, true,
|
||||
type: i1.DriftSqlType.int);
|
||||
i1.GeneratedColumn<int> _column_71(String aliasedName) =>
|
||||
i1.GeneratedColumn<int>('rest_after_set', aliasedName, true,
|
||||
type: i1.DriftSqlType.int);
|
||||
|
||||
class Shape24 extends i0.VersionedTable {
|
||||
Shape24({required super.source, required super.alias}) : super.aliased();
|
||||
i1.GeneratedColumn<int> get id =>
|
||||
columnsByName['id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get setId =>
|
||||
columnsByName['set_id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get sessionId =>
|
||||
columnsByName['session_id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get position =>
|
||||
columnsByName['position']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<DateTime> get createdAt =>
|
||||
columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
|
||||
}
|
||||
|
||||
i1.GeneratedColumn<int> _column_72(String aliasedName) =>
|
||||
i1.GeneratedColumn<int>('set_id', aliasedName, false,
|
||||
type: i1.DriftSqlType.int,
|
||||
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
|
||||
'REFERENCES sets (id) ON DELETE CASCADE'));
|
||||
|
||||
final class Schema39 extends i0.VersionedSchema {
|
||||
Schema39({required super.database}) : super(version: 39);
|
||||
@override
|
||||
late final List<i1.DatabaseSchemaEntity> entities = [
|
||||
sessions,
|
||||
activities,
|
||||
sessionActivities,
|
||||
actionSets,
|
||||
sessionSets,
|
||||
actions,
|
||||
activityActions,
|
||||
mediaItems,
|
||||
objectMediaItems,
|
||||
];
|
||||
late final Shape12 sessions = Shape12(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'sessions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_1,
|
||||
_column_2,
|
||||
_column_3,
|
||||
_column_11,
|
||||
_column_20,
|
||||
_column_4,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape17 activities = Shape17(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'activities',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_40,
|
||||
_column_36,
|
||||
_column_37,
|
||||
_column_38,
|
||||
_column_27,
|
||||
_column_28,
|
||||
_column_29,
|
||||
_column_35,
|
||||
_column_31,
|
||||
_column_32,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape13 sessionActivities = Shape13(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'session_activities',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_21,
|
||||
_column_22,
|
||||
_column_19,
|
||||
_column_10,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape25 actionSets = Shape25(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'action_sets',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_68,
|
||||
_column_69,
|
||||
_column_22,
|
||||
_column_70,
|
||||
_column_46,
|
||||
_column_71,
|
||||
_column_48,
|
||||
_column_49,
|
||||
_column_54,
|
||||
_column_64,
|
||||
_column_52,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape24 sessionSets = Shape24(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'session_sets',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_74,
|
||||
_column_21,
|
||||
_column_19,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape21 actions = Shape21(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'actions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_41,
|
||||
_column_2,
|
||||
_column_42,
|
||||
_column_43,
|
||||
_column_44,
|
||||
_column_45,
|
||||
_column_46,
|
||||
_column_47,
|
||||
_column_48,
|
||||
_column_49,
|
||||
_column_53,
|
||||
_column_54,
|
||||
_column_64,
|
||||
_column_52,
|
||||
_column_65,
|
||||
_column_66,
|
||||
_column_12,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape22 activityActions = Shape22(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'activity_actions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_22,
|
||||
_column_23,
|
||||
_column_21,
|
||||
_column_19,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape5 mediaItems = Shape5(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'media_items',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_41,
|
||||
_column_2,
|
||||
_column_25,
|
||||
_column_6,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape6 objectMediaItems = Shape6(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'object_media_items',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_15,
|
||||
_column_16,
|
||||
_column_24,
|
||||
_column_73,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
}
|
||||
|
||||
i1.GeneratedColumn<DateTime> _column_73(String aliasedName) =>
|
||||
i1.GeneratedColumn<DateTime>('created_at', aliasedName, false,
|
||||
type: i1.DriftSqlType.dateTime,
|
||||
defaultValue: const CustomExpression('1744139454'));
|
||||
|
||||
class Shape25 extends i0.VersionedTable {
|
||||
Shape25({required super.source, required super.alias}) : super.aliased();
|
||||
i1.GeneratedColumn<int> get id =>
|
||||
columnsByName['id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get name =>
|
||||
columnsByName['name']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<int> get reps =>
|
||||
columnsByName['reps']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get activityId =>
|
||||
columnsByName['activity_id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restBeforeSet =>
|
||||
columnsByName['rest_before_set']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restBetweenReps =>
|
||||
columnsByName['rest_between_reps']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restAfterSet =>
|
||||
columnsByName['rest_after_set']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get repType =>
|
||||
columnsByName['rep_type']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<int> get repLength =>
|
||||
columnsByName['rep_length']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get setWeights =>
|
||||
columnsByName['set_weights']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<bool> get isAlternating =>
|
||||
columnsByName['is_alternating']! as i1.GeneratedColumn<bool>;
|
||||
i1.GeneratedColumn<String> get tempo =>
|
||||
columnsByName['tempo']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<DateTime> get createdAt =>
|
||||
columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
|
||||
}
|
||||
|
||||
i1.GeneratedColumn<int> _column_74(String aliasedName) =>
|
||||
i1.GeneratedColumn<int>('set_id', aliasedName, false,
|
||||
type: i1.DriftSqlType.int,
|
||||
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
|
||||
'REFERENCES action_sets (id) ON DELETE CASCADE'));
|
||||
|
||||
final class Schema40 extends i0.VersionedSchema {
|
||||
Schema40({required super.database}) : super(version: 40);
|
||||
@override
|
||||
late final List<i1.DatabaseSchemaEntity> entities = [
|
||||
sessions,
|
||||
activities,
|
||||
sessionActivities,
|
||||
actionSets,
|
||||
actions,
|
||||
activityActions,
|
||||
mediaItems,
|
||||
objectMediaItems,
|
||||
];
|
||||
late final Shape12 sessions = Shape12(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'sessions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_1,
|
||||
_column_2,
|
||||
_column_3,
|
||||
_column_11,
|
||||
_column_20,
|
||||
_column_4,
|
||||
_column_75,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape17 activities = Shape17(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'activities',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_40,
|
||||
_column_36,
|
||||
_column_37,
|
||||
_column_38,
|
||||
_column_27,
|
||||
_column_28,
|
||||
_column_29,
|
||||
_column_35,
|
||||
_column_31,
|
||||
_column_32,
|
||||
_column_75,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape13 sessionActivities = Shape13(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'session_activities',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_21,
|
||||
_column_22,
|
||||
_column_19,
|
||||
_column_10,
|
||||
_column_75,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape26 actionSets = Shape26(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'action_sets',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_68,
|
||||
_column_69,
|
||||
_column_22,
|
||||
_column_70,
|
||||
_column_46,
|
||||
_column_71,
|
||||
_column_48,
|
||||
_column_49,
|
||||
_column_54,
|
||||
_column_64,
|
||||
_column_52,
|
||||
_column_21,
|
||||
_column_19,
|
||||
_column_75,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape21 actions = Shape21(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'actions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_41,
|
||||
_column_2,
|
||||
_column_42,
|
||||
_column_43,
|
||||
_column_44,
|
||||
_column_45,
|
||||
_column_46,
|
||||
_column_47,
|
||||
_column_48,
|
||||
_column_49,
|
||||
_column_53,
|
||||
_column_54,
|
||||
_column_64,
|
||||
_column_52,
|
||||
_column_65,
|
||||
_column_66,
|
||||
_column_12,
|
||||
_column_75,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape22 activityActions = Shape22(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'activity_actions',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_22,
|
||||
_column_23,
|
||||
_column_21,
|
||||
_column_19,
|
||||
_column_75,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape5 mediaItems = Shape5(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'media_items',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_41,
|
||||
_column_2,
|
||||
_column_25,
|
||||
_column_6,
|
||||
_column_75,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
late final Shape6 objectMediaItems = Shape6(
|
||||
source: i0.VersionedTable(
|
||||
entityName: 'object_media_items',
|
||||
withoutRowId: false,
|
||||
isStrict: false,
|
||||
tableConstraints: [],
|
||||
columns: [
|
||||
_column_0,
|
||||
_column_15,
|
||||
_column_16,
|
||||
_column_24,
|
||||
_column_75,
|
||||
],
|
||||
attachedDatabase: database,
|
||||
),
|
||||
alias: null);
|
||||
}
|
||||
|
||||
i1.GeneratedColumn<DateTime> _column_75(String aliasedName) =>
|
||||
i1.GeneratedColumn<DateTime>('created_at', aliasedName, false,
|
||||
type: i1.DriftSqlType.dateTime,
|
||||
defaultValue: const CustomExpression('1744140262'));
|
||||
|
||||
class Shape26 extends i0.VersionedTable {
|
||||
Shape26({required super.source, required super.alias}) : super.aliased();
|
||||
i1.GeneratedColumn<int> get id =>
|
||||
columnsByName['id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get name =>
|
||||
columnsByName['name']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<int> get reps =>
|
||||
columnsByName['reps']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get activityId =>
|
||||
columnsByName['activity_id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restBeforeSet =>
|
||||
columnsByName['rest_before_set']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restBetweenReps =>
|
||||
columnsByName['rest_between_reps']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get restAfterSet =>
|
||||
columnsByName['rest_after_set']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get repType =>
|
||||
columnsByName['rep_type']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<int> get repLength =>
|
||||
columnsByName['rep_length']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<String> get setWeights =>
|
||||
columnsByName['set_weights']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<bool> get isAlternating =>
|
||||
columnsByName['is_alternating']! as i1.GeneratedColumn<bool>;
|
||||
i1.GeneratedColumn<String> get tempo =>
|
||||
columnsByName['tempo']! as i1.GeneratedColumn<String>;
|
||||
i1.GeneratedColumn<int> get sessionId =>
|
||||
columnsByName['session_id']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<int> get position =>
|
||||
columnsByName['position']! as i1.GeneratedColumn<int>;
|
||||
i1.GeneratedColumn<DateTime> get createdAt =>
|
||||
columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
|
||||
}
|
||||
|
||||
i0.MigrationStepWithVersion migrationSteps({
|
||||
required Future<void> Function(i1.Migrator m, Schema2 schema) from1To2,
|
||||
required Future<void> Function(i1.Migrator m, Schema3 schema) from2To3,
|
||||
@ -5645,6 +6538,10 @@ i0.MigrationStepWithVersion migrationSteps({
|
||||
required Future<void> Function(i1.Migrator m, Schema33 schema) from32To33,
|
||||
required Future<void> Function(i1.Migrator m, Schema34 schema) from33To34,
|
||||
required Future<void> Function(i1.Migrator m, Schema35 schema) from34To35,
|
||||
required Future<void> Function(i1.Migrator m, Schema36 schema) from35To36,
|
||||
required Future<void> Function(i1.Migrator m, Schema37 schema) from36To37,
|
||||
required Future<void> Function(i1.Migrator m, Schema39 schema) from37To39,
|
||||
required Future<void> Function(i1.Migrator m, Schema40 schema) from39To40,
|
||||
}) {
|
||||
return (currentVersion, database) async {
|
||||
switch (currentVersion) {
|
||||
@ -5818,6 +6715,26 @@ i0.MigrationStepWithVersion migrationSteps({
|
||||
final migrator = i1.Migrator(database, schema);
|
||||
await from34To35(migrator, schema);
|
||||
return 35;
|
||||
case 35:
|
||||
final schema = Schema36(database: database);
|
||||
final migrator = i1.Migrator(database, schema);
|
||||
await from35To36(migrator, schema);
|
||||
return 36;
|
||||
case 36:
|
||||
final schema = Schema37(database: database);
|
||||
final migrator = i1.Migrator(database, schema);
|
||||
await from36To37(migrator, schema);
|
||||
return 37;
|
||||
case 37:
|
||||
final schema = Schema39(database: database);
|
||||
final migrator = i1.Migrator(database, schema);
|
||||
await from37To39(migrator, schema);
|
||||
return 39;
|
||||
case 39:
|
||||
final schema = Schema40(database: database);
|
||||
final migrator = i1.Migrator(database, schema);
|
||||
await from39To40(migrator, schema);
|
||||
return 40;
|
||||
default:
|
||||
throw ArgumentError.value('Unknown migration from $currentVersion');
|
||||
}
|
||||
@ -5859,6 +6776,10 @@ i1.OnUpgrade stepByStep({
|
||||
required Future<void> Function(i1.Migrator m, Schema33 schema) from32To33,
|
||||
required Future<void> Function(i1.Migrator m, Schema34 schema) from33To34,
|
||||
required Future<void> Function(i1.Migrator m, Schema35 schema) from34To35,
|
||||
required Future<void> Function(i1.Migrator m, Schema36 schema) from35To36,
|
||||
required Future<void> Function(i1.Migrator m, Schema37 schema) from36To37,
|
||||
required Future<void> Function(i1.Migrator m, Schema39 schema) from37To39,
|
||||
required Future<void> Function(i1.Migrator m, Schema40 schema) from39To40,
|
||||
}) =>
|
||||
i0.VersionedSchema.stepByStepHelper(
|
||||
step: migrationSteps(
|
||||
@ -5896,4 +6817,8 @@ i1.OnUpgrade stepByStep({
|
||||
from32To33: from32To33,
|
||||
from33To34: from33To34,
|
||||
from34To35: from34To35,
|
||||
from35To36: from35To36,
|
||||
from36To37: from36To37,
|
||||
from37To39: from37To39,
|
||||
from39To40: from39To40,
|
||||
));
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -66,18 +66,15 @@ Future<void> seedDb(AppDatabase database) async {
|
||||
if (exercise['images'] != null) {
|
||||
for (int j = 0; j < exercise['images'].length; j++) {
|
||||
var image = exercise['images'][j];
|
||||
images.add(
|
||||
"https://raw.githubusercontent.com/yuhonas/free-exercise-db/main/exercises/$image");
|
||||
images.add(image);
|
||||
}
|
||||
}
|
||||
|
||||
Map<Symbol, Value> payload = {
|
||||
Symbol('title'): Value<String>(
|
||||
exercise['name'].toString().trim().replaceAll(whitespaceRE, " ")),
|
||||
Symbol('description'): Value<String>(json.encode(exercise['instructions']
|
||||
.toString()
|
||||
.trim()
|
||||
.replaceAll(whitespaceRE, " "))),
|
||||
Symbol('description'):
|
||||
Value<String>(json.encode(exercise['instructions'])),
|
||||
Symbol('force'): Value<String>(exercise['force'] ?? "")
|
||||
};
|
||||
|
||||
@ -163,72 +160,100 @@ Future<void> seedDb(AppDatabase database) async {
|
||||
"[\"achievement 1\", \"achievement 2\", \"achievement 3\"]"),
|
||||
date: Value(DateTime.now())))
|
||||
.then((sessionId) async {
|
||||
// activities things
|
||||
for (int j = 0; j <= random.nextInt(totalActivities); j++) {
|
||||
int activityId = random.nextInt(activityIds.length);
|
||||
activityIds.removeAt(activityId);
|
||||
//session actions
|
||||
int activityId = random.nextInt(activityIds.length);
|
||||
|
||||
await database
|
||||
.into(database.sessionActivities)
|
||||
.insert(SessionActivitiesCompanion.insert(
|
||||
sessionId: sessionId,
|
||||
activityId: activityId,
|
||||
position: j,
|
||||
results: Value("results json, will need to test"),
|
||||
));
|
||||
for (int i = 0; i < 5; i += 1) {
|
||||
int restBefore = 0;
|
||||
int restAfter = 300000;
|
||||
|
||||
// actions
|
||||
// await database
|
||||
// .into(database.actions)
|
||||
// .insert(ActionsCompanion.insert(
|
||||
// title: 'Test action',
|
||||
// description:
|
||||
// 'Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
||||
// totalSets: 5,
|
||||
// totalReps: "[1]",
|
||||
// restBeforeSets: Value(30000),
|
||||
// restBetweenSets: Value(300000),
|
||||
// restBetweenReps: Value(15000),
|
||||
// restAfterSets: Value(300000),
|
||||
// repType: RepType.time,
|
||||
// repLength: Value(10000),
|
||||
// repWeights: Value("[110]"),
|
||||
// setWeights: Value("[1]"),
|
||||
// isAlternating: Value(true),
|
||||
// set: actionTypes[random.nextInt(actionTypes.length)]))
|
||||
// .then((actionId) async {
|
||||
// // add activity action association
|
||||
// await database.into(database.activityActions).insert(
|
||||
// ActivityActionsCompanion.insert(
|
||||
// activityId: activityId, actionId: actionId, sessionId: sessionId, position: 0));
|
||||
// });
|
||||
// for (int k = 0; k <= random.nextInt(totalActions); k++) {
|
||||
// await database
|
||||
// .into(database.actions)
|
||||
// .insert(ActionsCompanion.insert(
|
||||
// title: 'Test action $k',
|
||||
// description:
|
||||
// '$k Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
||||
// totalSets: 5,
|
||||
// totalReps: "[1]",
|
||||
// restBeforeSets: Value(30000),
|
||||
// restBetweenSets: Value(300000),
|
||||
// restBetweenReps: Value(15000),
|
||||
// restAfterSets: Value(300000),
|
||||
// repType: RepType.time,
|
||||
// repLength: Value(10000),
|
||||
// repWeights: Value("[110]"),
|
||||
// setWeights: Value("[1]"),
|
||||
// isAlternating: Value(true),
|
||||
// set: actionTypes[random.nextInt(actionTypes.length)]))
|
||||
// .then((actionId) async {
|
||||
// // add activity action association
|
||||
// await database.into(database.activityActions).insert(
|
||||
// ActivityActionsCompanion.insert(
|
||||
// activityId: activityId, actionId: actionId, position: k));
|
||||
// });
|
||||
// }
|
||||
if (i == 0) {
|
||||
restBefore = 30000;
|
||||
}
|
||||
|
||||
await database.into(database.actionSets).insert(
|
||||
ActionSetsCompanion.insert(
|
||||
name: 'test set',
|
||||
reps: 5,
|
||||
activityId: activityId,
|
||||
repType: RepType.time,
|
||||
isAlternating: Value(true),
|
||||
restBeforeSet: Value(restBefore),
|
||||
restAfterSet: Value(restAfter),
|
||||
restBetweenReps: Value(10000),
|
||||
repLength: Value(10000),
|
||||
setWeights: Value('[100]'),
|
||||
tempo: Value('[3000,2000,1000]'),
|
||||
sessionId: sessionId,
|
||||
position: i));
|
||||
}
|
||||
// SessionSetsCompanion.insert()
|
||||
// activities things
|
||||
// for (int j = 0; j <= random.nextInt(totalActivities); j++) {
|
||||
// int activityId = random.nextInt(activityIds.length);
|
||||
// activityIds.removeAt(activityId);
|
||||
|
||||
// await database
|
||||
// .into(database.sessionActivities)
|
||||
// .insert(SessionActivitiesCompanion.insert(
|
||||
// sessionId: sessionId,
|
||||
// activityId: activityId,
|
||||
// position: j,
|
||||
// results: Value("results json, will need to test"),
|
||||
// ));
|
||||
|
||||
// // actions
|
||||
// // await database
|
||||
// // .into(database.actions)
|
||||
// // .insert(ActionsCompanion.insert(
|
||||
// // title: 'Test action',
|
||||
// // description:
|
||||
// // 'Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
||||
// // totalSets: 5,
|
||||
// // totalReps: "[1]",
|
||||
// // restBeforeSets: Value(30000),
|
||||
// // restBetweenSets: Value(300000),
|
||||
// // restBetweenReps: Value(15000),
|
||||
// // restAfterSets: Value(300000),
|
||||
// // repType: RepType.time,
|
||||
// // repLength: Value(10000),
|
||||
// // repWeights: Value("[110]"),
|
||||
// // setWeights: Value("[1]"),
|
||||
// // isAlternating: Value(true),
|
||||
// // set: actionTypes[random.nextInt(actionTypes.length)]))
|
||||
// // .then((actionId) async {
|
||||
// // // add activity action association
|
||||
// // await database.into(database.activityActions).insert(
|
||||
// // ActivityActionsCompanion.insert(
|
||||
// // activityId: activityId, actionId: actionId, sessionId: sessionId, position: 0));
|
||||
// // });
|
||||
// // for (int k = 0; k <= random.nextInt(totalActions); k++) {
|
||||
// // await database
|
||||
// // .into(database.actions)
|
||||
// // .insert(ActionsCompanion.insert(
|
||||
// // title: 'Test action $k',
|
||||
// // description:
|
||||
// // '$k Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
||||
// // totalSets: 5,
|
||||
// // totalReps: "[1]",
|
||||
// // restBeforeSets: Value(30000),
|
||||
// // restBetweenSets: Value(300000),
|
||||
// // restBetweenReps: Value(15000),
|
||||
// // restAfterSets: Value(300000),
|
||||
// // repType: RepType.time,
|
||||
// // repLength: Value(10000),
|
||||
// // repWeights: Value("[110]"),
|
||||
// // setWeights: Value("[1]"),
|
||||
// // isAlternating: Value(true),
|
||||
// // set: actionTypes[random.nextInt(actionTypes.length)]))
|
||||
// // .then((actionId) async {
|
||||
// // // add activity action association
|
||||
// // await database.into(database.activityActions).insert(
|
||||
// // ActivityActionsCompanion.insert(
|
||||
// // activityId: activityId, actionId: actionId, position: k));
|
||||
// // });
|
||||
// // }
|
||||
// }
|
||||
|
||||
for (int n = 0; n <= random.nextInt(totalMedia); n++) {
|
||||
final mediaItem = mediaItems[random.nextInt(mediaItems.length)];
|
||||
|
@ -6,7 +6,23 @@ ImageProvider findMediaByType(List<MediaItem> media, MediaType type) {
|
||||
Image image;
|
||||
|
||||
if (found.isNotEmpty) {
|
||||
image = Image.network(found.first.reference);
|
||||
image = Image.network('https://test.com/image.jpg', loadingBuilder:
|
||||
(BuildContext context, Widget child, ImageChunkEvent? loadingProgress) {
|
||||
print('loading');
|
||||
print(loadingProgress);
|
||||
if (loadingProgress == null) return child;
|
||||
return Center(
|
||||
child: CircularProgressIndicator(
|
||||
value: loadingProgress.expectedTotalBytes != null
|
||||
? loadingProgress.cumulativeBytesLoaded /
|
||||
loadingProgress.expectedTotalBytes!
|
||||
: null,
|
||||
),
|
||||
);
|
||||
}, errorBuilder: (context, error, stackTrace) {
|
||||
print('error');
|
||||
return Image.asset('assets/images/placeholder.jpg');
|
||||
});
|
||||
} else {
|
||||
// Element is not found
|
||||
image = Image.asset('assets/images/placeholder.jpg');
|
||||
|
@ -4,7 +4,7 @@ import 'package:sendtrain/database/database.dart';
|
||||
import 'package:sendtrain/helpers/widget_helpers.dart';
|
||||
import 'package:sendtrain/models/activity_timer_model.dart';
|
||||
import 'package:sendtrain/providers/action_timer.dart';
|
||||
import 'package:sendtrain/widgets/screens/activities_screen.dart';
|
||||
// import 'package:sendtrain/widgets/screens/activities_screen.dart';
|
||||
import 'package:sendtrain/widgets/screens/sessions_screen.dart';
|
||||
// ignore: unused_import
|
||||
import 'package:sendtrain/database/seed.dart';
|
||||
@ -66,7 +66,7 @@ class _AppState extends State<App> {
|
||||
padding: const EdgeInsets.fromLTRB(0, 50, 0, 0),
|
||||
child: <Widget>[
|
||||
SessionsScreen(),
|
||||
const ActivitiesScreen(),
|
||||
// const ActivitiesScreen(),
|
||||
Container(
|
||||
alignment: Alignment.center,
|
||||
child: const Text('In Progress...'),
|
||||
@ -94,9 +94,9 @@ class _AppState extends State<App> {
|
||||
destinations: const <Widget>[
|
||||
NavigationDestination(
|
||||
icon: Icon(Icons.sports), label: "Sessions"),
|
||||
NavigationDestination(
|
||||
icon: Icon(Icons.sports_gymnastics_rounded),
|
||||
label: "Activities"),
|
||||
// NavigationDestination(
|
||||
// icon: Icon(Icons.sports_gymnastics_rounded),
|
||||
// label: "Activities"),
|
||||
NavigationDestination(
|
||||
icon: Icon(Icons.calendar_month_rounded), label: "Plan"),
|
||||
NavigationDestination(
|
||||
|
@ -17,19 +17,45 @@ class MediaCard extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
DecorationImage mediaImage(MediaItem media) {
|
||||
dynamic image;
|
||||
mediaImage(MediaItem media) {
|
||||
Image image = Image.asset('assets/images/placeholder.jpg');
|
||||
|
||||
if (media.type == MediaType.image || media.type == MediaType.location) {
|
||||
image = NetworkImage(media.reference);
|
||||
image = Image.network(media.reference, loadingBuilder:
|
||||
(BuildContext context, Widget child,
|
||||
ImageChunkEvent? loadingProgress) {
|
||||
if (loadingProgress == null) return child;
|
||||
return Text('WTF!!!!');
|
||||
// return Center(
|
||||
// child: CircularProgressIndicator(
|
||||
// value: loadingProgress.expectedTotalBytes != null
|
||||
// ? loadingProgress.cumulativeBytesLoaded /
|
||||
// loadingProgress.expectedTotalBytes!
|
||||
// : null,
|
||||
// ),
|
||||
// );
|
||||
});
|
||||
} else if (media.type == MediaType.localImage) {
|
||||
image = Image.memory(base64Decode(media.reference)).image;
|
||||
image = Image.memory(base64Decode(media.reference));
|
||||
} else if (media.type == MediaType.youtube) {
|
||||
image =
|
||||
NetworkImage('https://img.youtube.com/vi/${media.reference}/0.jpg');
|
||||
} else if (media.type == MediaType.localVideo) {}
|
||||
Image.network('https://img.youtube.com/vi/${media.reference}/0.jpg',
|
||||
loadingBuilder: (BuildContext context, Widget child,
|
||||
ImageChunkEvent? loadingProgress) {
|
||||
if (loadingProgress == null) return child;
|
||||
return Text('WTF!!!!');
|
||||
// return Center(
|
||||
// child: CircularProgressIndicator(
|
||||
// value: loadingProgress.expectedTotalBytes != null
|
||||
// ? loadingProgress.cumulativeBytesLoaded /
|
||||
// loadingProgress.expectedTotalBytes!
|
||||
// : null,
|
||||
// ),
|
||||
// );
|
||||
});
|
||||
} //else if (media.type == MediaType.localVideo) {}
|
||||
|
||||
return DecorationImage(image: image, fit: BoxFit.cover);
|
||||
return DecorationImage(image: image.image, fit: BoxFit.cover);
|
||||
}
|
||||
|
||||
return Container(
|
||||
|
@ -13,6 +13,7 @@ import 'package:sendtrain/widgets/generic/elements/generic_progress_indicator.da
|
||||
import 'package:sendtrain/widgets/sessions/session_activities_editor.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_editor.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_view_achievements.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_view_actions.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_view_activities.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_view_media.dart';
|
||||
|
||||
@ -178,13 +179,20 @@ class _SessionViewState extends State<SessionView> {
|
||||
fontSize: 20, fontWeight: FontWeight.bold),
|
||||
'Media:')),
|
||||
SessionViewMedia(session: session),
|
||||
// const Padding(
|
||||
// padding: EdgeInsets.fromLTRB(15, 30, 0, 10),
|
||||
// child: Text(
|
||||
// style: TextStyle(
|
||||
// fontSize: 20, fontWeight: FontWeight.bold),
|
||||
// 'Activites:')),
|
||||
// SessionViewActivities(session: session),
|
||||
const Padding(
|
||||
padding: EdgeInsets.fromLTRB(15, 30, 0, 10),
|
||||
child: Text(
|
||||
style: TextStyle(
|
||||
fontSize: 20, fontWeight: FontWeight.bold),
|
||||
'Activites:')),
|
||||
SessionViewActivities(session: session),
|
||||
'Actions:')),
|
||||
SessionViewActions(session: session)
|
||||
],
|
||||
));
|
||||
} else {
|
||||
|
42
lib/widgets/sessions/session_view_actions.dart
Normal file
42
lib/widgets/sessions/session_view_actions.dart
Normal file
@ -0,0 +1,42 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
|
||||
import 'package:sendtrain/daos/action_sets_dao.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
|
||||
class SessionViewActions extends StatelessWidget {
|
||||
SessionViewActions({super.key, required this.session});
|
||||
|
||||
final Session session;
|
||||
|
||||
// final List actions;
|
||||
final ItemScrollController itemScrollController = ItemScrollController();
|
||||
final ScrollOffsetController scrollOffsetController =
|
||||
ScrollOffsetController();
|
||||
final ItemPositionsListener itemPositionsListener =
|
||||
ItemPositionsListener.create();
|
||||
final ScrollOffsetListener scrollOffsetListener =
|
||||
ScrollOffsetListener.create();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return FutureBuilder<List>(
|
||||
future: ActionSetsDao(Provider.of<AppDatabase>(context))
|
||||
.fromSession(session),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
List<ActionSet> actionSets = snapshot.data! as List<ActionSet>;
|
||||
|
||||
return Text(actionSets.first.name);
|
||||
} else {
|
||||
return Container(
|
||||
alignment: Alignment.center,
|
||||
child: SizedBox(
|
||||
height: 50.0,
|
||||
width: 50.0,
|
||||
child: CircularProgressIndicator(),
|
||||
));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -7,6 +7,11 @@ import 'schema_v1.dart' as v1;
|
||||
import 'schema_v2.dart' as v2;
|
||||
import 'schema_v3.dart' as v3;
|
||||
import 'schema_v4.dart' as v4;
|
||||
import 'schema_v5.dart' as v5;
|
||||
import 'schema_v6.dart' as v6;
|
||||
import 'schema_v7.dart' as v7;
|
||||
import 'schema_v8.dart' as v8;
|
||||
import 'schema_v9.dart' as v9;
|
||||
import 'schema_v10.dart' as v10;
|
||||
import 'schema_v11.dart' as v11;
|
||||
import 'schema_v12.dart' as v12;
|
||||
@ -17,11 +22,6 @@ import 'schema_v16.dart' as v16;
|
||||
import 'schema_v17.dart' as v17;
|
||||
import 'schema_v18.dart' as v18;
|
||||
import 'schema_v19.dart' as v19;
|
||||
import 'schema_v5.dart' as v5;
|
||||
import 'schema_v6.dart' as v6;
|
||||
import 'schema_v7.dart' as v7;
|
||||
import 'schema_v8.dart' as v8;
|
||||
import 'schema_v9.dart' as v9;
|
||||
import 'schema_v20.dart' as v20;
|
||||
import 'schema_v21.dart' as v21;
|
||||
import 'schema_v22.dart' as v22;
|
||||
@ -38,6 +38,10 @@ import 'schema_v32.dart' as v32;
|
||||
import 'schema_v33.dart' as v33;
|
||||
import 'schema_v34.dart' as v34;
|
||||
import 'schema_v35.dart' as v35;
|
||||
import 'schema_v36.dart' as v36;
|
||||
import 'schema_v37.dart' as v37;
|
||||
import 'schema_v39.dart' as v39;
|
||||
import 'schema_v40.dart' as v40;
|
||||
|
||||
class GeneratedHelper implements SchemaInstantiationHelper {
|
||||
@override
|
||||
@ -51,6 +55,16 @@ class GeneratedHelper implements SchemaInstantiationHelper {
|
||||
return v3.DatabaseAtV3(db);
|
||||
case 4:
|
||||
return v4.DatabaseAtV4(db);
|
||||
case 5:
|
||||
return v5.DatabaseAtV5(db);
|
||||
case 6:
|
||||
return v6.DatabaseAtV6(db);
|
||||
case 7:
|
||||
return v7.DatabaseAtV7(db);
|
||||
case 8:
|
||||
return v8.DatabaseAtV8(db);
|
||||
case 9:
|
||||
return v9.DatabaseAtV9(db);
|
||||
case 10:
|
||||
return v10.DatabaseAtV10(db);
|
||||
case 11:
|
||||
@ -71,16 +85,6 @@ class GeneratedHelper implements SchemaInstantiationHelper {
|
||||
return v18.DatabaseAtV18(db);
|
||||
case 19:
|
||||
return v19.DatabaseAtV19(db);
|
||||
case 5:
|
||||
return v5.DatabaseAtV5(db);
|
||||
case 6:
|
||||
return v6.DatabaseAtV6(db);
|
||||
case 7:
|
||||
return v7.DatabaseAtV7(db);
|
||||
case 8:
|
||||
return v8.DatabaseAtV8(db);
|
||||
case 9:
|
||||
return v9.DatabaseAtV9(db);
|
||||
case 20:
|
||||
return v20.DatabaseAtV20(db);
|
||||
case 21:
|
||||
@ -113,6 +117,14 @@ class GeneratedHelper implements SchemaInstantiationHelper {
|
||||
return v34.DatabaseAtV34(db);
|
||||
case 35:
|
||||
return v35.DatabaseAtV35(db);
|
||||
case 36:
|
||||
return v36.DatabaseAtV36(db);
|
||||
case 37:
|
||||
return v37.DatabaseAtV37(db);
|
||||
case 39:
|
||||
return v39.DatabaseAtV39(db);
|
||||
case 40:
|
||||
return v40.DatabaseAtV40(db);
|
||||
default:
|
||||
throw MissingSchemaException(version, versions);
|
||||
}
|
||||
@ -153,6 +165,10 @@ class GeneratedHelper implements SchemaInstantiationHelper {
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
39,
|
||||
40
|
||||
];
|
||||
}
|
||||
|
2733
test/drift/sendtrain/generated/schema_v36.dart
Normal file
2733
test/drift/sendtrain/generated/schema_v36.dart
Normal file
File diff suppressed because it is too large
Load Diff
3535
test/drift/sendtrain/generated/schema_v37.dart
Normal file
3535
test/drift/sendtrain/generated/schema_v37.dart
Normal file
File diff suppressed because it is too large
Load Diff
3536
test/drift/sendtrain/generated/schema_v39.dart
Normal file
3536
test/drift/sendtrain/generated/schema_v39.dart
Normal file
File diff suppressed because it is too large
Load Diff
3341
test/drift/sendtrain/generated/schema_v40.dart
Normal file
3341
test/drift/sendtrain/generated/schema_v40.dart
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user