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:
2026-07-22 10:01:31 +02:00
parent 10fba8d2ec
commit add5025dd2
9 changed files with 1012 additions and 10 deletions

View File

@ -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