// GENERATED CODE - DO NOT MODIFY BY HAND part of 'app_database.dart'; // ignore_for_file: type=lint class $ProjectsTable extends Projects with TableInfo<$ProjectsTable, Project> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $ProjectsTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override late final GeneratedColumn id = GeneratedColumn( 'id', aliasedName, false, hasAutoIncrement: true, type: DriftSqlType.int, requiredDuringInsert: false, defaultConstraints: GeneratedColumn.constraintIsAlways( 'PRIMARY KEY AUTOINCREMENT', ), ); static const VerificationMeta _nameMeta = const VerificationMeta('name'); @override late final GeneratedColumn name = GeneratedColumn( 'name', aliasedName, false, additionalChecks: GeneratedColumn.checkTextLength( minTextLength: 1, maxTextLength: 100, ), type: DriftSqlType.string, requiredDuringInsert: true, defaultConstraints: GeneratedColumn.constraintIsAlways('UNIQUE'), ); static const VerificationMeta _colorValueMeta = const VerificationMeta( 'colorValue', ); @override late final GeneratedColumn colorValue = GeneratedColumn( 'color_value', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, ); static const VerificationMeta _descriptionMeta = const VerificationMeta( 'description', ); @override late final GeneratedColumn description = GeneratedColumn( 'description', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, ); static const VerificationMeta _archivedAtMeta = const VerificationMeta( 'archivedAt', ); @override late final GeneratedColumn archivedAt = GeneratedColumn( 'archived_at', aliasedName, true, type: DriftSqlType.dateTime, requiredDuringInsert: false, ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', ); @override late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.dateTime, requiredDuringInsert: false, defaultValue: currentDateAndTime, ); @override List get $columns => [ id, name, colorValue, description, archivedAt, createdAt, ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'projects'; @override VerificationContext validateIntegrity( Insertable instance, { bool isInserting = false, }) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('id')) { context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); } if (data.containsKey('name')) { context.handle( _nameMeta, name.isAcceptableOrUnknown(data['name']!, _nameMeta), ); } else if (isInserting) { context.missing(_nameMeta); } if (data.containsKey('color_value')) { context.handle( _colorValueMeta, colorValue.isAcceptableOrUnknown(data['color_value']!, _colorValueMeta), ); } else if (isInserting) { context.missing(_colorValueMeta); } if (data.containsKey('description')) { context.handle( _descriptionMeta, description.isAcceptableOrUnknown( data['description']!, _descriptionMeta, ), ); } if (data.containsKey('archived_at')) { context.handle( _archivedAtMeta, archivedAt.isAcceptableOrUnknown(data['archived_at']!, _archivedAtMeta), ); } if (data.containsKey('created_at')) { context.handle( _createdAtMeta, createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), ); } return context; } @override Set get $primaryKey => {id}; @override Project map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return Project( id: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}id'], )!, name: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}name'], )!, colorValue: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}color_value'], )!, description: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}description'], ), archivedAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}archived_at'], ), createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}created_at'], )!, ); } @override $ProjectsTable createAlias(String alias) { return $ProjectsTable(attachedDatabase, alias); } } class Project extends DataClass implements Insertable { final int id; final String name; final int colorValue; final String? description; final DateTime? archivedAt; final DateTime createdAt; const Project({ required this.id, required this.name, required this.colorValue, this.description, this.archivedAt, required this.createdAt, }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); map['name'] = Variable(name); map['color_value'] = Variable(colorValue); if (!nullToAbsent || description != null) { map['description'] = Variable(description); } if (!nullToAbsent || archivedAt != null) { map['archived_at'] = Variable(archivedAt); } map['created_at'] = Variable(createdAt); return map; } ProjectsCompanion toCompanion(bool nullToAbsent) { return ProjectsCompanion( id: Value(id), name: Value(name), colorValue: Value(colorValue), description: description == null && nullToAbsent ? const Value.absent() : Value(description), archivedAt: archivedAt == null && nullToAbsent ? const Value.absent() : Value(archivedAt), createdAt: Value(createdAt), ); } factory Project.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return Project( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), colorValue: serializer.fromJson(json['colorValue']), description: serializer.fromJson(json['description']), archivedAt: serializer.fromJson(json['archivedAt']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), 'colorValue': serializer.toJson(colorValue), 'description': serializer.toJson(description), 'archivedAt': serializer.toJson(archivedAt), 'createdAt': serializer.toJson(createdAt), }; } Project copyWith({ int? id, String? name, int? colorValue, Value description = const Value.absent(), Value archivedAt = const Value.absent(), DateTime? createdAt, }) => Project( id: id ?? this.id, name: name ?? this.name, colorValue: colorValue ?? this.colorValue, description: description.present ? description.value : this.description, archivedAt: archivedAt.present ? archivedAt.value : this.archivedAt, createdAt: createdAt ?? this.createdAt, ); Project copyWithCompanion(ProjectsCompanion data) { return Project( id: data.id.present ? data.id.value : this.id, name: data.name.present ? data.name.value : this.name, colorValue: data.colorValue.present ? data.colorValue.value : this.colorValue, description: data.description.present ? data.description.value : this.description, archivedAt: data.archivedAt.present ? data.archivedAt.value : this.archivedAt, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('Project(') ..write('id: $id, ') ..write('name: $name, ') ..write('colorValue: $colorValue, ') ..write('description: $description, ') ..write('archivedAt: $archivedAt, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash(id, name, colorValue, description, archivedAt, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is Project && other.id == this.id && other.name == this.name && other.colorValue == this.colorValue && other.description == this.description && other.archivedAt == this.archivedAt && other.createdAt == this.createdAt); } class ProjectsCompanion extends UpdateCompanion { final Value id; final Value name; final Value colorValue; final Value description; final Value archivedAt; final Value createdAt; const ProjectsCompanion({ this.id = const Value.absent(), this.name = const Value.absent(), this.colorValue = const Value.absent(), this.description = const Value.absent(), this.archivedAt = const Value.absent(), this.createdAt = const Value.absent(), }); ProjectsCompanion.insert({ this.id = const Value.absent(), required String name, required int colorValue, this.description = const Value.absent(), this.archivedAt = const Value.absent(), this.createdAt = const Value.absent(), }) : name = Value(name), colorValue = Value(colorValue); static Insertable custom({ Expression? id, Expression? name, Expression? colorValue, Expression? description, Expression? archivedAt, Expression? createdAt, }) { return RawValuesInsertable({ if (id != null) 'id': id, if (name != null) 'name': name, if (colorValue != null) 'color_value': colorValue, if (description != null) 'description': description, if (archivedAt != null) 'archived_at': archivedAt, if (createdAt != null) 'created_at': createdAt, }); } ProjectsCompanion copyWith({ Value? id, Value? name, Value? colorValue, Value? description, Value? archivedAt, Value? createdAt, }) { return ProjectsCompanion( id: id ?? this.id, name: name ?? this.name, colorValue: colorValue ?? this.colorValue, description: description ?? this.description, archivedAt: archivedAt ?? this.archivedAt, createdAt: createdAt ?? this.createdAt, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (id.present) { map['id'] = Variable(id.value); } if (name.present) { map['name'] = Variable(name.value); } if (colorValue.present) { map['color_value'] = Variable(colorValue.value); } if (description.present) { map['description'] = Variable(description.value); } if (archivedAt.present) { map['archived_at'] = Variable(archivedAt.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } return map; } @override String toString() { return (StringBuffer('ProjectsCompanion(') ..write('id: $id, ') ..write('name: $name, ') ..write('colorValue: $colorValue, ') ..write('description: $description, ') ..write('archivedAt: $archivedAt, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } } class $TimeEntriesTable extends TimeEntries with TableInfo<$TimeEntriesTable, TimeEntry> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $TimeEntriesTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override late final GeneratedColumn id = GeneratedColumn( 'id', aliasedName, false, hasAutoIncrement: true, type: DriftSqlType.int, requiredDuringInsert: false, defaultConstraints: GeneratedColumn.constraintIsAlways( 'PRIMARY KEY AUTOINCREMENT', ), ); static const VerificationMeta _projectIdMeta = const VerificationMeta( 'projectId', ); @override late final GeneratedColumn projectId = GeneratedColumn( 'project_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, defaultConstraints: GeneratedColumn.constraintIsAlways( 'REFERENCES projects (id) ON DELETE RESTRICT', ), ); static const VerificationMeta _startTimeMeta = const VerificationMeta( 'startTime', ); @override late final GeneratedColumn startTime = GeneratedColumn( 'start_time', aliasedName, false, type: DriftSqlType.dateTime, requiredDuringInsert: true, ); static const VerificationMeta _endTimeMeta = const VerificationMeta( 'endTime', ); @override late final GeneratedColumn endTime = GeneratedColumn( 'end_time', aliasedName, true, type: DriftSqlType.dateTime, requiredDuringInsert: false, ); static const VerificationMeta _durationSecondsMeta = const VerificationMeta( 'durationSeconds', ); @override late final GeneratedColumn durationSeconds = GeneratedColumn( 'duration_seconds', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, ); static const VerificationMeta _noteMeta = const VerificationMeta('note'); @override late final GeneratedColumn note = GeneratedColumn( 'note', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', ); @override late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.dateTime, requiredDuringInsert: false, defaultValue: currentDateAndTime, ); @override List get $columns => [ id, projectId, startTime, endTime, durationSeconds, note, createdAt, ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'time_entries'; @override VerificationContext validateIntegrity( Insertable instance, { bool isInserting = false, }) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('id')) { context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); } if (data.containsKey('project_id')) { context.handle( _projectIdMeta, projectId.isAcceptableOrUnknown(data['project_id']!, _projectIdMeta), ); } else if (isInserting) { context.missing(_projectIdMeta); } if (data.containsKey('start_time')) { context.handle( _startTimeMeta, startTime.isAcceptableOrUnknown(data['start_time']!, _startTimeMeta), ); } else if (isInserting) { context.missing(_startTimeMeta); } if (data.containsKey('end_time')) { context.handle( _endTimeMeta, endTime.isAcceptableOrUnknown(data['end_time']!, _endTimeMeta), ); } if (data.containsKey('duration_seconds')) { context.handle( _durationSecondsMeta, durationSeconds.isAcceptableOrUnknown( data['duration_seconds']!, _durationSecondsMeta, ), ); } if (data.containsKey('note')) { context.handle( _noteMeta, note.isAcceptableOrUnknown(data['note']!, _noteMeta), ); } if (data.containsKey('created_at')) { context.handle( _createdAtMeta, createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), ); } return context; } @override Set get $primaryKey => {id}; @override TimeEntry map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return TimeEntry( id: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}id'], )!, projectId: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}project_id'], )!, startTime: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}start_time'], )!, endTime: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}end_time'], ), durationSeconds: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}duration_seconds'], ), note: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}note'], ), createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}created_at'], )!, ); } @override $TimeEntriesTable createAlias(String alias) { return $TimeEntriesTable(attachedDatabase, alias); } } class TimeEntry extends DataClass implements Insertable { final int id; final int projectId; final DateTime startTime; final DateTime? endTime; final int? durationSeconds; final String? note; final DateTime createdAt; const TimeEntry({ required this.id, required this.projectId, required this.startTime, this.endTime, this.durationSeconds, this.note, required this.createdAt, }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); map['project_id'] = Variable(projectId); map['start_time'] = Variable(startTime); if (!nullToAbsent || endTime != null) { map['end_time'] = Variable(endTime); } if (!nullToAbsent || durationSeconds != null) { map['duration_seconds'] = Variable(durationSeconds); } if (!nullToAbsent || note != null) { map['note'] = Variable(note); } map['created_at'] = Variable(createdAt); return map; } TimeEntriesCompanion toCompanion(bool nullToAbsent) { return TimeEntriesCompanion( id: Value(id), projectId: Value(projectId), startTime: Value(startTime), endTime: endTime == null && nullToAbsent ? const Value.absent() : Value(endTime), durationSeconds: durationSeconds == null && nullToAbsent ? const Value.absent() : Value(durationSeconds), note: note == null && nullToAbsent ? const Value.absent() : Value(note), createdAt: Value(createdAt), ); } factory TimeEntry.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return TimeEntry( id: serializer.fromJson(json['id']), projectId: serializer.fromJson(json['projectId']), startTime: serializer.fromJson(json['startTime']), endTime: serializer.fromJson(json['endTime']), durationSeconds: serializer.fromJson(json['durationSeconds']), note: serializer.fromJson(json['note']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'projectId': serializer.toJson(projectId), 'startTime': serializer.toJson(startTime), 'endTime': serializer.toJson(endTime), 'durationSeconds': serializer.toJson(durationSeconds), 'note': serializer.toJson(note), 'createdAt': serializer.toJson(createdAt), }; } TimeEntry copyWith({ int? id, int? projectId, DateTime? startTime, Value endTime = const Value.absent(), Value durationSeconds = const Value.absent(), Value note = const Value.absent(), DateTime? createdAt, }) => TimeEntry( id: id ?? this.id, projectId: projectId ?? this.projectId, startTime: startTime ?? this.startTime, endTime: endTime.present ? endTime.value : this.endTime, durationSeconds: durationSeconds.present ? durationSeconds.value : this.durationSeconds, note: note.present ? note.value : this.note, createdAt: createdAt ?? this.createdAt, ); TimeEntry copyWithCompanion(TimeEntriesCompanion data) { return TimeEntry( id: data.id.present ? data.id.value : this.id, projectId: data.projectId.present ? data.projectId.value : this.projectId, startTime: data.startTime.present ? data.startTime.value : this.startTime, endTime: data.endTime.present ? data.endTime.value : this.endTime, durationSeconds: data.durationSeconds.present ? data.durationSeconds.value : this.durationSeconds, note: data.note.present ? data.note.value : this.note, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('TimeEntry(') ..write('id: $id, ') ..write('projectId: $projectId, ') ..write('startTime: $startTime, ') ..write('endTime: $endTime, ') ..write('durationSeconds: $durationSeconds, ') ..write('note: $note, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash( id, projectId, startTime, endTime, durationSeconds, note, createdAt, ); @override bool operator ==(Object other) => identical(this, other) || (other is TimeEntry && other.id == this.id && other.projectId == this.projectId && other.startTime == this.startTime && other.endTime == this.endTime && other.durationSeconds == this.durationSeconds && other.note == this.note && other.createdAt == this.createdAt); } class TimeEntriesCompanion extends UpdateCompanion { final Value id; final Value projectId; final Value startTime; final Value endTime; final Value durationSeconds; final Value note; final Value createdAt; const TimeEntriesCompanion({ this.id = const Value.absent(), this.projectId = const Value.absent(), this.startTime = const Value.absent(), this.endTime = const Value.absent(), this.durationSeconds = const Value.absent(), this.note = const Value.absent(), this.createdAt = const Value.absent(), }); TimeEntriesCompanion.insert({ this.id = const Value.absent(), required int projectId, required DateTime startTime, this.endTime = const Value.absent(), this.durationSeconds = const Value.absent(), this.note = const Value.absent(), this.createdAt = const Value.absent(), }) : projectId = Value(projectId), startTime = Value(startTime); static Insertable custom({ Expression? id, Expression? projectId, Expression? startTime, Expression? endTime, Expression? durationSeconds, Expression? note, Expression? createdAt, }) { return RawValuesInsertable({ if (id != null) 'id': id, if (projectId != null) 'project_id': projectId, if (startTime != null) 'start_time': startTime, if (endTime != null) 'end_time': endTime, if (durationSeconds != null) 'duration_seconds': durationSeconds, if (note != null) 'note': note, if (createdAt != null) 'created_at': createdAt, }); } TimeEntriesCompanion copyWith({ Value? id, Value? projectId, Value? startTime, Value? endTime, Value? durationSeconds, Value? note, Value? createdAt, }) { return TimeEntriesCompanion( id: id ?? this.id, projectId: projectId ?? this.projectId, startTime: startTime ?? this.startTime, endTime: endTime ?? this.endTime, durationSeconds: durationSeconds ?? this.durationSeconds, note: note ?? this.note, createdAt: createdAt ?? this.createdAt, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (id.present) { map['id'] = Variable(id.value); } if (projectId.present) { map['project_id'] = Variable(projectId.value); } if (startTime.present) { map['start_time'] = Variable(startTime.value); } if (endTime.present) { map['end_time'] = Variable(endTime.value); } if (durationSeconds.present) { map['duration_seconds'] = Variable(durationSeconds.value); } if (note.present) { map['note'] = Variable(note.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } return map; } @override String toString() { return (StringBuffer('TimeEntriesCompanion(') ..write('id: $id, ') ..write('projectId: $projectId, ') ..write('startTime: $startTime, ') ..write('endTime: $endTime, ') ..write('durationSeconds: $durationSeconds, ') ..write('note: $note, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } } class $TagsTable extends Tags with TableInfo<$TagsTable, Tag> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $TagsTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override late final GeneratedColumn id = GeneratedColumn( 'id', aliasedName, false, hasAutoIncrement: true, type: DriftSqlType.int, requiredDuringInsert: false, defaultConstraints: GeneratedColumn.constraintIsAlways( 'PRIMARY KEY AUTOINCREMENT', ), ); static const VerificationMeta _nameMeta = const VerificationMeta('name'); @override late final GeneratedColumn name = GeneratedColumn( 'name', aliasedName, false, additionalChecks: GeneratedColumn.checkTextLength( minTextLength: 1, maxTextLength: 50, ), type: DriftSqlType.string, requiredDuringInsert: true, defaultConstraints: GeneratedColumn.constraintIsAlways('UNIQUE'), ); @override List get $columns => [id, name]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'tags'; @override VerificationContext validateIntegrity( Insertable instance, { bool isInserting = false, }) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('id')) { context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); } if (data.containsKey('name')) { context.handle( _nameMeta, name.isAcceptableOrUnknown(data['name']!, _nameMeta), ); } else if (isInserting) { context.missing(_nameMeta); } return context; } @override Set get $primaryKey => {id}; @override Tag map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return Tag( id: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}id'], )!, name: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}name'], )!, ); } @override $TagsTable createAlias(String alias) { return $TagsTable(attachedDatabase, alias); } } class Tag extends DataClass implements Insertable { final int id; final String name; const Tag({required this.id, required this.name}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); map['name'] = Variable(name); return map; } TagsCompanion toCompanion(bool nullToAbsent) { return TagsCompanion(id: Value(id), name: Value(name)); } factory Tag.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return Tag( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), }; } Tag copyWith({int? id, String? name}) => Tag(id: id ?? this.id, name: name ?? this.name); Tag copyWithCompanion(TagsCompanion data) { return Tag( id: data.id.present ? data.id.value : this.id, name: data.name.present ? data.name.value : this.name, ); } @override String toString() { return (StringBuffer('Tag(') ..write('id: $id, ') ..write('name: $name') ..write(')')) .toString(); } @override int get hashCode => Object.hash(id, name); @override bool operator ==(Object other) => identical(this, other) || (other is Tag && other.id == this.id && other.name == this.name); } class TagsCompanion extends UpdateCompanion { final Value id; final Value name; const TagsCompanion({ this.id = const Value.absent(), this.name = const Value.absent(), }); TagsCompanion.insert({this.id = const Value.absent(), required String name}) : name = Value(name); static Insertable custom({ Expression? id, Expression? name, }) { return RawValuesInsertable({ if (id != null) 'id': id, if (name != null) 'name': name, }); } TagsCompanion copyWith({Value? id, Value? name}) { return TagsCompanion(id: id ?? this.id, name: name ?? this.name); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (id.present) { map['id'] = Variable(id.value); } if (name.present) { map['name'] = Variable(name.value); } return map; } @override String toString() { return (StringBuffer('TagsCompanion(') ..write('id: $id, ') ..write('name: $name') ..write(')')) .toString(); } } class $TimeEntryTagsTable extends TimeEntryTags with TableInfo<$TimeEntryTagsTable, TimeEntryTag> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $TimeEntryTagsTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _timeEntryIdMeta = const VerificationMeta( 'timeEntryId', ); @override late final GeneratedColumn timeEntryId = GeneratedColumn( 'time_entry_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, defaultConstraints: GeneratedColumn.constraintIsAlways( 'REFERENCES time_entries (id) ON DELETE CASCADE', ), ); static const VerificationMeta _tagIdMeta = const VerificationMeta('tagId'); @override late final GeneratedColumn tagId = GeneratedColumn( 'tag_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, defaultConstraints: GeneratedColumn.constraintIsAlways( 'REFERENCES tags (id) ON DELETE CASCADE', ), ); @override List get $columns => [timeEntryId, tagId]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'time_entry_tags'; @override VerificationContext validateIntegrity( Insertable instance, { bool isInserting = false, }) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('time_entry_id')) { context.handle( _timeEntryIdMeta, timeEntryId.isAcceptableOrUnknown( data['time_entry_id']!, _timeEntryIdMeta, ), ); } else if (isInserting) { context.missing(_timeEntryIdMeta); } if (data.containsKey('tag_id')) { context.handle( _tagIdMeta, tagId.isAcceptableOrUnknown(data['tag_id']!, _tagIdMeta), ); } else if (isInserting) { context.missing(_tagIdMeta); } return context; } @override Set get $primaryKey => {timeEntryId, tagId}; @override TimeEntryTag map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return TimeEntryTag( timeEntryId: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}time_entry_id'], )!, tagId: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}tag_id'], )!, ); } @override $TimeEntryTagsTable createAlias(String alias) { return $TimeEntryTagsTable(attachedDatabase, alias); } } class TimeEntryTag extends DataClass implements Insertable { final int timeEntryId; final int tagId; const TimeEntryTag({required this.timeEntryId, required this.tagId}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['time_entry_id'] = Variable(timeEntryId); map['tag_id'] = Variable(tagId); return map; } TimeEntryTagsCompanion toCompanion(bool nullToAbsent) { return TimeEntryTagsCompanion( timeEntryId: Value(timeEntryId), tagId: Value(tagId), ); } factory TimeEntryTag.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return TimeEntryTag( timeEntryId: serializer.fromJson(json['timeEntryId']), tagId: serializer.fromJson(json['tagId']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'timeEntryId': serializer.toJson(timeEntryId), 'tagId': serializer.toJson(tagId), }; } TimeEntryTag copyWith({int? timeEntryId, int? tagId}) => TimeEntryTag( timeEntryId: timeEntryId ?? this.timeEntryId, tagId: tagId ?? this.tagId, ); TimeEntryTag copyWithCompanion(TimeEntryTagsCompanion data) { return TimeEntryTag( timeEntryId: data.timeEntryId.present ? data.timeEntryId.value : this.timeEntryId, tagId: data.tagId.present ? data.tagId.value : this.tagId, ); } @override String toString() { return (StringBuffer('TimeEntryTag(') ..write('timeEntryId: $timeEntryId, ') ..write('tagId: $tagId') ..write(')')) .toString(); } @override int get hashCode => Object.hash(timeEntryId, tagId); @override bool operator ==(Object other) => identical(this, other) || (other is TimeEntryTag && other.timeEntryId == this.timeEntryId && other.tagId == this.tagId); } class TimeEntryTagsCompanion extends UpdateCompanion { final Value timeEntryId; final Value tagId; final Value rowid; const TimeEntryTagsCompanion({ this.timeEntryId = const Value.absent(), this.tagId = const Value.absent(), this.rowid = const Value.absent(), }); TimeEntryTagsCompanion.insert({ required int timeEntryId, required int tagId, this.rowid = const Value.absent(), }) : timeEntryId = Value(timeEntryId), tagId = Value(tagId); static Insertable custom({ Expression? timeEntryId, Expression? tagId, Expression? rowid, }) { return RawValuesInsertable({ if (timeEntryId != null) 'time_entry_id': timeEntryId, if (tagId != null) 'tag_id': tagId, if (rowid != null) 'rowid': rowid, }); } TimeEntryTagsCompanion copyWith({ Value? timeEntryId, Value? tagId, Value? rowid, }) { return TimeEntryTagsCompanion( timeEntryId: timeEntryId ?? this.timeEntryId, tagId: tagId ?? this.tagId, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (timeEntryId.present) { map['time_entry_id'] = Variable(timeEntryId.value); } if (tagId.present) { map['tag_id'] = Variable(tagId.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('TimeEntryTagsCompanion(') ..write('timeEntryId: $timeEntryId, ') ..write('tagId: $tagId, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } abstract class _$AppDatabase extends GeneratedDatabase { _$AppDatabase(QueryExecutor e) : super(e); $AppDatabaseManager get managers => $AppDatabaseManager(this); late final $ProjectsTable projects = $ProjectsTable(this); late final $TimeEntriesTable timeEntries = $TimeEntriesTable(this); late final $TagsTable tags = $TagsTable(this); late final $TimeEntryTagsTable timeEntryTags = $TimeEntryTagsTable(this); late final ProjectsDao projectsDao = ProjectsDao(this as AppDatabase); late final TimeEntriesDao timeEntriesDao = TimeEntriesDao( this as AppDatabase, ); late final TagsDao tagsDao = TagsDao(this as AppDatabase); @override Iterable> get allTables => allSchemaEntities.whereType>(); @override List get allSchemaEntities => [ projects, timeEntries, tags, timeEntryTags, ]; @override StreamQueryUpdateRules get streamUpdateRules => const StreamQueryUpdateRules([ WritePropagation( on: TableUpdateQuery.onTableName( 'time_entries', limitUpdateKind: UpdateKind.delete, ), result: [TableUpdate('time_entry_tags', kind: UpdateKind.delete)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'tags', limitUpdateKind: UpdateKind.delete, ), result: [TableUpdate('time_entry_tags', kind: UpdateKind.delete)], ), ]); } typedef $$ProjectsTableCreateCompanionBuilder = ProjectsCompanion Function({ Value id, required String name, required int colorValue, Value description, Value archivedAt, Value createdAt, }); typedef $$ProjectsTableUpdateCompanionBuilder = ProjectsCompanion Function({ Value id, Value name, Value colorValue, Value description, Value archivedAt, Value createdAt, }); final class $$ProjectsTableReferences extends BaseReferences<_$AppDatabase, $ProjectsTable, Project> { $$ProjectsTableReferences(super.$_db, super.$_table, super.$_typedResult); static MultiTypedResultKey<$TimeEntriesTable, List> _timeEntriesRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( db.timeEntries, aliasName: $_aliasNameGenerator(db.projects.id, db.timeEntries.projectId), ); $$TimeEntriesTableProcessedTableManager get timeEntriesRefs { final manager = $$TimeEntriesTableTableManager( $_db, $_db.timeEntries, ).filter((f) => f.projectId.id.sqlEquals($_itemColumn('id')!)); final cache = $_typedResult.readTableOrNull(_timeEntriesRefsTable($_db)); return ProcessedTableManager( manager.$state.copyWith(prefetchedData: cache), ); } } class $$ProjectsTableFilterComposer extends Composer<_$AppDatabase, $ProjectsTable> { $$ProjectsTableFilterComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); ColumnFilters get id => $composableBuilder( column: $table.id, builder: (column) => ColumnFilters(column), ); ColumnFilters get name => $composableBuilder( column: $table.name, builder: (column) => ColumnFilters(column), ); ColumnFilters get colorValue => $composableBuilder( column: $table.colorValue, builder: (column) => ColumnFilters(column), ); ColumnFilters get description => $composableBuilder( column: $table.description, builder: (column) => ColumnFilters(column), ); ColumnFilters get archivedAt => $composableBuilder( column: $table.archivedAt, builder: (column) => ColumnFilters(column), ); ColumnFilters get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnFilters(column), ); Expression timeEntriesRefs( Expression Function($$TimeEntriesTableFilterComposer f) f, ) { final $$TimeEntriesTableFilterComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.id, referencedTable: $db.timeEntries, getReferencedColumn: (t) => t.projectId, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntriesTableFilterComposer( $db: $db, $table: $db.timeEntries, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return f(composer); } } class $$ProjectsTableOrderingComposer extends Composer<_$AppDatabase, $ProjectsTable> { $$ProjectsTableOrderingComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); ColumnOrderings get id => $composableBuilder( column: $table.id, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get name => $composableBuilder( column: $table.name, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get colorValue => $composableBuilder( column: $table.colorValue, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get description => $composableBuilder( column: $table.description, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get archivedAt => $composableBuilder( column: $table.archivedAt, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnOrderings(column), ); } class $$ProjectsTableAnnotationComposer extends Composer<_$AppDatabase, $ProjectsTable> { $$ProjectsTableAnnotationComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumn get name => $composableBuilder(column: $table.name, builder: (column) => column); GeneratedColumn get colorValue => $composableBuilder( column: $table.colorValue, builder: (column) => column, ); GeneratedColumn get description => $composableBuilder( column: $table.description, builder: (column) => column, ); GeneratedColumn get archivedAt => $composableBuilder( column: $table.archivedAt, builder: (column) => column, ); GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); Expression timeEntriesRefs( Expression Function($$TimeEntriesTableAnnotationComposer a) f, ) { final $$TimeEntriesTableAnnotationComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.id, referencedTable: $db.timeEntries, getReferencedColumn: (t) => t.projectId, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntriesTableAnnotationComposer( $db: $db, $table: $db.timeEntries, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return f(composer); } } class $$ProjectsTableTableManager extends RootTableManager< _$AppDatabase, $ProjectsTable, Project, $$ProjectsTableFilterComposer, $$ProjectsTableOrderingComposer, $$ProjectsTableAnnotationComposer, $$ProjectsTableCreateCompanionBuilder, $$ProjectsTableUpdateCompanionBuilder, (Project, $$ProjectsTableReferences), Project, PrefetchHooks Function({bool timeEntriesRefs}) > { $$ProjectsTableTableManager(_$AppDatabase db, $ProjectsTable table) : super( TableManagerState( db: db, table: table, createFilteringComposer: () => $$ProjectsTableFilterComposer($db: db, $table: table), createOrderingComposer: () => $$ProjectsTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$ProjectsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value id = const Value.absent(), Value name = const Value.absent(), Value colorValue = const Value.absent(), Value description = const Value.absent(), Value archivedAt = const Value.absent(), Value createdAt = const Value.absent(), }) => ProjectsCompanion( id: id, name: name, colorValue: colorValue, description: description, archivedAt: archivedAt, createdAt: createdAt, ), createCompanionCallback: ({ Value id = const Value.absent(), required String name, required int colorValue, Value description = const Value.absent(), Value archivedAt = const Value.absent(), Value createdAt = const Value.absent(), }) => ProjectsCompanion.insert( id: id, name: name, colorValue: colorValue, description: description, archivedAt: archivedAt, createdAt: createdAt, ), withReferenceMapper: (p0) => p0 .map( (e) => ( e.readTable(table), $$ProjectsTableReferences(db, table, e), ), ) .toList(), prefetchHooksCallback: ({timeEntriesRefs = false}) { return PrefetchHooks( db: db, explicitlyWatchedTables: [if (timeEntriesRefs) db.timeEntries], addJoins: null, getPrefetchedDataCallback: (items) async { return [ if (timeEntriesRefs) await $_getPrefetchedData< Project, $ProjectsTable, TimeEntry >( currentTable: table, referencedTable: $$ProjectsTableReferences ._timeEntriesRefsTable(db), managerFromTypedResult: (p0) => $$ProjectsTableReferences( db, table, p0, ).timeEntriesRefs, referencedItemsForCurrentItem: (item, referencedItems) => referencedItems.where((e) => e.projectId == item.id), typedResults: items, ), ]; }, ); }, ), ); } typedef $$ProjectsTableProcessedTableManager = ProcessedTableManager< _$AppDatabase, $ProjectsTable, Project, $$ProjectsTableFilterComposer, $$ProjectsTableOrderingComposer, $$ProjectsTableAnnotationComposer, $$ProjectsTableCreateCompanionBuilder, $$ProjectsTableUpdateCompanionBuilder, (Project, $$ProjectsTableReferences), Project, PrefetchHooks Function({bool timeEntriesRefs}) >; typedef $$TimeEntriesTableCreateCompanionBuilder = TimeEntriesCompanion Function({ Value id, required int projectId, required DateTime startTime, Value endTime, Value durationSeconds, Value note, Value createdAt, }); typedef $$TimeEntriesTableUpdateCompanionBuilder = TimeEntriesCompanion Function({ Value id, Value projectId, Value startTime, Value endTime, Value durationSeconds, Value note, Value createdAt, }); final class $$TimeEntriesTableReferences extends BaseReferences<_$AppDatabase, $TimeEntriesTable, TimeEntry> { $$TimeEntriesTableReferences(super.$_db, super.$_table, super.$_typedResult); static $ProjectsTable _projectIdTable(_$AppDatabase db) => db.projects.createAlias( $_aliasNameGenerator(db.timeEntries.projectId, db.projects.id), ); $$ProjectsTableProcessedTableManager get projectId { final $_column = $_itemColumn('project_id')!; final manager = $$ProjectsTableTableManager( $_db, $_db.projects, ).filter((f) => f.id.sqlEquals($_column)); final item = $_typedResult.readTableOrNull(_projectIdTable($_db)); if (item == null) return manager; return ProcessedTableManager( manager.$state.copyWith(prefetchedData: [item]), ); } static MultiTypedResultKey<$TimeEntryTagsTable, List> _timeEntryTagsRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( db.timeEntryTags, aliasName: $_aliasNameGenerator( db.timeEntries.id, db.timeEntryTags.timeEntryId, ), ); $$TimeEntryTagsTableProcessedTableManager get timeEntryTagsRefs { final manager = $$TimeEntryTagsTableTableManager( $_db, $_db.timeEntryTags, ).filter((f) => f.timeEntryId.id.sqlEquals($_itemColumn('id')!)); final cache = $_typedResult.readTableOrNull(_timeEntryTagsRefsTable($_db)); return ProcessedTableManager( manager.$state.copyWith(prefetchedData: cache), ); } } class $$TimeEntriesTableFilterComposer extends Composer<_$AppDatabase, $TimeEntriesTable> { $$TimeEntriesTableFilterComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); ColumnFilters get id => $composableBuilder( column: $table.id, builder: (column) => ColumnFilters(column), ); ColumnFilters get startTime => $composableBuilder( column: $table.startTime, builder: (column) => ColumnFilters(column), ); ColumnFilters get endTime => $composableBuilder( column: $table.endTime, builder: (column) => ColumnFilters(column), ); ColumnFilters get durationSeconds => $composableBuilder( column: $table.durationSeconds, builder: (column) => ColumnFilters(column), ); ColumnFilters get note => $composableBuilder( column: $table.note, builder: (column) => ColumnFilters(column), ); ColumnFilters get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnFilters(column), ); $$ProjectsTableFilterComposer get projectId { final $$ProjectsTableFilterComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.projectId, referencedTable: $db.projects, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$ProjectsTableFilterComposer( $db: $db, $table: $db.projects, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } Expression timeEntryTagsRefs( Expression Function($$TimeEntryTagsTableFilterComposer f) f, ) { final $$TimeEntryTagsTableFilterComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.id, referencedTable: $db.timeEntryTags, getReferencedColumn: (t) => t.timeEntryId, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntryTagsTableFilterComposer( $db: $db, $table: $db.timeEntryTags, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return f(composer); } } class $$TimeEntriesTableOrderingComposer extends Composer<_$AppDatabase, $TimeEntriesTable> { $$TimeEntriesTableOrderingComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); ColumnOrderings get id => $composableBuilder( column: $table.id, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get startTime => $composableBuilder( column: $table.startTime, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get endTime => $composableBuilder( column: $table.endTime, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get durationSeconds => $composableBuilder( column: $table.durationSeconds, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get note => $composableBuilder( column: $table.note, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnOrderings(column), ); $$ProjectsTableOrderingComposer get projectId { final $$ProjectsTableOrderingComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.projectId, referencedTable: $db.projects, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$ProjectsTableOrderingComposer( $db: $db, $table: $db.projects, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } } class $$TimeEntriesTableAnnotationComposer extends Composer<_$AppDatabase, $TimeEntriesTable> { $$TimeEntriesTableAnnotationComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumn get startTime => $composableBuilder(column: $table.startTime, builder: (column) => column); GeneratedColumn get endTime => $composableBuilder(column: $table.endTime, builder: (column) => column); GeneratedColumn get durationSeconds => $composableBuilder( column: $table.durationSeconds, builder: (column) => column, ); GeneratedColumn get note => $composableBuilder(column: $table.note, builder: (column) => column); GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); $$ProjectsTableAnnotationComposer get projectId { final $$ProjectsTableAnnotationComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.projectId, referencedTable: $db.projects, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$ProjectsTableAnnotationComposer( $db: $db, $table: $db.projects, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } Expression timeEntryTagsRefs( Expression Function($$TimeEntryTagsTableAnnotationComposer a) f, ) { final $$TimeEntryTagsTableAnnotationComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.id, referencedTable: $db.timeEntryTags, getReferencedColumn: (t) => t.timeEntryId, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntryTagsTableAnnotationComposer( $db: $db, $table: $db.timeEntryTags, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return f(composer); } } class $$TimeEntriesTableTableManager extends RootTableManager< _$AppDatabase, $TimeEntriesTable, TimeEntry, $$TimeEntriesTableFilterComposer, $$TimeEntriesTableOrderingComposer, $$TimeEntriesTableAnnotationComposer, $$TimeEntriesTableCreateCompanionBuilder, $$TimeEntriesTableUpdateCompanionBuilder, (TimeEntry, $$TimeEntriesTableReferences), TimeEntry, PrefetchHooks Function({bool projectId, bool timeEntryTagsRefs}) > { $$TimeEntriesTableTableManager(_$AppDatabase db, $TimeEntriesTable table) : super( TableManagerState( db: db, table: table, createFilteringComposer: () => $$TimeEntriesTableFilterComposer($db: db, $table: table), createOrderingComposer: () => $$TimeEntriesTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$TimeEntriesTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value id = const Value.absent(), Value projectId = const Value.absent(), Value startTime = const Value.absent(), Value endTime = const Value.absent(), Value durationSeconds = const Value.absent(), Value note = const Value.absent(), Value createdAt = const Value.absent(), }) => TimeEntriesCompanion( id: id, projectId: projectId, startTime: startTime, endTime: endTime, durationSeconds: durationSeconds, note: note, createdAt: createdAt, ), createCompanionCallback: ({ Value id = const Value.absent(), required int projectId, required DateTime startTime, Value endTime = const Value.absent(), Value durationSeconds = const Value.absent(), Value note = const Value.absent(), Value createdAt = const Value.absent(), }) => TimeEntriesCompanion.insert( id: id, projectId: projectId, startTime: startTime, endTime: endTime, durationSeconds: durationSeconds, note: note, createdAt: createdAt, ), withReferenceMapper: (p0) => p0 .map( (e) => ( e.readTable(table), $$TimeEntriesTableReferences(db, table, e), ), ) .toList(), prefetchHooksCallback: ({projectId = false, timeEntryTagsRefs = false}) { return PrefetchHooks( db: db, explicitlyWatchedTables: [ if (timeEntryTagsRefs) db.timeEntryTags, ], addJoins: < T extends TableManagerState< dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic > >(state) { if (projectId) { state = state.withJoin( currentTable: table, currentColumn: table.projectId, referencedTable: $$TimeEntriesTableReferences ._projectIdTable(db), referencedColumn: $$TimeEntriesTableReferences ._projectIdTable(db) .id, ) as T; } return state; }, getPrefetchedDataCallback: (items) async { return [ if (timeEntryTagsRefs) await $_getPrefetchedData< TimeEntry, $TimeEntriesTable, TimeEntryTag >( currentTable: table, referencedTable: $$TimeEntriesTableReferences ._timeEntryTagsRefsTable(db), managerFromTypedResult: (p0) => $$TimeEntriesTableReferences( db, table, p0, ).timeEntryTagsRefs, referencedItemsForCurrentItem: (item, referencedItems) => referencedItems.where( (e) => e.timeEntryId == item.id, ), typedResults: items, ), ]; }, ); }, ), ); } typedef $$TimeEntriesTableProcessedTableManager = ProcessedTableManager< _$AppDatabase, $TimeEntriesTable, TimeEntry, $$TimeEntriesTableFilterComposer, $$TimeEntriesTableOrderingComposer, $$TimeEntriesTableAnnotationComposer, $$TimeEntriesTableCreateCompanionBuilder, $$TimeEntriesTableUpdateCompanionBuilder, (TimeEntry, $$TimeEntriesTableReferences), TimeEntry, PrefetchHooks Function({bool projectId, bool timeEntryTagsRefs}) >; typedef $$TagsTableCreateCompanionBuilder = TagsCompanion Function({Value id, required String name}); typedef $$TagsTableUpdateCompanionBuilder = TagsCompanion Function({Value id, Value name}); final class $$TagsTableReferences extends BaseReferences<_$AppDatabase, $TagsTable, Tag> { $$TagsTableReferences(super.$_db, super.$_table, super.$_typedResult); static MultiTypedResultKey<$TimeEntryTagsTable, List> _timeEntryTagsRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( db.timeEntryTags, aliasName: $_aliasNameGenerator(db.tags.id, db.timeEntryTags.tagId), ); $$TimeEntryTagsTableProcessedTableManager get timeEntryTagsRefs { final manager = $$TimeEntryTagsTableTableManager( $_db, $_db.timeEntryTags, ).filter((f) => f.tagId.id.sqlEquals($_itemColumn('id')!)); final cache = $_typedResult.readTableOrNull(_timeEntryTagsRefsTable($_db)); return ProcessedTableManager( manager.$state.copyWith(prefetchedData: cache), ); } } class $$TagsTableFilterComposer extends Composer<_$AppDatabase, $TagsTable> { $$TagsTableFilterComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); ColumnFilters get id => $composableBuilder( column: $table.id, builder: (column) => ColumnFilters(column), ); ColumnFilters get name => $composableBuilder( column: $table.name, builder: (column) => ColumnFilters(column), ); Expression timeEntryTagsRefs( Expression Function($$TimeEntryTagsTableFilterComposer f) f, ) { final $$TimeEntryTagsTableFilterComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.id, referencedTable: $db.timeEntryTags, getReferencedColumn: (t) => t.tagId, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntryTagsTableFilterComposer( $db: $db, $table: $db.timeEntryTags, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return f(composer); } } class $$TagsTableOrderingComposer extends Composer<_$AppDatabase, $TagsTable> { $$TagsTableOrderingComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); ColumnOrderings get id => $composableBuilder( column: $table.id, builder: (column) => ColumnOrderings(column), ); ColumnOrderings get name => $composableBuilder( column: $table.name, builder: (column) => ColumnOrderings(column), ); } class $$TagsTableAnnotationComposer extends Composer<_$AppDatabase, $TagsTable> { $$TagsTableAnnotationComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumn get name => $composableBuilder(column: $table.name, builder: (column) => column); Expression timeEntryTagsRefs( Expression Function($$TimeEntryTagsTableAnnotationComposer a) f, ) { final $$TimeEntryTagsTableAnnotationComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.id, referencedTable: $db.timeEntryTags, getReferencedColumn: (t) => t.tagId, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntryTagsTableAnnotationComposer( $db: $db, $table: $db.timeEntryTags, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return f(composer); } } class $$TagsTableTableManager extends RootTableManager< _$AppDatabase, $TagsTable, Tag, $$TagsTableFilterComposer, $$TagsTableOrderingComposer, $$TagsTableAnnotationComposer, $$TagsTableCreateCompanionBuilder, $$TagsTableUpdateCompanionBuilder, (Tag, $$TagsTableReferences), Tag, PrefetchHooks Function({bool timeEntryTagsRefs}) > { $$TagsTableTableManager(_$AppDatabase db, $TagsTable table) : super( TableManagerState( db: db, table: table, createFilteringComposer: () => $$TagsTableFilterComposer($db: db, $table: table), createOrderingComposer: () => $$TagsTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$TagsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value id = const Value.absent(), Value name = const Value.absent(), }) => TagsCompanion(id: id, name: name), createCompanionCallback: ({Value id = const Value.absent(), required String name}) => TagsCompanion.insert(id: id, name: name), withReferenceMapper: (p0) => p0 .map( (e) => (e.readTable(table), $$TagsTableReferences(db, table, e)), ) .toList(), prefetchHooksCallback: ({timeEntryTagsRefs = false}) { return PrefetchHooks( db: db, explicitlyWatchedTables: [ if (timeEntryTagsRefs) db.timeEntryTags, ], addJoins: null, getPrefetchedDataCallback: (items) async { return [ if (timeEntryTagsRefs) await $_getPrefetchedData( currentTable: table, referencedTable: $$TagsTableReferences ._timeEntryTagsRefsTable(db), managerFromTypedResult: (p0) => $$TagsTableReferences( db, table, p0, ).timeEntryTagsRefs, referencedItemsForCurrentItem: (item, referencedItems) => referencedItems.where((e) => e.tagId == item.id), typedResults: items, ), ]; }, ); }, ), ); } typedef $$TagsTableProcessedTableManager = ProcessedTableManager< _$AppDatabase, $TagsTable, Tag, $$TagsTableFilterComposer, $$TagsTableOrderingComposer, $$TagsTableAnnotationComposer, $$TagsTableCreateCompanionBuilder, $$TagsTableUpdateCompanionBuilder, (Tag, $$TagsTableReferences), Tag, PrefetchHooks Function({bool timeEntryTagsRefs}) >; typedef $$TimeEntryTagsTableCreateCompanionBuilder = TimeEntryTagsCompanion Function({ required int timeEntryId, required int tagId, Value rowid, }); typedef $$TimeEntryTagsTableUpdateCompanionBuilder = TimeEntryTagsCompanion Function({ Value timeEntryId, Value tagId, Value rowid, }); final class $$TimeEntryTagsTableReferences extends BaseReferences<_$AppDatabase, $TimeEntryTagsTable, TimeEntryTag> { $$TimeEntryTagsTableReferences( super.$_db, super.$_table, super.$_typedResult, ); static $TimeEntriesTable _timeEntryIdTable(_$AppDatabase db) => db.timeEntries.createAlias( $_aliasNameGenerator(db.timeEntryTags.timeEntryId, db.timeEntries.id), ); $$TimeEntriesTableProcessedTableManager get timeEntryId { final $_column = $_itemColumn('time_entry_id')!; final manager = $$TimeEntriesTableTableManager( $_db, $_db.timeEntries, ).filter((f) => f.id.sqlEquals($_column)); final item = $_typedResult.readTableOrNull(_timeEntryIdTable($_db)); if (item == null) return manager; return ProcessedTableManager( manager.$state.copyWith(prefetchedData: [item]), ); } static $TagsTable _tagIdTable(_$AppDatabase db) => db.tags.createAlias( $_aliasNameGenerator(db.timeEntryTags.tagId, db.tags.id), ); $$TagsTableProcessedTableManager get tagId { final $_column = $_itemColumn('tag_id')!; final manager = $$TagsTableTableManager( $_db, $_db.tags, ).filter((f) => f.id.sqlEquals($_column)); final item = $_typedResult.readTableOrNull(_tagIdTable($_db)); if (item == null) return manager; return ProcessedTableManager( manager.$state.copyWith(prefetchedData: [item]), ); } } class $$TimeEntryTagsTableFilterComposer extends Composer<_$AppDatabase, $TimeEntryTagsTable> { $$TimeEntryTagsTableFilterComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); $$TimeEntriesTableFilterComposer get timeEntryId { final $$TimeEntriesTableFilterComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.timeEntryId, referencedTable: $db.timeEntries, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntriesTableFilterComposer( $db: $db, $table: $db.timeEntries, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } $$TagsTableFilterComposer get tagId { final $$TagsTableFilterComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.tagId, referencedTable: $db.tags, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TagsTableFilterComposer( $db: $db, $table: $db.tags, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } } class $$TimeEntryTagsTableOrderingComposer extends Composer<_$AppDatabase, $TimeEntryTagsTable> { $$TimeEntryTagsTableOrderingComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); $$TimeEntriesTableOrderingComposer get timeEntryId { final $$TimeEntriesTableOrderingComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.timeEntryId, referencedTable: $db.timeEntries, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntriesTableOrderingComposer( $db: $db, $table: $db.timeEntries, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } $$TagsTableOrderingComposer get tagId { final $$TagsTableOrderingComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.tagId, referencedTable: $db.tags, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TagsTableOrderingComposer( $db: $db, $table: $db.tags, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } } class $$TimeEntryTagsTableAnnotationComposer extends Composer<_$AppDatabase, $TimeEntryTagsTable> { $$TimeEntryTagsTableAnnotationComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); $$TimeEntriesTableAnnotationComposer get timeEntryId { final $$TimeEntriesTableAnnotationComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.timeEntryId, referencedTable: $db.timeEntries, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TimeEntriesTableAnnotationComposer( $db: $db, $table: $db.timeEntries, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } $$TagsTableAnnotationComposer get tagId { final $$TagsTableAnnotationComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.tagId, referencedTable: $db.tags, getReferencedColumn: (t) => t.id, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, }) => $$TagsTableAnnotationComposer( $db: $db, $table: $db.tags, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer, ), ); return composer; } } class $$TimeEntryTagsTableTableManager extends RootTableManager< _$AppDatabase, $TimeEntryTagsTable, TimeEntryTag, $$TimeEntryTagsTableFilterComposer, $$TimeEntryTagsTableOrderingComposer, $$TimeEntryTagsTableAnnotationComposer, $$TimeEntryTagsTableCreateCompanionBuilder, $$TimeEntryTagsTableUpdateCompanionBuilder, (TimeEntryTag, $$TimeEntryTagsTableReferences), TimeEntryTag, PrefetchHooks Function({bool timeEntryId, bool tagId}) > { $$TimeEntryTagsTableTableManager(_$AppDatabase db, $TimeEntryTagsTable table) : super( TableManagerState( db: db, table: table, createFilteringComposer: () => $$TimeEntryTagsTableFilterComposer($db: db, $table: table), createOrderingComposer: () => $$TimeEntryTagsTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$TimeEntryTagsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value timeEntryId = const Value.absent(), Value tagId = const Value.absent(), Value rowid = const Value.absent(), }) => TimeEntryTagsCompanion( timeEntryId: timeEntryId, tagId: tagId, rowid: rowid, ), createCompanionCallback: ({ required int timeEntryId, required int tagId, Value rowid = const Value.absent(), }) => TimeEntryTagsCompanion.insert( timeEntryId: timeEntryId, tagId: tagId, rowid: rowid, ), withReferenceMapper: (p0) => p0 .map( (e) => ( e.readTable(table), $$TimeEntryTagsTableReferences(db, table, e), ), ) .toList(), prefetchHooksCallback: ({timeEntryId = false, tagId = false}) { return PrefetchHooks( db: db, explicitlyWatchedTables: [], addJoins: < T extends TableManagerState< dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic > >(state) { if (timeEntryId) { state = state.withJoin( currentTable: table, currentColumn: table.timeEntryId, referencedTable: $$TimeEntryTagsTableReferences ._timeEntryIdTable(db), referencedColumn: $$TimeEntryTagsTableReferences ._timeEntryIdTable(db) .id, ) as T; } if (tagId) { state = state.withJoin( currentTable: table, currentColumn: table.tagId, referencedTable: $$TimeEntryTagsTableReferences ._tagIdTable(db), referencedColumn: $$TimeEntryTagsTableReferences ._tagIdTable(db) .id, ) as T; } return state; }, getPrefetchedDataCallback: (items) async { return []; }, ); }, ), ); } typedef $$TimeEntryTagsTableProcessedTableManager = ProcessedTableManager< _$AppDatabase, $TimeEntryTagsTable, TimeEntryTag, $$TimeEntryTagsTableFilterComposer, $$TimeEntryTagsTableOrderingComposer, $$TimeEntryTagsTableAnnotationComposer, $$TimeEntryTagsTableCreateCompanionBuilder, $$TimeEntryTagsTableUpdateCompanionBuilder, (TimeEntryTag, $$TimeEntryTagsTableReferences), TimeEntryTag, PrefetchHooks Function({bool timeEntryId, bool tagId}) >; class $AppDatabaseManager { final _$AppDatabase _db; $AppDatabaseManager(this._db); $$ProjectsTableTableManager get projects => $$ProjectsTableTableManager(_db, _db.projects); $$TimeEntriesTableTableManager get timeEntries => $$TimeEntriesTableTableManager(_db, _db.timeEntries); $$TagsTableTableManager get tags => $$TagsTableTableManager(_db, _db.tags); $$TimeEntryTagsTableTableManager get timeEntryTags => $$TimeEntryTagsTableTableManager(_db, _db.timeEntryTags); } // ************************************************************************** // RiverpodGenerator // ************************************************************************** String _$appDatabaseHash() => r'96b544ff7ce456f0fc1edbdafdf332306a9affed'; /// See also [appDatabase]. @ProviderFor(appDatabase) final appDatabaseProvider = Provider.internal( appDatabase, name: r'appDatabaseProvider', debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product') ? null : _$appDatabaseHash, dependencies: null, allTransitiveDependencies: null, ); @Deprecated('Will be removed in 3.0. Use Ref instead') // ignore: unused_element typedef AppDatabaseRef = ProviderRef; // ignore_for_file: type=lint // ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package