Files
notas/lib/data/app_database.g.dart
T
Marcos efe602a5da feat: Implement note encryption and synchronization features
- Added NoteEncryption class for encrypting and decrypting note content using AES-GCM.
- Updated NoteRepository to handle synchronization of notes and categories with the server, including encryption of note data before sending.
- Introduced SyncRequest and SyncResponse models for managing synchronization data.
- Enhanced LocalVaultService to store and retrieve the encryption key.
- Modified HomeScreen and SettingsScreen to trigger synchronization after note operations and manage API endpoint settings.
- Added SyncStatusIndicator to provide visual feedback on synchronization status in the app title bar.
- Created Category model to manage note categories with encryption support.
- Updated note model to include UUID, server version, deletion status, and category ID.
- Added necessary UI elements for displaying and managing the encryption key in SettingsScreen.
- Updated dependencies in pubspec.yaml for cryptography and HTTP handling.
2026-05-18 16:11:19 +02:00

1489 lines
46 KiB
Dart

// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'app_database.dart';
// ignore_for_file: type=lint
class $NotesTable extends Notes with TableInfo<$NotesTable, DbNote> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
$NotesTable(this.attachedDatabase, [this._alias]);
static const VerificationMeta _idMeta = const VerificationMeta('id');
@override
late final GeneratedColumn<int> id = GeneratedColumn<int>(
'id',
aliasedName,
false,
hasAutoIncrement: true,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'PRIMARY KEY AUTOINCREMENT',
),
);
static const VerificationMeta _uuidMeta = const VerificationMeta('uuid');
@override
late final GeneratedColumn<String> uuid = GeneratedColumn<String>(
'uuid',
aliasedName,
false,
type: DriftSqlType.string,
requiredDuringInsert: true,
defaultConstraints: GeneratedColumn.constraintIsAlways('UNIQUE'),
);
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 _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 _sortIndexMeta = const VerificationMeta(
'sortIndex',
);
@override
late final GeneratedColumn<int> sortIndex = GeneratedColumn<int>(
'sort_index',
aliasedName,
false,
type: DriftSqlType.int,
requiredDuringInsert: true,
);
static const VerificationMeta _serverVersionMeta = const VerificationMeta(
'serverVersion',
);
@override
late final GeneratedColumn<int> serverVersion = GeneratedColumn<int>(
'server_version',
aliasedName,
false,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultValue: const Constant(0),
);
static const VerificationMeta _isDeletedMeta = const VerificationMeta(
'isDeleted',
);
@override
late final GeneratedColumn<bool> isDeleted = GeneratedColumn<bool>(
'is_deleted',
aliasedName,
false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("is_deleted" IN (0, 1))',
),
defaultValue: const Constant(false),
);
static const VerificationMeta _categoryIdMeta = const VerificationMeta(
'categoryId',
);
@override
late final GeneratedColumn<String> categoryId = GeneratedColumn<String>(
'category_id',
aliasedName,
true,
type: DriftSqlType.string,
requiredDuringInsert: false,
);
@override
List<GeneratedColumn> get $columns => [
id,
uuid,
title,
body,
createdAt,
updatedAt,
sortIndex,
serverVersion,
isDeleted,
categoryId,
];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'notes';
@override
VerificationContext validateIntegrity(
Insertable<DbNote> 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('uuid')) {
context.handle(
_uuidMeta,
uuid.isAcceptableOrUnknown(data['uuid']!, _uuidMeta),
);
} else if (isInserting) {
context.missing(_uuidMeta);
}
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('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('sort_index')) {
context.handle(
_sortIndexMeta,
sortIndex.isAcceptableOrUnknown(data['sort_index']!, _sortIndexMeta),
);
} else if (isInserting) {
context.missing(_sortIndexMeta);
}
if (data.containsKey('server_version')) {
context.handle(
_serverVersionMeta,
serverVersion.isAcceptableOrUnknown(
data['server_version']!,
_serverVersionMeta,
),
);
}
if (data.containsKey('is_deleted')) {
context.handle(
_isDeletedMeta,
isDeleted.isAcceptableOrUnknown(data['is_deleted']!, _isDeletedMeta),
);
}
if (data.containsKey('category_id')) {
context.handle(
_categoryIdMeta,
categoryId.isAcceptableOrUnknown(data['category_id']!, _categoryIdMeta),
);
}
return context;
}
@override
Set<GeneratedColumn> get $primaryKey => {id};
@override
DbNote map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return DbNote(
id: attachedDatabase.typeMapping.read(
DriftSqlType.int,
data['${effectivePrefix}id'],
)!,
uuid: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}uuid'],
)!,
title: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}title'],
)!,
body: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}body'],
)!,
createdAt: attachedDatabase.typeMapping.read(
DriftSqlType.dateTime,
data['${effectivePrefix}created_at'],
)!,
updatedAt: attachedDatabase.typeMapping.read(
DriftSqlType.dateTime,
data['${effectivePrefix}updated_at'],
)!,
sortIndex: attachedDatabase.typeMapping.read(
DriftSqlType.int,
data['${effectivePrefix}sort_index'],
)!,
serverVersion: attachedDatabase.typeMapping.read(
DriftSqlType.int,
data['${effectivePrefix}server_version'],
)!,
isDeleted: attachedDatabase.typeMapping.read(
DriftSqlType.bool,
data['${effectivePrefix}is_deleted'],
)!,
categoryId: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}category_id'],
),
);
}
@override
$NotesTable createAlias(String alias) {
return $NotesTable(attachedDatabase, alias);
}
}
class DbNote extends DataClass implements Insertable<DbNote> {
final int id;
final String uuid;
final String title;
final String body;
final DateTime createdAt;
final DateTime updatedAt;
final int sortIndex;
final int serverVersion;
final bool isDeleted;
final String? categoryId;
const DbNote({
required this.id,
required this.uuid,
required this.title,
required this.body,
required this.createdAt,
required this.updatedAt,
required this.sortIndex,
required this.serverVersion,
required this.isDeleted,
this.categoryId,
});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['id'] = Variable<int>(id);
map['uuid'] = Variable<String>(uuid);
map['title'] = Variable<String>(title);
map['body'] = Variable<String>(body);
map['created_at'] = Variable<DateTime>(createdAt);
map['updated_at'] = Variable<DateTime>(updatedAt);
map['sort_index'] = Variable<int>(sortIndex);
map['server_version'] = Variable<int>(serverVersion);
map['is_deleted'] = Variable<bool>(isDeleted);
if (!nullToAbsent || categoryId != null) {
map['category_id'] = Variable<String>(categoryId);
}
return map;
}
NotesCompanion toCompanion(bool nullToAbsent) {
return NotesCompanion(
id: Value(id),
uuid: Value(uuid),
title: Value(title),
body: Value(body),
createdAt: Value(createdAt),
updatedAt: Value(updatedAt),
sortIndex: Value(sortIndex),
serverVersion: Value(serverVersion),
isDeleted: Value(isDeleted),
categoryId: categoryId == null && nullToAbsent
? const Value.absent()
: Value(categoryId),
);
}
factory DbNote.fromJson(
Map<String, dynamic> json, {
ValueSerializer? serializer,
}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return DbNote(
id: serializer.fromJson<int>(json['id']),
uuid: serializer.fromJson<String>(json['uuid']),
title: serializer.fromJson<String>(json['title']),
body: serializer.fromJson<String>(json['body']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
updatedAt: serializer.fromJson<DateTime>(json['updatedAt']),
sortIndex: serializer.fromJson<int>(json['sortIndex']),
serverVersion: serializer.fromJson<int>(json['serverVersion']),
isDeleted: serializer.fromJson<bool>(json['isDeleted']),
categoryId: serializer.fromJson<String?>(json['categoryId']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'uuid': serializer.toJson<String>(uuid),
'title': serializer.toJson<String>(title),
'body': serializer.toJson<String>(body),
'createdAt': serializer.toJson<DateTime>(createdAt),
'updatedAt': serializer.toJson<DateTime>(updatedAt),
'sortIndex': serializer.toJson<int>(sortIndex),
'serverVersion': serializer.toJson<int>(serverVersion),
'isDeleted': serializer.toJson<bool>(isDeleted),
'categoryId': serializer.toJson<String?>(categoryId),
};
}
DbNote copyWith({
int? id,
String? uuid,
String? title,
String? body,
DateTime? createdAt,
DateTime? updatedAt,
int? sortIndex,
int? serverVersion,
bool? isDeleted,
Value<String?> categoryId = const Value.absent(),
}) => DbNote(
id: id ?? this.id,
uuid: uuid ?? this.uuid,
title: title ?? this.title,
body: body ?? this.body,
createdAt: createdAt ?? this.createdAt,
updatedAt: updatedAt ?? this.updatedAt,
sortIndex: sortIndex ?? this.sortIndex,
serverVersion: serverVersion ?? this.serverVersion,
isDeleted: isDeleted ?? this.isDeleted,
categoryId: categoryId.present ? categoryId.value : this.categoryId,
);
DbNote copyWithCompanion(NotesCompanion data) {
return DbNote(
id: data.id.present ? data.id.value : this.id,
uuid: data.uuid.present ? data.uuid.value : this.uuid,
title: data.title.present ? data.title.value : this.title,
body: data.body.present ? data.body.value : this.body,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
updatedAt: data.updatedAt.present ? data.updatedAt.value : this.updatedAt,
sortIndex: data.sortIndex.present ? data.sortIndex.value : this.sortIndex,
serverVersion: data.serverVersion.present
? data.serverVersion.value
: this.serverVersion,
isDeleted: data.isDeleted.present ? data.isDeleted.value : this.isDeleted,
categoryId: data.categoryId.present
? data.categoryId.value
: this.categoryId,
);
}
@override
String toString() {
return (StringBuffer('DbNote(')
..write('id: $id, ')
..write('uuid: $uuid, ')
..write('title: $title, ')
..write('body: $body, ')
..write('createdAt: $createdAt, ')
..write('updatedAt: $updatedAt, ')
..write('sortIndex: $sortIndex, ')
..write('serverVersion: $serverVersion, ')
..write('isDeleted: $isDeleted, ')
..write('categoryId: $categoryId')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(
id,
uuid,
title,
body,
createdAt,
updatedAt,
sortIndex,
serverVersion,
isDeleted,
categoryId,
);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is DbNote &&
other.id == this.id &&
other.uuid == this.uuid &&
other.title == this.title &&
other.body == this.body &&
other.createdAt == this.createdAt &&
other.updatedAt == this.updatedAt &&
other.sortIndex == this.sortIndex &&
other.serverVersion == this.serverVersion &&
other.isDeleted == this.isDeleted &&
other.categoryId == this.categoryId);
}
class NotesCompanion extends UpdateCompanion<DbNote> {
final Value<int> id;
final Value<String> uuid;
final Value<String> title;
final Value<String> body;
final Value<DateTime> createdAt;
final Value<DateTime> updatedAt;
final Value<int> sortIndex;
final Value<int> serverVersion;
final Value<bool> isDeleted;
final Value<String?> categoryId;
const NotesCompanion({
this.id = const Value.absent(),
this.uuid = const Value.absent(),
this.title = const Value.absent(),
this.body = const Value.absent(),
this.createdAt = const Value.absent(),
this.updatedAt = const Value.absent(),
this.sortIndex = const Value.absent(),
this.serverVersion = const Value.absent(),
this.isDeleted = const Value.absent(),
this.categoryId = const Value.absent(),
});
NotesCompanion.insert({
this.id = const Value.absent(),
required String uuid,
required String title,
required String body,
required DateTime createdAt,
required DateTime updatedAt,
required int sortIndex,
this.serverVersion = const Value.absent(),
this.isDeleted = const Value.absent(),
this.categoryId = const Value.absent(),
}) : uuid = Value(uuid),
title = Value(title),
body = Value(body),
createdAt = Value(createdAt),
updatedAt = Value(updatedAt),
sortIndex = Value(sortIndex);
static Insertable<DbNote> custom({
Expression<int>? id,
Expression<String>? uuid,
Expression<String>? title,
Expression<String>? body,
Expression<DateTime>? createdAt,
Expression<DateTime>? updatedAt,
Expression<int>? sortIndex,
Expression<int>? serverVersion,
Expression<bool>? isDeleted,
Expression<String>? categoryId,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (uuid != null) 'uuid': uuid,
if (title != null) 'title': title,
if (body != null) 'body': body,
if (createdAt != null) 'created_at': createdAt,
if (updatedAt != null) 'updated_at': updatedAt,
if (sortIndex != null) 'sort_index': sortIndex,
if (serverVersion != null) 'server_version': serverVersion,
if (isDeleted != null) 'is_deleted': isDeleted,
if (categoryId != null) 'category_id': categoryId,
});
}
NotesCompanion copyWith({
Value<int>? id,
Value<String>? uuid,
Value<String>? title,
Value<String>? body,
Value<DateTime>? createdAt,
Value<DateTime>? updatedAt,
Value<int>? sortIndex,
Value<int>? serverVersion,
Value<bool>? isDeleted,
Value<String?>? categoryId,
}) {
return NotesCompanion(
id: id ?? this.id,
uuid: uuid ?? this.uuid,
title: title ?? this.title,
body: body ?? this.body,
createdAt: createdAt ?? this.createdAt,
updatedAt: updatedAt ?? this.updatedAt,
sortIndex: sortIndex ?? this.sortIndex,
serverVersion: serverVersion ?? this.serverVersion,
isDeleted: isDeleted ?? this.isDeleted,
categoryId: categoryId ?? this.categoryId,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (id.present) {
map['id'] = Variable<int>(id.value);
}
if (uuid.present) {
map['uuid'] = Variable<String>(uuid.value);
}
if (title.present) {
map['title'] = Variable<String>(title.value);
}
if (body.present) {
map['body'] = Variable<String>(body.value);
}
if (createdAt.present) {
map['created_at'] = Variable<DateTime>(createdAt.value);
}
if (updatedAt.present) {
map['updated_at'] = Variable<DateTime>(updatedAt.value);
}
if (sortIndex.present) {
map['sort_index'] = Variable<int>(sortIndex.value);
}
if (serverVersion.present) {
map['server_version'] = Variable<int>(serverVersion.value);
}
if (isDeleted.present) {
map['is_deleted'] = Variable<bool>(isDeleted.value);
}
if (categoryId.present) {
map['category_id'] = Variable<String>(categoryId.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('NotesCompanion(')
..write('id: $id, ')
..write('uuid: $uuid, ')
..write('title: $title, ')
..write('body: $body, ')
..write('createdAt: $createdAt, ')
..write('updatedAt: $updatedAt, ')
..write('sortIndex: $sortIndex, ')
..write('serverVersion: $serverVersion, ')
..write('isDeleted: $isDeleted, ')
..write('categoryId: $categoryId')
..write(')'))
.toString();
}
}
class $CategoriesTable extends Categories
with TableInfo<$CategoriesTable, DbCategory> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
$CategoriesTable(this.attachedDatabase, [this._alias]);
static const VerificationMeta _uuidMeta = const VerificationMeta('uuid');
@override
late final GeneratedColumn<String> uuid = GeneratedColumn<String>(
'uuid',
aliasedName,
false,
type: DriftSqlType.string,
requiredDuringInsert: true,
defaultConstraints: GeneratedColumn.constraintIsAlways('UNIQUE'),
);
static const VerificationMeta _encryptedNameMeta = const VerificationMeta(
'encryptedName',
);
@override
late final GeneratedColumn<String> encryptedName = GeneratedColumn<String>(
'encrypted_name',
aliasedName,
false,
type: DriftSqlType.string,
requiredDuringInsert: true,
);
static const VerificationMeta _serverVersionMeta = const VerificationMeta(
'serverVersion',
);
@override
late final GeneratedColumn<int> serverVersion = GeneratedColumn<int>(
'server_version',
aliasedName,
false,
type: DriftSqlType.int,
requiredDuringInsert: false,
defaultValue: const Constant(0),
);
static const VerificationMeta _isDeletedMeta = const VerificationMeta(
'isDeleted',
);
@override
late final GeneratedColumn<bool> isDeleted = GeneratedColumn<bool>(
'is_deleted',
aliasedName,
false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
'CHECK ("is_deleted" IN (0, 1))',
),
defaultValue: const Constant(false),
);
static const VerificationMeta _updatedAtMeta = const VerificationMeta(
'updatedAt',
);
@override
late final GeneratedColumn<DateTime> updatedAt = GeneratedColumn<DateTime>(
'updated_at',
aliasedName,
false,
type: DriftSqlType.dateTime,
requiredDuringInsert: true,
);
@override
List<GeneratedColumn> get $columns => [
uuid,
encryptedName,
serverVersion,
isDeleted,
updatedAt,
];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
static const String $name = 'categories';
@override
VerificationContext validateIntegrity(
Insertable<DbCategory> instance, {
bool isInserting = false,
}) {
final context = VerificationContext();
final data = instance.toColumns(true);
if (data.containsKey('uuid')) {
context.handle(
_uuidMeta,
uuid.isAcceptableOrUnknown(data['uuid']!, _uuidMeta),
);
} else if (isInserting) {
context.missing(_uuidMeta);
}
if (data.containsKey('encrypted_name')) {
context.handle(
_encryptedNameMeta,
encryptedName.isAcceptableOrUnknown(
data['encrypted_name']!,
_encryptedNameMeta,
),
);
} else if (isInserting) {
context.missing(_encryptedNameMeta);
}
if (data.containsKey('server_version')) {
context.handle(
_serverVersionMeta,
serverVersion.isAcceptableOrUnknown(
data['server_version']!,
_serverVersionMeta,
),
);
}
if (data.containsKey('is_deleted')) {
context.handle(
_isDeletedMeta,
isDeleted.isAcceptableOrUnknown(data['is_deleted']!, _isDeletedMeta),
);
}
if (data.containsKey('updated_at')) {
context.handle(
_updatedAtMeta,
updatedAt.isAcceptableOrUnknown(data['updated_at']!, _updatedAtMeta),
);
} else if (isInserting) {
context.missing(_updatedAtMeta);
}
return context;
}
@override
Set<GeneratedColumn> get $primaryKey => {uuid};
@override
DbCategory map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return DbCategory(
uuid: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}uuid'],
)!,
encryptedName: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}encrypted_name'],
)!,
serverVersion: attachedDatabase.typeMapping.read(
DriftSqlType.int,
data['${effectivePrefix}server_version'],
)!,
isDeleted: attachedDatabase.typeMapping.read(
DriftSqlType.bool,
data['${effectivePrefix}is_deleted'],
)!,
updatedAt: attachedDatabase.typeMapping.read(
DriftSqlType.dateTime,
data['${effectivePrefix}updated_at'],
)!,
);
}
@override
$CategoriesTable createAlias(String alias) {
return $CategoriesTable(attachedDatabase, alias);
}
}
class DbCategory extends DataClass implements Insertable<DbCategory> {
final String uuid;
final String encryptedName;
final int serverVersion;
final bool isDeleted;
final DateTime updatedAt;
const DbCategory({
required this.uuid,
required this.encryptedName,
required this.serverVersion,
required this.isDeleted,
required this.updatedAt,
});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
map['uuid'] = Variable<String>(uuid);
map['encrypted_name'] = Variable<String>(encryptedName);
map['server_version'] = Variable<int>(serverVersion);
map['is_deleted'] = Variable<bool>(isDeleted);
map['updated_at'] = Variable<DateTime>(updatedAt);
return map;
}
CategoriesCompanion toCompanion(bool nullToAbsent) {
return CategoriesCompanion(
uuid: Value(uuid),
encryptedName: Value(encryptedName),
serverVersion: Value(serverVersion),
isDeleted: Value(isDeleted),
updatedAt: Value(updatedAt),
);
}
factory DbCategory.fromJson(
Map<String, dynamic> json, {
ValueSerializer? serializer,
}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return DbCategory(
uuid: serializer.fromJson<String>(json['uuid']),
encryptedName: serializer.fromJson<String>(json['encryptedName']),
serverVersion: serializer.fromJson<int>(json['serverVersion']),
isDeleted: serializer.fromJson<bool>(json['isDeleted']),
updatedAt: serializer.fromJson<DateTime>(json['updatedAt']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'uuid': serializer.toJson<String>(uuid),
'encryptedName': serializer.toJson<String>(encryptedName),
'serverVersion': serializer.toJson<int>(serverVersion),
'isDeleted': serializer.toJson<bool>(isDeleted),
'updatedAt': serializer.toJson<DateTime>(updatedAt),
};
}
DbCategory copyWith({
String? uuid,
String? encryptedName,
int? serverVersion,
bool? isDeleted,
DateTime? updatedAt,
}) => DbCategory(
uuid: uuid ?? this.uuid,
encryptedName: encryptedName ?? this.encryptedName,
serverVersion: serverVersion ?? this.serverVersion,
isDeleted: isDeleted ?? this.isDeleted,
updatedAt: updatedAt ?? this.updatedAt,
);
DbCategory copyWithCompanion(CategoriesCompanion data) {
return DbCategory(
uuid: data.uuid.present ? data.uuid.value : this.uuid,
encryptedName: data.encryptedName.present
? data.encryptedName.value
: this.encryptedName,
serverVersion: data.serverVersion.present
? data.serverVersion.value
: this.serverVersion,
isDeleted: data.isDeleted.present ? data.isDeleted.value : this.isDeleted,
updatedAt: data.updatedAt.present ? data.updatedAt.value : this.updatedAt,
);
}
@override
String toString() {
return (StringBuffer('DbCategory(')
..write('uuid: $uuid, ')
..write('encryptedName: $encryptedName, ')
..write('serverVersion: $serverVersion, ')
..write('isDeleted: $isDeleted, ')
..write('updatedAt: $updatedAt')
..write(')'))
.toString();
}
@override
int get hashCode =>
Object.hash(uuid, encryptedName, serverVersion, isDeleted, updatedAt);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is DbCategory &&
other.uuid == this.uuid &&
other.encryptedName == this.encryptedName &&
other.serverVersion == this.serverVersion &&
other.isDeleted == this.isDeleted &&
other.updatedAt == this.updatedAt);
}
class CategoriesCompanion extends UpdateCompanion<DbCategory> {
final Value<String> uuid;
final Value<String> encryptedName;
final Value<int> serverVersion;
final Value<bool> isDeleted;
final Value<DateTime> updatedAt;
final Value<int> rowid;
const CategoriesCompanion({
this.uuid = const Value.absent(),
this.encryptedName = const Value.absent(),
this.serverVersion = const Value.absent(),
this.isDeleted = const Value.absent(),
this.updatedAt = const Value.absent(),
this.rowid = const Value.absent(),
});
CategoriesCompanion.insert({
required String uuid,
required String encryptedName,
this.serverVersion = const Value.absent(),
this.isDeleted = const Value.absent(),
required DateTime updatedAt,
this.rowid = const Value.absent(),
}) : uuid = Value(uuid),
encryptedName = Value(encryptedName),
updatedAt = Value(updatedAt);
static Insertable<DbCategory> custom({
Expression<String>? uuid,
Expression<String>? encryptedName,
Expression<int>? serverVersion,
Expression<bool>? isDeleted,
Expression<DateTime>? updatedAt,
Expression<int>? rowid,
}) {
return RawValuesInsertable({
if (uuid != null) 'uuid': uuid,
if (encryptedName != null) 'encrypted_name': encryptedName,
if (serverVersion != null) 'server_version': serverVersion,
if (isDeleted != null) 'is_deleted': isDeleted,
if (updatedAt != null) 'updated_at': updatedAt,
if (rowid != null) 'rowid': rowid,
});
}
CategoriesCompanion copyWith({
Value<String>? uuid,
Value<String>? encryptedName,
Value<int>? serverVersion,
Value<bool>? isDeleted,
Value<DateTime>? updatedAt,
Value<int>? rowid,
}) {
return CategoriesCompanion(
uuid: uuid ?? this.uuid,
encryptedName: encryptedName ?? this.encryptedName,
serverVersion: serverVersion ?? this.serverVersion,
isDeleted: isDeleted ?? this.isDeleted,
updatedAt: updatedAt ?? this.updatedAt,
rowid: rowid ?? this.rowid,
);
}
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
final map = <String, Expression>{};
if (uuid.present) {
map['uuid'] = Variable<String>(uuid.value);
}
if (encryptedName.present) {
map['encrypted_name'] = Variable<String>(encryptedName.value);
}
if (serverVersion.present) {
map['server_version'] = Variable<int>(serverVersion.value);
}
if (isDeleted.present) {
map['is_deleted'] = Variable<bool>(isDeleted.value);
}
if (updatedAt.present) {
map['updated_at'] = Variable<DateTime>(updatedAt.value);
}
if (rowid.present) {
map['rowid'] = Variable<int>(rowid.value);
}
return map;
}
@override
String toString() {
return (StringBuffer('CategoriesCompanion(')
..write('uuid: $uuid, ')
..write('encryptedName: $encryptedName, ')
..write('serverVersion: $serverVersion, ')
..write('isDeleted: $isDeleted, ')
..write('updatedAt: $updatedAt, ')
..write('rowid: $rowid')
..write(')'))
.toString();
}
}
abstract class _$AppDatabase extends GeneratedDatabase {
_$AppDatabase(QueryExecutor e) : super(e);
$AppDatabaseManager get managers => $AppDatabaseManager(this);
late final $NotesTable notes = $NotesTable(this);
late final $CategoriesTable categories = $CategoriesTable(this);
@override
Iterable<TableInfo<Table, Object?>> get allTables =>
allSchemaEntities.whereType<TableInfo<Table, Object?>>();
@override
List<DatabaseSchemaEntity> get allSchemaEntities => [notes, categories];
}
typedef $$NotesTableCreateCompanionBuilder =
NotesCompanion Function({
Value<int> id,
required String uuid,
required String title,
required String body,
required DateTime createdAt,
required DateTime updatedAt,
required int sortIndex,
Value<int> serverVersion,
Value<bool> isDeleted,
Value<String?> categoryId,
});
typedef $$NotesTableUpdateCompanionBuilder =
NotesCompanion Function({
Value<int> id,
Value<String> uuid,
Value<String> title,
Value<String> body,
Value<DateTime> createdAt,
Value<DateTime> updatedAt,
Value<int> sortIndex,
Value<int> serverVersion,
Value<bool> isDeleted,
Value<String?> categoryId,
});
class $$NotesTableFilterComposer extends Composer<_$AppDatabase, $NotesTable> {
$$NotesTableFilterComposer({
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 uuid => $composableBuilder(
column: $table.uuid,
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<DateTime> get createdAt => $composableBuilder(
column: $table.createdAt,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<DateTime> get updatedAt => $composableBuilder(
column: $table.updatedAt,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<int> get sortIndex => $composableBuilder(
column: $table.sortIndex,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<int> get serverVersion => $composableBuilder(
column: $table.serverVersion,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<bool> get isDeleted => $composableBuilder(
column: $table.isDeleted,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<String> get categoryId => $composableBuilder(
column: $table.categoryId,
builder: (column) => ColumnFilters(column),
);
}
class $$NotesTableOrderingComposer
extends Composer<_$AppDatabase, $NotesTable> {
$$NotesTableOrderingComposer({
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 uuid => $composableBuilder(
column: $table.uuid,
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<DateTime> get createdAt => $composableBuilder(
column: $table.createdAt,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<DateTime> get updatedAt => $composableBuilder(
column: $table.updatedAt,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<int> get sortIndex => $composableBuilder(
column: $table.sortIndex,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<int> get serverVersion => $composableBuilder(
column: $table.serverVersion,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<bool> get isDeleted => $composableBuilder(
column: $table.isDeleted,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<String> get categoryId => $composableBuilder(
column: $table.categoryId,
builder: (column) => ColumnOrderings(column),
);
}
class $$NotesTableAnnotationComposer
extends Composer<_$AppDatabase, $NotesTable> {
$$NotesTableAnnotationComposer({
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 uuid =>
$composableBuilder(column: $table.uuid, 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<DateTime> get createdAt =>
$composableBuilder(column: $table.createdAt, builder: (column) => column);
GeneratedColumn<DateTime> get updatedAt =>
$composableBuilder(column: $table.updatedAt, builder: (column) => column);
GeneratedColumn<int> get sortIndex =>
$composableBuilder(column: $table.sortIndex, builder: (column) => column);
GeneratedColumn<int> get serverVersion => $composableBuilder(
column: $table.serverVersion,
builder: (column) => column,
);
GeneratedColumn<bool> get isDeleted =>
$composableBuilder(column: $table.isDeleted, builder: (column) => column);
GeneratedColumn<String> get categoryId => $composableBuilder(
column: $table.categoryId,
builder: (column) => column,
);
}
class $$NotesTableTableManager
extends
RootTableManager<
_$AppDatabase,
$NotesTable,
DbNote,
$$NotesTableFilterComposer,
$$NotesTableOrderingComposer,
$$NotesTableAnnotationComposer,
$$NotesTableCreateCompanionBuilder,
$$NotesTableUpdateCompanionBuilder,
(DbNote, BaseReferences<_$AppDatabase, $NotesTable, DbNote>),
DbNote,
PrefetchHooks Function()
> {
$$NotesTableTableManager(_$AppDatabase db, $NotesTable table)
: super(
TableManagerState(
db: db,
table: table,
createFilteringComposer: () =>
$$NotesTableFilterComposer($db: db, $table: table),
createOrderingComposer: () =>
$$NotesTableOrderingComposer($db: db, $table: table),
createComputedFieldComposer: () =>
$$NotesTableAnnotationComposer($db: db, $table: table),
updateCompanionCallback:
({
Value<int> id = const Value.absent(),
Value<String> uuid = const Value.absent(),
Value<String> title = const Value.absent(),
Value<String> body = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
Value<DateTime> updatedAt = const Value.absent(),
Value<int> sortIndex = const Value.absent(),
Value<int> serverVersion = const Value.absent(),
Value<bool> isDeleted = const Value.absent(),
Value<String?> categoryId = const Value.absent(),
}) => NotesCompanion(
id: id,
uuid: uuid,
title: title,
body: body,
createdAt: createdAt,
updatedAt: updatedAt,
sortIndex: sortIndex,
serverVersion: serverVersion,
isDeleted: isDeleted,
categoryId: categoryId,
),
createCompanionCallback:
({
Value<int> id = const Value.absent(),
required String uuid,
required String title,
required String body,
required DateTime createdAt,
required DateTime updatedAt,
required int sortIndex,
Value<int> serverVersion = const Value.absent(),
Value<bool> isDeleted = const Value.absent(),
Value<String?> categoryId = const Value.absent(),
}) => NotesCompanion.insert(
id: id,
uuid: uuid,
title: title,
body: body,
createdAt: createdAt,
updatedAt: updatedAt,
sortIndex: sortIndex,
serverVersion: serverVersion,
isDeleted: isDeleted,
categoryId: categoryId,
),
withReferenceMapper: (p0) => p0
.map((e) => (e.readTable(table), BaseReferences(db, table, e)))
.toList(),
prefetchHooksCallback: null,
),
);
}
typedef $$NotesTableProcessedTableManager =
ProcessedTableManager<
_$AppDatabase,
$NotesTable,
DbNote,
$$NotesTableFilterComposer,
$$NotesTableOrderingComposer,
$$NotesTableAnnotationComposer,
$$NotesTableCreateCompanionBuilder,
$$NotesTableUpdateCompanionBuilder,
(DbNote, BaseReferences<_$AppDatabase, $NotesTable, DbNote>),
DbNote,
PrefetchHooks Function()
>;
typedef $$CategoriesTableCreateCompanionBuilder =
CategoriesCompanion Function({
required String uuid,
required String encryptedName,
Value<int> serverVersion,
Value<bool> isDeleted,
required DateTime updatedAt,
Value<int> rowid,
});
typedef $$CategoriesTableUpdateCompanionBuilder =
CategoriesCompanion Function({
Value<String> uuid,
Value<String> encryptedName,
Value<int> serverVersion,
Value<bool> isDeleted,
Value<DateTime> updatedAt,
Value<int> rowid,
});
class $$CategoriesTableFilterComposer
extends Composer<_$AppDatabase, $CategoriesTable> {
$$CategoriesTableFilterComposer({
required super.$db,
required super.$table,
super.joinBuilder,
super.$addJoinBuilderToRootComposer,
super.$removeJoinBuilderFromRootComposer,
});
ColumnFilters<String> get uuid => $composableBuilder(
column: $table.uuid,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<String> get encryptedName => $composableBuilder(
column: $table.encryptedName,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<int> get serverVersion => $composableBuilder(
column: $table.serverVersion,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<bool> get isDeleted => $composableBuilder(
column: $table.isDeleted,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<DateTime> get updatedAt => $composableBuilder(
column: $table.updatedAt,
builder: (column) => ColumnFilters(column),
);
}
class $$CategoriesTableOrderingComposer
extends Composer<_$AppDatabase, $CategoriesTable> {
$$CategoriesTableOrderingComposer({
required super.$db,
required super.$table,
super.joinBuilder,
super.$addJoinBuilderToRootComposer,
super.$removeJoinBuilderFromRootComposer,
});
ColumnOrderings<String> get uuid => $composableBuilder(
column: $table.uuid,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<String> get encryptedName => $composableBuilder(
column: $table.encryptedName,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<int> get serverVersion => $composableBuilder(
column: $table.serverVersion,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<bool> get isDeleted => $composableBuilder(
column: $table.isDeleted,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<DateTime> get updatedAt => $composableBuilder(
column: $table.updatedAt,
builder: (column) => ColumnOrderings(column),
);
}
class $$CategoriesTableAnnotationComposer
extends Composer<_$AppDatabase, $CategoriesTable> {
$$CategoriesTableAnnotationComposer({
required super.$db,
required super.$table,
super.joinBuilder,
super.$addJoinBuilderToRootComposer,
super.$removeJoinBuilderFromRootComposer,
});
GeneratedColumn<String> get uuid =>
$composableBuilder(column: $table.uuid, builder: (column) => column);
GeneratedColumn<String> get encryptedName => $composableBuilder(
column: $table.encryptedName,
builder: (column) => column,
);
GeneratedColumn<int> get serverVersion => $composableBuilder(
column: $table.serverVersion,
builder: (column) => column,
);
GeneratedColumn<bool> get isDeleted =>
$composableBuilder(column: $table.isDeleted, builder: (column) => column);
GeneratedColumn<DateTime> get updatedAt =>
$composableBuilder(column: $table.updatedAt, builder: (column) => column);
}
class $$CategoriesTableTableManager
extends
RootTableManager<
_$AppDatabase,
$CategoriesTable,
DbCategory,
$$CategoriesTableFilterComposer,
$$CategoriesTableOrderingComposer,
$$CategoriesTableAnnotationComposer,
$$CategoriesTableCreateCompanionBuilder,
$$CategoriesTableUpdateCompanionBuilder,
(
DbCategory,
BaseReferences<_$AppDatabase, $CategoriesTable, DbCategory>,
),
DbCategory,
PrefetchHooks Function()
> {
$$CategoriesTableTableManager(_$AppDatabase db, $CategoriesTable table)
: super(
TableManagerState(
db: db,
table: table,
createFilteringComposer: () =>
$$CategoriesTableFilterComposer($db: db, $table: table),
createOrderingComposer: () =>
$$CategoriesTableOrderingComposer($db: db, $table: table),
createComputedFieldComposer: () =>
$$CategoriesTableAnnotationComposer($db: db, $table: table),
updateCompanionCallback:
({
Value<String> uuid = const Value.absent(),
Value<String> encryptedName = const Value.absent(),
Value<int> serverVersion = const Value.absent(),
Value<bool> isDeleted = const Value.absent(),
Value<DateTime> updatedAt = const Value.absent(),
Value<int> rowid = const Value.absent(),
}) => CategoriesCompanion(
uuid: uuid,
encryptedName: encryptedName,
serverVersion: serverVersion,
isDeleted: isDeleted,
updatedAt: updatedAt,
rowid: rowid,
),
createCompanionCallback:
({
required String uuid,
required String encryptedName,
Value<int> serverVersion = const Value.absent(),
Value<bool> isDeleted = const Value.absent(),
required DateTime updatedAt,
Value<int> rowid = const Value.absent(),
}) => CategoriesCompanion.insert(
uuid: uuid,
encryptedName: encryptedName,
serverVersion: serverVersion,
isDeleted: isDeleted,
updatedAt: updatedAt,
rowid: rowid,
),
withReferenceMapper: (p0) => p0
.map((e) => (e.readTable(table), BaseReferences(db, table, e)))
.toList(),
prefetchHooksCallback: null,
),
);
}
typedef $$CategoriesTableProcessedTableManager =
ProcessedTableManager<
_$AppDatabase,
$CategoriesTable,
DbCategory,
$$CategoriesTableFilterComposer,
$$CategoriesTableOrderingComposer,
$$CategoriesTableAnnotationComposer,
$$CategoriesTableCreateCompanionBuilder,
$$CategoriesTableUpdateCompanionBuilder,
(DbCategory, BaseReferences<_$AppDatabase, $CategoriesTable, DbCategory>),
DbCategory,
PrefetchHooks Function()
>;
class $AppDatabaseManager {
final _$AppDatabase _db;
$AppDatabaseManager(this._db);
$$NotesTableTableManager get notes =>
$$NotesTableTableManager(_db, _db.notes);
$$CategoriesTableTableManager get categories =>
$$CategoriesTableTableManager(_db, _db.categories);
}