6ef658558a
First slice of the tier 2 offline mode work tracked in Fable #147. Notes are the only domain wired so far; this PR establishes the shape and proves the round-trip end-to-end before extending to tasks / projects / events / etc. in phase 2. Local store - Adds drift ^2.20.0 + sqlite3_flutter_libs ^0.5.24 + path ^1.9.0 runtime deps and drift_dev / build_runner dev deps. - New lib/data/local/database.dart: FabledDatabase with CachedNotes (mirroring the Note model 1:1; tags stored as JSON-encoded text) and SyncMetadata (per-domain last_synced_at). Database file lives at $appDocs/fabled_cache.sqlite; opened lazily in a background isolate. - fabledDatabaseProvider on the existing api_client_provider; closes the DB when the ProviderScope disposes. Repository pattern - NotesRepository now takes (NotesApi, FabledDatabase). Reads attempt the network first; on success the response is written to the cache. On NetworkException reads fall back to the cache (rethrowing if it is empty so fresh-install offline still surfaces the network error). - Writes (create/update/delete) hit the server then sync the cache; offline write queueing is phase 3 and explicitly not wired here. - AuthStatus.offline stays owned by AuthNotifier.verify()'s heartbeat; this repo deliberately doesn't poke that state. OfflineBanner - Reads notesRepository.lastSyncedAt(); when present, swaps "Offline — showing cached data." for "Offline — last sync X min ago." A 30s timer refreshes the relative-time string while the banner is mounted. - Falls back to the generic message if no cache exists yet (fresh install offline). Verification - flutter analyze: No issues found Out of scope (later phases per the task body) - Tasks / projects / milestones / events / conversation list / journal day caching (phase 2 — same wrapper pattern, repeated) - Generic write queue with conflict resolution on updated_at (phase 3) - Read-only UI indicators on screens that depend on cached data (phase 4) - Full offline chat (out of scope; needs a local model) - RAG / search over cached content (out of scope) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1283 lines
40 KiB
Dart
1283 lines
40 KiB
Dart
// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
|
|
part of 'database.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
class $CachedNotesTable extends CachedNotes
|
|
with TableInfo<$CachedNotesTable, CachedNote> {
|
|
@override
|
|
final GeneratedDatabase attachedDatabase;
|
|
final String? _alias;
|
|
$CachedNotesTable(this.attachedDatabase, [this._alias]);
|
|
static const VerificationMeta _idMeta = const VerificationMeta('id');
|
|
@override
|
|
late final GeneratedColumn<int> id = GeneratedColumn<int>(
|
|
'id',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.int,
|
|
requiredDuringInsert: false,
|
|
);
|
|
static const VerificationMeta _titleMeta = const VerificationMeta('title');
|
|
@override
|
|
late final GeneratedColumn<String> title = GeneratedColumn<String>(
|
|
'title',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.string,
|
|
requiredDuringInsert: true,
|
|
);
|
|
static const VerificationMeta _bodyMeta = const VerificationMeta('body');
|
|
@override
|
|
late final GeneratedColumn<String> body = GeneratedColumn<String>(
|
|
'body',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.string,
|
|
requiredDuringInsert: true,
|
|
);
|
|
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 _noteTypeMeta = const VerificationMeta(
|
|
'noteType',
|
|
);
|
|
@override
|
|
late final GeneratedColumn<String> noteType = GeneratedColumn<String>(
|
|
'note_type',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.string,
|
|
requiredDuringInsert: false,
|
|
defaultValue: const Constant('note'),
|
|
);
|
|
static const VerificationMeta _projectIdMeta = const VerificationMeta(
|
|
'projectId',
|
|
);
|
|
@override
|
|
late final GeneratedColumn<int> projectId = GeneratedColumn<int>(
|
|
'project_id',
|
|
aliasedName,
|
|
true,
|
|
type: DriftSqlType.int,
|
|
requiredDuringInsert: false,
|
|
);
|
|
static const VerificationMeta _milestoneIdMeta = const VerificationMeta(
|
|
'milestoneId',
|
|
);
|
|
@override
|
|
late final GeneratedColumn<int> milestoneId = GeneratedColumn<int>(
|
|
'milestone_id',
|
|
aliasedName,
|
|
true,
|
|
type: DriftSqlType.int,
|
|
requiredDuringInsert: false,
|
|
);
|
|
static const VerificationMeta _createdAtMeta = const VerificationMeta(
|
|
'createdAt',
|
|
);
|
|
@override
|
|
late final GeneratedColumn<DateTime> createdAt = GeneratedColumn<DateTime>(
|
|
'created_at',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.dateTime,
|
|
requiredDuringInsert: true,
|
|
);
|
|
static const VerificationMeta _updatedAtMeta = const VerificationMeta(
|
|
'updatedAt',
|
|
);
|
|
@override
|
|
late final GeneratedColumn<DateTime> updatedAt = GeneratedColumn<DateTime>(
|
|
'updated_at',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.dateTime,
|
|
requiredDuringInsert: true,
|
|
);
|
|
static const VerificationMeta _cachedAtMeta = const VerificationMeta(
|
|
'cachedAt',
|
|
);
|
|
@override
|
|
late final GeneratedColumn<DateTime> cachedAt = GeneratedColumn<DateTime>(
|
|
'cached_at',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.dateTime,
|
|
requiredDuringInsert: false,
|
|
clientDefault: () => DateTime.now(),
|
|
);
|
|
@override
|
|
List<GeneratedColumn> get $columns => [
|
|
id,
|
|
title,
|
|
body,
|
|
tagsJson,
|
|
noteType,
|
|
projectId,
|
|
milestoneId,
|
|
createdAt,
|
|
updatedAt,
|
|
cachedAt,
|
|
];
|
|
@override
|
|
String get aliasedName => _alias ?? actualTableName;
|
|
@override
|
|
String get actualTableName => $name;
|
|
static const String $name = 'cached_notes';
|
|
@override
|
|
VerificationContext validateIntegrity(
|
|
Insertable<CachedNote> 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('title')) {
|
|
context.handle(
|
|
_titleMeta,
|
|
title.isAcceptableOrUnknown(data['title']!, _titleMeta),
|
|
);
|
|
} else if (isInserting) {
|
|
context.missing(_titleMeta);
|
|
}
|
|
if (data.containsKey('body')) {
|
|
context.handle(
|
|
_bodyMeta,
|
|
body.isAcceptableOrUnknown(data['body']!, _bodyMeta),
|
|
);
|
|
} else if (isInserting) {
|
|
context.missing(_bodyMeta);
|
|
}
|
|
if (data.containsKey('tags_json')) {
|
|
context.handle(
|
|
_tagsJsonMeta,
|
|
tagsJson.isAcceptableOrUnknown(data['tags_json']!, _tagsJsonMeta),
|
|
);
|
|
}
|
|
if (data.containsKey('note_type')) {
|
|
context.handle(
|
|
_noteTypeMeta,
|
|
noteType.isAcceptableOrUnknown(data['note_type']!, _noteTypeMeta),
|
|
);
|
|
}
|
|
if (data.containsKey('project_id')) {
|
|
context.handle(
|
|
_projectIdMeta,
|
|
projectId.isAcceptableOrUnknown(data['project_id']!, _projectIdMeta),
|
|
);
|
|
}
|
|
if (data.containsKey('milestone_id')) {
|
|
context.handle(
|
|
_milestoneIdMeta,
|
|
milestoneId.isAcceptableOrUnknown(
|
|
data['milestone_id']!,
|
|
_milestoneIdMeta,
|
|
),
|
|
);
|
|
}
|
|
if (data.containsKey('created_at')) {
|
|
context.handle(
|
|
_createdAtMeta,
|
|
createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta),
|
|
);
|
|
} else if (isInserting) {
|
|
context.missing(_createdAtMeta);
|
|
}
|
|
if (data.containsKey('updated_at')) {
|
|
context.handle(
|
|
_updatedAtMeta,
|
|
updatedAt.isAcceptableOrUnknown(data['updated_at']!, _updatedAtMeta),
|
|
);
|
|
} else if (isInserting) {
|
|
context.missing(_updatedAtMeta);
|
|
}
|
|
if (data.containsKey('cached_at')) {
|
|
context.handle(
|
|
_cachedAtMeta,
|
|
cachedAt.isAcceptableOrUnknown(data['cached_at']!, _cachedAtMeta),
|
|
);
|
|
}
|
|
return context;
|
|
}
|
|
|
|
@override
|
|
Set<GeneratedColumn> get $primaryKey => {id};
|
|
@override
|
|
CachedNote map(Map<String, dynamic> data, {String? tablePrefix}) {
|
|
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
|
|
return CachedNote(
|
|
id: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.int,
|
|
data['${effectivePrefix}id'],
|
|
)!,
|
|
title: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.string,
|
|
data['${effectivePrefix}title'],
|
|
)!,
|
|
body: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.string,
|
|
data['${effectivePrefix}body'],
|
|
)!,
|
|
tagsJson: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.string,
|
|
data['${effectivePrefix}tags_json'],
|
|
)!,
|
|
noteType: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.string,
|
|
data['${effectivePrefix}note_type'],
|
|
)!,
|
|
projectId: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.int,
|
|
data['${effectivePrefix}project_id'],
|
|
),
|
|
milestoneId: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.int,
|
|
data['${effectivePrefix}milestone_id'],
|
|
),
|
|
createdAt: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.dateTime,
|
|
data['${effectivePrefix}created_at'],
|
|
)!,
|
|
updatedAt: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.dateTime,
|
|
data['${effectivePrefix}updated_at'],
|
|
)!,
|
|
cachedAt: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.dateTime,
|
|
data['${effectivePrefix}cached_at'],
|
|
)!,
|
|
);
|
|
}
|
|
|
|
@override
|
|
$CachedNotesTable createAlias(String alias) {
|
|
return $CachedNotesTable(attachedDatabase, alias);
|
|
}
|
|
}
|
|
|
|
class CachedNote extends DataClass implements Insertable<CachedNote> {
|
|
final int id;
|
|
final String title;
|
|
final String body;
|
|
final String tagsJson;
|
|
final String noteType;
|
|
final int? projectId;
|
|
final int? milestoneId;
|
|
final DateTime createdAt;
|
|
final DateTime updatedAt;
|
|
final DateTime cachedAt;
|
|
const CachedNote({
|
|
required this.id,
|
|
required this.title,
|
|
required this.body,
|
|
required this.tagsJson,
|
|
required this.noteType,
|
|
this.projectId,
|
|
this.milestoneId,
|
|
required this.createdAt,
|
|
required this.updatedAt,
|
|
required this.cachedAt,
|
|
});
|
|
@override
|
|
Map<String, Expression> toColumns(bool nullToAbsent) {
|
|
final map = <String, Expression>{};
|
|
map['id'] = Variable<int>(id);
|
|
map['title'] = Variable<String>(title);
|
|
map['body'] = Variable<String>(body);
|
|
map['tags_json'] = Variable<String>(tagsJson);
|
|
map['note_type'] = Variable<String>(noteType);
|
|
if (!nullToAbsent || projectId != null) {
|
|
map['project_id'] = Variable<int>(projectId);
|
|
}
|
|
if (!nullToAbsent || milestoneId != null) {
|
|
map['milestone_id'] = Variable<int>(milestoneId);
|
|
}
|
|
map['created_at'] = Variable<DateTime>(createdAt);
|
|
map['updated_at'] = Variable<DateTime>(updatedAt);
|
|
map['cached_at'] = Variable<DateTime>(cachedAt);
|
|
return map;
|
|
}
|
|
|
|
CachedNotesCompanion toCompanion(bool nullToAbsent) {
|
|
return CachedNotesCompanion(
|
|
id: Value(id),
|
|
title: Value(title),
|
|
body: Value(body),
|
|
tagsJson: Value(tagsJson),
|
|
noteType: Value(noteType),
|
|
projectId: projectId == null && nullToAbsent
|
|
? const Value.absent()
|
|
: Value(projectId),
|
|
milestoneId: milestoneId == null && nullToAbsent
|
|
? const Value.absent()
|
|
: Value(milestoneId),
|
|
createdAt: Value(createdAt),
|
|
updatedAt: Value(updatedAt),
|
|
cachedAt: Value(cachedAt),
|
|
);
|
|
}
|
|
|
|
factory CachedNote.fromJson(
|
|
Map<String, dynamic> json, {
|
|
ValueSerializer? serializer,
|
|
}) {
|
|
serializer ??= driftRuntimeOptions.defaultSerializer;
|
|
return CachedNote(
|
|
id: serializer.fromJson<int>(json['id']),
|
|
title: serializer.fromJson<String>(json['title']),
|
|
body: serializer.fromJson<String>(json['body']),
|
|
tagsJson: serializer.fromJson<String>(json['tagsJson']),
|
|
noteType: serializer.fromJson<String>(json['noteType']),
|
|
projectId: serializer.fromJson<int?>(json['projectId']),
|
|
milestoneId: serializer.fromJson<int?>(json['milestoneId']),
|
|
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
|
|
updatedAt: serializer.fromJson<DateTime>(json['updatedAt']),
|
|
cachedAt: serializer.fromJson<DateTime>(json['cachedAt']),
|
|
);
|
|
}
|
|
@override
|
|
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
|
|
serializer ??= driftRuntimeOptions.defaultSerializer;
|
|
return <String, dynamic>{
|
|
'id': serializer.toJson<int>(id),
|
|
'title': serializer.toJson<String>(title),
|
|
'body': serializer.toJson<String>(body),
|
|
'tagsJson': serializer.toJson<String>(tagsJson),
|
|
'noteType': serializer.toJson<String>(noteType),
|
|
'projectId': serializer.toJson<int?>(projectId),
|
|
'milestoneId': serializer.toJson<int?>(milestoneId),
|
|
'createdAt': serializer.toJson<DateTime>(createdAt),
|
|
'updatedAt': serializer.toJson<DateTime>(updatedAt),
|
|
'cachedAt': serializer.toJson<DateTime>(cachedAt),
|
|
};
|
|
}
|
|
|
|
CachedNote copyWith({
|
|
int? id,
|
|
String? title,
|
|
String? body,
|
|
String? tagsJson,
|
|
String? noteType,
|
|
Value<int?> projectId = const Value.absent(),
|
|
Value<int?> milestoneId = const Value.absent(),
|
|
DateTime? createdAt,
|
|
DateTime? updatedAt,
|
|
DateTime? cachedAt,
|
|
}) => CachedNote(
|
|
id: id ?? this.id,
|
|
title: title ?? this.title,
|
|
body: body ?? this.body,
|
|
tagsJson: tagsJson ?? this.tagsJson,
|
|
noteType: noteType ?? this.noteType,
|
|
projectId: projectId.present ? projectId.value : this.projectId,
|
|
milestoneId: milestoneId.present ? milestoneId.value : this.milestoneId,
|
|
createdAt: createdAt ?? this.createdAt,
|
|
updatedAt: updatedAt ?? this.updatedAt,
|
|
cachedAt: cachedAt ?? this.cachedAt,
|
|
);
|
|
CachedNote copyWithCompanion(CachedNotesCompanion data) {
|
|
return CachedNote(
|
|
id: data.id.present ? data.id.value : this.id,
|
|
title: data.title.present ? data.title.value : this.title,
|
|
body: data.body.present ? data.body.value : this.body,
|
|
tagsJson: data.tagsJson.present ? data.tagsJson.value : this.tagsJson,
|
|
noteType: data.noteType.present ? data.noteType.value : this.noteType,
|
|
projectId: data.projectId.present ? data.projectId.value : this.projectId,
|
|
milestoneId: data.milestoneId.present
|
|
? data.milestoneId.value
|
|
: this.milestoneId,
|
|
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
|
|
updatedAt: data.updatedAt.present ? data.updatedAt.value : this.updatedAt,
|
|
cachedAt: data.cachedAt.present ? data.cachedAt.value : this.cachedAt,
|
|
);
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return (StringBuffer('CachedNote(')
|
|
..write('id: $id, ')
|
|
..write('title: $title, ')
|
|
..write('body: $body, ')
|
|
..write('tagsJson: $tagsJson, ')
|
|
..write('noteType: $noteType, ')
|
|
..write('projectId: $projectId, ')
|
|
..write('milestoneId: $milestoneId, ')
|
|
..write('createdAt: $createdAt, ')
|
|
..write('updatedAt: $updatedAt, ')
|
|
..write('cachedAt: $cachedAt')
|
|
..write(')'))
|
|
.toString();
|
|
}
|
|
|
|
@override
|
|
int get hashCode => Object.hash(
|
|
id,
|
|
title,
|
|
body,
|
|
tagsJson,
|
|
noteType,
|
|
projectId,
|
|
milestoneId,
|
|
createdAt,
|
|
updatedAt,
|
|
cachedAt,
|
|
);
|
|
@override
|
|
bool operator ==(Object other) =>
|
|
identical(this, other) ||
|
|
(other is CachedNote &&
|
|
other.id == this.id &&
|
|
other.title == this.title &&
|
|
other.body == this.body &&
|
|
other.tagsJson == this.tagsJson &&
|
|
other.noteType == this.noteType &&
|
|
other.projectId == this.projectId &&
|
|
other.milestoneId == this.milestoneId &&
|
|
other.createdAt == this.createdAt &&
|
|
other.updatedAt == this.updatedAt &&
|
|
other.cachedAt == this.cachedAt);
|
|
}
|
|
|
|
class CachedNotesCompanion extends UpdateCompanion<CachedNote> {
|
|
final Value<int> id;
|
|
final Value<String> title;
|
|
final Value<String> body;
|
|
final Value<String> tagsJson;
|
|
final Value<String> noteType;
|
|
final Value<int?> projectId;
|
|
final Value<int?> milestoneId;
|
|
final Value<DateTime> createdAt;
|
|
final Value<DateTime> updatedAt;
|
|
final Value<DateTime> cachedAt;
|
|
const CachedNotesCompanion({
|
|
this.id = const Value.absent(),
|
|
this.title = const Value.absent(),
|
|
this.body = const Value.absent(),
|
|
this.tagsJson = const Value.absent(),
|
|
this.noteType = const Value.absent(),
|
|
this.projectId = const Value.absent(),
|
|
this.milestoneId = const Value.absent(),
|
|
this.createdAt = const Value.absent(),
|
|
this.updatedAt = const Value.absent(),
|
|
this.cachedAt = const Value.absent(),
|
|
});
|
|
CachedNotesCompanion.insert({
|
|
this.id = const Value.absent(),
|
|
required String title,
|
|
required String body,
|
|
this.tagsJson = const Value.absent(),
|
|
this.noteType = const Value.absent(),
|
|
this.projectId = const Value.absent(),
|
|
this.milestoneId = const Value.absent(),
|
|
required DateTime createdAt,
|
|
required DateTime updatedAt,
|
|
this.cachedAt = const Value.absent(),
|
|
}) : title = Value(title),
|
|
body = Value(body),
|
|
createdAt = Value(createdAt),
|
|
updatedAt = Value(updatedAt);
|
|
static Insertable<CachedNote> custom({
|
|
Expression<int>? id,
|
|
Expression<String>? title,
|
|
Expression<String>? body,
|
|
Expression<String>? tagsJson,
|
|
Expression<String>? noteType,
|
|
Expression<int>? projectId,
|
|
Expression<int>? milestoneId,
|
|
Expression<DateTime>? createdAt,
|
|
Expression<DateTime>? updatedAt,
|
|
Expression<DateTime>? cachedAt,
|
|
}) {
|
|
return RawValuesInsertable({
|
|
if (id != null) 'id': id,
|
|
if (title != null) 'title': title,
|
|
if (body != null) 'body': body,
|
|
if (tagsJson != null) 'tags_json': tagsJson,
|
|
if (noteType != null) 'note_type': noteType,
|
|
if (projectId != null) 'project_id': projectId,
|
|
if (milestoneId != null) 'milestone_id': milestoneId,
|
|
if (createdAt != null) 'created_at': createdAt,
|
|
if (updatedAt != null) 'updated_at': updatedAt,
|
|
if (cachedAt != null) 'cached_at': cachedAt,
|
|
});
|
|
}
|
|
|
|
CachedNotesCompanion copyWith({
|
|
Value<int>? id,
|
|
Value<String>? title,
|
|
Value<String>? body,
|
|
Value<String>? tagsJson,
|
|
Value<String>? noteType,
|
|
Value<int?>? projectId,
|
|
Value<int?>? milestoneId,
|
|
Value<DateTime>? createdAt,
|
|
Value<DateTime>? updatedAt,
|
|
Value<DateTime>? cachedAt,
|
|
}) {
|
|
return CachedNotesCompanion(
|
|
id: id ?? this.id,
|
|
title: title ?? this.title,
|
|
body: body ?? this.body,
|
|
tagsJson: tagsJson ?? this.tagsJson,
|
|
noteType: noteType ?? this.noteType,
|
|
projectId: projectId ?? this.projectId,
|
|
milestoneId: milestoneId ?? this.milestoneId,
|
|
createdAt: createdAt ?? this.createdAt,
|
|
updatedAt: updatedAt ?? this.updatedAt,
|
|
cachedAt: cachedAt ?? this.cachedAt,
|
|
);
|
|
}
|
|
|
|
@override
|
|
Map<String, Expression> toColumns(bool nullToAbsent) {
|
|
final map = <String, Expression>{};
|
|
if (id.present) {
|
|
map['id'] = Variable<int>(id.value);
|
|
}
|
|
if (title.present) {
|
|
map['title'] = Variable<String>(title.value);
|
|
}
|
|
if (body.present) {
|
|
map['body'] = Variable<String>(body.value);
|
|
}
|
|
if (tagsJson.present) {
|
|
map['tags_json'] = Variable<String>(tagsJson.value);
|
|
}
|
|
if (noteType.present) {
|
|
map['note_type'] = Variable<String>(noteType.value);
|
|
}
|
|
if (projectId.present) {
|
|
map['project_id'] = Variable<int>(projectId.value);
|
|
}
|
|
if (milestoneId.present) {
|
|
map['milestone_id'] = Variable<int>(milestoneId.value);
|
|
}
|
|
if (createdAt.present) {
|
|
map['created_at'] = Variable<DateTime>(createdAt.value);
|
|
}
|
|
if (updatedAt.present) {
|
|
map['updated_at'] = Variable<DateTime>(updatedAt.value);
|
|
}
|
|
if (cachedAt.present) {
|
|
map['cached_at'] = Variable<DateTime>(cachedAt.value);
|
|
}
|
|
return map;
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return (StringBuffer('CachedNotesCompanion(')
|
|
..write('id: $id, ')
|
|
..write('title: $title, ')
|
|
..write('body: $body, ')
|
|
..write('tagsJson: $tagsJson, ')
|
|
..write('noteType: $noteType, ')
|
|
..write('projectId: $projectId, ')
|
|
..write('milestoneId: $milestoneId, ')
|
|
..write('createdAt: $createdAt, ')
|
|
..write('updatedAt: $updatedAt, ')
|
|
..write('cachedAt: $cachedAt')
|
|
..write(')'))
|
|
.toString();
|
|
}
|
|
}
|
|
|
|
class $SyncMetadataTable extends SyncMetadata
|
|
with TableInfo<$SyncMetadataTable, SyncMetadataData> {
|
|
@override
|
|
final GeneratedDatabase attachedDatabase;
|
|
final String? _alias;
|
|
$SyncMetadataTable(this.attachedDatabase, [this._alias]);
|
|
static const VerificationMeta _domainMeta = const VerificationMeta('domain');
|
|
@override
|
|
late final GeneratedColumn<String> domain = GeneratedColumn<String>(
|
|
'domain',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.string,
|
|
requiredDuringInsert: true,
|
|
);
|
|
static const VerificationMeta _lastSyncedAtMeta = const VerificationMeta(
|
|
'lastSyncedAt',
|
|
);
|
|
@override
|
|
late final GeneratedColumn<DateTime> lastSyncedAt = GeneratedColumn<DateTime>(
|
|
'last_synced_at',
|
|
aliasedName,
|
|
false,
|
|
type: DriftSqlType.dateTime,
|
|
requiredDuringInsert: true,
|
|
);
|
|
@override
|
|
List<GeneratedColumn> get $columns => [domain, lastSyncedAt];
|
|
@override
|
|
String get aliasedName => _alias ?? actualTableName;
|
|
@override
|
|
String get actualTableName => $name;
|
|
static const String $name = 'sync_metadata';
|
|
@override
|
|
VerificationContext validateIntegrity(
|
|
Insertable<SyncMetadataData> instance, {
|
|
bool isInserting = false,
|
|
}) {
|
|
final context = VerificationContext();
|
|
final data = instance.toColumns(true);
|
|
if (data.containsKey('domain')) {
|
|
context.handle(
|
|
_domainMeta,
|
|
domain.isAcceptableOrUnknown(data['domain']!, _domainMeta),
|
|
);
|
|
} else if (isInserting) {
|
|
context.missing(_domainMeta);
|
|
}
|
|
if (data.containsKey('last_synced_at')) {
|
|
context.handle(
|
|
_lastSyncedAtMeta,
|
|
lastSyncedAt.isAcceptableOrUnknown(
|
|
data['last_synced_at']!,
|
|
_lastSyncedAtMeta,
|
|
),
|
|
);
|
|
} else if (isInserting) {
|
|
context.missing(_lastSyncedAtMeta);
|
|
}
|
|
return context;
|
|
}
|
|
|
|
@override
|
|
Set<GeneratedColumn> get $primaryKey => {domain};
|
|
@override
|
|
SyncMetadataData map(Map<String, dynamic> data, {String? tablePrefix}) {
|
|
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
|
|
return SyncMetadataData(
|
|
domain: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.string,
|
|
data['${effectivePrefix}domain'],
|
|
)!,
|
|
lastSyncedAt: attachedDatabase.typeMapping.read(
|
|
DriftSqlType.dateTime,
|
|
data['${effectivePrefix}last_synced_at'],
|
|
)!,
|
|
);
|
|
}
|
|
|
|
@override
|
|
$SyncMetadataTable createAlias(String alias) {
|
|
return $SyncMetadataTable(attachedDatabase, alias);
|
|
}
|
|
}
|
|
|
|
class SyncMetadataData extends DataClass
|
|
implements Insertable<SyncMetadataData> {
|
|
final String domain;
|
|
final DateTime lastSyncedAt;
|
|
const SyncMetadataData({required this.domain, required this.lastSyncedAt});
|
|
@override
|
|
Map<String, Expression> toColumns(bool nullToAbsent) {
|
|
final map = <String, Expression>{};
|
|
map['domain'] = Variable<String>(domain);
|
|
map['last_synced_at'] = Variable<DateTime>(lastSyncedAt);
|
|
return map;
|
|
}
|
|
|
|
SyncMetadataCompanion toCompanion(bool nullToAbsent) {
|
|
return SyncMetadataCompanion(
|
|
domain: Value(domain),
|
|
lastSyncedAt: Value(lastSyncedAt),
|
|
);
|
|
}
|
|
|
|
factory SyncMetadataData.fromJson(
|
|
Map<String, dynamic> json, {
|
|
ValueSerializer? serializer,
|
|
}) {
|
|
serializer ??= driftRuntimeOptions.defaultSerializer;
|
|
return SyncMetadataData(
|
|
domain: serializer.fromJson<String>(json['domain']),
|
|
lastSyncedAt: serializer.fromJson<DateTime>(json['lastSyncedAt']),
|
|
);
|
|
}
|
|
@override
|
|
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
|
|
serializer ??= driftRuntimeOptions.defaultSerializer;
|
|
return <String, dynamic>{
|
|
'domain': serializer.toJson<String>(domain),
|
|
'lastSyncedAt': serializer.toJson<DateTime>(lastSyncedAt),
|
|
};
|
|
}
|
|
|
|
SyncMetadataData copyWith({String? domain, DateTime? lastSyncedAt}) =>
|
|
SyncMetadataData(
|
|
domain: domain ?? this.domain,
|
|
lastSyncedAt: lastSyncedAt ?? this.lastSyncedAt,
|
|
);
|
|
SyncMetadataData copyWithCompanion(SyncMetadataCompanion data) {
|
|
return SyncMetadataData(
|
|
domain: data.domain.present ? data.domain.value : this.domain,
|
|
lastSyncedAt: data.lastSyncedAt.present
|
|
? data.lastSyncedAt.value
|
|
: this.lastSyncedAt,
|
|
);
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return (StringBuffer('SyncMetadataData(')
|
|
..write('domain: $domain, ')
|
|
..write('lastSyncedAt: $lastSyncedAt')
|
|
..write(')'))
|
|
.toString();
|
|
}
|
|
|
|
@override
|
|
int get hashCode => Object.hash(domain, lastSyncedAt);
|
|
@override
|
|
bool operator ==(Object other) =>
|
|
identical(this, other) ||
|
|
(other is SyncMetadataData &&
|
|
other.domain == this.domain &&
|
|
other.lastSyncedAt == this.lastSyncedAt);
|
|
}
|
|
|
|
class SyncMetadataCompanion extends UpdateCompanion<SyncMetadataData> {
|
|
final Value<String> domain;
|
|
final Value<DateTime> lastSyncedAt;
|
|
final Value<int> rowid;
|
|
const SyncMetadataCompanion({
|
|
this.domain = const Value.absent(),
|
|
this.lastSyncedAt = const Value.absent(),
|
|
this.rowid = const Value.absent(),
|
|
});
|
|
SyncMetadataCompanion.insert({
|
|
required String domain,
|
|
required DateTime lastSyncedAt,
|
|
this.rowid = const Value.absent(),
|
|
}) : domain = Value(domain),
|
|
lastSyncedAt = Value(lastSyncedAt);
|
|
static Insertable<SyncMetadataData> custom({
|
|
Expression<String>? domain,
|
|
Expression<DateTime>? lastSyncedAt,
|
|
Expression<int>? rowid,
|
|
}) {
|
|
return RawValuesInsertable({
|
|
if (domain != null) 'domain': domain,
|
|
if (lastSyncedAt != null) 'last_synced_at': lastSyncedAt,
|
|
if (rowid != null) 'rowid': rowid,
|
|
});
|
|
}
|
|
|
|
SyncMetadataCompanion copyWith({
|
|
Value<String>? domain,
|
|
Value<DateTime>? lastSyncedAt,
|
|
Value<int>? rowid,
|
|
}) {
|
|
return SyncMetadataCompanion(
|
|
domain: domain ?? this.domain,
|
|
lastSyncedAt: lastSyncedAt ?? this.lastSyncedAt,
|
|
rowid: rowid ?? this.rowid,
|
|
);
|
|
}
|
|
|
|
@override
|
|
Map<String, Expression> toColumns(bool nullToAbsent) {
|
|
final map = <String, Expression>{};
|
|
if (domain.present) {
|
|
map['domain'] = Variable<String>(domain.value);
|
|
}
|
|
if (lastSyncedAt.present) {
|
|
map['last_synced_at'] = Variable<DateTime>(lastSyncedAt.value);
|
|
}
|
|
if (rowid.present) {
|
|
map['rowid'] = Variable<int>(rowid.value);
|
|
}
|
|
return map;
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return (StringBuffer('SyncMetadataCompanion(')
|
|
..write('domain: $domain, ')
|
|
..write('lastSyncedAt: $lastSyncedAt, ')
|
|
..write('rowid: $rowid')
|
|
..write(')'))
|
|
.toString();
|
|
}
|
|
}
|
|
|
|
abstract class _$FabledDatabase extends GeneratedDatabase {
|
|
_$FabledDatabase(QueryExecutor e) : super(e);
|
|
$FabledDatabaseManager get managers => $FabledDatabaseManager(this);
|
|
late final $CachedNotesTable cachedNotes = $CachedNotesTable(this);
|
|
late final $SyncMetadataTable syncMetadata = $SyncMetadataTable(this);
|
|
@override
|
|
Iterable<TableInfo<Table, Object?>> get allTables =>
|
|
allSchemaEntities.whereType<TableInfo<Table, Object?>>();
|
|
@override
|
|
List<DatabaseSchemaEntity> get allSchemaEntities => [
|
|
cachedNotes,
|
|
syncMetadata,
|
|
];
|
|
}
|
|
|
|
typedef $$CachedNotesTableCreateCompanionBuilder =
|
|
CachedNotesCompanion Function({
|
|
Value<int> id,
|
|
required String title,
|
|
required String body,
|
|
Value<String> tagsJson,
|
|
Value<String> noteType,
|
|
Value<int?> projectId,
|
|
Value<int?> milestoneId,
|
|
required DateTime createdAt,
|
|
required DateTime updatedAt,
|
|
Value<DateTime> cachedAt,
|
|
});
|
|
typedef $$CachedNotesTableUpdateCompanionBuilder =
|
|
CachedNotesCompanion Function({
|
|
Value<int> id,
|
|
Value<String> title,
|
|
Value<String> body,
|
|
Value<String> tagsJson,
|
|
Value<String> noteType,
|
|
Value<int?> projectId,
|
|
Value<int?> milestoneId,
|
|
Value<DateTime> createdAt,
|
|
Value<DateTime> updatedAt,
|
|
Value<DateTime> cachedAt,
|
|
});
|
|
|
|
class $$CachedNotesTableFilterComposer
|
|
extends Composer<_$FabledDatabase, $CachedNotesTable> {
|
|
$$CachedNotesTableFilterComposer({
|
|
required super.$db,
|
|
required super.$table,
|
|
super.joinBuilder,
|
|
super.$addJoinBuilderToRootComposer,
|
|
super.$removeJoinBuilderFromRootComposer,
|
|
});
|
|
ColumnFilters<int> get id => $composableBuilder(
|
|
column: $table.id,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<String> get title => $composableBuilder(
|
|
column: $table.title,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<String> get body => $composableBuilder(
|
|
column: $table.body,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<String> get tagsJson => $composableBuilder(
|
|
column: $table.tagsJson,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<String> get noteType => $composableBuilder(
|
|
column: $table.noteType,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<int> get projectId => $composableBuilder(
|
|
column: $table.projectId,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<int> get milestoneId => $composableBuilder(
|
|
column: $table.milestoneId,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<DateTime> get createdAt => $composableBuilder(
|
|
column: $table.createdAt,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<DateTime> get updatedAt => $composableBuilder(
|
|
column: $table.updatedAt,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<DateTime> get cachedAt => $composableBuilder(
|
|
column: $table.cachedAt,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
}
|
|
|
|
class $$CachedNotesTableOrderingComposer
|
|
extends Composer<_$FabledDatabase, $CachedNotesTable> {
|
|
$$CachedNotesTableOrderingComposer({
|
|
required super.$db,
|
|
required super.$table,
|
|
super.joinBuilder,
|
|
super.$addJoinBuilderToRootComposer,
|
|
super.$removeJoinBuilderFromRootComposer,
|
|
});
|
|
ColumnOrderings<int> get id => $composableBuilder(
|
|
column: $table.id,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<String> get title => $composableBuilder(
|
|
column: $table.title,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<String> get body => $composableBuilder(
|
|
column: $table.body,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<String> get tagsJson => $composableBuilder(
|
|
column: $table.tagsJson,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<String> get noteType => $composableBuilder(
|
|
column: $table.noteType,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<int> get projectId => $composableBuilder(
|
|
column: $table.projectId,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<int> get milestoneId => $composableBuilder(
|
|
column: $table.milestoneId,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<DateTime> get createdAt => $composableBuilder(
|
|
column: $table.createdAt,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<DateTime> get updatedAt => $composableBuilder(
|
|
column: $table.updatedAt,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<DateTime> get cachedAt => $composableBuilder(
|
|
column: $table.cachedAt,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
}
|
|
|
|
class $$CachedNotesTableAnnotationComposer
|
|
extends Composer<_$FabledDatabase, $CachedNotesTable> {
|
|
$$CachedNotesTableAnnotationComposer({
|
|
required super.$db,
|
|
required super.$table,
|
|
super.joinBuilder,
|
|
super.$addJoinBuilderToRootComposer,
|
|
super.$removeJoinBuilderFromRootComposer,
|
|
});
|
|
GeneratedColumn<int> get id =>
|
|
$composableBuilder(column: $table.id, builder: (column) => column);
|
|
|
|
GeneratedColumn<String> get title =>
|
|
$composableBuilder(column: $table.title, builder: (column) => column);
|
|
|
|
GeneratedColumn<String> get body =>
|
|
$composableBuilder(column: $table.body, builder: (column) => column);
|
|
|
|
GeneratedColumn<String> get tagsJson =>
|
|
$composableBuilder(column: $table.tagsJson, builder: (column) => column);
|
|
|
|
GeneratedColumn<String> get noteType =>
|
|
$composableBuilder(column: $table.noteType, builder: (column) => column);
|
|
|
|
GeneratedColumn<int> get projectId =>
|
|
$composableBuilder(column: $table.projectId, builder: (column) => column);
|
|
|
|
GeneratedColumn<int> get milestoneId => $composableBuilder(
|
|
column: $table.milestoneId,
|
|
builder: (column) => column,
|
|
);
|
|
|
|
GeneratedColumn<DateTime> get createdAt =>
|
|
$composableBuilder(column: $table.createdAt, builder: (column) => column);
|
|
|
|
GeneratedColumn<DateTime> get updatedAt =>
|
|
$composableBuilder(column: $table.updatedAt, builder: (column) => column);
|
|
|
|
GeneratedColumn<DateTime> get cachedAt =>
|
|
$composableBuilder(column: $table.cachedAt, builder: (column) => column);
|
|
}
|
|
|
|
class $$CachedNotesTableTableManager
|
|
extends
|
|
RootTableManager<
|
|
_$FabledDatabase,
|
|
$CachedNotesTable,
|
|
CachedNote,
|
|
$$CachedNotesTableFilterComposer,
|
|
$$CachedNotesTableOrderingComposer,
|
|
$$CachedNotesTableAnnotationComposer,
|
|
$$CachedNotesTableCreateCompanionBuilder,
|
|
$$CachedNotesTableUpdateCompanionBuilder,
|
|
(
|
|
CachedNote,
|
|
BaseReferences<_$FabledDatabase, $CachedNotesTable, CachedNote>,
|
|
),
|
|
CachedNote,
|
|
PrefetchHooks Function()
|
|
> {
|
|
$$CachedNotesTableTableManager(_$FabledDatabase db, $CachedNotesTable table)
|
|
: super(
|
|
TableManagerState(
|
|
db: db,
|
|
table: table,
|
|
createFilteringComposer: () =>
|
|
$$CachedNotesTableFilterComposer($db: db, $table: table),
|
|
createOrderingComposer: () =>
|
|
$$CachedNotesTableOrderingComposer($db: db, $table: table),
|
|
createComputedFieldComposer: () =>
|
|
$$CachedNotesTableAnnotationComposer($db: db, $table: table),
|
|
updateCompanionCallback:
|
|
({
|
|
Value<int> id = const Value.absent(),
|
|
Value<String> title = const Value.absent(),
|
|
Value<String> body = const Value.absent(),
|
|
Value<String> tagsJson = const Value.absent(),
|
|
Value<String> noteType = const Value.absent(),
|
|
Value<int?> projectId = const Value.absent(),
|
|
Value<int?> milestoneId = const Value.absent(),
|
|
Value<DateTime> createdAt = const Value.absent(),
|
|
Value<DateTime> updatedAt = const Value.absent(),
|
|
Value<DateTime> cachedAt = const Value.absent(),
|
|
}) => CachedNotesCompanion(
|
|
id: id,
|
|
title: title,
|
|
body: body,
|
|
tagsJson: tagsJson,
|
|
noteType: noteType,
|
|
projectId: projectId,
|
|
milestoneId: milestoneId,
|
|
createdAt: createdAt,
|
|
updatedAt: updatedAt,
|
|
cachedAt: cachedAt,
|
|
),
|
|
createCompanionCallback:
|
|
({
|
|
Value<int> id = const Value.absent(),
|
|
required String title,
|
|
required String body,
|
|
Value<String> tagsJson = const Value.absent(),
|
|
Value<String> noteType = const Value.absent(),
|
|
Value<int?> projectId = const Value.absent(),
|
|
Value<int?> milestoneId = const Value.absent(),
|
|
required DateTime createdAt,
|
|
required DateTime updatedAt,
|
|
Value<DateTime> cachedAt = const Value.absent(),
|
|
}) => CachedNotesCompanion.insert(
|
|
id: id,
|
|
title: title,
|
|
body: body,
|
|
tagsJson: tagsJson,
|
|
noteType: noteType,
|
|
projectId: projectId,
|
|
milestoneId: milestoneId,
|
|
createdAt: createdAt,
|
|
updatedAt: updatedAt,
|
|
cachedAt: cachedAt,
|
|
),
|
|
withReferenceMapper: (p0) => p0
|
|
.map((e) => (e.readTable(table), BaseReferences(db, table, e)))
|
|
.toList(),
|
|
prefetchHooksCallback: null,
|
|
),
|
|
);
|
|
}
|
|
|
|
typedef $$CachedNotesTableProcessedTableManager =
|
|
ProcessedTableManager<
|
|
_$FabledDatabase,
|
|
$CachedNotesTable,
|
|
CachedNote,
|
|
$$CachedNotesTableFilterComposer,
|
|
$$CachedNotesTableOrderingComposer,
|
|
$$CachedNotesTableAnnotationComposer,
|
|
$$CachedNotesTableCreateCompanionBuilder,
|
|
$$CachedNotesTableUpdateCompanionBuilder,
|
|
(
|
|
CachedNote,
|
|
BaseReferences<_$FabledDatabase, $CachedNotesTable, CachedNote>,
|
|
),
|
|
CachedNote,
|
|
PrefetchHooks Function()
|
|
>;
|
|
typedef $$SyncMetadataTableCreateCompanionBuilder =
|
|
SyncMetadataCompanion Function({
|
|
required String domain,
|
|
required DateTime lastSyncedAt,
|
|
Value<int> rowid,
|
|
});
|
|
typedef $$SyncMetadataTableUpdateCompanionBuilder =
|
|
SyncMetadataCompanion Function({
|
|
Value<String> domain,
|
|
Value<DateTime> lastSyncedAt,
|
|
Value<int> rowid,
|
|
});
|
|
|
|
class $$SyncMetadataTableFilterComposer
|
|
extends Composer<_$FabledDatabase, $SyncMetadataTable> {
|
|
$$SyncMetadataTableFilterComposer({
|
|
required super.$db,
|
|
required super.$table,
|
|
super.joinBuilder,
|
|
super.$addJoinBuilderToRootComposer,
|
|
super.$removeJoinBuilderFromRootComposer,
|
|
});
|
|
ColumnFilters<String> get domain => $composableBuilder(
|
|
column: $table.domain,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
|
|
ColumnFilters<DateTime> get lastSyncedAt => $composableBuilder(
|
|
column: $table.lastSyncedAt,
|
|
builder: (column) => ColumnFilters(column),
|
|
);
|
|
}
|
|
|
|
class $$SyncMetadataTableOrderingComposer
|
|
extends Composer<_$FabledDatabase, $SyncMetadataTable> {
|
|
$$SyncMetadataTableOrderingComposer({
|
|
required super.$db,
|
|
required super.$table,
|
|
super.joinBuilder,
|
|
super.$addJoinBuilderToRootComposer,
|
|
super.$removeJoinBuilderFromRootComposer,
|
|
});
|
|
ColumnOrderings<String> get domain => $composableBuilder(
|
|
column: $table.domain,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
|
|
ColumnOrderings<DateTime> get lastSyncedAt => $composableBuilder(
|
|
column: $table.lastSyncedAt,
|
|
builder: (column) => ColumnOrderings(column),
|
|
);
|
|
}
|
|
|
|
class $$SyncMetadataTableAnnotationComposer
|
|
extends Composer<_$FabledDatabase, $SyncMetadataTable> {
|
|
$$SyncMetadataTableAnnotationComposer({
|
|
required super.$db,
|
|
required super.$table,
|
|
super.joinBuilder,
|
|
super.$addJoinBuilderToRootComposer,
|
|
super.$removeJoinBuilderFromRootComposer,
|
|
});
|
|
GeneratedColumn<String> get domain =>
|
|
$composableBuilder(column: $table.domain, builder: (column) => column);
|
|
|
|
GeneratedColumn<DateTime> get lastSyncedAt => $composableBuilder(
|
|
column: $table.lastSyncedAt,
|
|
builder: (column) => column,
|
|
);
|
|
}
|
|
|
|
class $$SyncMetadataTableTableManager
|
|
extends
|
|
RootTableManager<
|
|
_$FabledDatabase,
|
|
$SyncMetadataTable,
|
|
SyncMetadataData,
|
|
$$SyncMetadataTableFilterComposer,
|
|
$$SyncMetadataTableOrderingComposer,
|
|
$$SyncMetadataTableAnnotationComposer,
|
|
$$SyncMetadataTableCreateCompanionBuilder,
|
|
$$SyncMetadataTableUpdateCompanionBuilder,
|
|
(
|
|
SyncMetadataData,
|
|
BaseReferences<
|
|
_$FabledDatabase,
|
|
$SyncMetadataTable,
|
|
SyncMetadataData
|
|
>,
|
|
),
|
|
SyncMetadataData,
|
|
PrefetchHooks Function()
|
|
> {
|
|
$$SyncMetadataTableTableManager(_$FabledDatabase db, $SyncMetadataTable table)
|
|
: super(
|
|
TableManagerState(
|
|
db: db,
|
|
table: table,
|
|
createFilteringComposer: () =>
|
|
$$SyncMetadataTableFilterComposer($db: db, $table: table),
|
|
createOrderingComposer: () =>
|
|
$$SyncMetadataTableOrderingComposer($db: db, $table: table),
|
|
createComputedFieldComposer: () =>
|
|
$$SyncMetadataTableAnnotationComposer($db: db, $table: table),
|
|
updateCompanionCallback:
|
|
({
|
|
Value<String> domain = const Value.absent(),
|
|
Value<DateTime> lastSyncedAt = const Value.absent(),
|
|
Value<int> rowid = const Value.absent(),
|
|
}) => SyncMetadataCompanion(
|
|
domain: domain,
|
|
lastSyncedAt: lastSyncedAt,
|
|
rowid: rowid,
|
|
),
|
|
createCompanionCallback:
|
|
({
|
|
required String domain,
|
|
required DateTime lastSyncedAt,
|
|
Value<int> rowid = const Value.absent(),
|
|
}) => SyncMetadataCompanion.insert(
|
|
domain: domain,
|
|
lastSyncedAt: lastSyncedAt,
|
|
rowid: rowid,
|
|
),
|
|
withReferenceMapper: (p0) => p0
|
|
.map((e) => (e.readTable(table), BaseReferences(db, table, e)))
|
|
.toList(),
|
|
prefetchHooksCallback: null,
|
|
),
|
|
);
|
|
}
|
|
|
|
typedef $$SyncMetadataTableProcessedTableManager =
|
|
ProcessedTableManager<
|
|
_$FabledDatabase,
|
|
$SyncMetadataTable,
|
|
SyncMetadataData,
|
|
$$SyncMetadataTableFilterComposer,
|
|
$$SyncMetadataTableOrderingComposer,
|
|
$$SyncMetadataTableAnnotationComposer,
|
|
$$SyncMetadataTableCreateCompanionBuilder,
|
|
$$SyncMetadataTableUpdateCompanionBuilder,
|
|
(
|
|
SyncMetadataData,
|
|
BaseReferences<_$FabledDatabase, $SyncMetadataTable, SyncMetadataData>,
|
|
),
|
|
SyncMetadataData,
|
|
PrefetchHooks Function()
|
|
>;
|
|
|
|
class $FabledDatabaseManager {
|
|
final _$FabledDatabase _db;
|
|
$FabledDatabaseManager(this._db);
|
|
$$CachedNotesTableTableManager get cachedNotes =>
|
|
$$CachedNotesTableTableManager(_db, _db.cachedNotes);
|
|
$$SyncMetadataTableTableManager get syncMetadata =>
|
|
$$SyncMetadataTableTableManager(_db, _db.syncMetadata);
|
|
}
|