activity read

This commit is contained in:
Joshua Burman 2025-01-06 16:46:22 -05:00
parent 6917754933
commit 8ec531c0ea
8 changed files with 2430 additions and 90 deletions

View File

@ -35,7 +35,7 @@ class AppDatabase extends _$AppDatabase {
AppDatabase() : super(_openConnection());
@override
int get schemaVersion => 19;
int get schemaVersion => 20;
@override
MigrationStrategy get migration {
@ -193,7 +193,7 @@ enum MediaType { youtube, image, location, localImage, localVideo }
class MediaItems extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get title => text().withLength(min: 3, max: 32)();
TextColumn get title => text().withLength(min: 3, max: 64)();
TextColumn get description => text().named('body')();
TextColumn get reference => text()();
TextColumn get type => textEnum<MediaType>()();

View File

@ -515,11 +515,6 @@ class $ActivitiesTable extends Activities
type: DriftSqlType.string, requiredDuringInsert: false)
.withConverter<ActivityMuscle?>(
$ActivitiesTable.$convertersecondaryMusclesn);
static const VerificationMeta _imagesMeta = const VerificationMeta('images');
@override
late final GeneratedColumn<String> images = GeneratedColumn<String>(
'images', aliasedName, true,
type: DriftSqlType.string, requiredDuringInsert: false);
static const VerificationMeta _createdAtMeta =
const VerificationMeta('createdAt');
@override
@ -541,7 +536,6 @@ class $ActivitiesTable extends Activities
equipment,
primaryMuscles,
secondaryMuscles,
images,
createdAt
];
@override
@ -578,10 +572,6 @@ class $ActivitiesTable extends Activities
context.handle(_equipmentMeta, const VerificationResult.success());
context.handle(_primaryMusclesMeta, const VerificationResult.success());
context.handle(_secondaryMusclesMeta, const VerificationResult.success());
if (data.containsKey('images')) {
context.handle(_imagesMeta,
images.isAcceptableOrUnknown(data['images']!, _imagesMeta));
}
if (data.containsKey('created_at')) {
context.handle(_createdAtMeta,
createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta));
@ -624,8 +614,6 @@ class $ActivitiesTable extends Activities
secondaryMuscles: $ActivitiesTable.$convertersecondaryMusclesn.fromSql(
attachedDatabase.typeMapping.read(DriftSqlType.string,
data['${effectivePrefix}secondary_muscles'])),
images: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}images']),
createdAt: attachedDatabase.typeMapping
.read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!,
);
@ -685,7 +673,6 @@ class Activity extends DataClass implements Insertable<Activity> {
final ActivityEquipment? equipment;
final ActivityMuscle? primaryMuscles;
final ActivityMuscle? secondaryMuscles;
final String? images;
final DateTime createdAt;
const Activity(
{required this.id,
@ -699,7 +686,6 @@ class Activity extends DataClass implements Insertable<Activity> {
this.equipment,
this.primaryMuscles,
this.secondaryMuscles,
this.images,
required this.createdAt});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
@ -740,9 +726,6 @@ class Activity extends DataClass implements Insertable<Activity> {
map['secondary_muscles'] = Variable<String>(
$ActivitiesTable.$convertersecondaryMusclesn.toSql(secondaryMuscles));
}
if (!nullToAbsent || images != null) {
map['images'] = Variable<String>(images);
}
map['created_at'] = Variable<DateTime>(createdAt);
return map;
}
@ -774,8 +757,6 @@ class Activity extends DataClass implements Insertable<Activity> {
secondaryMuscles: secondaryMuscles == null && nullToAbsent
? const Value.absent()
: Value(secondaryMuscles),
images:
images == null && nullToAbsent ? const Value.absent() : Value(images),
createdAt: Value(createdAt),
);
}
@ -802,7 +783,6 @@ class Activity extends DataClass implements Insertable<Activity> {
.fromJson(serializer.fromJson<String?>(json['primaryMuscles'])),
secondaryMuscles: $ActivitiesTable.$convertersecondaryMusclesn
.fromJson(serializer.fromJson<String?>(json['secondaryMuscles'])),
images: serializer.fromJson<String?>(json['images']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
);
}
@ -829,7 +809,6 @@ class Activity extends DataClass implements Insertable<Activity> {
'secondaryMuscles': serializer.toJson<String?>($ActivitiesTable
.$convertersecondaryMusclesn
.toJson(secondaryMuscles)),
'images': serializer.toJson<String?>(images),
'createdAt': serializer.toJson<DateTime>(createdAt),
};
}
@ -846,7 +825,6 @@ class Activity extends DataClass implements Insertable<Activity> {
Value<ActivityEquipment?> equipment = const Value.absent(),
Value<ActivityMuscle?> primaryMuscles = const Value.absent(),
Value<ActivityMuscle?> secondaryMuscles = const Value.absent(),
Value<String?> images = const Value.absent(),
DateTime? createdAt}) =>
Activity(
id: id ?? this.id,
@ -863,7 +841,6 @@ class Activity extends DataClass implements Insertable<Activity> {
secondaryMuscles: secondaryMuscles.present
? secondaryMuscles.value
: this.secondaryMuscles,
images: images.present ? images.value : this.images,
createdAt: createdAt ?? this.createdAt,
);
Activity copyWithCompanion(ActivitiesCompanion data) {
@ -884,7 +861,6 @@ class Activity extends DataClass implements Insertable<Activity> {
secondaryMuscles: data.secondaryMuscles.present
? data.secondaryMuscles.value
: this.secondaryMuscles,
images: data.images.present ? data.images.value : this.images,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
);
}
@ -903,27 +879,14 @@ class Activity extends DataClass implements Insertable<Activity> {
..write('equipment: $equipment, ')
..write('primaryMuscles: $primaryMuscles, ')
..write('secondaryMuscles: $secondaryMuscles, ')
..write('images: $images, ')
..write('createdAt: $createdAt')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(
id,
title,
type,
description,
category,
force,
level,
mechanic,
equipment,
primaryMuscles,
secondaryMuscles,
images,
createdAt);
int get hashCode => Object.hash(id, title, type, description, category, force,
level, mechanic, equipment, primaryMuscles, secondaryMuscles, createdAt);
@override
bool operator ==(Object other) =>
identical(this, other) ||
@ -939,7 +902,6 @@ class Activity extends DataClass implements Insertable<Activity> {
other.equipment == this.equipment &&
other.primaryMuscles == this.primaryMuscles &&
other.secondaryMuscles == this.secondaryMuscles &&
other.images == this.images &&
other.createdAt == this.createdAt);
}
@ -955,7 +917,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
final Value<ActivityEquipment?> equipment;
final Value<ActivityMuscle?> primaryMuscles;
final Value<ActivityMuscle?> secondaryMuscles;
final Value<String?> images;
final Value<DateTime> createdAt;
const ActivitiesCompanion({
this.id = const Value.absent(),
@ -969,7 +930,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
this.equipment = const Value.absent(),
this.primaryMuscles = const Value.absent(),
this.secondaryMuscles = const Value.absent(),
this.images = const Value.absent(),
this.createdAt = const Value.absent(),
});
ActivitiesCompanion.insert({
@ -984,7 +944,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
this.equipment = const Value.absent(),
this.primaryMuscles = const Value.absent(),
this.secondaryMuscles = const Value.absent(),
this.images = const Value.absent(),
this.createdAt = const Value.absent(),
}) : title = Value(title);
static Insertable<Activity> custom({
@ -999,7 +958,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
Expression<String>? equipment,
Expression<String>? primaryMuscles,
Expression<String>? secondaryMuscles,
Expression<String>? images,
Expression<DateTime>? createdAt,
}) {
return RawValuesInsertable({
@ -1014,7 +972,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
if (equipment != null) 'equipment': equipment,
if (primaryMuscles != null) 'primary_muscles': primaryMuscles,
if (secondaryMuscles != null) 'secondary_muscles': secondaryMuscles,
if (images != null) 'images': images,
if (createdAt != null) 'created_at': createdAt,
});
}
@ -1031,7 +988,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
Value<ActivityEquipment?>? equipment,
Value<ActivityMuscle?>? primaryMuscles,
Value<ActivityMuscle?>? secondaryMuscles,
Value<String?>? images,
Value<DateTime>? createdAt}) {
return ActivitiesCompanion(
id: id ?? this.id,
@ -1045,7 +1001,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
equipment: equipment ?? this.equipment,
primaryMuscles: primaryMuscles ?? this.primaryMuscles,
secondaryMuscles: secondaryMuscles ?? this.secondaryMuscles,
images: images ?? this.images,
createdAt: createdAt ?? this.createdAt,
);
}
@ -1095,9 +1050,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
.$convertersecondaryMusclesn
.toSql(secondaryMuscles.value));
}
if (images.present) {
map['images'] = Variable<String>(images.value);
}
if (createdAt.present) {
map['created_at'] = Variable<DateTime>(createdAt.value);
}
@ -1118,7 +1070,6 @@ class ActivitiesCompanion extends UpdateCompanion<Activity> {
..write('equipment: $equipment, ')
..write('primaryMuscles: $primaryMuscles, ')
..write('secondaryMuscles: $secondaryMuscles, ')
..write('images: $images, ')
..write('createdAt: $createdAt')
..write(')'))
.toString();
@ -2098,7 +2049,7 @@ class $MediaItemsTable extends MediaItems
late final GeneratedColumn<String> title = GeneratedColumn<String>(
'title', aliasedName, false,
additionalChecks:
GeneratedColumn.checkTextLength(minTextLength: 3, maxTextLength: 32),
GeneratedColumn.checkTextLength(minTextLength: 3, maxTextLength: 64),
type: DriftSqlType.string,
requiredDuringInsert: true);
static const VerificationMeta _descriptionMeta =
@ -3117,7 +3068,6 @@ typedef $$ActivitiesTableCreateCompanionBuilder = ActivitiesCompanion Function({
Value<ActivityEquipment?> equipment,
Value<ActivityMuscle?> primaryMuscles,
Value<ActivityMuscle?> secondaryMuscles,
Value<String?> images,
Value<DateTime> createdAt,
});
typedef $$ActivitiesTableUpdateCompanionBuilder = ActivitiesCompanion Function({
@ -3132,7 +3082,6 @@ typedef $$ActivitiesTableUpdateCompanionBuilder = ActivitiesCompanion Function({
Value<ActivityEquipment?> equipment,
Value<ActivityMuscle?> primaryMuscles,
Value<ActivityMuscle?> secondaryMuscles,
Value<String?> images,
Value<DateTime> createdAt,
});
@ -3232,9 +3181,6 @@ class $$ActivitiesTableFilterComposer
column: $table.secondaryMuscles,
builder: (column) => ColumnWithTypeConverterFilters(column));
ColumnFilters<String> get images => $composableBuilder(
column: $table.images, builder: (column) => ColumnFilters(column));
ColumnFilters<DateTime> get createdAt => $composableBuilder(
column: $table.createdAt, builder: (column) => ColumnFilters(column));
@ -3325,9 +3271,6 @@ class $$ActivitiesTableOrderingComposer
column: $table.secondaryMuscles,
builder: (column) => ColumnOrderings(column));
ColumnOrderings<String> get images => $composableBuilder(
column: $table.images, builder: (column) => ColumnOrderings(column));
ColumnOrderings<DateTime> get createdAt => $composableBuilder(
column: $table.createdAt, builder: (column) => ColumnOrderings(column));
}
@ -3376,9 +3319,6 @@ class $$ActivitiesTableAnnotationComposer
get secondaryMuscles => $composableBuilder(
column: $table.secondaryMuscles, builder: (column) => column);
GeneratedColumn<String> get images =>
$composableBuilder(column: $table.images, builder: (column) => column);
GeneratedColumn<DateTime> get createdAt =>
$composableBuilder(column: $table.createdAt, builder: (column) => column);
@ -3461,7 +3401,6 @@ class $$ActivitiesTableTableManager extends RootTableManager<
Value<ActivityEquipment?> equipment = const Value.absent(),
Value<ActivityMuscle?> primaryMuscles = const Value.absent(),
Value<ActivityMuscle?> secondaryMuscles = const Value.absent(),
Value<String?> images = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
}) =>
ActivitiesCompanion(
@ -3476,7 +3415,6 @@ class $$ActivitiesTableTableManager extends RootTableManager<
equipment: equipment,
primaryMuscles: primaryMuscles,
secondaryMuscles: secondaryMuscles,
images: images,
createdAt: createdAt,
),
createCompanionCallback: ({
@ -3491,7 +3429,6 @@ class $$ActivitiesTableTableManager extends RootTableManager<
Value<ActivityEquipment?> equipment = const Value.absent(),
Value<ActivityMuscle?> primaryMuscles = const Value.absent(),
Value<ActivityMuscle?> secondaryMuscles = const Value.absent(),
Value<String?> images = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
}) =>
ActivitiesCompanion.insert(
@ -3506,7 +3443,6 @@ class $$ActivitiesTableTableManager extends RootTableManager<
equipment: equipment,
primaryMuscles: primaryMuscles,
secondaryMuscles: secondaryMuscles,
images: images,
createdAt: createdAt,
),
withReferenceMapper: (p0) => p0

View File

@ -2901,6 +2901,178 @@ i1.GeneratedColumn<String> _column_40(String aliasedName) =>
additionalChecks: i1.GeneratedColumn.checkTextLength(
minTextLength: 3, maxTextLength: 100),
type: i1.DriftSqlType.string);
final class Schema20 extends i0.VersionedSchema {
Schema20({required super.database}) : super(version: 20);
@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_5,
],
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_5,
],
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_5,
],
attachedDatabase: database,
),
alias: null);
late final Shape3 actions = Shape3(
source: i0.VersionedTable(
entityName: 'actions',
withoutRowId: false,
isStrict: false,
tableConstraints: [],
columns: [
_column_0,
_column_1,
_column_2,
_column_12,
_column_5,
],
attachedDatabase: database,
),
alias: null);
late final Shape10 activityActions = Shape10(
source: i0.VersionedTable(
entityName: 'activity_actions',
withoutRowId: false,
isStrict: false,
tableConstraints: [],
columns: [
_column_0,
_column_22,
_column_23,
_column_19,
_column_5,
],
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_5,
],
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_5,
],
attachedDatabase: database,
),
alias: null);
}
class Shape17 extends i0.VersionedTable {
Shape17({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<int> get id =>
columnsByName['id']! as i1.GeneratedColumn<int>;
i1.GeneratedColumn<String> get title =>
columnsByName['title']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get type =>
columnsByName['type']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get description =>
columnsByName['body']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get category =>
columnsByName['category']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get force =>
columnsByName['force']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get level =>
columnsByName['level']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get mechanic =>
columnsByName['mechanic']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get equipment =>
columnsByName['equipment']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get primaryMuscles =>
columnsByName['primary_muscles']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get secondaryMuscles =>
columnsByName['secondary_muscles']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<DateTime> get createdAt =>
columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
}
i1.GeneratedColumn<String> _column_41(String aliasedName) =>
i1.GeneratedColumn<String>('title', aliasedName, false,
additionalChecks: i1.GeneratedColumn.checkTextLength(
minTextLength: 3, maxTextLength: 64),
type: i1.DriftSqlType.string);
i0.MigrationStepWithVersion migrationSteps({
required Future<void> Function(i1.Migrator m, Schema2 schema) from1To2,
required Future<void> Function(i1.Migrator m, Schema3 schema) from2To3,
@ -2920,6 +3092,7 @@ i0.MigrationStepWithVersion migrationSteps({
required Future<void> Function(i1.Migrator m, Schema17 schema) from16To17,
required Future<void> Function(i1.Migrator m, Schema18 schema) from17To18,
required Future<void> Function(i1.Migrator m, Schema19 schema) from18To19,
required Future<void> Function(i1.Migrator m, Schema20 schema) from19To20,
}) {
return (currentVersion, database) async {
switch (currentVersion) {
@ -3013,6 +3186,11 @@ i0.MigrationStepWithVersion migrationSteps({
final migrator = i1.Migrator(database, schema);
await from18To19(migrator, schema);
return 19;
case 19:
final schema = Schema20(database: database);
final migrator = i1.Migrator(database, schema);
await from19To20(migrator, schema);
return 20;
default:
throw ArgumentError.value('Unknown migration from $currentVersion');
}
@ -3038,6 +3216,7 @@ i1.OnUpgrade stepByStep({
required Future<void> Function(i1.Migrator m, Schema17 schema) from16To17,
required Future<void> Function(i1.Migrator m, Schema18 schema) from17To18,
required Future<void> Function(i1.Migrator m, Schema19 schema) from18To19,
required Future<void> Function(i1.Migrator m, Schema20 schema) from19To20,
}) =>
i0.VersionedSchema.stepByStepHelper(
step: migrationSteps(
@ -3059,4 +3238,5 @@ i1.OnUpgrade stepByStep({
from16To17: from16To17,
from17To18: from17To18,
from18To19: from18To19,
from19To20: from19To20,
));

File diff suppressed because one or more lines are too long

View File

@ -124,9 +124,9 @@ Future<void> seedDb(AppDatabase database) async {
await database
.into(database.mediaItems)
.insert(MediaItemsCompanion.insert(
title: 'Media title $m',
title: exercise['name'],
description:
'Media description $m Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
exercise['name'],
reference: mediaItem,
type: MediaType.image))
.then((mediaId) async {

View File

@ -185,7 +185,7 @@ class _ActivityViewState extends State<ActivityView> {
])),
Padding(
padding: const EdgeInsets.only(
top: 0, bottom: 10, left: 15, right: 15),
top: 0, bottom: 0, left: 15, right: 15),
child: Text(
maxLines: 4,
overflow: TextOverflow. ellipsis,
@ -219,8 +219,8 @@ class _ActivityViewState extends State<ActivityView> {
json.decode(activity.description ??
"")))));
},
child: Text("Read More...",
textAlign: TextAlign.right),
child: Text("read more",
textAlign: TextAlign.right, style: TextStyle(fontSize: 12),),
))),
const Padding(
padding: EdgeInsets.fromLTRB(15, 10, 0, 10),

View File

@ -7,11 +7,6 @@ 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;
@ -22,6 +17,12 @@ 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;
class GeneratedHelper implements SchemaInstantiationHelper {
@override
@ -35,16 +36,6 @@ 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:
@ -65,6 +56,18 @@ 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);
default:
throw MissingSchemaException(version, versions);
}
@ -89,6 +92,7 @@ class GeneratedHelper implements SchemaInstantiationHelper {
16,
17,
18,
19
19,
20
];
}

File diff suppressed because it is too large Load Diff