feat(bibliotheque): tags et duplication profonde
Ticket #83 B1-B3 : tags JSON dénormalisés, migration Drift v19, mappings sync, helpers de filtre/suggestions, duplication profonde Program/WorkoutTemplate, tests associés. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -170,6 +170,18 @@ class $WorkoutTemplatesTable extends WorkoutTemplates
|
||||
),
|
||||
defaultValue: const Constant(false),
|
||||
);
|
||||
static const VerificationMeta _tagsJsonMeta = const VerificationMeta(
|
||||
'tagsJson',
|
||||
);
|
||||
@override
|
||||
late final GeneratedColumn<String> tagsJson = GeneratedColumn<String>(
|
||||
'tags_json',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.string,
|
||||
requiredDuringInsert: false,
|
||||
defaultValue: const Constant('[]'),
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [
|
||||
id,
|
||||
@ -186,6 +198,7 @@ class $WorkoutTemplatesTable extends WorkoutTemplates
|
||||
name,
|
||||
lastStartedAt,
|
||||
isExample,
|
||||
tagsJson,
|
||||
];
|
||||
@override
|
||||
String get aliasedName => _alias ?? actualTableName;
|
||||
@ -315,6 +328,12 @@ class $WorkoutTemplatesTable extends WorkoutTemplates
|
||||
isExample.isAcceptableOrUnknown(data['is_example']!, _isExampleMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('tags_json')) {
|
||||
context.handle(
|
||||
_tagsJsonMeta,
|
||||
tagsJson.isAcceptableOrUnknown(data['tags_json']!, _tagsJsonMeta),
|
||||
);
|
||||
}
|
||||
return context;
|
||||
}
|
||||
|
||||
@ -380,6 +399,10 @@ class $WorkoutTemplatesTable extends WorkoutTemplates
|
||||
DriftSqlType.bool,
|
||||
data['${effectivePrefix}is_example'],
|
||||
)!,
|
||||
tagsJson: attachedDatabase.typeMapping.read(
|
||||
DriftSqlType.string,
|
||||
data['${effectivePrefix}tags_json'],
|
||||
)!,
|
||||
);
|
||||
}
|
||||
|
||||
@ -404,6 +427,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
final String name;
|
||||
final DateTime? lastStartedAt;
|
||||
final bool isExample;
|
||||
final String tagsJson;
|
||||
const WorkoutTemplate({
|
||||
required this.id,
|
||||
required this.createdAt,
|
||||
@ -419,6 +443,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
required this.name,
|
||||
this.lastStartedAt,
|
||||
required this.isExample,
|
||||
required this.tagsJson,
|
||||
});
|
||||
@override
|
||||
Map<String, Expression> toColumns(bool nullToAbsent) {
|
||||
@ -447,6 +472,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
map['last_started_at'] = Variable<DateTime>(lastStartedAt);
|
||||
}
|
||||
map['is_example'] = Variable<bool>(isExample);
|
||||
map['tags_json'] = Variable<String>(tagsJson);
|
||||
return map;
|
||||
}
|
||||
|
||||
@ -476,6 +502,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
? const Value.absent()
|
||||
: Value(lastStartedAt),
|
||||
isExample: Value(isExample),
|
||||
tagsJson: Value(tagsJson),
|
||||
);
|
||||
}
|
||||
|
||||
@ -501,6 +528,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
name: serializer.fromJson<String>(json['name']),
|
||||
lastStartedAt: serializer.fromJson<DateTime?>(json['lastStartedAt']),
|
||||
isExample: serializer.fromJson<bool>(json['isExample']),
|
||||
tagsJson: serializer.fromJson<String>(json['tagsJson']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@ -521,6 +549,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
'name': serializer.toJson<String>(name),
|
||||
'lastStartedAt': serializer.toJson<DateTime?>(lastStartedAt),
|
||||
'isExample': serializer.toJson<bool>(isExample),
|
||||
'tagsJson': serializer.toJson<String>(tagsJson),
|
||||
};
|
||||
}
|
||||
|
||||
@ -539,6 +568,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
String? name,
|
||||
Value<DateTime?> lastStartedAt = const Value.absent(),
|
||||
bool? isExample,
|
||||
String? tagsJson,
|
||||
}) => WorkoutTemplate(
|
||||
id: id ?? this.id,
|
||||
createdAt: createdAt ?? this.createdAt,
|
||||
@ -560,6 +590,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
? lastStartedAt.value
|
||||
: this.lastStartedAt,
|
||||
isExample: isExample ?? this.isExample,
|
||||
tagsJson: tagsJson ?? this.tagsJson,
|
||||
);
|
||||
WorkoutTemplate copyWithCompanion(WorkoutTemplatesCompanion data) {
|
||||
return WorkoutTemplate(
|
||||
@ -591,6 +622,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
? data.lastStartedAt.value
|
||||
: this.lastStartedAt,
|
||||
isExample: data.isExample.present ? data.isExample.value : this.isExample,
|
||||
tagsJson: data.tagsJson.present ? data.tagsJson.value : this.tagsJson,
|
||||
);
|
||||
}
|
||||
|
||||
@ -610,7 +642,8 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
..write('remoteRevision: $remoteRevision, ')
|
||||
..write('name: $name, ')
|
||||
..write('lastStartedAt: $lastStartedAt, ')
|
||||
..write('isExample: $isExample')
|
||||
..write('isExample: $isExample, ')
|
||||
..write('tagsJson: $tagsJson')
|
||||
..write(')'))
|
||||
.toString();
|
||||
}
|
||||
@ -631,6 +664,7 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
name,
|
||||
lastStartedAt,
|
||||
isExample,
|
||||
tagsJson,
|
||||
);
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
@ -649,7 +683,8 @@ class WorkoutTemplate extends DataClass implements Insertable<WorkoutTemplate> {
|
||||
other.remoteRevision == this.remoteRevision &&
|
||||
other.name == this.name &&
|
||||
other.lastStartedAt == this.lastStartedAt &&
|
||||
other.isExample == this.isExample);
|
||||
other.isExample == this.isExample &&
|
||||
other.tagsJson == this.tagsJson);
|
||||
}
|
||||
|
||||
class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
@ -667,6 +702,7 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
final Value<String> name;
|
||||
final Value<DateTime?> lastStartedAt;
|
||||
final Value<bool> isExample;
|
||||
final Value<String> tagsJson;
|
||||
final Value<int> rowid;
|
||||
const WorkoutTemplatesCompanion({
|
||||
this.id = const Value.absent(),
|
||||
@ -683,6 +719,7 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
this.name = const Value.absent(),
|
||||
this.lastStartedAt = const Value.absent(),
|
||||
this.isExample = const Value.absent(),
|
||||
this.tagsJson = const Value.absent(),
|
||||
this.rowid = const Value.absent(),
|
||||
});
|
||||
WorkoutTemplatesCompanion.insert({
|
||||
@ -700,6 +737,7 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
required String name,
|
||||
this.lastStartedAt = const Value.absent(),
|
||||
this.isExample = const Value.absent(),
|
||||
this.tagsJson = const Value.absent(),
|
||||
this.rowid = const Value.absent(),
|
||||
}) : id = Value(id),
|
||||
createdAt = Value(createdAt),
|
||||
@ -723,6 +761,7 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
Expression<String>? name,
|
||||
Expression<DateTime>? lastStartedAt,
|
||||
Expression<bool>? isExample,
|
||||
Expression<String>? tagsJson,
|
||||
Expression<int>? rowid,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
@ -741,6 +780,7 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
if (name != null) 'name': name,
|
||||
if (lastStartedAt != null) 'last_started_at': lastStartedAt,
|
||||
if (isExample != null) 'is_example': isExample,
|
||||
if (tagsJson != null) 'tags_json': tagsJson,
|
||||
if (rowid != null) 'rowid': rowid,
|
||||
});
|
||||
}
|
||||
@ -760,6 +800,7 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
Value<String>? name,
|
||||
Value<DateTime?>? lastStartedAt,
|
||||
Value<bool>? isExample,
|
||||
Value<String>? tagsJson,
|
||||
Value<int>? rowid,
|
||||
}) {
|
||||
return WorkoutTemplatesCompanion(
|
||||
@ -777,6 +818,7 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
name: name ?? this.name,
|
||||
lastStartedAt: lastStartedAt ?? this.lastStartedAt,
|
||||
isExample: isExample ?? this.isExample,
|
||||
tagsJson: tagsJson ?? this.tagsJson,
|
||||
rowid: rowid ?? this.rowid,
|
||||
);
|
||||
}
|
||||
@ -828,6 +870,9 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
if (isExample.present) {
|
||||
map['is_example'] = Variable<bool>(isExample.value);
|
||||
}
|
||||
if (tagsJson.present) {
|
||||
map['tags_json'] = Variable<String>(tagsJson.value);
|
||||
}
|
||||
if (rowid.present) {
|
||||
map['rowid'] = Variable<int>(rowid.value);
|
||||
}
|
||||
@ -851,6 +896,7 @@ class WorkoutTemplatesCompanion extends UpdateCompanion<WorkoutTemplate> {
|
||||
..write('name: $name, ')
|
||||
..write('lastStartedAt: $lastStartedAt, ')
|
||||
..write('isExample: $isExample, ')
|
||||
..write('tagsJson: $tagsJson, ')
|
||||
..write('rowid: $rowid')
|
||||
..write(')'))
|
||||
.toString();
|
||||
@ -12903,6 +12949,18 @@ class $ExercisesTable extends Exercises
|
||||
),
|
||||
defaultValue: const Constant(false),
|
||||
);
|
||||
static const VerificationMeta _tagsJsonMeta = const VerificationMeta(
|
||||
'tagsJson',
|
||||
);
|
||||
@override
|
||||
late final GeneratedColumn<String> tagsJson = GeneratedColumn<String>(
|
||||
'tags_json',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.string,
|
||||
requiredDuringInsert: false,
|
||||
defaultValue: const Constant('[]'),
|
||||
);
|
||||
static const VerificationMeta _archivedAtMeta = const VerificationMeta(
|
||||
'archivedAt',
|
||||
);
|
||||
@ -12944,6 +13002,7 @@ class $ExercisesTable extends Exercises
|
||||
autoStartNextTimedStep,
|
||||
category,
|
||||
isExample,
|
||||
tagsJson,
|
||||
archivedAt,
|
||||
];
|
||||
@override
|
||||
@ -13197,6 +13256,12 @@ class $ExercisesTable extends Exercises
|
||||
isExample.isAcceptableOrUnknown(data['is_example']!, _isExampleMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('tags_json')) {
|
||||
context.handle(
|
||||
_tagsJsonMeta,
|
||||
tagsJson.isAcceptableOrUnknown(data['tags_json']!, _tagsJsonMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('archived_at')) {
|
||||
context.handle(
|
||||
_archivedAtMeta,
|
||||
@ -13324,6 +13389,10 @@ class $ExercisesTable extends Exercises
|
||||
DriftSqlType.bool,
|
||||
data['${effectivePrefix}is_example'],
|
||||
)!,
|
||||
tagsJson: attachedDatabase.typeMapping.read(
|
||||
DriftSqlType.string,
|
||||
data['${effectivePrefix}tags_json'],
|
||||
)!,
|
||||
archivedAt: attachedDatabase.typeMapping.read(
|
||||
DriftSqlType.dateTime,
|
||||
data['${effectivePrefix}archived_at'],
|
||||
@ -13366,6 +13435,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
final bool autoStartNextTimedStep;
|
||||
final String category;
|
||||
final bool isExample;
|
||||
final String tagsJson;
|
||||
final DateTime? archivedAt;
|
||||
const Exercise({
|
||||
required this.id,
|
||||
@ -13396,6 +13466,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
required this.autoStartNextTimedStep,
|
||||
required this.category,
|
||||
required this.isExample,
|
||||
required this.tagsJson,
|
||||
this.archivedAt,
|
||||
});
|
||||
@override
|
||||
@ -13459,6 +13530,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
map['auto_start_next_timed_step'] = Variable<bool>(autoStartNextTimedStep);
|
||||
map['category'] = Variable<String>(category);
|
||||
map['is_example'] = Variable<bool>(isExample);
|
||||
map['tags_json'] = Variable<String>(tagsJson);
|
||||
if (!nullToAbsent || archivedAt != null) {
|
||||
map['archived_at'] = Variable<DateTime>(archivedAt);
|
||||
}
|
||||
@ -13521,6 +13593,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
autoStartNextTimedStep: Value(autoStartNextTimedStep),
|
||||
category: Value(category),
|
||||
isExample: Value(isExample),
|
||||
tagsJson: Value(tagsJson),
|
||||
archivedAt: archivedAt == null && nullToAbsent
|
||||
? const Value.absent()
|
||||
: Value(archivedAt),
|
||||
@ -13571,6 +13644,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
),
|
||||
category: serializer.fromJson<String>(json['category']),
|
||||
isExample: serializer.fromJson<bool>(json['isExample']),
|
||||
tagsJson: serializer.fromJson<String>(json['tagsJson']),
|
||||
archivedAt: serializer.fromJson<DateTime?>(json['archivedAt']),
|
||||
);
|
||||
}
|
||||
@ -13610,6 +13684,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
'autoStartNextTimedStep': serializer.toJson<bool>(autoStartNextTimedStep),
|
||||
'category': serializer.toJson<String>(category),
|
||||
'isExample': serializer.toJson<bool>(isExample),
|
||||
'tagsJson': serializer.toJson<String>(tagsJson),
|
||||
'archivedAt': serializer.toJson<DateTime?>(archivedAt),
|
||||
};
|
||||
}
|
||||
@ -13643,6 +13718,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
bool? autoStartNextTimedStep,
|
||||
String? category,
|
||||
bool? isExample,
|
||||
String? tagsJson,
|
||||
Value<DateTime?> archivedAt = const Value.absent(),
|
||||
}) => Exercise(
|
||||
id: id ?? this.id,
|
||||
@ -13686,6 +13762,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
autoStartNextTimedStep ?? this.autoStartNextTimedStep,
|
||||
category: category ?? this.category,
|
||||
isExample: isExample ?? this.isExample,
|
||||
tagsJson: tagsJson ?? this.tagsJson,
|
||||
archivedAt: archivedAt.present ? archivedAt.value : this.archivedAt,
|
||||
);
|
||||
Exercise copyWithCompanion(ExercisesCompanion data) {
|
||||
@ -13756,6 +13833,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
: this.autoStartNextTimedStep,
|
||||
category: data.category.present ? data.category.value : this.category,
|
||||
isExample: data.isExample.present ? data.isExample.value : this.isExample,
|
||||
tagsJson: data.tagsJson.present ? data.tagsJson.value : this.tagsJson,
|
||||
archivedAt: data.archivedAt.present
|
||||
? data.archivedAt.value
|
||||
: this.archivedAt,
|
||||
@ -13793,6 +13871,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
..write('autoStartNextTimedStep: $autoStartNextTimedStep, ')
|
||||
..write('category: $category, ')
|
||||
..write('isExample: $isExample, ')
|
||||
..write('tagsJson: $tagsJson, ')
|
||||
..write('archivedAt: $archivedAt')
|
||||
..write(')'))
|
||||
.toString();
|
||||
@ -13828,6 +13907,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
autoStartNextTimedStep,
|
||||
category,
|
||||
isExample,
|
||||
tagsJson,
|
||||
archivedAt,
|
||||
]);
|
||||
@override
|
||||
@ -13862,6 +13942,7 @@ class Exercise extends DataClass implements Insertable<Exercise> {
|
||||
other.autoStartNextTimedStep == this.autoStartNextTimedStep &&
|
||||
other.category == this.category &&
|
||||
other.isExample == this.isExample &&
|
||||
other.tagsJson == this.tagsJson &&
|
||||
other.archivedAt == this.archivedAt);
|
||||
}
|
||||
|
||||
@ -13894,6 +13975,7 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
final Value<bool> autoStartNextTimedStep;
|
||||
final Value<String> category;
|
||||
final Value<bool> isExample;
|
||||
final Value<String> tagsJson;
|
||||
final Value<DateTime?> archivedAt;
|
||||
final Value<int> rowid;
|
||||
const ExercisesCompanion({
|
||||
@ -13925,6 +14007,7 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
this.autoStartNextTimedStep = const Value.absent(),
|
||||
this.category = const Value.absent(),
|
||||
this.isExample = const Value.absent(),
|
||||
this.tagsJson = const Value.absent(),
|
||||
this.archivedAt = const Value.absent(),
|
||||
this.rowid = const Value.absent(),
|
||||
});
|
||||
@ -13957,6 +14040,7 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
this.autoStartNextTimedStep = const Value.absent(),
|
||||
this.category = const Value.absent(),
|
||||
this.isExample = const Value.absent(),
|
||||
this.tagsJson = const Value.absent(),
|
||||
this.archivedAt = const Value.absent(),
|
||||
this.rowid = const Value.absent(),
|
||||
}) : id = Value(id),
|
||||
@ -13998,6 +14082,7 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
Expression<bool>? autoStartNextTimedStep,
|
||||
Expression<String>? category,
|
||||
Expression<bool>? isExample,
|
||||
Expression<String>? tagsJson,
|
||||
Expression<DateTime>? archivedAt,
|
||||
Expression<int>? rowid,
|
||||
}) {
|
||||
@ -14035,6 +14120,7 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
'auto_start_next_timed_step': autoStartNextTimedStep,
|
||||
if (category != null) 'category': category,
|
||||
if (isExample != null) 'is_example': isExample,
|
||||
if (tagsJson != null) 'tags_json': tagsJson,
|
||||
if (archivedAt != null) 'archived_at': archivedAt,
|
||||
if (rowid != null) 'rowid': rowid,
|
||||
});
|
||||
@ -14069,6 +14155,7 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
Value<bool>? autoStartNextTimedStep,
|
||||
Value<String>? category,
|
||||
Value<bool>? isExample,
|
||||
Value<String>? tagsJson,
|
||||
Value<DateTime?>? archivedAt,
|
||||
Value<int>? rowid,
|
||||
}) {
|
||||
@ -14104,6 +14191,7 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
autoStartNextTimedStep ?? this.autoStartNextTimedStep,
|
||||
category: category ?? this.category,
|
||||
isExample: isExample ?? this.isExample,
|
||||
tagsJson: tagsJson ?? this.tagsJson,
|
||||
archivedAt: archivedAt ?? this.archivedAt,
|
||||
rowid: rowid ?? this.rowid,
|
||||
);
|
||||
@ -14204,6 +14292,9 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
if (isExample.present) {
|
||||
map['is_example'] = Variable<bool>(isExample.value);
|
||||
}
|
||||
if (tagsJson.present) {
|
||||
map['tags_json'] = Variable<String>(tagsJson.value);
|
||||
}
|
||||
if (archivedAt.present) {
|
||||
map['archived_at'] = Variable<DateTime>(archivedAt.value);
|
||||
}
|
||||
@ -14244,6 +14335,7 @@ class ExercisesCompanion extends UpdateCompanion<Exercise> {
|
||||
..write('autoStartNextTimedStep: $autoStartNextTimedStep, ')
|
||||
..write('category: $category, ')
|
||||
..write('isExample: $isExample, ')
|
||||
..write('tagsJson: $tagsJson, ')
|
||||
..write('archivedAt: $archivedAt, ')
|
||||
..write('rowid: $rowid')
|
||||
..write(')'))
|
||||
@ -18019,6 +18111,18 @@ class $ProgramsTable extends Programs with TableInfo<$ProgramsTable, Program> {
|
||||
),
|
||||
defaultValue: const Constant(false),
|
||||
);
|
||||
static const VerificationMeta _tagsJsonMeta = const VerificationMeta(
|
||||
'tagsJson',
|
||||
);
|
||||
@override
|
||||
late final GeneratedColumn<String> tagsJson = GeneratedColumn<String>(
|
||||
'tags_json',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.string,
|
||||
requiredDuringInsert: false,
|
||||
defaultValue: const Constant('[]'),
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [
|
||||
id,
|
||||
@ -18035,6 +18139,7 @@ class $ProgramsTable extends Programs with TableInfo<$ProgramsTable, Program> {
|
||||
name,
|
||||
defaultRestSeconds,
|
||||
isExample,
|
||||
tagsJson,
|
||||
];
|
||||
@override
|
||||
String get aliasedName => _alias ?? actualTableName;
|
||||
@ -18166,6 +18271,12 @@ class $ProgramsTable extends Programs with TableInfo<$ProgramsTable, Program> {
|
||||
isExample.isAcceptableOrUnknown(data['is_example']!, _isExampleMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('tags_json')) {
|
||||
context.handle(
|
||||
_tagsJsonMeta,
|
||||
tagsJson.isAcceptableOrUnknown(data['tags_json']!, _tagsJsonMeta),
|
||||
);
|
||||
}
|
||||
return context;
|
||||
}
|
||||
|
||||
@ -18231,6 +18342,10 @@ class $ProgramsTable extends Programs with TableInfo<$ProgramsTable, Program> {
|
||||
DriftSqlType.bool,
|
||||
data['${effectivePrefix}is_example'],
|
||||
)!,
|
||||
tagsJson: attachedDatabase.typeMapping.read(
|
||||
DriftSqlType.string,
|
||||
data['${effectivePrefix}tags_json'],
|
||||
)!,
|
||||
);
|
||||
}
|
||||
|
||||
@ -18255,6 +18370,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
final String name;
|
||||
final int defaultRestSeconds;
|
||||
final bool isExample;
|
||||
final String tagsJson;
|
||||
const Program({
|
||||
required this.id,
|
||||
required this.createdAt,
|
||||
@ -18270,6 +18386,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
required this.name,
|
||||
required this.defaultRestSeconds,
|
||||
required this.isExample,
|
||||
required this.tagsJson,
|
||||
});
|
||||
@override
|
||||
Map<String, Expression> toColumns(bool nullToAbsent) {
|
||||
@ -18296,6 +18413,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
map['name'] = Variable<String>(name);
|
||||
map['default_rest_seconds'] = Variable<int>(defaultRestSeconds);
|
||||
map['is_example'] = Variable<bool>(isExample);
|
||||
map['tags_json'] = Variable<String>(tagsJson);
|
||||
return map;
|
||||
}
|
||||
|
||||
@ -18323,6 +18441,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
name: Value(name),
|
||||
defaultRestSeconds: Value(defaultRestSeconds),
|
||||
isExample: Value(isExample),
|
||||
tagsJson: Value(tagsJson),
|
||||
);
|
||||
}
|
||||
|
||||
@ -18348,6 +18467,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
name: serializer.fromJson<String>(json['name']),
|
||||
defaultRestSeconds: serializer.fromJson<int>(json['defaultRestSeconds']),
|
||||
isExample: serializer.fromJson<bool>(json['isExample']),
|
||||
tagsJson: serializer.fromJson<String>(json['tagsJson']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@ -18368,6 +18488,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
'name': serializer.toJson<String>(name),
|
||||
'defaultRestSeconds': serializer.toJson<int>(defaultRestSeconds),
|
||||
'isExample': serializer.toJson<bool>(isExample),
|
||||
'tagsJson': serializer.toJson<String>(tagsJson),
|
||||
};
|
||||
}
|
||||
|
||||
@ -18386,6 +18507,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
String? name,
|
||||
int? defaultRestSeconds,
|
||||
bool? isExample,
|
||||
String? tagsJson,
|
||||
}) => Program(
|
||||
id: id ?? this.id,
|
||||
createdAt: createdAt ?? this.createdAt,
|
||||
@ -18405,6 +18527,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
name: name ?? this.name,
|
||||
defaultRestSeconds: defaultRestSeconds ?? this.defaultRestSeconds,
|
||||
isExample: isExample ?? this.isExample,
|
||||
tagsJson: tagsJson ?? this.tagsJson,
|
||||
);
|
||||
Program copyWithCompanion(ProgramsCompanion data) {
|
||||
return Program(
|
||||
@ -18436,6 +18559,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
? data.defaultRestSeconds.value
|
||||
: this.defaultRestSeconds,
|
||||
isExample: data.isExample.present ? data.isExample.value : this.isExample,
|
||||
tagsJson: data.tagsJson.present ? data.tagsJson.value : this.tagsJson,
|
||||
);
|
||||
}
|
||||
|
||||
@ -18455,7 +18579,8 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
..write('remoteRevision: $remoteRevision, ')
|
||||
..write('name: $name, ')
|
||||
..write('defaultRestSeconds: $defaultRestSeconds, ')
|
||||
..write('isExample: $isExample')
|
||||
..write('isExample: $isExample, ')
|
||||
..write('tagsJson: $tagsJson')
|
||||
..write(')'))
|
||||
.toString();
|
||||
}
|
||||
@ -18476,6 +18601,7 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
name,
|
||||
defaultRestSeconds,
|
||||
isExample,
|
||||
tagsJson,
|
||||
);
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
@ -18494,7 +18620,8 @@ class Program extends DataClass implements Insertable<Program> {
|
||||
other.remoteRevision == this.remoteRevision &&
|
||||
other.name == this.name &&
|
||||
other.defaultRestSeconds == this.defaultRestSeconds &&
|
||||
other.isExample == this.isExample);
|
||||
other.isExample == this.isExample &&
|
||||
other.tagsJson == this.tagsJson);
|
||||
}
|
||||
|
||||
class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
@ -18512,6 +18639,7 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
final Value<String> name;
|
||||
final Value<int> defaultRestSeconds;
|
||||
final Value<bool> isExample;
|
||||
final Value<String> tagsJson;
|
||||
final Value<int> rowid;
|
||||
const ProgramsCompanion({
|
||||
this.id = const Value.absent(),
|
||||
@ -18528,6 +18656,7 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
this.name = const Value.absent(),
|
||||
this.defaultRestSeconds = const Value.absent(),
|
||||
this.isExample = const Value.absent(),
|
||||
this.tagsJson = const Value.absent(),
|
||||
this.rowid = const Value.absent(),
|
||||
});
|
||||
ProgramsCompanion.insert({
|
||||
@ -18545,6 +18674,7 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
required String name,
|
||||
required int defaultRestSeconds,
|
||||
this.isExample = const Value.absent(),
|
||||
this.tagsJson = const Value.absent(),
|
||||
this.rowid = const Value.absent(),
|
||||
}) : id = Value(id),
|
||||
createdAt = Value(createdAt),
|
||||
@ -18569,6 +18699,7 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
Expression<String>? name,
|
||||
Expression<int>? defaultRestSeconds,
|
||||
Expression<bool>? isExample,
|
||||
Expression<String>? tagsJson,
|
||||
Expression<int>? rowid,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
@ -18588,6 +18719,7 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
if (defaultRestSeconds != null)
|
||||
'default_rest_seconds': defaultRestSeconds,
|
||||
if (isExample != null) 'is_example': isExample,
|
||||
if (tagsJson != null) 'tags_json': tagsJson,
|
||||
if (rowid != null) 'rowid': rowid,
|
||||
});
|
||||
}
|
||||
@ -18607,6 +18739,7 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
Value<String>? name,
|
||||
Value<int>? defaultRestSeconds,
|
||||
Value<bool>? isExample,
|
||||
Value<String>? tagsJson,
|
||||
Value<int>? rowid,
|
||||
}) {
|
||||
return ProgramsCompanion(
|
||||
@ -18624,6 +18757,7 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
name: name ?? this.name,
|
||||
defaultRestSeconds: defaultRestSeconds ?? this.defaultRestSeconds,
|
||||
isExample: isExample ?? this.isExample,
|
||||
tagsJson: tagsJson ?? this.tagsJson,
|
||||
rowid: rowid ?? this.rowid,
|
||||
);
|
||||
}
|
||||
@ -18675,6 +18809,9 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
if (isExample.present) {
|
||||
map['is_example'] = Variable<bool>(isExample.value);
|
||||
}
|
||||
if (tagsJson.present) {
|
||||
map['tags_json'] = Variable<String>(tagsJson.value);
|
||||
}
|
||||
if (rowid.present) {
|
||||
map['rowid'] = Variable<int>(rowid.value);
|
||||
}
|
||||
@ -18698,6 +18835,7 @@ class ProgramsCompanion extends UpdateCompanion<Program> {
|
||||
..write('name: $name, ')
|
||||
..write('defaultRestSeconds: $defaultRestSeconds, ')
|
||||
..write('isExample: $isExample, ')
|
||||
..write('tagsJson: $tagsJson, ')
|
||||
..write('rowid: $rowid')
|
||||
..write(')'))
|
||||
.toString();
|
||||
@ -30394,6 +30532,7 @@ typedef $$WorkoutTemplatesTableCreateCompanionBuilder =
|
||||
required String name,
|
||||
Value<DateTime?> lastStartedAt,
|
||||
Value<bool> isExample,
|
||||
Value<String> tagsJson,
|
||||
Value<int> rowid,
|
||||
});
|
||||
typedef $$WorkoutTemplatesTableUpdateCompanionBuilder =
|
||||
@ -30412,6 +30551,7 @@ typedef $$WorkoutTemplatesTableUpdateCompanionBuilder =
|
||||
Value<String> name,
|
||||
Value<DateTime?> lastStartedAt,
|
||||
Value<bool> isExample,
|
||||
Value<String> tagsJson,
|
||||
Value<int> rowid,
|
||||
});
|
||||
|
||||
@ -30589,6 +30729,11 @@ class $$WorkoutTemplatesTableFilterComposer
|
||||
builder: (column) => ColumnFilters(column),
|
||||
);
|
||||
|
||||
ColumnFilters<String> get tagsJson => $composableBuilder(
|
||||
column: $table.tagsJson,
|
||||
builder: (column) => ColumnFilters(column),
|
||||
);
|
||||
|
||||
Expression<bool> activeWorkoutSessionsRefs(
|
||||
Expression<bool> Function($$ActiveWorkoutSessionsTableFilterComposer f) f,
|
||||
) {
|
||||
@ -30745,6 +30890,11 @@ class $$WorkoutTemplatesTableOrderingComposer
|
||||
column: $table.isExample,
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
);
|
||||
|
||||
ColumnOrderings<String> get tagsJson => $composableBuilder(
|
||||
column: $table.tagsJson,
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
);
|
||||
}
|
||||
|
||||
class $$WorkoutTemplatesTableAnnotationComposer
|
||||
@ -30812,6 +30962,9 @@ class $$WorkoutTemplatesTableAnnotationComposer
|
||||
GeneratedColumn<bool> get isExample =>
|
||||
$composableBuilder(column: $table.isExample, builder: (column) => column);
|
||||
|
||||
GeneratedColumn<String> get tagsJson =>
|
||||
$composableBuilder(column: $table.tagsJson, builder: (column) => column);
|
||||
|
||||
Expression<T> activeWorkoutSessionsRefs<T extends Object>(
|
||||
Expression<T> Function($$ActiveWorkoutSessionsTableAnnotationComposer a) f,
|
||||
) {
|
||||
@ -30939,6 +31092,7 @@ class $$WorkoutTemplatesTableTableManager
|
||||
Value<String> name = const Value.absent(),
|
||||
Value<DateTime?> lastStartedAt = const Value.absent(),
|
||||
Value<bool> isExample = const Value.absent(),
|
||||
Value<String> tagsJson = const Value.absent(),
|
||||
Value<int> rowid = const Value.absent(),
|
||||
}) => WorkoutTemplatesCompanion(
|
||||
id: id,
|
||||
@ -30955,6 +31109,7 @@ class $$WorkoutTemplatesTableTableManager
|
||||
name: name,
|
||||
lastStartedAt: lastStartedAt,
|
||||
isExample: isExample,
|
||||
tagsJson: tagsJson,
|
||||
rowid: rowid,
|
||||
),
|
||||
createCompanionCallback:
|
||||
@ -30973,6 +31128,7 @@ class $$WorkoutTemplatesTableTableManager
|
||||
required String name,
|
||||
Value<DateTime?> lastStartedAt = const Value.absent(),
|
||||
Value<bool> isExample = const Value.absent(),
|
||||
Value<String> tagsJson = const Value.absent(),
|
||||
Value<int> rowid = const Value.absent(),
|
||||
}) => WorkoutTemplatesCompanion.insert(
|
||||
id: id,
|
||||
@ -30989,6 +31145,7 @@ class $$WorkoutTemplatesTableTableManager
|
||||
name: name,
|
||||
lastStartedAt: lastStartedAt,
|
||||
isExample: isExample,
|
||||
tagsJson: tagsJson,
|
||||
rowid: rowid,
|
||||
),
|
||||
withReferenceMapper: (p0) => p0
|
||||
@ -38397,6 +38554,7 @@ typedef $$ExercisesTableCreateCompanionBuilder =
|
||||
Value<bool> autoStartNextTimedStep,
|
||||
Value<String> category,
|
||||
Value<bool> isExample,
|
||||
Value<String> tagsJson,
|
||||
Value<DateTime?> archivedAt,
|
||||
Value<int> rowid,
|
||||
});
|
||||
@ -38430,6 +38588,7 @@ typedef $$ExercisesTableUpdateCompanionBuilder =
|
||||
Value<bool> autoStartNextTimedStep,
|
||||
Value<String> category,
|
||||
Value<bool> isExample,
|
||||
Value<String> tagsJson,
|
||||
Value<DateTime?> archivedAt,
|
||||
Value<int> rowid,
|
||||
});
|
||||
@ -38668,6 +38827,11 @@ class $$ExercisesTableFilterComposer
|
||||
builder: (column) => ColumnFilters(column),
|
||||
);
|
||||
|
||||
ColumnFilters<String> get tagsJson => $composableBuilder(
|
||||
column: $table.tagsJson,
|
||||
builder: (column) => ColumnFilters(column),
|
||||
);
|
||||
|
||||
ColumnFilters<DateTime> get archivedAt => $composableBuilder(
|
||||
column: $table.archivedAt,
|
||||
builder: (column) => ColumnFilters(column),
|
||||
@ -38934,6 +39098,11 @@ class $$ExercisesTableOrderingComposer
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
);
|
||||
|
||||
ColumnOrderings<String> get tagsJson => $composableBuilder(
|
||||
column: $table.tagsJson,
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
);
|
||||
|
||||
ColumnOrderings<DateTime> get archivedAt => $composableBuilder(
|
||||
column: $table.archivedAt,
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
@ -39107,6 +39276,9 @@ class $$ExercisesTableAnnotationComposer
|
||||
GeneratedColumn<bool> get isExample =>
|
||||
$composableBuilder(column: $table.isExample, builder: (column) => column);
|
||||
|
||||
GeneratedColumn<String> get tagsJson =>
|
||||
$composableBuilder(column: $table.tagsJson, builder: (column) => column);
|
||||
|
||||
GeneratedColumn<DateTime> get archivedAt => $composableBuilder(
|
||||
column: $table.archivedAt,
|
||||
builder: (column) => column,
|
||||
@ -39296,6 +39468,7 @@ class $$ExercisesTableTableManager
|
||||
Value<bool> autoStartNextTimedStep = const Value.absent(),
|
||||
Value<String> category = const Value.absent(),
|
||||
Value<bool> isExample = const Value.absent(),
|
||||
Value<String> tagsJson = const Value.absent(),
|
||||
Value<DateTime?> archivedAt = const Value.absent(),
|
||||
Value<int> rowid = const Value.absent(),
|
||||
}) => ExercisesCompanion(
|
||||
@ -39327,6 +39500,7 @@ class $$ExercisesTableTableManager
|
||||
autoStartNextTimedStep: autoStartNextTimedStep,
|
||||
category: category,
|
||||
isExample: isExample,
|
||||
tagsJson: tagsJson,
|
||||
archivedAt: archivedAt,
|
||||
rowid: rowid,
|
||||
),
|
||||
@ -39360,6 +39534,7 @@ class $$ExercisesTableTableManager
|
||||
Value<bool> autoStartNextTimedStep = const Value.absent(),
|
||||
Value<String> category = const Value.absent(),
|
||||
Value<bool> isExample = const Value.absent(),
|
||||
Value<String> tagsJson = const Value.absent(),
|
||||
Value<DateTime?> archivedAt = const Value.absent(),
|
||||
Value<int> rowid = const Value.absent(),
|
||||
}) => ExercisesCompanion.insert(
|
||||
@ -39391,6 +39566,7 @@ class $$ExercisesTableTableManager
|
||||
autoStartNextTimedStep: autoStartNextTimedStep,
|
||||
category: category,
|
||||
isExample: isExample,
|
||||
tagsJson: tagsJson,
|
||||
archivedAt: archivedAt,
|
||||
rowid: rowid,
|
||||
),
|
||||
@ -41614,6 +41790,7 @@ typedef $$ProgramsTableCreateCompanionBuilder =
|
||||
required String name,
|
||||
required int defaultRestSeconds,
|
||||
Value<bool> isExample,
|
||||
Value<String> tagsJson,
|
||||
Value<int> rowid,
|
||||
});
|
||||
typedef $$ProgramsTableUpdateCompanionBuilder =
|
||||
@ -41632,6 +41809,7 @@ typedef $$ProgramsTableUpdateCompanionBuilder =
|
||||
Value<String> name,
|
||||
Value<int> defaultRestSeconds,
|
||||
Value<bool> isExample,
|
||||
Value<String> tagsJson,
|
||||
Value<int> rowid,
|
||||
});
|
||||
|
||||
@ -41767,6 +41945,11 @@ class $$ProgramsTableFilterComposer
|
||||
builder: (column) => ColumnFilters(column),
|
||||
);
|
||||
|
||||
ColumnFilters<String> get tagsJson => $composableBuilder(
|
||||
column: $table.tagsJson,
|
||||
builder: (column) => ColumnFilters(column),
|
||||
);
|
||||
|
||||
Expression<bool> programExercisesRefs(
|
||||
Expression<bool> Function($$ProgramExercisesTableFilterComposer f) f,
|
||||
) {
|
||||
@ -41897,6 +42080,11 @@ class $$ProgramsTableOrderingComposer
|
||||
column: $table.isExample,
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
);
|
||||
|
||||
ColumnOrderings<String> get tagsJson => $composableBuilder(
|
||||
column: $table.tagsJson,
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
);
|
||||
}
|
||||
|
||||
class $$ProgramsTableAnnotationComposer
|
||||
@ -41964,6 +42152,9 @@ class $$ProgramsTableAnnotationComposer
|
||||
GeneratedColumn<bool> get isExample =>
|
||||
$composableBuilder(column: $table.isExample, builder: (column) => column);
|
||||
|
||||
GeneratedColumn<String> get tagsJson =>
|
||||
$composableBuilder(column: $table.tagsJson, builder: (column) => column);
|
||||
|
||||
Expression<T> programExercisesRefs<T extends Object>(
|
||||
Expression<T> Function($$ProgramExercisesTableAnnotationComposer a) f,
|
||||
) {
|
||||
@ -42062,6 +42253,7 @@ class $$ProgramsTableTableManager
|
||||
Value<String> name = const Value.absent(),
|
||||
Value<int> defaultRestSeconds = const Value.absent(),
|
||||
Value<bool> isExample = const Value.absent(),
|
||||
Value<String> tagsJson = const Value.absent(),
|
||||
Value<int> rowid = const Value.absent(),
|
||||
}) => ProgramsCompanion(
|
||||
id: id,
|
||||
@ -42078,6 +42270,7 @@ class $$ProgramsTableTableManager
|
||||
name: name,
|
||||
defaultRestSeconds: defaultRestSeconds,
|
||||
isExample: isExample,
|
||||
tagsJson: tagsJson,
|
||||
rowid: rowid,
|
||||
),
|
||||
createCompanionCallback:
|
||||
@ -42096,6 +42289,7 @@ class $$ProgramsTableTableManager
|
||||
required String name,
|
||||
required int defaultRestSeconds,
|
||||
Value<bool> isExample = const Value.absent(),
|
||||
Value<String> tagsJson = const Value.absent(),
|
||||
Value<int> rowid = const Value.absent(),
|
||||
}) => ProgramsCompanion.insert(
|
||||
id: id,
|
||||
@ -42112,6 +42306,7 @@ class $$ProgramsTableTableManager
|
||||
name: name,
|
||||
defaultRestSeconds: defaultRestSeconds,
|
||||
isExample: isExample,
|
||||
tagsJson: tagsJson,
|
||||
rowid: rowid,
|
||||
),
|
||||
withReferenceMapper: (p0) => p0
|
||||
|
||||
Reference in New Issue
Block a user