// dart format width=80 import 'dart:typed_data' as i2; // GENERATED BY drift_dev, DO NOT MODIFY. // ignore_for_file: type=lint,unused_import // import 'package:drift/drift.dart'; class Contacts extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; Contacts(this.attachedDatabase, [this._alias]); late final GeneratedColumn userId = GeneratedColumn( 'user_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL'); late final GeneratedColumn username = GeneratedColumn( 'username', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn displayName = GeneratedColumn( 'display_name', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn nickName = GeneratedColumn( 'nick_name', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn avatarSvgCompressed = GeneratedColumn('avatar_svg_compressed', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn senderProfileCounter = GeneratedColumn( 'sender_profile_counter', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0', defaultValue: const CustomExpression('0')); late final GeneratedColumn accepted = GeneratedColumn( 'accepted', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (accepted IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn deletedByUser = GeneratedColumn( 'deleted_by_user', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (deleted_by_user IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn requested = GeneratedColumn( 'requested', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (requested IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn blocked = GeneratedColumn( 'blocked', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (blocked IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn verified = GeneratedColumn( 'verified', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (verified IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn accountDeleted = GeneratedColumn( 'account_deleted', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (account_deleted IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [ userId, username, displayName, nickName, avatarSvgCompressed, senderProfileCounter, accepted, deletedByUser, requested, blocked, verified, accountDeleted, createdAt ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'contacts'; @override Set get $primaryKey => {userId}; @override ContactsData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return ContactsData( userId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}user_id'])!, username: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}username'])!, displayName: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}display_name']), nickName: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}nick_name']), avatarSvgCompressed: attachedDatabase.typeMapping.read( DriftSqlType.blob, data['${effectivePrefix}avatar_svg_compressed']), senderProfileCounter: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}sender_profile_counter'])!, accepted: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}accepted'])!, deletedByUser: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}deleted_by_user'])!, requested: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}requested'])!, blocked: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}blocked'])!, verified: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}verified'])!, accountDeleted: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}account_deleted'])!, createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override Contacts createAlias(String alias) { return Contacts(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(user_id)']; @override bool get dontWriteConstraints => true; } class ContactsData extends DataClass implements Insertable { final int userId; final String username; final String? displayName; final String? nickName; final i2.Uint8List? avatarSvgCompressed; final int senderProfileCounter; final int accepted; final int deletedByUser; final int requested; final int blocked; final int verified; final int accountDeleted; final int createdAt; const ContactsData( {required this.userId, required this.username, this.displayName, this.nickName, this.avatarSvgCompressed, required this.senderProfileCounter, required this.accepted, required this.deletedByUser, required this.requested, required this.blocked, required this.verified, required this.accountDeleted, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['user_id'] = Variable(userId); map['username'] = Variable(username); if (!nullToAbsent || displayName != null) { map['display_name'] = Variable(displayName); } if (!nullToAbsent || nickName != null) { map['nick_name'] = Variable(nickName); } if (!nullToAbsent || avatarSvgCompressed != null) { map['avatar_svg_compressed'] = Variable(avatarSvgCompressed); } map['sender_profile_counter'] = Variable(senderProfileCounter); map['accepted'] = Variable(accepted); map['deleted_by_user'] = Variable(deletedByUser); map['requested'] = Variable(requested); map['blocked'] = Variable(blocked); map['verified'] = Variable(verified); map['account_deleted'] = Variable(accountDeleted); map['created_at'] = Variable(createdAt); return map; } ContactsCompanion toCompanion(bool nullToAbsent) { return ContactsCompanion( userId: Value(userId), username: Value(username), displayName: displayName == null && nullToAbsent ? const Value.absent() : Value(displayName), nickName: nickName == null && nullToAbsent ? const Value.absent() : Value(nickName), avatarSvgCompressed: avatarSvgCompressed == null && nullToAbsent ? const Value.absent() : Value(avatarSvgCompressed), senderProfileCounter: Value(senderProfileCounter), accepted: Value(accepted), deletedByUser: Value(deletedByUser), requested: Value(requested), blocked: Value(blocked), verified: Value(verified), accountDeleted: Value(accountDeleted), createdAt: Value(createdAt), ); } factory ContactsData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return ContactsData( userId: serializer.fromJson(json['userId']), username: serializer.fromJson(json['username']), displayName: serializer.fromJson(json['displayName']), nickName: serializer.fromJson(json['nickName']), avatarSvgCompressed: serializer.fromJson(json['avatarSvgCompressed']), senderProfileCounter: serializer.fromJson(json['senderProfileCounter']), accepted: serializer.fromJson(json['accepted']), deletedByUser: serializer.fromJson(json['deletedByUser']), requested: serializer.fromJson(json['requested']), blocked: serializer.fromJson(json['blocked']), verified: serializer.fromJson(json['verified']), accountDeleted: serializer.fromJson(json['accountDeleted']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'userId': serializer.toJson(userId), 'username': serializer.toJson(username), 'displayName': serializer.toJson(displayName), 'nickName': serializer.toJson(nickName), 'avatarSvgCompressed': serializer.toJson(avatarSvgCompressed), 'senderProfileCounter': serializer.toJson(senderProfileCounter), 'accepted': serializer.toJson(accepted), 'deletedByUser': serializer.toJson(deletedByUser), 'requested': serializer.toJson(requested), 'blocked': serializer.toJson(blocked), 'verified': serializer.toJson(verified), 'accountDeleted': serializer.toJson(accountDeleted), 'createdAt': serializer.toJson(createdAt), }; } ContactsData copyWith( {int? userId, String? username, Value displayName = const Value.absent(), Value nickName = const Value.absent(), Value avatarSvgCompressed = const Value.absent(), int? senderProfileCounter, int? accepted, int? deletedByUser, int? requested, int? blocked, int? verified, int? accountDeleted, int? createdAt}) => ContactsData( userId: userId ?? this.userId, username: username ?? this.username, displayName: displayName.present ? displayName.value : this.displayName, nickName: nickName.present ? nickName.value : this.nickName, avatarSvgCompressed: avatarSvgCompressed.present ? avatarSvgCompressed.value : this.avatarSvgCompressed, senderProfileCounter: senderProfileCounter ?? this.senderProfileCounter, accepted: accepted ?? this.accepted, deletedByUser: deletedByUser ?? this.deletedByUser, requested: requested ?? this.requested, blocked: blocked ?? this.blocked, verified: verified ?? this.verified, accountDeleted: accountDeleted ?? this.accountDeleted, createdAt: createdAt ?? this.createdAt, ); ContactsData copyWithCompanion(ContactsCompanion data) { return ContactsData( userId: data.userId.present ? data.userId.value : this.userId, username: data.username.present ? data.username.value : this.username, displayName: data.displayName.present ? data.displayName.value : this.displayName, nickName: data.nickName.present ? data.nickName.value : this.nickName, avatarSvgCompressed: data.avatarSvgCompressed.present ? data.avatarSvgCompressed.value : this.avatarSvgCompressed, senderProfileCounter: data.senderProfileCounter.present ? data.senderProfileCounter.value : this.senderProfileCounter, accepted: data.accepted.present ? data.accepted.value : this.accepted, deletedByUser: data.deletedByUser.present ? data.deletedByUser.value : this.deletedByUser, requested: data.requested.present ? data.requested.value : this.requested, blocked: data.blocked.present ? data.blocked.value : this.blocked, verified: data.verified.present ? data.verified.value : this.verified, accountDeleted: data.accountDeleted.present ? data.accountDeleted.value : this.accountDeleted, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('ContactsData(') ..write('userId: $userId, ') ..write('username: $username, ') ..write('displayName: $displayName, ') ..write('nickName: $nickName, ') ..write('avatarSvgCompressed: $avatarSvgCompressed, ') ..write('senderProfileCounter: $senderProfileCounter, ') ..write('accepted: $accepted, ') ..write('deletedByUser: $deletedByUser, ') ..write('requested: $requested, ') ..write('blocked: $blocked, ') ..write('verified: $verified, ') ..write('accountDeleted: $accountDeleted, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash( userId, username, displayName, nickName, $driftBlobEquality.hash(avatarSvgCompressed), senderProfileCounter, accepted, deletedByUser, requested, blocked, verified, accountDeleted, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is ContactsData && other.userId == this.userId && other.username == this.username && other.displayName == this.displayName && other.nickName == this.nickName && $driftBlobEquality.equals( other.avatarSvgCompressed, this.avatarSvgCompressed) && other.senderProfileCounter == this.senderProfileCounter && other.accepted == this.accepted && other.deletedByUser == this.deletedByUser && other.requested == this.requested && other.blocked == this.blocked && other.verified == this.verified && other.accountDeleted == this.accountDeleted && other.createdAt == this.createdAt); } class ContactsCompanion extends UpdateCompanion { final Value userId; final Value username; final Value displayName; final Value nickName; final Value avatarSvgCompressed; final Value senderProfileCounter; final Value accepted; final Value deletedByUser; final Value requested; final Value blocked; final Value verified; final Value accountDeleted; final Value createdAt; const ContactsCompanion({ this.userId = const Value.absent(), this.username = const Value.absent(), this.displayName = const Value.absent(), this.nickName = const Value.absent(), this.avatarSvgCompressed = const Value.absent(), this.senderProfileCounter = const Value.absent(), this.accepted = const Value.absent(), this.deletedByUser = const Value.absent(), this.requested = const Value.absent(), this.blocked = const Value.absent(), this.verified = const Value.absent(), this.accountDeleted = const Value.absent(), this.createdAt = const Value.absent(), }); ContactsCompanion.insert({ this.userId = const Value.absent(), required String username, this.displayName = const Value.absent(), this.nickName = const Value.absent(), this.avatarSvgCompressed = const Value.absent(), this.senderProfileCounter = const Value.absent(), this.accepted = const Value.absent(), this.deletedByUser = const Value.absent(), this.requested = const Value.absent(), this.blocked = const Value.absent(), this.verified = const Value.absent(), this.accountDeleted = const Value.absent(), this.createdAt = const Value.absent(), }) : username = Value(username); static Insertable custom({ Expression? userId, Expression? username, Expression? displayName, Expression? nickName, Expression? avatarSvgCompressed, Expression? senderProfileCounter, Expression? accepted, Expression? deletedByUser, Expression? requested, Expression? blocked, Expression? verified, Expression? accountDeleted, Expression? createdAt, }) { return RawValuesInsertable({ if (userId != null) 'user_id': userId, if (username != null) 'username': username, if (displayName != null) 'display_name': displayName, if (nickName != null) 'nick_name': nickName, if (avatarSvgCompressed != null) 'avatar_svg_compressed': avatarSvgCompressed, if (senderProfileCounter != null) 'sender_profile_counter': senderProfileCounter, if (accepted != null) 'accepted': accepted, if (deletedByUser != null) 'deleted_by_user': deletedByUser, if (requested != null) 'requested': requested, if (blocked != null) 'blocked': blocked, if (verified != null) 'verified': verified, if (accountDeleted != null) 'account_deleted': accountDeleted, if (createdAt != null) 'created_at': createdAt, }); } ContactsCompanion copyWith( {Value? userId, Value? username, Value? displayName, Value? nickName, Value? avatarSvgCompressed, Value? senderProfileCounter, Value? accepted, Value? deletedByUser, Value? requested, Value? blocked, Value? verified, Value? accountDeleted, Value? createdAt}) { return ContactsCompanion( userId: userId ?? this.userId, username: username ?? this.username, displayName: displayName ?? this.displayName, nickName: nickName ?? this.nickName, avatarSvgCompressed: avatarSvgCompressed ?? this.avatarSvgCompressed, senderProfileCounter: senderProfileCounter ?? this.senderProfileCounter, accepted: accepted ?? this.accepted, deletedByUser: deletedByUser ?? this.deletedByUser, requested: requested ?? this.requested, blocked: blocked ?? this.blocked, verified: verified ?? this.verified, accountDeleted: accountDeleted ?? this.accountDeleted, createdAt: createdAt ?? this.createdAt, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (userId.present) { map['user_id'] = Variable(userId.value); } if (username.present) { map['username'] = Variable(username.value); } if (displayName.present) { map['display_name'] = Variable(displayName.value); } if (nickName.present) { map['nick_name'] = Variable(nickName.value); } if (avatarSvgCompressed.present) { map['avatar_svg_compressed'] = Variable(avatarSvgCompressed.value); } if (senderProfileCounter.present) { map['sender_profile_counter'] = Variable(senderProfileCounter.value); } if (accepted.present) { map['accepted'] = Variable(accepted.value); } if (deletedByUser.present) { map['deleted_by_user'] = Variable(deletedByUser.value); } if (requested.present) { map['requested'] = Variable(requested.value); } if (blocked.present) { map['blocked'] = Variable(blocked.value); } if (verified.present) { map['verified'] = Variable(verified.value); } if (accountDeleted.present) { map['account_deleted'] = Variable(accountDeleted.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } return map; } @override String toString() { return (StringBuffer('ContactsCompanion(') ..write('userId: $userId, ') ..write('username: $username, ') ..write('displayName: $displayName, ') ..write('nickName: $nickName, ') ..write('avatarSvgCompressed: $avatarSvgCompressed, ') ..write('senderProfileCounter: $senderProfileCounter, ') ..write('accepted: $accepted, ') ..write('deletedByUser: $deletedByUser, ') ..write('requested: $requested, ') ..write('blocked: $blocked, ') ..write('verified: $verified, ') ..write('accountDeleted: $accountDeleted, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } } class Groups extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; Groups(this.attachedDatabase, [this._alias]); late final GeneratedColumn groupId = GeneratedColumn( 'group_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn isGroupAdmin = GeneratedColumn( 'is_group_admin', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (is_group_admin IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn isDirectChat = GeneratedColumn( 'is_direct_chat', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (is_direct_chat IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn pinned = GeneratedColumn( 'pinned', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (pinned IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn archived = GeneratedColumn( 'archived', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (archived IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn joinedGroup = GeneratedColumn( 'joined_group', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (joined_group IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn leftGroup = GeneratedColumn( 'left_group', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (left_group IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn deletedContent = GeneratedColumn( 'deleted_content', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (deleted_content IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn stateVersionId = GeneratedColumn( 'state_version_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0', defaultValue: const CustomExpression('0')); late final GeneratedColumn stateEncryptionKey = GeneratedColumn('state_encryption_key', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn myGroupPrivateKey = GeneratedColumn('my_group_private_key', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn groupName = GeneratedColumn( 'group_name', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn draftMessage = GeneratedColumn( 'draft_message', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn totalMediaCounter = GeneratedColumn( 'total_media_counter', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0', defaultValue: const CustomExpression('0')); late final GeneratedColumn alsoBestFriend = GeneratedColumn( 'also_best_friend', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (also_best_friend IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn deleteMessagesAfterMilliseconds = GeneratedColumn( 'delete_messages_after_milliseconds', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 86400000', defaultValue: const CustomExpression('86400000')); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); late final GeneratedColumn lastMessageSend = GeneratedColumn( 'last_message_send', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn lastMessageReceived = GeneratedColumn( 'last_message_received', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn lastFlameCounterChange = GeneratedColumn( 'last_flame_counter_change', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn lastFlameSync = GeneratedColumn( 'last_flame_sync', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn flameCounter = GeneratedColumn( 'flame_counter', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0', defaultValue: const CustomExpression('0')); late final GeneratedColumn maxFlameCounter = GeneratedColumn( 'max_flame_counter', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0', defaultValue: const CustomExpression('0')); late final GeneratedColumn maxFlameCounterFrom = GeneratedColumn( 'max_flame_counter_from', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn lastMessageExchange = GeneratedColumn( 'last_message_exchange', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [ groupId, isGroupAdmin, isDirectChat, pinned, archived, joinedGroup, leftGroup, deletedContent, stateVersionId, stateEncryptionKey, myGroupPrivateKey, groupName, draftMessage, totalMediaCounter, alsoBestFriend, deleteMessagesAfterMilliseconds, createdAt, lastMessageSend, lastMessageReceived, lastFlameCounterChange, lastFlameSync, flameCounter, maxFlameCounter, maxFlameCounterFrom, lastMessageExchange ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'groups'; @override Set get $primaryKey => {groupId}; @override GroupsData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return GroupsData( groupId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}group_id'])!, isGroupAdmin: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}is_group_admin'])!, isDirectChat: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}is_direct_chat'])!, pinned: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}pinned'])!, archived: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}archived'])!, joinedGroup: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}joined_group'])!, leftGroup: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}left_group'])!, deletedContent: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}deleted_content'])!, stateVersionId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}state_version_id'])!, stateEncryptionKey: attachedDatabase.typeMapping.read( DriftSqlType.blob, data['${effectivePrefix}state_encryption_key']), myGroupPrivateKey: attachedDatabase.typeMapping.read( DriftSqlType.blob, data['${effectivePrefix}my_group_private_key']), groupName: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}group_name'])!, draftMessage: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}draft_message']), totalMediaCounter: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}total_media_counter'])!, alsoBestFriend: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}also_best_friend'])!, deleteMessagesAfterMilliseconds: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}delete_messages_after_milliseconds'])!, createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, lastMessageSend: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}last_message_send']), lastMessageReceived: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}last_message_received']), lastFlameCounterChange: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}last_flame_counter_change']), lastFlameSync: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}last_flame_sync']), flameCounter: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}flame_counter'])!, maxFlameCounter: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}max_flame_counter'])!, maxFlameCounterFrom: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}max_flame_counter_from']), lastMessageExchange: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}last_message_exchange'])!, ); } @override Groups createAlias(String alias) { return Groups(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(group_id)']; @override bool get dontWriteConstraints => true; } class GroupsData extends DataClass implements Insertable { final String groupId; final int isGroupAdmin; final int isDirectChat; final int pinned; final int archived; final int joinedGroup; final int leftGroup; final int deletedContent; final int stateVersionId; final i2.Uint8List? stateEncryptionKey; final i2.Uint8List? myGroupPrivateKey; final String groupName; final String? draftMessage; final int totalMediaCounter; final int alsoBestFriend; final int deleteMessagesAfterMilliseconds; final int createdAt; final int? lastMessageSend; final int? lastMessageReceived; final int? lastFlameCounterChange; final int? lastFlameSync; final int flameCounter; final int maxFlameCounter; final int? maxFlameCounterFrom; final int lastMessageExchange; const GroupsData( {required this.groupId, required this.isGroupAdmin, required this.isDirectChat, required this.pinned, required this.archived, required this.joinedGroup, required this.leftGroup, required this.deletedContent, required this.stateVersionId, this.stateEncryptionKey, this.myGroupPrivateKey, required this.groupName, this.draftMessage, required this.totalMediaCounter, required this.alsoBestFriend, required this.deleteMessagesAfterMilliseconds, required this.createdAt, this.lastMessageSend, this.lastMessageReceived, this.lastFlameCounterChange, this.lastFlameSync, required this.flameCounter, required this.maxFlameCounter, this.maxFlameCounterFrom, required this.lastMessageExchange}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['group_id'] = Variable(groupId); map['is_group_admin'] = Variable(isGroupAdmin); map['is_direct_chat'] = Variable(isDirectChat); map['pinned'] = Variable(pinned); map['archived'] = Variable(archived); map['joined_group'] = Variable(joinedGroup); map['left_group'] = Variable(leftGroup); map['deleted_content'] = Variable(deletedContent); map['state_version_id'] = Variable(stateVersionId); if (!nullToAbsent || stateEncryptionKey != null) { map['state_encryption_key'] = Variable(stateEncryptionKey); } if (!nullToAbsent || myGroupPrivateKey != null) { map['my_group_private_key'] = Variable(myGroupPrivateKey); } map['group_name'] = Variable(groupName); if (!nullToAbsent || draftMessage != null) { map['draft_message'] = Variable(draftMessage); } map['total_media_counter'] = Variable(totalMediaCounter); map['also_best_friend'] = Variable(alsoBestFriend); map['delete_messages_after_milliseconds'] = Variable(deleteMessagesAfterMilliseconds); map['created_at'] = Variable(createdAt); if (!nullToAbsent || lastMessageSend != null) { map['last_message_send'] = Variable(lastMessageSend); } if (!nullToAbsent || lastMessageReceived != null) { map['last_message_received'] = Variable(lastMessageReceived); } if (!nullToAbsent || lastFlameCounterChange != null) { map['last_flame_counter_change'] = Variable(lastFlameCounterChange); } if (!nullToAbsent || lastFlameSync != null) { map['last_flame_sync'] = Variable(lastFlameSync); } map['flame_counter'] = Variable(flameCounter); map['max_flame_counter'] = Variable(maxFlameCounter); if (!nullToAbsent || maxFlameCounterFrom != null) { map['max_flame_counter_from'] = Variable(maxFlameCounterFrom); } map['last_message_exchange'] = Variable(lastMessageExchange); return map; } GroupsCompanion toCompanion(bool nullToAbsent) { return GroupsCompanion( groupId: Value(groupId), isGroupAdmin: Value(isGroupAdmin), isDirectChat: Value(isDirectChat), pinned: Value(pinned), archived: Value(archived), joinedGroup: Value(joinedGroup), leftGroup: Value(leftGroup), deletedContent: Value(deletedContent), stateVersionId: Value(stateVersionId), stateEncryptionKey: stateEncryptionKey == null && nullToAbsent ? const Value.absent() : Value(stateEncryptionKey), myGroupPrivateKey: myGroupPrivateKey == null && nullToAbsent ? const Value.absent() : Value(myGroupPrivateKey), groupName: Value(groupName), draftMessage: draftMessage == null && nullToAbsent ? const Value.absent() : Value(draftMessage), totalMediaCounter: Value(totalMediaCounter), alsoBestFriend: Value(alsoBestFriend), deleteMessagesAfterMilliseconds: Value(deleteMessagesAfterMilliseconds), createdAt: Value(createdAt), lastMessageSend: lastMessageSend == null && nullToAbsent ? const Value.absent() : Value(lastMessageSend), lastMessageReceived: lastMessageReceived == null && nullToAbsent ? const Value.absent() : Value(lastMessageReceived), lastFlameCounterChange: lastFlameCounterChange == null && nullToAbsent ? const Value.absent() : Value(lastFlameCounterChange), lastFlameSync: lastFlameSync == null && nullToAbsent ? const Value.absent() : Value(lastFlameSync), flameCounter: Value(flameCounter), maxFlameCounter: Value(maxFlameCounter), maxFlameCounterFrom: maxFlameCounterFrom == null && nullToAbsent ? const Value.absent() : Value(maxFlameCounterFrom), lastMessageExchange: Value(lastMessageExchange), ); } factory GroupsData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return GroupsData( groupId: serializer.fromJson(json['groupId']), isGroupAdmin: serializer.fromJson(json['isGroupAdmin']), isDirectChat: serializer.fromJson(json['isDirectChat']), pinned: serializer.fromJson(json['pinned']), archived: serializer.fromJson(json['archived']), joinedGroup: serializer.fromJson(json['joinedGroup']), leftGroup: serializer.fromJson(json['leftGroup']), deletedContent: serializer.fromJson(json['deletedContent']), stateVersionId: serializer.fromJson(json['stateVersionId']), stateEncryptionKey: serializer.fromJson(json['stateEncryptionKey']), myGroupPrivateKey: serializer.fromJson(json['myGroupPrivateKey']), groupName: serializer.fromJson(json['groupName']), draftMessage: serializer.fromJson(json['draftMessage']), totalMediaCounter: serializer.fromJson(json['totalMediaCounter']), alsoBestFriend: serializer.fromJson(json['alsoBestFriend']), deleteMessagesAfterMilliseconds: serializer.fromJson(json['deleteMessagesAfterMilliseconds']), createdAt: serializer.fromJson(json['createdAt']), lastMessageSend: serializer.fromJson(json['lastMessageSend']), lastMessageReceived: serializer.fromJson(json['lastMessageReceived']), lastFlameCounterChange: serializer.fromJson(json['lastFlameCounterChange']), lastFlameSync: serializer.fromJson(json['lastFlameSync']), flameCounter: serializer.fromJson(json['flameCounter']), maxFlameCounter: serializer.fromJson(json['maxFlameCounter']), maxFlameCounterFrom: serializer.fromJson(json['maxFlameCounterFrom']), lastMessageExchange: serializer.fromJson(json['lastMessageExchange']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'groupId': serializer.toJson(groupId), 'isGroupAdmin': serializer.toJson(isGroupAdmin), 'isDirectChat': serializer.toJson(isDirectChat), 'pinned': serializer.toJson(pinned), 'archived': serializer.toJson(archived), 'joinedGroup': serializer.toJson(joinedGroup), 'leftGroup': serializer.toJson(leftGroup), 'deletedContent': serializer.toJson(deletedContent), 'stateVersionId': serializer.toJson(stateVersionId), 'stateEncryptionKey': serializer.toJson(stateEncryptionKey), 'myGroupPrivateKey': serializer.toJson(myGroupPrivateKey), 'groupName': serializer.toJson(groupName), 'draftMessage': serializer.toJson(draftMessage), 'totalMediaCounter': serializer.toJson(totalMediaCounter), 'alsoBestFriend': serializer.toJson(alsoBestFriend), 'deleteMessagesAfterMilliseconds': serializer.toJson(deleteMessagesAfterMilliseconds), 'createdAt': serializer.toJson(createdAt), 'lastMessageSend': serializer.toJson(lastMessageSend), 'lastMessageReceived': serializer.toJson(lastMessageReceived), 'lastFlameCounterChange': serializer.toJson(lastFlameCounterChange), 'lastFlameSync': serializer.toJson(lastFlameSync), 'flameCounter': serializer.toJson(flameCounter), 'maxFlameCounter': serializer.toJson(maxFlameCounter), 'maxFlameCounterFrom': serializer.toJson(maxFlameCounterFrom), 'lastMessageExchange': serializer.toJson(lastMessageExchange), }; } GroupsData copyWith( {String? groupId, int? isGroupAdmin, int? isDirectChat, int? pinned, int? archived, int? joinedGroup, int? leftGroup, int? deletedContent, int? stateVersionId, Value stateEncryptionKey = const Value.absent(), Value myGroupPrivateKey = const Value.absent(), String? groupName, Value draftMessage = const Value.absent(), int? totalMediaCounter, int? alsoBestFriend, int? deleteMessagesAfterMilliseconds, int? createdAt, Value lastMessageSend = const Value.absent(), Value lastMessageReceived = const Value.absent(), Value lastFlameCounterChange = const Value.absent(), Value lastFlameSync = const Value.absent(), int? flameCounter, int? maxFlameCounter, Value maxFlameCounterFrom = const Value.absent(), int? lastMessageExchange}) => GroupsData( groupId: groupId ?? this.groupId, isGroupAdmin: isGroupAdmin ?? this.isGroupAdmin, isDirectChat: isDirectChat ?? this.isDirectChat, pinned: pinned ?? this.pinned, archived: archived ?? this.archived, joinedGroup: joinedGroup ?? this.joinedGroup, leftGroup: leftGroup ?? this.leftGroup, deletedContent: deletedContent ?? this.deletedContent, stateVersionId: stateVersionId ?? this.stateVersionId, stateEncryptionKey: stateEncryptionKey.present ? stateEncryptionKey.value : this.stateEncryptionKey, myGroupPrivateKey: myGroupPrivateKey.present ? myGroupPrivateKey.value : this.myGroupPrivateKey, groupName: groupName ?? this.groupName, draftMessage: draftMessage.present ? draftMessage.value : this.draftMessage, totalMediaCounter: totalMediaCounter ?? this.totalMediaCounter, alsoBestFriend: alsoBestFriend ?? this.alsoBestFriend, deleteMessagesAfterMilliseconds: deleteMessagesAfterMilliseconds ?? this.deleteMessagesAfterMilliseconds, createdAt: createdAt ?? this.createdAt, lastMessageSend: lastMessageSend.present ? lastMessageSend.value : this.lastMessageSend, lastMessageReceived: lastMessageReceived.present ? lastMessageReceived.value : this.lastMessageReceived, lastFlameCounterChange: lastFlameCounterChange.present ? lastFlameCounterChange.value : this.lastFlameCounterChange, lastFlameSync: lastFlameSync.present ? lastFlameSync.value : this.lastFlameSync, flameCounter: flameCounter ?? this.flameCounter, maxFlameCounter: maxFlameCounter ?? this.maxFlameCounter, maxFlameCounterFrom: maxFlameCounterFrom.present ? maxFlameCounterFrom.value : this.maxFlameCounterFrom, lastMessageExchange: lastMessageExchange ?? this.lastMessageExchange, ); GroupsData copyWithCompanion(GroupsCompanion data) { return GroupsData( groupId: data.groupId.present ? data.groupId.value : this.groupId, isGroupAdmin: data.isGroupAdmin.present ? data.isGroupAdmin.value : this.isGroupAdmin, isDirectChat: data.isDirectChat.present ? data.isDirectChat.value : this.isDirectChat, pinned: data.pinned.present ? data.pinned.value : this.pinned, archived: data.archived.present ? data.archived.value : this.archived, joinedGroup: data.joinedGroup.present ? data.joinedGroup.value : this.joinedGroup, leftGroup: data.leftGroup.present ? data.leftGroup.value : this.leftGroup, deletedContent: data.deletedContent.present ? data.deletedContent.value : this.deletedContent, stateVersionId: data.stateVersionId.present ? data.stateVersionId.value : this.stateVersionId, stateEncryptionKey: data.stateEncryptionKey.present ? data.stateEncryptionKey.value : this.stateEncryptionKey, myGroupPrivateKey: data.myGroupPrivateKey.present ? data.myGroupPrivateKey.value : this.myGroupPrivateKey, groupName: data.groupName.present ? data.groupName.value : this.groupName, draftMessage: data.draftMessage.present ? data.draftMessage.value : this.draftMessage, totalMediaCounter: data.totalMediaCounter.present ? data.totalMediaCounter.value : this.totalMediaCounter, alsoBestFriend: data.alsoBestFriend.present ? data.alsoBestFriend.value : this.alsoBestFriend, deleteMessagesAfterMilliseconds: data.deleteMessagesAfterMilliseconds.present ? data.deleteMessagesAfterMilliseconds.value : this.deleteMessagesAfterMilliseconds, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, lastMessageSend: data.lastMessageSend.present ? data.lastMessageSend.value : this.lastMessageSend, lastMessageReceived: data.lastMessageReceived.present ? data.lastMessageReceived.value : this.lastMessageReceived, lastFlameCounterChange: data.lastFlameCounterChange.present ? data.lastFlameCounterChange.value : this.lastFlameCounterChange, lastFlameSync: data.lastFlameSync.present ? data.lastFlameSync.value : this.lastFlameSync, flameCounter: data.flameCounter.present ? data.flameCounter.value : this.flameCounter, maxFlameCounter: data.maxFlameCounter.present ? data.maxFlameCounter.value : this.maxFlameCounter, maxFlameCounterFrom: data.maxFlameCounterFrom.present ? data.maxFlameCounterFrom.value : this.maxFlameCounterFrom, lastMessageExchange: data.lastMessageExchange.present ? data.lastMessageExchange.value : this.lastMessageExchange, ); } @override String toString() { return (StringBuffer('GroupsData(') ..write('groupId: $groupId, ') ..write('isGroupAdmin: $isGroupAdmin, ') ..write('isDirectChat: $isDirectChat, ') ..write('pinned: $pinned, ') ..write('archived: $archived, ') ..write('joinedGroup: $joinedGroup, ') ..write('leftGroup: $leftGroup, ') ..write('deletedContent: $deletedContent, ') ..write('stateVersionId: $stateVersionId, ') ..write('stateEncryptionKey: $stateEncryptionKey, ') ..write('myGroupPrivateKey: $myGroupPrivateKey, ') ..write('groupName: $groupName, ') ..write('draftMessage: $draftMessage, ') ..write('totalMediaCounter: $totalMediaCounter, ') ..write('alsoBestFriend: $alsoBestFriend, ') ..write( 'deleteMessagesAfterMilliseconds: $deleteMessagesAfterMilliseconds, ') ..write('createdAt: $createdAt, ') ..write('lastMessageSend: $lastMessageSend, ') ..write('lastMessageReceived: $lastMessageReceived, ') ..write('lastFlameCounterChange: $lastFlameCounterChange, ') ..write('lastFlameSync: $lastFlameSync, ') ..write('flameCounter: $flameCounter, ') ..write('maxFlameCounter: $maxFlameCounter, ') ..write('maxFlameCounterFrom: $maxFlameCounterFrom, ') ..write('lastMessageExchange: $lastMessageExchange') ..write(')')) .toString(); } @override int get hashCode => Object.hashAll([ groupId, isGroupAdmin, isDirectChat, pinned, archived, joinedGroup, leftGroup, deletedContent, stateVersionId, $driftBlobEquality.hash(stateEncryptionKey), $driftBlobEquality.hash(myGroupPrivateKey), groupName, draftMessage, totalMediaCounter, alsoBestFriend, deleteMessagesAfterMilliseconds, createdAt, lastMessageSend, lastMessageReceived, lastFlameCounterChange, lastFlameSync, flameCounter, maxFlameCounter, maxFlameCounterFrom, lastMessageExchange ]); @override bool operator ==(Object other) => identical(this, other) || (other is GroupsData && other.groupId == this.groupId && other.isGroupAdmin == this.isGroupAdmin && other.isDirectChat == this.isDirectChat && other.pinned == this.pinned && other.archived == this.archived && other.joinedGroup == this.joinedGroup && other.leftGroup == this.leftGroup && other.deletedContent == this.deletedContent && other.stateVersionId == this.stateVersionId && $driftBlobEquality.equals( other.stateEncryptionKey, this.stateEncryptionKey) && $driftBlobEquality.equals( other.myGroupPrivateKey, this.myGroupPrivateKey) && other.groupName == this.groupName && other.draftMessage == this.draftMessage && other.totalMediaCounter == this.totalMediaCounter && other.alsoBestFriend == this.alsoBestFriend && other.deleteMessagesAfterMilliseconds == this.deleteMessagesAfterMilliseconds && other.createdAt == this.createdAt && other.lastMessageSend == this.lastMessageSend && other.lastMessageReceived == this.lastMessageReceived && other.lastFlameCounterChange == this.lastFlameCounterChange && other.lastFlameSync == this.lastFlameSync && other.flameCounter == this.flameCounter && other.maxFlameCounter == this.maxFlameCounter && other.maxFlameCounterFrom == this.maxFlameCounterFrom && other.lastMessageExchange == this.lastMessageExchange); } class GroupsCompanion extends UpdateCompanion { final Value groupId; final Value isGroupAdmin; final Value isDirectChat; final Value pinned; final Value archived; final Value joinedGroup; final Value leftGroup; final Value deletedContent; final Value stateVersionId; final Value stateEncryptionKey; final Value myGroupPrivateKey; final Value groupName; final Value draftMessage; final Value totalMediaCounter; final Value alsoBestFriend; final Value deleteMessagesAfterMilliseconds; final Value createdAt; final Value lastMessageSend; final Value lastMessageReceived; final Value lastFlameCounterChange; final Value lastFlameSync; final Value flameCounter; final Value maxFlameCounter; final Value maxFlameCounterFrom; final Value lastMessageExchange; final Value rowid; const GroupsCompanion({ this.groupId = const Value.absent(), this.isGroupAdmin = const Value.absent(), this.isDirectChat = const Value.absent(), this.pinned = const Value.absent(), this.archived = const Value.absent(), this.joinedGroup = const Value.absent(), this.leftGroup = const Value.absent(), this.deletedContent = const Value.absent(), this.stateVersionId = const Value.absent(), this.stateEncryptionKey = const Value.absent(), this.myGroupPrivateKey = const Value.absent(), this.groupName = const Value.absent(), this.draftMessage = const Value.absent(), this.totalMediaCounter = const Value.absent(), this.alsoBestFriend = const Value.absent(), this.deleteMessagesAfterMilliseconds = const Value.absent(), this.createdAt = const Value.absent(), this.lastMessageSend = const Value.absent(), this.lastMessageReceived = const Value.absent(), this.lastFlameCounterChange = const Value.absent(), this.lastFlameSync = const Value.absent(), this.flameCounter = const Value.absent(), this.maxFlameCounter = const Value.absent(), this.maxFlameCounterFrom = const Value.absent(), this.lastMessageExchange = const Value.absent(), this.rowid = const Value.absent(), }); GroupsCompanion.insert({ required String groupId, this.isGroupAdmin = const Value.absent(), this.isDirectChat = const Value.absent(), this.pinned = const Value.absent(), this.archived = const Value.absent(), this.joinedGroup = const Value.absent(), this.leftGroup = const Value.absent(), this.deletedContent = const Value.absent(), this.stateVersionId = const Value.absent(), this.stateEncryptionKey = const Value.absent(), this.myGroupPrivateKey = const Value.absent(), required String groupName, this.draftMessage = const Value.absent(), this.totalMediaCounter = const Value.absent(), this.alsoBestFriend = const Value.absent(), this.deleteMessagesAfterMilliseconds = const Value.absent(), this.createdAt = const Value.absent(), this.lastMessageSend = const Value.absent(), this.lastMessageReceived = const Value.absent(), this.lastFlameCounterChange = const Value.absent(), this.lastFlameSync = const Value.absent(), this.flameCounter = const Value.absent(), this.maxFlameCounter = const Value.absent(), this.maxFlameCounterFrom = const Value.absent(), this.lastMessageExchange = const Value.absent(), this.rowid = const Value.absent(), }) : groupId = Value(groupId), groupName = Value(groupName); static Insertable custom({ Expression? groupId, Expression? isGroupAdmin, Expression? isDirectChat, Expression? pinned, Expression? archived, Expression? joinedGroup, Expression? leftGroup, Expression? deletedContent, Expression? stateVersionId, Expression? stateEncryptionKey, Expression? myGroupPrivateKey, Expression? groupName, Expression? draftMessage, Expression? totalMediaCounter, Expression? alsoBestFriend, Expression? deleteMessagesAfterMilliseconds, Expression? createdAt, Expression? lastMessageSend, Expression? lastMessageReceived, Expression? lastFlameCounterChange, Expression? lastFlameSync, Expression? flameCounter, Expression? maxFlameCounter, Expression? maxFlameCounterFrom, Expression? lastMessageExchange, Expression? rowid, }) { return RawValuesInsertable({ if (groupId != null) 'group_id': groupId, if (isGroupAdmin != null) 'is_group_admin': isGroupAdmin, if (isDirectChat != null) 'is_direct_chat': isDirectChat, if (pinned != null) 'pinned': pinned, if (archived != null) 'archived': archived, if (joinedGroup != null) 'joined_group': joinedGroup, if (leftGroup != null) 'left_group': leftGroup, if (deletedContent != null) 'deleted_content': deletedContent, if (stateVersionId != null) 'state_version_id': stateVersionId, if (stateEncryptionKey != null) 'state_encryption_key': stateEncryptionKey, if (myGroupPrivateKey != null) 'my_group_private_key': myGroupPrivateKey, if (groupName != null) 'group_name': groupName, if (draftMessage != null) 'draft_message': draftMessage, if (totalMediaCounter != null) 'total_media_counter': totalMediaCounter, if (alsoBestFriend != null) 'also_best_friend': alsoBestFriend, if (deleteMessagesAfterMilliseconds != null) 'delete_messages_after_milliseconds': deleteMessagesAfterMilliseconds, if (createdAt != null) 'created_at': createdAt, if (lastMessageSend != null) 'last_message_send': lastMessageSend, if (lastMessageReceived != null) 'last_message_received': lastMessageReceived, if (lastFlameCounterChange != null) 'last_flame_counter_change': lastFlameCounterChange, if (lastFlameSync != null) 'last_flame_sync': lastFlameSync, if (flameCounter != null) 'flame_counter': flameCounter, if (maxFlameCounter != null) 'max_flame_counter': maxFlameCounter, if (maxFlameCounterFrom != null) 'max_flame_counter_from': maxFlameCounterFrom, if (lastMessageExchange != null) 'last_message_exchange': lastMessageExchange, if (rowid != null) 'rowid': rowid, }); } GroupsCompanion copyWith( {Value? groupId, Value? isGroupAdmin, Value? isDirectChat, Value? pinned, Value? archived, Value? joinedGroup, Value? leftGroup, Value? deletedContent, Value? stateVersionId, Value? stateEncryptionKey, Value? myGroupPrivateKey, Value? groupName, Value? draftMessage, Value? totalMediaCounter, Value? alsoBestFriend, Value? deleteMessagesAfterMilliseconds, Value? createdAt, Value? lastMessageSend, Value? lastMessageReceived, Value? lastFlameCounterChange, Value? lastFlameSync, Value? flameCounter, Value? maxFlameCounter, Value? maxFlameCounterFrom, Value? lastMessageExchange, Value? rowid}) { return GroupsCompanion( groupId: groupId ?? this.groupId, isGroupAdmin: isGroupAdmin ?? this.isGroupAdmin, isDirectChat: isDirectChat ?? this.isDirectChat, pinned: pinned ?? this.pinned, archived: archived ?? this.archived, joinedGroup: joinedGroup ?? this.joinedGroup, leftGroup: leftGroup ?? this.leftGroup, deletedContent: deletedContent ?? this.deletedContent, stateVersionId: stateVersionId ?? this.stateVersionId, stateEncryptionKey: stateEncryptionKey ?? this.stateEncryptionKey, myGroupPrivateKey: myGroupPrivateKey ?? this.myGroupPrivateKey, groupName: groupName ?? this.groupName, draftMessage: draftMessage ?? this.draftMessage, totalMediaCounter: totalMediaCounter ?? this.totalMediaCounter, alsoBestFriend: alsoBestFriend ?? this.alsoBestFriend, deleteMessagesAfterMilliseconds: deleteMessagesAfterMilliseconds ?? this.deleteMessagesAfterMilliseconds, createdAt: createdAt ?? this.createdAt, lastMessageSend: lastMessageSend ?? this.lastMessageSend, lastMessageReceived: lastMessageReceived ?? this.lastMessageReceived, lastFlameCounterChange: lastFlameCounterChange ?? this.lastFlameCounterChange, lastFlameSync: lastFlameSync ?? this.lastFlameSync, flameCounter: flameCounter ?? this.flameCounter, maxFlameCounter: maxFlameCounter ?? this.maxFlameCounter, maxFlameCounterFrom: maxFlameCounterFrom ?? this.maxFlameCounterFrom, lastMessageExchange: lastMessageExchange ?? this.lastMessageExchange, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (groupId.present) { map['group_id'] = Variable(groupId.value); } if (isGroupAdmin.present) { map['is_group_admin'] = Variable(isGroupAdmin.value); } if (isDirectChat.present) { map['is_direct_chat'] = Variable(isDirectChat.value); } if (pinned.present) { map['pinned'] = Variable(pinned.value); } if (archived.present) { map['archived'] = Variable(archived.value); } if (joinedGroup.present) { map['joined_group'] = Variable(joinedGroup.value); } if (leftGroup.present) { map['left_group'] = Variable(leftGroup.value); } if (deletedContent.present) { map['deleted_content'] = Variable(deletedContent.value); } if (stateVersionId.present) { map['state_version_id'] = Variable(stateVersionId.value); } if (stateEncryptionKey.present) { map['state_encryption_key'] = Variable(stateEncryptionKey.value); } if (myGroupPrivateKey.present) { map['my_group_private_key'] = Variable(myGroupPrivateKey.value); } if (groupName.present) { map['group_name'] = Variable(groupName.value); } if (draftMessage.present) { map['draft_message'] = Variable(draftMessage.value); } if (totalMediaCounter.present) { map['total_media_counter'] = Variable(totalMediaCounter.value); } if (alsoBestFriend.present) { map['also_best_friend'] = Variable(alsoBestFriend.value); } if (deleteMessagesAfterMilliseconds.present) { map['delete_messages_after_milliseconds'] = Variable(deleteMessagesAfterMilliseconds.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (lastMessageSend.present) { map['last_message_send'] = Variable(lastMessageSend.value); } if (lastMessageReceived.present) { map['last_message_received'] = Variable(lastMessageReceived.value); } if (lastFlameCounterChange.present) { map['last_flame_counter_change'] = Variable(lastFlameCounterChange.value); } if (lastFlameSync.present) { map['last_flame_sync'] = Variable(lastFlameSync.value); } if (flameCounter.present) { map['flame_counter'] = Variable(flameCounter.value); } if (maxFlameCounter.present) { map['max_flame_counter'] = Variable(maxFlameCounter.value); } if (maxFlameCounterFrom.present) { map['max_flame_counter_from'] = Variable(maxFlameCounterFrom.value); } if (lastMessageExchange.present) { map['last_message_exchange'] = Variable(lastMessageExchange.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('GroupsCompanion(') ..write('groupId: $groupId, ') ..write('isGroupAdmin: $isGroupAdmin, ') ..write('isDirectChat: $isDirectChat, ') ..write('pinned: $pinned, ') ..write('archived: $archived, ') ..write('joinedGroup: $joinedGroup, ') ..write('leftGroup: $leftGroup, ') ..write('deletedContent: $deletedContent, ') ..write('stateVersionId: $stateVersionId, ') ..write('stateEncryptionKey: $stateEncryptionKey, ') ..write('myGroupPrivateKey: $myGroupPrivateKey, ') ..write('groupName: $groupName, ') ..write('draftMessage: $draftMessage, ') ..write('totalMediaCounter: $totalMediaCounter, ') ..write('alsoBestFriend: $alsoBestFriend, ') ..write( 'deleteMessagesAfterMilliseconds: $deleteMessagesAfterMilliseconds, ') ..write('createdAt: $createdAt, ') ..write('lastMessageSend: $lastMessageSend, ') ..write('lastMessageReceived: $lastMessageReceived, ') ..write('lastFlameCounterChange: $lastFlameCounterChange, ') ..write('lastFlameSync: $lastFlameSync, ') ..write('flameCounter: $flameCounter, ') ..write('maxFlameCounter: $maxFlameCounter, ') ..write('maxFlameCounterFrom: $maxFlameCounterFrom, ') ..write('lastMessageExchange: $lastMessageExchange, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class MediaFiles extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; MediaFiles(this.attachedDatabase, [this._alias]); late final GeneratedColumn mediaId = GeneratedColumn( 'media_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn type = GeneratedColumn( 'type', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn uploadState = GeneratedColumn( 'upload_state', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn downloadState = GeneratedColumn( 'download_state', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn requiresAuthentication = GeneratedColumn( 'requires_authentication', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (requires_authentication IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn stored = GeneratedColumn( 'stored', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK ("stored" IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn isDraftMedia = GeneratedColumn( 'is_draft_media', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (is_draft_media IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn reuploadRequestedBy = GeneratedColumn('reupload_requested_by', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn displayLimitInMilliseconds = GeneratedColumn('display_limit_in_milliseconds', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn removeAudio = GeneratedColumn( 'remove_audio', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL CHECK (remove_audio IN (0, 1))'); late final GeneratedColumn downloadToken = GeneratedColumn('download_token', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn encryptionKey = GeneratedColumn('encryption_key', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn encryptionMac = GeneratedColumn('encryption_mac', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn encryptionNonce = GeneratedColumn('encryption_nonce', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn storedFileHash = GeneratedColumn('stored_file_hash', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [ mediaId, type, uploadState, downloadState, requiresAuthentication, stored, isDraftMedia, reuploadRequestedBy, displayLimitInMilliseconds, removeAudio, downloadToken, encryptionKey, encryptionMac, encryptionNonce, storedFileHash, createdAt ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'media_files'; @override Set get $primaryKey => {mediaId}; @override MediaFilesData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return MediaFilesData( mediaId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}media_id'])!, type: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}type'])!, uploadState: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}upload_state']), downloadState: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}download_state']), requiresAuthentication: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}requires_authentication'])!, stored: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}stored'])!, isDraftMedia: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}is_draft_media'])!, reuploadRequestedBy: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}reupload_requested_by']), displayLimitInMilliseconds: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}display_limit_in_milliseconds']), removeAudio: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}remove_audio']), downloadToken: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}download_token']), encryptionKey: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}encryption_key']), encryptionMac: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}encryption_mac']), encryptionNonce: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}encryption_nonce']), storedFileHash: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}stored_file_hash']), createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override MediaFiles createAlias(String alias) { return MediaFiles(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(media_id)']; @override bool get dontWriteConstraints => true; } class MediaFilesData extends DataClass implements Insertable { final String mediaId; final String type; final String? uploadState; final String? downloadState; final int requiresAuthentication; final int stored; final int isDraftMedia; final String? reuploadRequestedBy; final int? displayLimitInMilliseconds; final int? removeAudio; final i2.Uint8List? downloadToken; final i2.Uint8List? encryptionKey; final i2.Uint8List? encryptionMac; final i2.Uint8List? encryptionNonce; final i2.Uint8List? storedFileHash; final int createdAt; const MediaFilesData( {required this.mediaId, required this.type, this.uploadState, this.downloadState, required this.requiresAuthentication, required this.stored, required this.isDraftMedia, this.reuploadRequestedBy, this.displayLimitInMilliseconds, this.removeAudio, this.downloadToken, this.encryptionKey, this.encryptionMac, this.encryptionNonce, this.storedFileHash, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['media_id'] = Variable(mediaId); map['type'] = Variable(type); if (!nullToAbsent || uploadState != null) { map['upload_state'] = Variable(uploadState); } if (!nullToAbsent || downloadState != null) { map['download_state'] = Variable(downloadState); } map['requires_authentication'] = Variable(requiresAuthentication); map['stored'] = Variable(stored); map['is_draft_media'] = Variable(isDraftMedia); if (!nullToAbsent || reuploadRequestedBy != null) { map['reupload_requested_by'] = Variable(reuploadRequestedBy); } if (!nullToAbsent || displayLimitInMilliseconds != null) { map['display_limit_in_milliseconds'] = Variable(displayLimitInMilliseconds); } if (!nullToAbsent || removeAudio != null) { map['remove_audio'] = Variable(removeAudio); } if (!nullToAbsent || downloadToken != null) { map['download_token'] = Variable(downloadToken); } if (!nullToAbsent || encryptionKey != null) { map['encryption_key'] = Variable(encryptionKey); } if (!nullToAbsent || encryptionMac != null) { map['encryption_mac'] = Variable(encryptionMac); } if (!nullToAbsent || encryptionNonce != null) { map['encryption_nonce'] = Variable(encryptionNonce); } if (!nullToAbsent || storedFileHash != null) { map['stored_file_hash'] = Variable(storedFileHash); } map['created_at'] = Variable(createdAt); return map; } MediaFilesCompanion toCompanion(bool nullToAbsent) { return MediaFilesCompanion( mediaId: Value(mediaId), type: Value(type), uploadState: uploadState == null && nullToAbsent ? const Value.absent() : Value(uploadState), downloadState: downloadState == null && nullToAbsent ? const Value.absent() : Value(downloadState), requiresAuthentication: Value(requiresAuthentication), stored: Value(stored), isDraftMedia: Value(isDraftMedia), reuploadRequestedBy: reuploadRequestedBy == null && nullToAbsent ? const Value.absent() : Value(reuploadRequestedBy), displayLimitInMilliseconds: displayLimitInMilliseconds == null && nullToAbsent ? const Value.absent() : Value(displayLimitInMilliseconds), removeAudio: removeAudio == null && nullToAbsent ? const Value.absent() : Value(removeAudio), downloadToken: downloadToken == null && nullToAbsent ? const Value.absent() : Value(downloadToken), encryptionKey: encryptionKey == null && nullToAbsent ? const Value.absent() : Value(encryptionKey), encryptionMac: encryptionMac == null && nullToAbsent ? const Value.absent() : Value(encryptionMac), encryptionNonce: encryptionNonce == null && nullToAbsent ? const Value.absent() : Value(encryptionNonce), storedFileHash: storedFileHash == null && nullToAbsent ? const Value.absent() : Value(storedFileHash), createdAt: Value(createdAt), ); } factory MediaFilesData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return MediaFilesData( mediaId: serializer.fromJson(json['mediaId']), type: serializer.fromJson(json['type']), uploadState: serializer.fromJson(json['uploadState']), downloadState: serializer.fromJson(json['downloadState']), requiresAuthentication: serializer.fromJson(json['requiresAuthentication']), stored: serializer.fromJson(json['stored']), isDraftMedia: serializer.fromJson(json['isDraftMedia']), reuploadRequestedBy: serializer.fromJson(json['reuploadRequestedBy']), displayLimitInMilliseconds: serializer.fromJson(json['displayLimitInMilliseconds']), removeAudio: serializer.fromJson(json['removeAudio']), downloadToken: serializer.fromJson(json['downloadToken']), encryptionKey: serializer.fromJson(json['encryptionKey']), encryptionMac: serializer.fromJson(json['encryptionMac']), encryptionNonce: serializer.fromJson(json['encryptionNonce']), storedFileHash: serializer.fromJson(json['storedFileHash']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'mediaId': serializer.toJson(mediaId), 'type': serializer.toJson(type), 'uploadState': serializer.toJson(uploadState), 'downloadState': serializer.toJson(downloadState), 'requiresAuthentication': serializer.toJson(requiresAuthentication), 'stored': serializer.toJson(stored), 'isDraftMedia': serializer.toJson(isDraftMedia), 'reuploadRequestedBy': serializer.toJson(reuploadRequestedBy), 'displayLimitInMilliseconds': serializer.toJson(displayLimitInMilliseconds), 'removeAudio': serializer.toJson(removeAudio), 'downloadToken': serializer.toJson(downloadToken), 'encryptionKey': serializer.toJson(encryptionKey), 'encryptionMac': serializer.toJson(encryptionMac), 'encryptionNonce': serializer.toJson(encryptionNonce), 'storedFileHash': serializer.toJson(storedFileHash), 'createdAt': serializer.toJson(createdAt), }; } MediaFilesData copyWith( {String? mediaId, String? type, Value uploadState = const Value.absent(), Value downloadState = const Value.absent(), int? requiresAuthentication, int? stored, int? isDraftMedia, Value reuploadRequestedBy = const Value.absent(), Value displayLimitInMilliseconds = const Value.absent(), Value removeAudio = const Value.absent(), Value downloadToken = const Value.absent(), Value encryptionKey = const Value.absent(), Value encryptionMac = const Value.absent(), Value encryptionNonce = const Value.absent(), Value storedFileHash = const Value.absent(), int? createdAt}) => MediaFilesData( mediaId: mediaId ?? this.mediaId, type: type ?? this.type, uploadState: uploadState.present ? uploadState.value : this.uploadState, downloadState: downloadState.present ? downloadState.value : this.downloadState, requiresAuthentication: requiresAuthentication ?? this.requiresAuthentication, stored: stored ?? this.stored, isDraftMedia: isDraftMedia ?? this.isDraftMedia, reuploadRequestedBy: reuploadRequestedBy.present ? reuploadRequestedBy.value : this.reuploadRequestedBy, displayLimitInMilliseconds: displayLimitInMilliseconds.present ? displayLimitInMilliseconds.value : this.displayLimitInMilliseconds, removeAudio: removeAudio.present ? removeAudio.value : this.removeAudio, downloadToken: downloadToken.present ? downloadToken.value : this.downloadToken, encryptionKey: encryptionKey.present ? encryptionKey.value : this.encryptionKey, encryptionMac: encryptionMac.present ? encryptionMac.value : this.encryptionMac, encryptionNonce: encryptionNonce.present ? encryptionNonce.value : this.encryptionNonce, storedFileHash: storedFileHash.present ? storedFileHash.value : this.storedFileHash, createdAt: createdAt ?? this.createdAt, ); MediaFilesData copyWithCompanion(MediaFilesCompanion data) { return MediaFilesData( mediaId: data.mediaId.present ? data.mediaId.value : this.mediaId, type: data.type.present ? data.type.value : this.type, uploadState: data.uploadState.present ? data.uploadState.value : this.uploadState, downloadState: data.downloadState.present ? data.downloadState.value : this.downloadState, requiresAuthentication: data.requiresAuthentication.present ? data.requiresAuthentication.value : this.requiresAuthentication, stored: data.stored.present ? data.stored.value : this.stored, isDraftMedia: data.isDraftMedia.present ? data.isDraftMedia.value : this.isDraftMedia, reuploadRequestedBy: data.reuploadRequestedBy.present ? data.reuploadRequestedBy.value : this.reuploadRequestedBy, displayLimitInMilliseconds: data.displayLimitInMilliseconds.present ? data.displayLimitInMilliseconds.value : this.displayLimitInMilliseconds, removeAudio: data.removeAudio.present ? data.removeAudio.value : this.removeAudio, downloadToken: data.downloadToken.present ? data.downloadToken.value : this.downloadToken, encryptionKey: data.encryptionKey.present ? data.encryptionKey.value : this.encryptionKey, encryptionMac: data.encryptionMac.present ? data.encryptionMac.value : this.encryptionMac, encryptionNonce: data.encryptionNonce.present ? data.encryptionNonce.value : this.encryptionNonce, storedFileHash: data.storedFileHash.present ? data.storedFileHash.value : this.storedFileHash, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('MediaFilesData(') ..write('mediaId: $mediaId, ') ..write('type: $type, ') ..write('uploadState: $uploadState, ') ..write('downloadState: $downloadState, ') ..write('requiresAuthentication: $requiresAuthentication, ') ..write('stored: $stored, ') ..write('isDraftMedia: $isDraftMedia, ') ..write('reuploadRequestedBy: $reuploadRequestedBy, ') ..write('displayLimitInMilliseconds: $displayLimitInMilliseconds, ') ..write('removeAudio: $removeAudio, ') ..write('downloadToken: $downloadToken, ') ..write('encryptionKey: $encryptionKey, ') ..write('encryptionMac: $encryptionMac, ') ..write('encryptionNonce: $encryptionNonce, ') ..write('storedFileHash: $storedFileHash, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash( mediaId, type, uploadState, downloadState, requiresAuthentication, stored, isDraftMedia, reuploadRequestedBy, displayLimitInMilliseconds, removeAudio, $driftBlobEquality.hash(downloadToken), $driftBlobEquality.hash(encryptionKey), $driftBlobEquality.hash(encryptionMac), $driftBlobEquality.hash(encryptionNonce), $driftBlobEquality.hash(storedFileHash), createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is MediaFilesData && other.mediaId == this.mediaId && other.type == this.type && other.uploadState == this.uploadState && other.downloadState == this.downloadState && other.requiresAuthentication == this.requiresAuthentication && other.stored == this.stored && other.isDraftMedia == this.isDraftMedia && other.reuploadRequestedBy == this.reuploadRequestedBy && other.displayLimitInMilliseconds == this.displayLimitInMilliseconds && other.removeAudio == this.removeAudio && $driftBlobEquality.equals(other.downloadToken, this.downloadToken) && $driftBlobEquality.equals(other.encryptionKey, this.encryptionKey) && $driftBlobEquality.equals(other.encryptionMac, this.encryptionMac) && $driftBlobEquality.equals( other.encryptionNonce, this.encryptionNonce) && $driftBlobEquality.equals( other.storedFileHash, this.storedFileHash) && other.createdAt == this.createdAt); } class MediaFilesCompanion extends UpdateCompanion { final Value mediaId; final Value type; final Value uploadState; final Value downloadState; final Value requiresAuthentication; final Value stored; final Value isDraftMedia; final Value reuploadRequestedBy; final Value displayLimitInMilliseconds; final Value removeAudio; final Value downloadToken; final Value encryptionKey; final Value encryptionMac; final Value encryptionNonce; final Value storedFileHash; final Value createdAt; final Value rowid; const MediaFilesCompanion({ this.mediaId = const Value.absent(), this.type = const Value.absent(), this.uploadState = const Value.absent(), this.downloadState = const Value.absent(), this.requiresAuthentication = const Value.absent(), this.stored = const Value.absent(), this.isDraftMedia = const Value.absent(), this.reuploadRequestedBy = const Value.absent(), this.displayLimitInMilliseconds = const Value.absent(), this.removeAudio = const Value.absent(), this.downloadToken = const Value.absent(), this.encryptionKey = const Value.absent(), this.encryptionMac = const Value.absent(), this.encryptionNonce = const Value.absent(), this.storedFileHash = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); MediaFilesCompanion.insert({ required String mediaId, required String type, this.uploadState = const Value.absent(), this.downloadState = const Value.absent(), this.requiresAuthentication = const Value.absent(), this.stored = const Value.absent(), this.isDraftMedia = const Value.absent(), this.reuploadRequestedBy = const Value.absent(), this.displayLimitInMilliseconds = const Value.absent(), this.removeAudio = const Value.absent(), this.downloadToken = const Value.absent(), this.encryptionKey = const Value.absent(), this.encryptionMac = const Value.absent(), this.encryptionNonce = const Value.absent(), this.storedFileHash = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }) : mediaId = Value(mediaId), type = Value(type); static Insertable custom({ Expression? mediaId, Expression? type, Expression? uploadState, Expression? downloadState, Expression? requiresAuthentication, Expression? stored, Expression? isDraftMedia, Expression? reuploadRequestedBy, Expression? displayLimitInMilliseconds, Expression? removeAudio, Expression? downloadToken, Expression? encryptionKey, Expression? encryptionMac, Expression? encryptionNonce, Expression? storedFileHash, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (mediaId != null) 'media_id': mediaId, if (type != null) 'type': type, if (uploadState != null) 'upload_state': uploadState, if (downloadState != null) 'download_state': downloadState, if (requiresAuthentication != null) 'requires_authentication': requiresAuthentication, if (stored != null) 'stored': stored, if (isDraftMedia != null) 'is_draft_media': isDraftMedia, if (reuploadRequestedBy != null) 'reupload_requested_by': reuploadRequestedBy, if (displayLimitInMilliseconds != null) 'display_limit_in_milliseconds': displayLimitInMilliseconds, if (removeAudio != null) 'remove_audio': removeAudio, if (downloadToken != null) 'download_token': downloadToken, if (encryptionKey != null) 'encryption_key': encryptionKey, if (encryptionMac != null) 'encryption_mac': encryptionMac, if (encryptionNonce != null) 'encryption_nonce': encryptionNonce, if (storedFileHash != null) 'stored_file_hash': storedFileHash, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); } MediaFilesCompanion copyWith( {Value? mediaId, Value? type, Value? uploadState, Value? downloadState, Value? requiresAuthentication, Value? stored, Value? isDraftMedia, Value? reuploadRequestedBy, Value? displayLimitInMilliseconds, Value? removeAudio, Value? downloadToken, Value? encryptionKey, Value? encryptionMac, Value? encryptionNonce, Value? storedFileHash, Value? createdAt, Value? rowid}) { return MediaFilesCompanion( mediaId: mediaId ?? this.mediaId, type: type ?? this.type, uploadState: uploadState ?? this.uploadState, downloadState: downloadState ?? this.downloadState, requiresAuthentication: requiresAuthentication ?? this.requiresAuthentication, stored: stored ?? this.stored, isDraftMedia: isDraftMedia ?? this.isDraftMedia, reuploadRequestedBy: reuploadRequestedBy ?? this.reuploadRequestedBy, displayLimitInMilliseconds: displayLimitInMilliseconds ?? this.displayLimitInMilliseconds, removeAudio: removeAudio ?? this.removeAudio, downloadToken: downloadToken ?? this.downloadToken, encryptionKey: encryptionKey ?? this.encryptionKey, encryptionMac: encryptionMac ?? this.encryptionMac, encryptionNonce: encryptionNonce ?? this.encryptionNonce, storedFileHash: storedFileHash ?? this.storedFileHash, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (mediaId.present) { map['media_id'] = Variable(mediaId.value); } if (type.present) { map['type'] = Variable(type.value); } if (uploadState.present) { map['upload_state'] = Variable(uploadState.value); } if (downloadState.present) { map['download_state'] = Variable(downloadState.value); } if (requiresAuthentication.present) { map['requires_authentication'] = Variable(requiresAuthentication.value); } if (stored.present) { map['stored'] = Variable(stored.value); } if (isDraftMedia.present) { map['is_draft_media'] = Variable(isDraftMedia.value); } if (reuploadRequestedBy.present) { map['reupload_requested_by'] = Variable(reuploadRequestedBy.value); } if (displayLimitInMilliseconds.present) { map['display_limit_in_milliseconds'] = Variable(displayLimitInMilliseconds.value); } if (removeAudio.present) { map['remove_audio'] = Variable(removeAudio.value); } if (downloadToken.present) { map['download_token'] = Variable(downloadToken.value); } if (encryptionKey.present) { map['encryption_key'] = Variable(encryptionKey.value); } if (encryptionMac.present) { map['encryption_mac'] = Variable(encryptionMac.value); } if (encryptionNonce.present) { map['encryption_nonce'] = Variable(encryptionNonce.value); } if (storedFileHash.present) { map['stored_file_hash'] = Variable(storedFileHash.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('MediaFilesCompanion(') ..write('mediaId: $mediaId, ') ..write('type: $type, ') ..write('uploadState: $uploadState, ') ..write('downloadState: $downloadState, ') ..write('requiresAuthentication: $requiresAuthentication, ') ..write('stored: $stored, ') ..write('isDraftMedia: $isDraftMedia, ') ..write('reuploadRequestedBy: $reuploadRequestedBy, ') ..write('displayLimitInMilliseconds: $displayLimitInMilliseconds, ') ..write('removeAudio: $removeAudio, ') ..write('downloadToken: $downloadToken, ') ..write('encryptionKey: $encryptionKey, ') ..write('encryptionMac: $encryptionMac, ') ..write('encryptionNonce: $encryptionNonce, ') ..write('storedFileHash: $storedFileHash, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class Messages extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; Messages(this.attachedDatabase, [this._alias]); late final GeneratedColumn groupId = GeneratedColumn( 'group_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES "groups"(group_id)ON DELETE CASCADE'); late final GeneratedColumn messageId = GeneratedColumn( 'message_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn senderId = GeneratedColumn( 'sender_id', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL REFERENCES contacts(user_id)'); late final GeneratedColumn type = GeneratedColumn( 'type', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn content = GeneratedColumn( 'content', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn mediaId = GeneratedColumn( 'media_id', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL REFERENCES media_files(media_id)ON DELETE SET NULL'); late final GeneratedColumn additionalMessageData = GeneratedColumn( 'additional_message_data', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn mediaStored = GeneratedColumn( 'media_stored', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (media_stored IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn mediaReopened = GeneratedColumn( 'media_reopened', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (media_reopened IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn downloadToken = GeneratedColumn('download_token', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn quotesMessageId = GeneratedColumn( 'quotes_message_id', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn isDeletedFromSender = GeneratedColumn( 'is_deleted_from_sender', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0 CHECK (is_deleted_from_sender IN (0, 1))', defaultValue: const CustomExpression('0')); late final GeneratedColumn openedAt = GeneratedColumn( 'opened_at', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn openedByAll = GeneratedColumn( 'opened_by_all', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); late final GeneratedColumn modifiedAt = GeneratedColumn( 'modified_at', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn ackByUser = GeneratedColumn( 'ack_by_user', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn ackByServer = GeneratedColumn( 'ack_by_server', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); @override List get $columns => [ groupId, messageId, senderId, type, content, mediaId, additionalMessageData, mediaStored, mediaReopened, downloadToken, quotesMessageId, isDeletedFromSender, openedAt, openedByAll, createdAt, modifiedAt, ackByUser, ackByServer ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'messages'; @override Set get $primaryKey => {messageId}; @override MessagesData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return MessagesData( groupId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}group_id'])!, messageId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}message_id'])!, senderId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}sender_id']), type: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}type'])!, content: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}content']), mediaId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}media_id']), additionalMessageData: attachedDatabase.typeMapping.read( DriftSqlType.blob, data['${effectivePrefix}additional_message_data']), mediaStored: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}media_stored'])!, mediaReopened: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}media_reopened'])!, downloadToken: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}download_token']), quotesMessageId: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}quotes_message_id']), isDeletedFromSender: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}is_deleted_from_sender'])!, openedAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}opened_at']), openedByAll: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}opened_by_all']), createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, modifiedAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}modified_at']), ackByUser: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}ack_by_user']), ackByServer: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}ack_by_server']), ); } @override Messages createAlias(String alias) { return Messages(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(message_id)']; @override bool get dontWriteConstraints => true; } class MessagesData extends DataClass implements Insertable { final String groupId; final String messageId; final int? senderId; final String type; final String? content; final String? mediaId; final i2.Uint8List? additionalMessageData; final int mediaStored; final int mediaReopened; final i2.Uint8List? downloadToken; final String? quotesMessageId; final int isDeletedFromSender; final int? openedAt; final int? openedByAll; final int createdAt; final int? modifiedAt; final int? ackByUser; final int? ackByServer; const MessagesData( {required this.groupId, required this.messageId, this.senderId, required this.type, this.content, this.mediaId, this.additionalMessageData, required this.mediaStored, required this.mediaReopened, this.downloadToken, this.quotesMessageId, required this.isDeletedFromSender, this.openedAt, this.openedByAll, required this.createdAt, this.modifiedAt, this.ackByUser, this.ackByServer}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['group_id'] = Variable(groupId); map['message_id'] = Variable(messageId); if (!nullToAbsent || senderId != null) { map['sender_id'] = Variable(senderId); } map['type'] = Variable(type); if (!nullToAbsent || content != null) { map['content'] = Variable(content); } if (!nullToAbsent || mediaId != null) { map['media_id'] = Variable(mediaId); } if (!nullToAbsent || additionalMessageData != null) { map['additional_message_data'] = Variable(additionalMessageData); } map['media_stored'] = Variable(mediaStored); map['media_reopened'] = Variable(mediaReopened); if (!nullToAbsent || downloadToken != null) { map['download_token'] = Variable(downloadToken); } if (!nullToAbsent || quotesMessageId != null) { map['quotes_message_id'] = Variable(quotesMessageId); } map['is_deleted_from_sender'] = Variable(isDeletedFromSender); if (!nullToAbsent || openedAt != null) { map['opened_at'] = Variable(openedAt); } if (!nullToAbsent || openedByAll != null) { map['opened_by_all'] = Variable(openedByAll); } map['created_at'] = Variable(createdAt); if (!nullToAbsent || modifiedAt != null) { map['modified_at'] = Variable(modifiedAt); } if (!nullToAbsent || ackByUser != null) { map['ack_by_user'] = Variable(ackByUser); } if (!nullToAbsent || ackByServer != null) { map['ack_by_server'] = Variable(ackByServer); } return map; } MessagesCompanion toCompanion(bool nullToAbsent) { return MessagesCompanion( groupId: Value(groupId), messageId: Value(messageId), senderId: senderId == null && nullToAbsent ? const Value.absent() : Value(senderId), type: Value(type), content: content == null && nullToAbsent ? const Value.absent() : Value(content), mediaId: mediaId == null && nullToAbsent ? const Value.absent() : Value(mediaId), additionalMessageData: additionalMessageData == null && nullToAbsent ? const Value.absent() : Value(additionalMessageData), mediaStored: Value(mediaStored), mediaReopened: Value(mediaReopened), downloadToken: downloadToken == null && nullToAbsent ? const Value.absent() : Value(downloadToken), quotesMessageId: quotesMessageId == null && nullToAbsent ? const Value.absent() : Value(quotesMessageId), isDeletedFromSender: Value(isDeletedFromSender), openedAt: openedAt == null && nullToAbsent ? const Value.absent() : Value(openedAt), openedByAll: openedByAll == null && nullToAbsent ? const Value.absent() : Value(openedByAll), createdAt: Value(createdAt), modifiedAt: modifiedAt == null && nullToAbsent ? const Value.absent() : Value(modifiedAt), ackByUser: ackByUser == null && nullToAbsent ? const Value.absent() : Value(ackByUser), ackByServer: ackByServer == null && nullToAbsent ? const Value.absent() : Value(ackByServer), ); } factory MessagesData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return MessagesData( groupId: serializer.fromJson(json['groupId']), messageId: serializer.fromJson(json['messageId']), senderId: serializer.fromJson(json['senderId']), type: serializer.fromJson(json['type']), content: serializer.fromJson(json['content']), mediaId: serializer.fromJson(json['mediaId']), additionalMessageData: serializer.fromJson(json['additionalMessageData']), mediaStored: serializer.fromJson(json['mediaStored']), mediaReopened: serializer.fromJson(json['mediaReopened']), downloadToken: serializer.fromJson(json['downloadToken']), quotesMessageId: serializer.fromJson(json['quotesMessageId']), isDeletedFromSender: serializer.fromJson(json['isDeletedFromSender']), openedAt: serializer.fromJson(json['openedAt']), openedByAll: serializer.fromJson(json['openedByAll']), createdAt: serializer.fromJson(json['createdAt']), modifiedAt: serializer.fromJson(json['modifiedAt']), ackByUser: serializer.fromJson(json['ackByUser']), ackByServer: serializer.fromJson(json['ackByServer']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'groupId': serializer.toJson(groupId), 'messageId': serializer.toJson(messageId), 'senderId': serializer.toJson(senderId), 'type': serializer.toJson(type), 'content': serializer.toJson(content), 'mediaId': serializer.toJson(mediaId), 'additionalMessageData': serializer.toJson(additionalMessageData), 'mediaStored': serializer.toJson(mediaStored), 'mediaReopened': serializer.toJson(mediaReopened), 'downloadToken': serializer.toJson(downloadToken), 'quotesMessageId': serializer.toJson(quotesMessageId), 'isDeletedFromSender': serializer.toJson(isDeletedFromSender), 'openedAt': serializer.toJson(openedAt), 'openedByAll': serializer.toJson(openedByAll), 'createdAt': serializer.toJson(createdAt), 'modifiedAt': serializer.toJson(modifiedAt), 'ackByUser': serializer.toJson(ackByUser), 'ackByServer': serializer.toJson(ackByServer), }; } MessagesData copyWith( {String? groupId, String? messageId, Value senderId = const Value.absent(), String? type, Value content = const Value.absent(), Value mediaId = const Value.absent(), Value additionalMessageData = const Value.absent(), int? mediaStored, int? mediaReopened, Value downloadToken = const Value.absent(), Value quotesMessageId = const Value.absent(), int? isDeletedFromSender, Value openedAt = const Value.absent(), Value openedByAll = const Value.absent(), int? createdAt, Value modifiedAt = const Value.absent(), Value ackByUser = const Value.absent(), Value ackByServer = const Value.absent()}) => MessagesData( groupId: groupId ?? this.groupId, messageId: messageId ?? this.messageId, senderId: senderId.present ? senderId.value : this.senderId, type: type ?? this.type, content: content.present ? content.value : this.content, mediaId: mediaId.present ? mediaId.value : this.mediaId, additionalMessageData: additionalMessageData.present ? additionalMessageData.value : this.additionalMessageData, mediaStored: mediaStored ?? this.mediaStored, mediaReopened: mediaReopened ?? this.mediaReopened, downloadToken: downloadToken.present ? downloadToken.value : this.downloadToken, quotesMessageId: quotesMessageId.present ? quotesMessageId.value : this.quotesMessageId, isDeletedFromSender: isDeletedFromSender ?? this.isDeletedFromSender, openedAt: openedAt.present ? openedAt.value : this.openedAt, openedByAll: openedByAll.present ? openedByAll.value : this.openedByAll, createdAt: createdAt ?? this.createdAt, modifiedAt: modifiedAt.present ? modifiedAt.value : this.modifiedAt, ackByUser: ackByUser.present ? ackByUser.value : this.ackByUser, ackByServer: ackByServer.present ? ackByServer.value : this.ackByServer, ); MessagesData copyWithCompanion(MessagesCompanion data) { return MessagesData( groupId: data.groupId.present ? data.groupId.value : this.groupId, messageId: data.messageId.present ? data.messageId.value : this.messageId, senderId: data.senderId.present ? data.senderId.value : this.senderId, type: data.type.present ? data.type.value : this.type, content: data.content.present ? data.content.value : this.content, mediaId: data.mediaId.present ? data.mediaId.value : this.mediaId, additionalMessageData: data.additionalMessageData.present ? data.additionalMessageData.value : this.additionalMessageData, mediaStored: data.mediaStored.present ? data.mediaStored.value : this.mediaStored, mediaReopened: data.mediaReopened.present ? data.mediaReopened.value : this.mediaReopened, downloadToken: data.downloadToken.present ? data.downloadToken.value : this.downloadToken, quotesMessageId: data.quotesMessageId.present ? data.quotesMessageId.value : this.quotesMessageId, isDeletedFromSender: data.isDeletedFromSender.present ? data.isDeletedFromSender.value : this.isDeletedFromSender, openedAt: data.openedAt.present ? data.openedAt.value : this.openedAt, openedByAll: data.openedByAll.present ? data.openedByAll.value : this.openedByAll, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, modifiedAt: data.modifiedAt.present ? data.modifiedAt.value : this.modifiedAt, ackByUser: data.ackByUser.present ? data.ackByUser.value : this.ackByUser, ackByServer: data.ackByServer.present ? data.ackByServer.value : this.ackByServer, ); } @override String toString() { return (StringBuffer('MessagesData(') ..write('groupId: $groupId, ') ..write('messageId: $messageId, ') ..write('senderId: $senderId, ') ..write('type: $type, ') ..write('content: $content, ') ..write('mediaId: $mediaId, ') ..write('additionalMessageData: $additionalMessageData, ') ..write('mediaStored: $mediaStored, ') ..write('mediaReopened: $mediaReopened, ') ..write('downloadToken: $downloadToken, ') ..write('quotesMessageId: $quotesMessageId, ') ..write('isDeletedFromSender: $isDeletedFromSender, ') ..write('openedAt: $openedAt, ') ..write('openedByAll: $openedByAll, ') ..write('createdAt: $createdAt, ') ..write('modifiedAt: $modifiedAt, ') ..write('ackByUser: $ackByUser, ') ..write('ackByServer: $ackByServer') ..write(')')) .toString(); } @override int get hashCode => Object.hash( groupId, messageId, senderId, type, content, mediaId, $driftBlobEquality.hash(additionalMessageData), mediaStored, mediaReopened, $driftBlobEquality.hash(downloadToken), quotesMessageId, isDeletedFromSender, openedAt, openedByAll, createdAt, modifiedAt, ackByUser, ackByServer); @override bool operator ==(Object other) => identical(this, other) || (other is MessagesData && other.groupId == this.groupId && other.messageId == this.messageId && other.senderId == this.senderId && other.type == this.type && other.content == this.content && other.mediaId == this.mediaId && $driftBlobEquality.equals( other.additionalMessageData, this.additionalMessageData) && other.mediaStored == this.mediaStored && other.mediaReopened == this.mediaReopened && $driftBlobEquality.equals(other.downloadToken, this.downloadToken) && other.quotesMessageId == this.quotesMessageId && other.isDeletedFromSender == this.isDeletedFromSender && other.openedAt == this.openedAt && other.openedByAll == this.openedByAll && other.createdAt == this.createdAt && other.modifiedAt == this.modifiedAt && other.ackByUser == this.ackByUser && other.ackByServer == this.ackByServer); } class MessagesCompanion extends UpdateCompanion { final Value groupId; final Value messageId; final Value senderId; final Value type; final Value content; final Value mediaId; final Value additionalMessageData; final Value mediaStored; final Value mediaReopened; final Value downloadToken; final Value quotesMessageId; final Value isDeletedFromSender; final Value openedAt; final Value openedByAll; final Value createdAt; final Value modifiedAt; final Value ackByUser; final Value ackByServer; final Value rowid; const MessagesCompanion({ this.groupId = const Value.absent(), this.messageId = const Value.absent(), this.senderId = const Value.absent(), this.type = const Value.absent(), this.content = const Value.absent(), this.mediaId = const Value.absent(), this.additionalMessageData = const Value.absent(), this.mediaStored = const Value.absent(), this.mediaReopened = const Value.absent(), this.downloadToken = const Value.absent(), this.quotesMessageId = const Value.absent(), this.isDeletedFromSender = const Value.absent(), this.openedAt = const Value.absent(), this.openedByAll = const Value.absent(), this.createdAt = const Value.absent(), this.modifiedAt = const Value.absent(), this.ackByUser = const Value.absent(), this.ackByServer = const Value.absent(), this.rowid = const Value.absent(), }); MessagesCompanion.insert({ required String groupId, required String messageId, this.senderId = const Value.absent(), required String type, this.content = const Value.absent(), this.mediaId = const Value.absent(), this.additionalMessageData = const Value.absent(), this.mediaStored = const Value.absent(), this.mediaReopened = const Value.absent(), this.downloadToken = const Value.absent(), this.quotesMessageId = const Value.absent(), this.isDeletedFromSender = const Value.absent(), this.openedAt = const Value.absent(), this.openedByAll = const Value.absent(), this.createdAt = const Value.absent(), this.modifiedAt = const Value.absent(), this.ackByUser = const Value.absent(), this.ackByServer = const Value.absent(), this.rowid = const Value.absent(), }) : groupId = Value(groupId), messageId = Value(messageId), type = Value(type); static Insertable custom({ Expression? groupId, Expression? messageId, Expression? senderId, Expression? type, Expression? content, Expression? mediaId, Expression? additionalMessageData, Expression? mediaStored, Expression? mediaReopened, Expression? downloadToken, Expression? quotesMessageId, Expression? isDeletedFromSender, Expression? openedAt, Expression? openedByAll, Expression? createdAt, Expression? modifiedAt, Expression? ackByUser, Expression? ackByServer, Expression? rowid, }) { return RawValuesInsertable({ if (groupId != null) 'group_id': groupId, if (messageId != null) 'message_id': messageId, if (senderId != null) 'sender_id': senderId, if (type != null) 'type': type, if (content != null) 'content': content, if (mediaId != null) 'media_id': mediaId, if (additionalMessageData != null) 'additional_message_data': additionalMessageData, if (mediaStored != null) 'media_stored': mediaStored, if (mediaReopened != null) 'media_reopened': mediaReopened, if (downloadToken != null) 'download_token': downloadToken, if (quotesMessageId != null) 'quotes_message_id': quotesMessageId, if (isDeletedFromSender != null) 'is_deleted_from_sender': isDeletedFromSender, if (openedAt != null) 'opened_at': openedAt, if (openedByAll != null) 'opened_by_all': openedByAll, if (createdAt != null) 'created_at': createdAt, if (modifiedAt != null) 'modified_at': modifiedAt, if (ackByUser != null) 'ack_by_user': ackByUser, if (ackByServer != null) 'ack_by_server': ackByServer, if (rowid != null) 'rowid': rowid, }); } MessagesCompanion copyWith( {Value? groupId, Value? messageId, Value? senderId, Value? type, Value? content, Value? mediaId, Value? additionalMessageData, Value? mediaStored, Value? mediaReopened, Value? downloadToken, Value? quotesMessageId, Value? isDeletedFromSender, Value? openedAt, Value? openedByAll, Value? createdAt, Value? modifiedAt, Value? ackByUser, Value? ackByServer, Value? rowid}) { return MessagesCompanion( groupId: groupId ?? this.groupId, messageId: messageId ?? this.messageId, senderId: senderId ?? this.senderId, type: type ?? this.type, content: content ?? this.content, mediaId: mediaId ?? this.mediaId, additionalMessageData: additionalMessageData ?? this.additionalMessageData, mediaStored: mediaStored ?? this.mediaStored, mediaReopened: mediaReopened ?? this.mediaReopened, downloadToken: downloadToken ?? this.downloadToken, quotesMessageId: quotesMessageId ?? this.quotesMessageId, isDeletedFromSender: isDeletedFromSender ?? this.isDeletedFromSender, openedAt: openedAt ?? this.openedAt, openedByAll: openedByAll ?? this.openedByAll, createdAt: createdAt ?? this.createdAt, modifiedAt: modifiedAt ?? this.modifiedAt, ackByUser: ackByUser ?? this.ackByUser, ackByServer: ackByServer ?? this.ackByServer, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (groupId.present) { map['group_id'] = Variable(groupId.value); } if (messageId.present) { map['message_id'] = Variable(messageId.value); } if (senderId.present) { map['sender_id'] = Variable(senderId.value); } if (type.present) { map['type'] = Variable(type.value); } if (content.present) { map['content'] = Variable(content.value); } if (mediaId.present) { map['media_id'] = Variable(mediaId.value); } if (additionalMessageData.present) { map['additional_message_data'] = Variable(additionalMessageData.value); } if (mediaStored.present) { map['media_stored'] = Variable(mediaStored.value); } if (mediaReopened.present) { map['media_reopened'] = Variable(mediaReopened.value); } if (downloadToken.present) { map['download_token'] = Variable(downloadToken.value); } if (quotesMessageId.present) { map['quotes_message_id'] = Variable(quotesMessageId.value); } if (isDeletedFromSender.present) { map['is_deleted_from_sender'] = Variable(isDeletedFromSender.value); } if (openedAt.present) { map['opened_at'] = Variable(openedAt.value); } if (openedByAll.present) { map['opened_by_all'] = Variable(openedByAll.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (modifiedAt.present) { map['modified_at'] = Variable(modifiedAt.value); } if (ackByUser.present) { map['ack_by_user'] = Variable(ackByUser.value); } if (ackByServer.present) { map['ack_by_server'] = Variable(ackByServer.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('MessagesCompanion(') ..write('groupId: $groupId, ') ..write('messageId: $messageId, ') ..write('senderId: $senderId, ') ..write('type: $type, ') ..write('content: $content, ') ..write('mediaId: $mediaId, ') ..write('additionalMessageData: $additionalMessageData, ') ..write('mediaStored: $mediaStored, ') ..write('mediaReopened: $mediaReopened, ') ..write('downloadToken: $downloadToken, ') ..write('quotesMessageId: $quotesMessageId, ') ..write('isDeletedFromSender: $isDeletedFromSender, ') ..write('openedAt: $openedAt, ') ..write('openedByAll: $openedByAll, ') ..write('createdAt: $createdAt, ') ..write('modifiedAt: $modifiedAt, ') ..write('ackByUser: $ackByUser, ') ..write('ackByServer: $ackByServer, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class MessageHistories extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; MessageHistories(this.attachedDatabase, [this._alias]); late final GeneratedColumn id = GeneratedColumn( 'id', aliasedName, false, hasAutoIncrement: true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL PRIMARY KEY AUTOINCREMENT'); late final GeneratedColumn messageId = GeneratedColumn( 'message_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES messages(message_id)ON DELETE CASCADE'); late final GeneratedColumn contactId = GeneratedColumn( 'contact_id', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL REFERENCES contacts(user_id)ON DELETE CASCADE'); late final GeneratedColumn content = GeneratedColumn( 'content', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [id, messageId, contactId, content, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'message_histories'; @override Set get $primaryKey => {id}; @override MessageHistoriesData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return MessageHistoriesData( id: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}id'])!, messageId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}message_id'])!, contactId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}contact_id']), content: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}content']), createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override MessageHistories createAlias(String alias) { return MessageHistories(attachedDatabase, alias); } @override bool get dontWriteConstraints => true; } class MessageHistoriesData extends DataClass implements Insertable { final int id; final String messageId; final int? contactId; final String? content; final int createdAt; const MessageHistoriesData( {required this.id, required this.messageId, this.contactId, this.content, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); map['message_id'] = Variable(messageId); if (!nullToAbsent || contactId != null) { map['contact_id'] = Variable(contactId); } if (!nullToAbsent || content != null) { map['content'] = Variable(content); } map['created_at'] = Variable(createdAt); return map; } MessageHistoriesCompanion toCompanion(bool nullToAbsent) { return MessageHistoriesCompanion( id: Value(id), messageId: Value(messageId), contactId: contactId == null && nullToAbsent ? const Value.absent() : Value(contactId), content: content == null && nullToAbsent ? const Value.absent() : Value(content), createdAt: Value(createdAt), ); } factory MessageHistoriesData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return MessageHistoriesData( id: serializer.fromJson(json['id']), messageId: serializer.fromJson(json['messageId']), contactId: serializer.fromJson(json['contactId']), content: serializer.fromJson(json['content']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'messageId': serializer.toJson(messageId), 'contactId': serializer.toJson(contactId), 'content': serializer.toJson(content), 'createdAt': serializer.toJson(createdAt), }; } MessageHistoriesData copyWith( {int? id, String? messageId, Value contactId = const Value.absent(), Value content = const Value.absent(), int? createdAt}) => MessageHistoriesData( id: id ?? this.id, messageId: messageId ?? this.messageId, contactId: contactId.present ? contactId.value : this.contactId, content: content.present ? content.value : this.content, createdAt: createdAt ?? this.createdAt, ); MessageHistoriesData copyWithCompanion(MessageHistoriesCompanion data) { return MessageHistoriesData( id: data.id.present ? data.id.value : this.id, messageId: data.messageId.present ? data.messageId.value : this.messageId, contactId: data.contactId.present ? data.contactId.value : this.contactId, content: data.content.present ? data.content.value : this.content, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('MessageHistoriesData(') ..write('id: $id, ') ..write('messageId: $messageId, ') ..write('contactId: $contactId, ') ..write('content: $content, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash(id, messageId, contactId, content, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is MessageHistoriesData && other.id == this.id && other.messageId == this.messageId && other.contactId == this.contactId && other.content == this.content && other.createdAt == this.createdAt); } class MessageHistoriesCompanion extends UpdateCompanion { final Value id; final Value messageId; final Value contactId; final Value content; final Value createdAt; const MessageHistoriesCompanion({ this.id = const Value.absent(), this.messageId = const Value.absent(), this.contactId = const Value.absent(), this.content = const Value.absent(), this.createdAt = const Value.absent(), }); MessageHistoriesCompanion.insert({ this.id = const Value.absent(), required String messageId, this.contactId = const Value.absent(), this.content = const Value.absent(), this.createdAt = const Value.absent(), }) : messageId = Value(messageId); static Insertable custom({ Expression? id, Expression? messageId, Expression? contactId, Expression? content, Expression? createdAt, }) { return RawValuesInsertable({ if (id != null) 'id': id, if (messageId != null) 'message_id': messageId, if (contactId != null) 'contact_id': contactId, if (content != null) 'content': content, if (createdAt != null) 'created_at': createdAt, }); } MessageHistoriesCompanion copyWith( {Value? id, Value? messageId, Value? contactId, Value? content, Value? createdAt}) { return MessageHistoriesCompanion( id: id ?? this.id, messageId: messageId ?? this.messageId, contactId: contactId ?? this.contactId, content: content ?? this.content, createdAt: createdAt ?? this.createdAt, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (id.present) { map['id'] = Variable(id.value); } if (messageId.present) { map['message_id'] = Variable(messageId.value); } if (contactId.present) { map['contact_id'] = Variable(contactId.value); } if (content.present) { map['content'] = Variable(content.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } return map; } @override String toString() { return (StringBuffer('MessageHistoriesCompanion(') ..write('id: $id, ') ..write('messageId: $messageId, ') ..write('contactId: $contactId, ') ..write('content: $content, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } } class Reactions extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; Reactions(this.attachedDatabase, [this._alias]); late final GeneratedColumn messageId = GeneratedColumn( 'message_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES messages(message_id)ON DELETE CASCADE'); late final GeneratedColumn emoji = GeneratedColumn( 'emoji', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn senderId = GeneratedColumn( 'sender_id', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL REFERENCES contacts(user_id)ON DELETE CASCADE'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [messageId, emoji, senderId, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'reactions'; @override Set get $primaryKey => {messageId, senderId, emoji}; @override ReactionsData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return ReactionsData( messageId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}message_id'])!, emoji: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}emoji'])!, senderId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}sender_id']), createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override Reactions createAlias(String alias) { return Reactions(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(message_id, sender_id, emoji)']; @override bool get dontWriteConstraints => true; } class ReactionsData extends DataClass implements Insertable { final String messageId; final String emoji; final int? senderId; final int createdAt; const ReactionsData( {required this.messageId, required this.emoji, this.senderId, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['message_id'] = Variable(messageId); map['emoji'] = Variable(emoji); if (!nullToAbsent || senderId != null) { map['sender_id'] = Variable(senderId); } map['created_at'] = Variable(createdAt); return map; } ReactionsCompanion toCompanion(bool nullToAbsent) { return ReactionsCompanion( messageId: Value(messageId), emoji: Value(emoji), senderId: senderId == null && nullToAbsent ? const Value.absent() : Value(senderId), createdAt: Value(createdAt), ); } factory ReactionsData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return ReactionsData( messageId: serializer.fromJson(json['messageId']), emoji: serializer.fromJson(json['emoji']), senderId: serializer.fromJson(json['senderId']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'messageId': serializer.toJson(messageId), 'emoji': serializer.toJson(emoji), 'senderId': serializer.toJson(senderId), 'createdAt': serializer.toJson(createdAt), }; } ReactionsData copyWith( {String? messageId, String? emoji, Value senderId = const Value.absent(), int? createdAt}) => ReactionsData( messageId: messageId ?? this.messageId, emoji: emoji ?? this.emoji, senderId: senderId.present ? senderId.value : this.senderId, createdAt: createdAt ?? this.createdAt, ); ReactionsData copyWithCompanion(ReactionsCompanion data) { return ReactionsData( messageId: data.messageId.present ? data.messageId.value : this.messageId, emoji: data.emoji.present ? data.emoji.value : this.emoji, senderId: data.senderId.present ? data.senderId.value : this.senderId, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('ReactionsData(') ..write('messageId: $messageId, ') ..write('emoji: $emoji, ') ..write('senderId: $senderId, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash(messageId, emoji, senderId, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is ReactionsData && other.messageId == this.messageId && other.emoji == this.emoji && other.senderId == this.senderId && other.createdAt == this.createdAt); } class ReactionsCompanion extends UpdateCompanion { final Value messageId; final Value emoji; final Value senderId; final Value createdAt; final Value rowid; const ReactionsCompanion({ this.messageId = const Value.absent(), this.emoji = const Value.absent(), this.senderId = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); ReactionsCompanion.insert({ required String messageId, required String emoji, this.senderId = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }) : messageId = Value(messageId), emoji = Value(emoji); static Insertable custom({ Expression? messageId, Expression? emoji, Expression? senderId, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (messageId != null) 'message_id': messageId, if (emoji != null) 'emoji': emoji, if (senderId != null) 'sender_id': senderId, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); } ReactionsCompanion copyWith( {Value? messageId, Value? emoji, Value? senderId, Value? createdAt, Value? rowid}) { return ReactionsCompanion( messageId: messageId ?? this.messageId, emoji: emoji ?? this.emoji, senderId: senderId ?? this.senderId, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (messageId.present) { map['message_id'] = Variable(messageId.value); } if (emoji.present) { map['emoji'] = Variable(emoji.value); } if (senderId.present) { map['sender_id'] = Variable(senderId.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('ReactionsCompanion(') ..write('messageId: $messageId, ') ..write('emoji: $emoji, ') ..write('senderId: $senderId, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class GroupMembers extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; GroupMembers(this.attachedDatabase, [this._alias]); late final GeneratedColumn groupId = GeneratedColumn( 'group_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES "groups"(group_id)ON DELETE CASCADE'); late final GeneratedColumn contactId = GeneratedColumn( 'contact_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES contacts(user_id)'); late final GeneratedColumn memberState = GeneratedColumn( 'member_state', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn groupPublicKey = GeneratedColumn('group_public_key', aliasedName, true, type: DriftSqlType.blob, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn lastMessage = GeneratedColumn( 'last_message', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [groupId, contactId, memberState, groupPublicKey, lastMessage, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'group_members'; @override Set get $primaryKey => {groupId, contactId}; @override GroupMembersData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return GroupMembersData( groupId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}group_id'])!, contactId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}contact_id'])!, memberState: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}member_state']), groupPublicKey: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}group_public_key']), lastMessage: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}last_message']), createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override GroupMembers createAlias(String alias) { return GroupMembers(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(group_id, contact_id)']; @override bool get dontWriteConstraints => true; } class GroupMembersData extends DataClass implements Insertable { final String groupId; final int contactId; final String? memberState; final i2.Uint8List? groupPublicKey; final int? lastMessage; final int createdAt; const GroupMembersData( {required this.groupId, required this.contactId, this.memberState, this.groupPublicKey, this.lastMessage, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['group_id'] = Variable(groupId); map['contact_id'] = Variable(contactId); if (!nullToAbsent || memberState != null) { map['member_state'] = Variable(memberState); } if (!nullToAbsent || groupPublicKey != null) { map['group_public_key'] = Variable(groupPublicKey); } if (!nullToAbsent || lastMessage != null) { map['last_message'] = Variable(lastMessage); } map['created_at'] = Variable(createdAt); return map; } GroupMembersCompanion toCompanion(bool nullToAbsent) { return GroupMembersCompanion( groupId: Value(groupId), contactId: Value(contactId), memberState: memberState == null && nullToAbsent ? const Value.absent() : Value(memberState), groupPublicKey: groupPublicKey == null && nullToAbsent ? const Value.absent() : Value(groupPublicKey), lastMessage: lastMessage == null && nullToAbsent ? const Value.absent() : Value(lastMessage), createdAt: Value(createdAt), ); } factory GroupMembersData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return GroupMembersData( groupId: serializer.fromJson(json['groupId']), contactId: serializer.fromJson(json['contactId']), memberState: serializer.fromJson(json['memberState']), groupPublicKey: serializer.fromJson(json['groupPublicKey']), lastMessage: serializer.fromJson(json['lastMessage']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'groupId': serializer.toJson(groupId), 'contactId': serializer.toJson(contactId), 'memberState': serializer.toJson(memberState), 'groupPublicKey': serializer.toJson(groupPublicKey), 'lastMessage': serializer.toJson(lastMessage), 'createdAt': serializer.toJson(createdAt), }; } GroupMembersData copyWith( {String? groupId, int? contactId, Value memberState = const Value.absent(), Value groupPublicKey = const Value.absent(), Value lastMessage = const Value.absent(), int? createdAt}) => GroupMembersData( groupId: groupId ?? this.groupId, contactId: contactId ?? this.contactId, memberState: memberState.present ? memberState.value : this.memberState, groupPublicKey: groupPublicKey.present ? groupPublicKey.value : this.groupPublicKey, lastMessage: lastMessage.present ? lastMessage.value : this.lastMessage, createdAt: createdAt ?? this.createdAt, ); GroupMembersData copyWithCompanion(GroupMembersCompanion data) { return GroupMembersData( groupId: data.groupId.present ? data.groupId.value : this.groupId, contactId: data.contactId.present ? data.contactId.value : this.contactId, memberState: data.memberState.present ? data.memberState.value : this.memberState, groupPublicKey: data.groupPublicKey.present ? data.groupPublicKey.value : this.groupPublicKey, lastMessage: data.lastMessage.present ? data.lastMessage.value : this.lastMessage, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('GroupMembersData(') ..write('groupId: $groupId, ') ..write('contactId: $contactId, ') ..write('memberState: $memberState, ') ..write('groupPublicKey: $groupPublicKey, ') ..write('lastMessage: $lastMessage, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash(groupId, contactId, memberState, $driftBlobEquality.hash(groupPublicKey), lastMessage, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is GroupMembersData && other.groupId == this.groupId && other.contactId == this.contactId && other.memberState == this.memberState && $driftBlobEquality.equals( other.groupPublicKey, this.groupPublicKey) && other.lastMessage == this.lastMessage && other.createdAt == this.createdAt); } class GroupMembersCompanion extends UpdateCompanion { final Value groupId; final Value contactId; final Value memberState; final Value groupPublicKey; final Value lastMessage; final Value createdAt; final Value rowid; const GroupMembersCompanion({ this.groupId = const Value.absent(), this.contactId = const Value.absent(), this.memberState = const Value.absent(), this.groupPublicKey = const Value.absent(), this.lastMessage = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); GroupMembersCompanion.insert({ required String groupId, required int contactId, this.memberState = const Value.absent(), this.groupPublicKey = const Value.absent(), this.lastMessage = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }) : groupId = Value(groupId), contactId = Value(contactId); static Insertable custom({ Expression? groupId, Expression? contactId, Expression? memberState, Expression? groupPublicKey, Expression? lastMessage, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (groupId != null) 'group_id': groupId, if (contactId != null) 'contact_id': contactId, if (memberState != null) 'member_state': memberState, if (groupPublicKey != null) 'group_public_key': groupPublicKey, if (lastMessage != null) 'last_message': lastMessage, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); } GroupMembersCompanion copyWith( {Value? groupId, Value? contactId, Value? memberState, Value? groupPublicKey, Value? lastMessage, Value? createdAt, Value? rowid}) { return GroupMembersCompanion( groupId: groupId ?? this.groupId, contactId: contactId ?? this.contactId, memberState: memberState ?? this.memberState, groupPublicKey: groupPublicKey ?? this.groupPublicKey, lastMessage: lastMessage ?? this.lastMessage, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (groupId.present) { map['group_id'] = Variable(groupId.value); } if (contactId.present) { map['contact_id'] = Variable(contactId.value); } if (memberState.present) { map['member_state'] = Variable(memberState.value); } if (groupPublicKey.present) { map['group_public_key'] = Variable(groupPublicKey.value); } if (lastMessage.present) { map['last_message'] = Variable(lastMessage.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('GroupMembersCompanion(') ..write('groupId: $groupId, ') ..write('contactId: $contactId, ') ..write('memberState: $memberState, ') ..write('groupPublicKey: $groupPublicKey, ') ..write('lastMessage: $lastMessage, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class Receipts extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; Receipts(this.attachedDatabase, [this._alias]); late final GeneratedColumn receiptId = GeneratedColumn( 'receipt_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn contactId = GeneratedColumn( 'contact_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES contacts(user_id)ON DELETE CASCADE'); late final GeneratedColumn messageId = GeneratedColumn( 'message_id', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL REFERENCES messages(message_id)ON DELETE CASCADE'); late final GeneratedColumn message = GeneratedColumn('message', aliasedName, false, type: DriftSqlType.blob, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn contactWillSendsReceipt = GeneratedColumn('contact_will_sends_receipt', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 1 CHECK (contact_will_sends_receipt IN (0, 1))', defaultValue: const CustomExpression('1')); late final GeneratedColumn markForRetry = GeneratedColumn( 'mark_for_retry', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn markForRetryAfterAccepted = GeneratedColumn('mark_for_retry_after_accepted', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn ackByServerAt = GeneratedColumn( 'ack_by_server_at', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn retryCount = GeneratedColumn( 'retry_count', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT 0', defaultValue: const CustomExpression('0')); late final GeneratedColumn lastRetry = GeneratedColumn( 'last_retry', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [ receiptId, contactId, messageId, message, contactWillSendsReceipt, markForRetry, markForRetryAfterAccepted, ackByServerAt, retryCount, lastRetry, createdAt ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'receipts'; @override Set get $primaryKey => {receiptId}; @override ReceiptsData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return ReceiptsData( receiptId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}receipt_id'])!, contactId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}contact_id'])!, messageId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}message_id']), message: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}message'])!, contactWillSendsReceipt: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}contact_will_sends_receipt'])!, markForRetry: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}mark_for_retry']), markForRetryAfterAccepted: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}mark_for_retry_after_accepted']), ackByServerAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}ack_by_server_at']), retryCount: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}retry_count'])!, lastRetry: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}last_retry']), createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override Receipts createAlias(String alias) { return Receipts(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(receipt_id)']; @override bool get dontWriteConstraints => true; } class ReceiptsData extends DataClass implements Insertable { final String receiptId; final int contactId; final String? messageId; final i2.Uint8List message; final int contactWillSendsReceipt; final int? markForRetry; final int? markForRetryAfterAccepted; final int? ackByServerAt; final int retryCount; final int? lastRetry; final int createdAt; const ReceiptsData( {required this.receiptId, required this.contactId, this.messageId, required this.message, required this.contactWillSendsReceipt, this.markForRetry, this.markForRetryAfterAccepted, this.ackByServerAt, required this.retryCount, this.lastRetry, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['receipt_id'] = Variable(receiptId); map['contact_id'] = Variable(contactId); if (!nullToAbsent || messageId != null) { map['message_id'] = Variable(messageId); } map['message'] = Variable(message); map['contact_will_sends_receipt'] = Variable(contactWillSendsReceipt); if (!nullToAbsent || markForRetry != null) { map['mark_for_retry'] = Variable(markForRetry); } if (!nullToAbsent || markForRetryAfterAccepted != null) { map['mark_for_retry_after_accepted'] = Variable(markForRetryAfterAccepted); } if (!nullToAbsent || ackByServerAt != null) { map['ack_by_server_at'] = Variable(ackByServerAt); } map['retry_count'] = Variable(retryCount); if (!nullToAbsent || lastRetry != null) { map['last_retry'] = Variable(lastRetry); } map['created_at'] = Variable(createdAt); return map; } ReceiptsCompanion toCompanion(bool nullToAbsent) { return ReceiptsCompanion( receiptId: Value(receiptId), contactId: Value(contactId), messageId: messageId == null && nullToAbsent ? const Value.absent() : Value(messageId), message: Value(message), contactWillSendsReceipt: Value(contactWillSendsReceipt), markForRetry: markForRetry == null && nullToAbsent ? const Value.absent() : Value(markForRetry), markForRetryAfterAccepted: markForRetryAfterAccepted == null && nullToAbsent ? const Value.absent() : Value(markForRetryAfterAccepted), ackByServerAt: ackByServerAt == null && nullToAbsent ? const Value.absent() : Value(ackByServerAt), retryCount: Value(retryCount), lastRetry: lastRetry == null && nullToAbsent ? const Value.absent() : Value(lastRetry), createdAt: Value(createdAt), ); } factory ReceiptsData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return ReceiptsData( receiptId: serializer.fromJson(json['receiptId']), contactId: serializer.fromJson(json['contactId']), messageId: serializer.fromJson(json['messageId']), message: serializer.fromJson(json['message']), contactWillSendsReceipt: serializer.fromJson(json['contactWillSendsReceipt']), markForRetry: serializer.fromJson(json['markForRetry']), markForRetryAfterAccepted: serializer.fromJson(json['markForRetryAfterAccepted']), ackByServerAt: serializer.fromJson(json['ackByServerAt']), retryCount: serializer.fromJson(json['retryCount']), lastRetry: serializer.fromJson(json['lastRetry']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'receiptId': serializer.toJson(receiptId), 'contactId': serializer.toJson(contactId), 'messageId': serializer.toJson(messageId), 'message': serializer.toJson(message), 'contactWillSendsReceipt': serializer.toJson(contactWillSendsReceipt), 'markForRetry': serializer.toJson(markForRetry), 'markForRetryAfterAccepted': serializer.toJson(markForRetryAfterAccepted), 'ackByServerAt': serializer.toJson(ackByServerAt), 'retryCount': serializer.toJson(retryCount), 'lastRetry': serializer.toJson(lastRetry), 'createdAt': serializer.toJson(createdAt), }; } ReceiptsData copyWith( {String? receiptId, int? contactId, Value messageId = const Value.absent(), i2.Uint8List? message, int? contactWillSendsReceipt, Value markForRetry = const Value.absent(), Value markForRetryAfterAccepted = const Value.absent(), Value ackByServerAt = const Value.absent(), int? retryCount, Value lastRetry = const Value.absent(), int? createdAt}) => ReceiptsData( receiptId: receiptId ?? this.receiptId, contactId: contactId ?? this.contactId, messageId: messageId.present ? messageId.value : this.messageId, message: message ?? this.message, contactWillSendsReceipt: contactWillSendsReceipt ?? this.contactWillSendsReceipt, markForRetry: markForRetry.present ? markForRetry.value : this.markForRetry, markForRetryAfterAccepted: markForRetryAfterAccepted.present ? markForRetryAfterAccepted.value : this.markForRetryAfterAccepted, ackByServerAt: ackByServerAt.present ? ackByServerAt.value : this.ackByServerAt, retryCount: retryCount ?? this.retryCount, lastRetry: lastRetry.present ? lastRetry.value : this.lastRetry, createdAt: createdAt ?? this.createdAt, ); ReceiptsData copyWithCompanion(ReceiptsCompanion data) { return ReceiptsData( receiptId: data.receiptId.present ? data.receiptId.value : this.receiptId, contactId: data.contactId.present ? data.contactId.value : this.contactId, messageId: data.messageId.present ? data.messageId.value : this.messageId, message: data.message.present ? data.message.value : this.message, contactWillSendsReceipt: data.contactWillSendsReceipt.present ? data.contactWillSendsReceipt.value : this.contactWillSendsReceipt, markForRetry: data.markForRetry.present ? data.markForRetry.value : this.markForRetry, markForRetryAfterAccepted: data.markForRetryAfterAccepted.present ? data.markForRetryAfterAccepted.value : this.markForRetryAfterAccepted, ackByServerAt: data.ackByServerAt.present ? data.ackByServerAt.value : this.ackByServerAt, retryCount: data.retryCount.present ? data.retryCount.value : this.retryCount, lastRetry: data.lastRetry.present ? data.lastRetry.value : this.lastRetry, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('ReceiptsData(') ..write('receiptId: $receiptId, ') ..write('contactId: $contactId, ') ..write('messageId: $messageId, ') ..write('message: $message, ') ..write('contactWillSendsReceipt: $contactWillSendsReceipt, ') ..write('markForRetry: $markForRetry, ') ..write('markForRetryAfterAccepted: $markForRetryAfterAccepted, ') ..write('ackByServerAt: $ackByServerAt, ') ..write('retryCount: $retryCount, ') ..write('lastRetry: $lastRetry, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash( receiptId, contactId, messageId, $driftBlobEquality.hash(message), contactWillSendsReceipt, markForRetry, markForRetryAfterAccepted, ackByServerAt, retryCount, lastRetry, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is ReceiptsData && other.receiptId == this.receiptId && other.contactId == this.contactId && other.messageId == this.messageId && $driftBlobEquality.equals(other.message, this.message) && other.contactWillSendsReceipt == this.contactWillSendsReceipt && other.markForRetry == this.markForRetry && other.markForRetryAfterAccepted == this.markForRetryAfterAccepted && other.ackByServerAt == this.ackByServerAt && other.retryCount == this.retryCount && other.lastRetry == this.lastRetry && other.createdAt == this.createdAt); } class ReceiptsCompanion extends UpdateCompanion { final Value receiptId; final Value contactId; final Value messageId; final Value message; final Value contactWillSendsReceipt; final Value markForRetry; final Value markForRetryAfterAccepted; final Value ackByServerAt; final Value retryCount; final Value lastRetry; final Value createdAt; final Value rowid; const ReceiptsCompanion({ this.receiptId = const Value.absent(), this.contactId = const Value.absent(), this.messageId = const Value.absent(), this.message = const Value.absent(), this.contactWillSendsReceipt = const Value.absent(), this.markForRetry = const Value.absent(), this.markForRetryAfterAccepted = const Value.absent(), this.ackByServerAt = const Value.absent(), this.retryCount = const Value.absent(), this.lastRetry = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); ReceiptsCompanion.insert({ required String receiptId, required int contactId, this.messageId = const Value.absent(), required i2.Uint8List message, this.contactWillSendsReceipt = const Value.absent(), this.markForRetry = const Value.absent(), this.markForRetryAfterAccepted = const Value.absent(), this.ackByServerAt = const Value.absent(), this.retryCount = const Value.absent(), this.lastRetry = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }) : receiptId = Value(receiptId), contactId = Value(contactId), message = Value(message); static Insertable custom({ Expression? receiptId, Expression? contactId, Expression? messageId, Expression? message, Expression? contactWillSendsReceipt, Expression? markForRetry, Expression? markForRetryAfterAccepted, Expression? ackByServerAt, Expression? retryCount, Expression? lastRetry, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (receiptId != null) 'receipt_id': receiptId, if (contactId != null) 'contact_id': contactId, if (messageId != null) 'message_id': messageId, if (message != null) 'message': message, if (contactWillSendsReceipt != null) 'contact_will_sends_receipt': contactWillSendsReceipt, if (markForRetry != null) 'mark_for_retry': markForRetry, if (markForRetryAfterAccepted != null) 'mark_for_retry_after_accepted': markForRetryAfterAccepted, if (ackByServerAt != null) 'ack_by_server_at': ackByServerAt, if (retryCount != null) 'retry_count': retryCount, if (lastRetry != null) 'last_retry': lastRetry, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); } ReceiptsCompanion copyWith( {Value? receiptId, Value? contactId, Value? messageId, Value? message, Value? contactWillSendsReceipt, Value? markForRetry, Value? markForRetryAfterAccepted, Value? ackByServerAt, Value? retryCount, Value? lastRetry, Value? createdAt, Value? rowid}) { return ReceiptsCompanion( receiptId: receiptId ?? this.receiptId, contactId: contactId ?? this.contactId, messageId: messageId ?? this.messageId, message: message ?? this.message, contactWillSendsReceipt: contactWillSendsReceipt ?? this.contactWillSendsReceipt, markForRetry: markForRetry ?? this.markForRetry, markForRetryAfterAccepted: markForRetryAfterAccepted ?? this.markForRetryAfterAccepted, ackByServerAt: ackByServerAt ?? this.ackByServerAt, retryCount: retryCount ?? this.retryCount, lastRetry: lastRetry ?? this.lastRetry, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (receiptId.present) { map['receipt_id'] = Variable(receiptId.value); } if (contactId.present) { map['contact_id'] = Variable(contactId.value); } if (messageId.present) { map['message_id'] = Variable(messageId.value); } if (message.present) { map['message'] = Variable(message.value); } if (contactWillSendsReceipt.present) { map['contact_will_sends_receipt'] = Variable(contactWillSendsReceipt.value); } if (markForRetry.present) { map['mark_for_retry'] = Variable(markForRetry.value); } if (markForRetryAfterAccepted.present) { map['mark_for_retry_after_accepted'] = Variable(markForRetryAfterAccepted.value); } if (ackByServerAt.present) { map['ack_by_server_at'] = Variable(ackByServerAt.value); } if (retryCount.present) { map['retry_count'] = Variable(retryCount.value); } if (lastRetry.present) { map['last_retry'] = Variable(lastRetry.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('ReceiptsCompanion(') ..write('receiptId: $receiptId, ') ..write('contactId: $contactId, ') ..write('messageId: $messageId, ') ..write('message: $message, ') ..write('contactWillSendsReceipt: $contactWillSendsReceipt, ') ..write('markForRetry: $markForRetry, ') ..write('markForRetryAfterAccepted: $markForRetryAfterAccepted, ') ..write('ackByServerAt: $ackByServerAt, ') ..write('retryCount: $retryCount, ') ..write('lastRetry: $lastRetry, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class ReceivedReceipts extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; ReceivedReceipts(this.attachedDatabase, [this._alias]); late final GeneratedColumn receiptId = GeneratedColumn( 'receipt_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [receiptId, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'received_receipts'; @override Set get $primaryKey => {receiptId}; @override ReceivedReceiptsData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return ReceivedReceiptsData( receiptId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}receipt_id'])!, createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override ReceivedReceipts createAlias(String alias) { return ReceivedReceipts(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(receipt_id)']; @override bool get dontWriteConstraints => true; } class ReceivedReceiptsData extends DataClass implements Insertable { final String receiptId; final int createdAt; const ReceivedReceiptsData( {required this.receiptId, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['receipt_id'] = Variable(receiptId); map['created_at'] = Variable(createdAt); return map; } ReceivedReceiptsCompanion toCompanion(bool nullToAbsent) { return ReceivedReceiptsCompanion( receiptId: Value(receiptId), createdAt: Value(createdAt), ); } factory ReceivedReceiptsData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return ReceivedReceiptsData( receiptId: serializer.fromJson(json['receiptId']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'receiptId': serializer.toJson(receiptId), 'createdAt': serializer.toJson(createdAt), }; } ReceivedReceiptsData copyWith({String? receiptId, int? createdAt}) => ReceivedReceiptsData( receiptId: receiptId ?? this.receiptId, createdAt: createdAt ?? this.createdAt, ); ReceivedReceiptsData copyWithCompanion(ReceivedReceiptsCompanion data) { return ReceivedReceiptsData( receiptId: data.receiptId.present ? data.receiptId.value : this.receiptId, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('ReceivedReceiptsData(') ..write('receiptId: $receiptId, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash(receiptId, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is ReceivedReceiptsData && other.receiptId == this.receiptId && other.createdAt == this.createdAt); } class ReceivedReceiptsCompanion extends UpdateCompanion { final Value receiptId; final Value createdAt; final Value rowid; const ReceivedReceiptsCompanion({ this.receiptId = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); ReceivedReceiptsCompanion.insert({ required String receiptId, this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }) : receiptId = Value(receiptId); static Insertable custom({ Expression? receiptId, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (receiptId != null) 'receipt_id': receiptId, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); } ReceivedReceiptsCompanion copyWith( {Value? receiptId, Value? createdAt, Value? rowid}) { return ReceivedReceiptsCompanion( receiptId: receiptId ?? this.receiptId, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (receiptId.present) { map['receipt_id'] = Variable(receiptId.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('ReceivedReceiptsCompanion(') ..write('receiptId: $receiptId, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class SignalIdentityKeyStores extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; SignalIdentityKeyStores(this.attachedDatabase, [this._alias]); late final GeneratedColumn deviceId = GeneratedColumn( 'device_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn name = GeneratedColumn( 'name', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn identityKey = GeneratedColumn('identity_key', aliasedName, false, type: DriftSqlType.blob, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [deviceId, name, identityKey, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'signal_identity_key_stores'; @override Set get $primaryKey => {deviceId, name}; @override SignalIdentityKeyStoresData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return SignalIdentityKeyStoresData( deviceId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}device_id'])!, name: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}name'])!, identityKey: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}identity_key'])!, createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override SignalIdentityKeyStores createAlias(String alias) { return SignalIdentityKeyStores(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(device_id, name)']; @override bool get dontWriteConstraints => true; } class SignalIdentityKeyStoresData extends DataClass implements Insertable { final int deviceId; final String name; final i2.Uint8List identityKey; final int createdAt; const SignalIdentityKeyStoresData( {required this.deviceId, required this.name, required this.identityKey, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['device_id'] = Variable(deviceId); map['name'] = Variable(name); map['identity_key'] = Variable(identityKey); map['created_at'] = Variable(createdAt); return map; } SignalIdentityKeyStoresCompanion toCompanion(bool nullToAbsent) { return SignalIdentityKeyStoresCompanion( deviceId: Value(deviceId), name: Value(name), identityKey: Value(identityKey), createdAt: Value(createdAt), ); } factory SignalIdentityKeyStoresData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return SignalIdentityKeyStoresData( deviceId: serializer.fromJson(json['deviceId']), name: serializer.fromJson(json['name']), identityKey: serializer.fromJson(json['identityKey']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'deviceId': serializer.toJson(deviceId), 'name': serializer.toJson(name), 'identityKey': serializer.toJson(identityKey), 'createdAt': serializer.toJson(createdAt), }; } SignalIdentityKeyStoresData copyWith( {int? deviceId, String? name, i2.Uint8List? identityKey, int? createdAt}) => SignalIdentityKeyStoresData( deviceId: deviceId ?? this.deviceId, name: name ?? this.name, identityKey: identityKey ?? this.identityKey, createdAt: createdAt ?? this.createdAt, ); SignalIdentityKeyStoresData copyWithCompanion( SignalIdentityKeyStoresCompanion data) { return SignalIdentityKeyStoresData( deviceId: data.deviceId.present ? data.deviceId.value : this.deviceId, name: data.name.present ? data.name.value : this.name, identityKey: data.identityKey.present ? data.identityKey.value : this.identityKey, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('SignalIdentityKeyStoresData(') ..write('deviceId: $deviceId, ') ..write('name: $name, ') ..write('identityKey: $identityKey, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash( deviceId, name, $driftBlobEquality.hash(identityKey), createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is SignalIdentityKeyStoresData && other.deviceId == this.deviceId && other.name == this.name && $driftBlobEquality.equals(other.identityKey, this.identityKey) && other.createdAt == this.createdAt); } class SignalIdentityKeyStoresCompanion extends UpdateCompanion { final Value deviceId; final Value name; final Value identityKey; final Value createdAt; final Value rowid; const SignalIdentityKeyStoresCompanion({ this.deviceId = const Value.absent(), this.name = const Value.absent(), this.identityKey = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); SignalIdentityKeyStoresCompanion.insert({ required int deviceId, required String name, required i2.Uint8List identityKey, this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }) : deviceId = Value(deviceId), name = Value(name), identityKey = Value(identityKey); static Insertable custom({ Expression? deviceId, Expression? name, Expression? identityKey, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (deviceId != null) 'device_id': deviceId, if (name != null) 'name': name, if (identityKey != null) 'identity_key': identityKey, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); } SignalIdentityKeyStoresCompanion copyWith( {Value? deviceId, Value? name, Value? identityKey, Value? createdAt, Value? rowid}) { return SignalIdentityKeyStoresCompanion( deviceId: deviceId ?? this.deviceId, name: name ?? this.name, identityKey: identityKey ?? this.identityKey, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (deviceId.present) { map['device_id'] = Variable(deviceId.value); } if (name.present) { map['name'] = Variable(name.value); } if (identityKey.present) { map['identity_key'] = Variable(identityKey.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('SignalIdentityKeyStoresCompanion(') ..write('deviceId: $deviceId, ') ..write('name: $name, ') ..write('identityKey: $identityKey, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class SignalPreKeyStores extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; SignalPreKeyStores(this.attachedDatabase, [this._alias]); late final GeneratedColumn preKeyId = GeneratedColumn( 'pre_key_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL'); late final GeneratedColumn preKey = GeneratedColumn('pre_key', aliasedName, false, type: DriftSqlType.blob, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [preKeyId, preKey, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'signal_pre_key_stores'; @override Set get $primaryKey => {preKeyId}; @override SignalPreKeyStoresData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return SignalPreKeyStoresData( preKeyId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}pre_key_id'])!, preKey: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}pre_key'])!, createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override SignalPreKeyStores createAlias(String alias) { return SignalPreKeyStores(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(pre_key_id)']; @override bool get dontWriteConstraints => true; } class SignalPreKeyStoresData extends DataClass implements Insertable { final int preKeyId; final i2.Uint8List preKey; final int createdAt; const SignalPreKeyStoresData( {required this.preKeyId, required this.preKey, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['pre_key_id'] = Variable(preKeyId); map['pre_key'] = Variable(preKey); map['created_at'] = Variable(createdAt); return map; } SignalPreKeyStoresCompanion toCompanion(bool nullToAbsent) { return SignalPreKeyStoresCompanion( preKeyId: Value(preKeyId), preKey: Value(preKey), createdAt: Value(createdAt), ); } factory SignalPreKeyStoresData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return SignalPreKeyStoresData( preKeyId: serializer.fromJson(json['preKeyId']), preKey: serializer.fromJson(json['preKey']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'preKeyId': serializer.toJson(preKeyId), 'preKey': serializer.toJson(preKey), 'createdAt': serializer.toJson(createdAt), }; } SignalPreKeyStoresData copyWith( {int? preKeyId, i2.Uint8List? preKey, int? createdAt}) => SignalPreKeyStoresData( preKeyId: preKeyId ?? this.preKeyId, preKey: preKey ?? this.preKey, createdAt: createdAt ?? this.createdAt, ); SignalPreKeyStoresData copyWithCompanion(SignalPreKeyStoresCompanion data) { return SignalPreKeyStoresData( preKeyId: data.preKeyId.present ? data.preKeyId.value : this.preKeyId, preKey: data.preKey.present ? data.preKey.value : this.preKey, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('SignalPreKeyStoresData(') ..write('preKeyId: $preKeyId, ') ..write('preKey: $preKey, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash(preKeyId, $driftBlobEquality.hash(preKey), createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is SignalPreKeyStoresData && other.preKeyId == this.preKeyId && $driftBlobEquality.equals(other.preKey, this.preKey) && other.createdAt == this.createdAt); } class SignalPreKeyStoresCompanion extends UpdateCompanion { final Value preKeyId; final Value preKey; final Value createdAt; const SignalPreKeyStoresCompanion({ this.preKeyId = const Value.absent(), this.preKey = const Value.absent(), this.createdAt = const Value.absent(), }); SignalPreKeyStoresCompanion.insert({ this.preKeyId = const Value.absent(), required i2.Uint8List preKey, this.createdAt = const Value.absent(), }) : preKey = Value(preKey); static Insertable custom({ Expression? preKeyId, Expression? preKey, Expression? createdAt, }) { return RawValuesInsertable({ if (preKeyId != null) 'pre_key_id': preKeyId, if (preKey != null) 'pre_key': preKey, if (createdAt != null) 'created_at': createdAt, }); } SignalPreKeyStoresCompanion copyWith( {Value? preKeyId, Value? preKey, Value? createdAt}) { return SignalPreKeyStoresCompanion( preKeyId: preKeyId ?? this.preKeyId, preKey: preKey ?? this.preKey, createdAt: createdAt ?? this.createdAt, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (preKeyId.present) { map['pre_key_id'] = Variable(preKeyId.value); } if (preKey.present) { map['pre_key'] = Variable(preKey.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } return map; } @override String toString() { return (StringBuffer('SignalPreKeyStoresCompanion(') ..write('preKeyId: $preKeyId, ') ..write('preKey: $preKey, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } } class SignalSenderKeyStores extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; SignalSenderKeyStores(this.attachedDatabase, [this._alias]); late final GeneratedColumn senderKeyName = GeneratedColumn( 'sender_key_name', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn senderKey = GeneratedColumn('sender_key', aliasedName, false, type: DriftSqlType.blob, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); @override List get $columns => [senderKeyName, senderKey]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'signal_sender_key_stores'; @override Set get $primaryKey => {senderKeyName}; @override SignalSenderKeyStoresData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return SignalSenderKeyStoresData( senderKeyName: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}sender_key_name'])!, senderKey: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}sender_key'])!, ); } @override SignalSenderKeyStores createAlias(String alias) { return SignalSenderKeyStores(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(sender_key_name)']; @override bool get dontWriteConstraints => true; } class SignalSenderKeyStoresData extends DataClass implements Insertable { final String senderKeyName; final i2.Uint8List senderKey; const SignalSenderKeyStoresData( {required this.senderKeyName, required this.senderKey}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['sender_key_name'] = Variable(senderKeyName); map['sender_key'] = Variable(senderKey); return map; } SignalSenderKeyStoresCompanion toCompanion(bool nullToAbsent) { return SignalSenderKeyStoresCompanion( senderKeyName: Value(senderKeyName), senderKey: Value(senderKey), ); } factory SignalSenderKeyStoresData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return SignalSenderKeyStoresData( senderKeyName: serializer.fromJson(json['senderKeyName']), senderKey: serializer.fromJson(json['senderKey']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'senderKeyName': serializer.toJson(senderKeyName), 'senderKey': serializer.toJson(senderKey), }; } SignalSenderKeyStoresData copyWith( {String? senderKeyName, i2.Uint8List? senderKey}) => SignalSenderKeyStoresData( senderKeyName: senderKeyName ?? this.senderKeyName, senderKey: senderKey ?? this.senderKey, ); SignalSenderKeyStoresData copyWithCompanion( SignalSenderKeyStoresCompanion data) { return SignalSenderKeyStoresData( senderKeyName: data.senderKeyName.present ? data.senderKeyName.value : this.senderKeyName, senderKey: data.senderKey.present ? data.senderKey.value : this.senderKey, ); } @override String toString() { return (StringBuffer('SignalSenderKeyStoresData(') ..write('senderKeyName: $senderKeyName, ') ..write('senderKey: $senderKey') ..write(')')) .toString(); } @override int get hashCode => Object.hash(senderKeyName, $driftBlobEquality.hash(senderKey)); @override bool operator ==(Object other) => identical(this, other) || (other is SignalSenderKeyStoresData && other.senderKeyName == this.senderKeyName && $driftBlobEquality.equals(other.senderKey, this.senderKey)); } class SignalSenderKeyStoresCompanion extends UpdateCompanion { final Value senderKeyName; final Value senderKey; final Value rowid; const SignalSenderKeyStoresCompanion({ this.senderKeyName = const Value.absent(), this.senderKey = const Value.absent(), this.rowid = const Value.absent(), }); SignalSenderKeyStoresCompanion.insert({ required String senderKeyName, required i2.Uint8List senderKey, this.rowid = const Value.absent(), }) : senderKeyName = Value(senderKeyName), senderKey = Value(senderKey); static Insertable custom({ Expression? senderKeyName, Expression? senderKey, Expression? rowid, }) { return RawValuesInsertable({ if (senderKeyName != null) 'sender_key_name': senderKeyName, if (senderKey != null) 'sender_key': senderKey, if (rowid != null) 'rowid': rowid, }); } SignalSenderKeyStoresCompanion copyWith( {Value? senderKeyName, Value? senderKey, Value? rowid}) { return SignalSenderKeyStoresCompanion( senderKeyName: senderKeyName ?? this.senderKeyName, senderKey: senderKey ?? this.senderKey, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (senderKeyName.present) { map['sender_key_name'] = Variable(senderKeyName.value); } if (senderKey.present) { map['sender_key'] = Variable(senderKey.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('SignalSenderKeyStoresCompanion(') ..write('senderKeyName: $senderKeyName, ') ..write('senderKey: $senderKey, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class SignalSessionStores extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; SignalSessionStores(this.attachedDatabase, [this._alias]); late final GeneratedColumn deviceId = GeneratedColumn( 'device_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn name = GeneratedColumn( 'name', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn sessionRecord = GeneratedColumn('session_record', aliasedName, false, type: DriftSqlType.blob, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [deviceId, name, sessionRecord, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'signal_session_stores'; @override Set get $primaryKey => {deviceId, name}; @override SignalSessionStoresData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return SignalSessionStoresData( deviceId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}device_id'])!, name: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}name'])!, sessionRecord: attachedDatabase.typeMapping .read(DriftSqlType.blob, data['${effectivePrefix}session_record'])!, createdAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}created_at'])!, ); } @override SignalSessionStores createAlias(String alias) { return SignalSessionStores(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(device_id, name)']; @override bool get dontWriteConstraints => true; } class SignalSessionStoresData extends DataClass implements Insertable { final int deviceId; final String name; final i2.Uint8List sessionRecord; final int createdAt; const SignalSessionStoresData( {required this.deviceId, required this.name, required this.sessionRecord, required this.createdAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['device_id'] = Variable(deviceId); map['name'] = Variable(name); map['session_record'] = Variable(sessionRecord); map['created_at'] = Variable(createdAt); return map; } SignalSessionStoresCompanion toCompanion(bool nullToAbsent) { return SignalSessionStoresCompanion( deviceId: Value(deviceId), name: Value(name), sessionRecord: Value(sessionRecord), createdAt: Value(createdAt), ); } factory SignalSessionStoresData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return SignalSessionStoresData( deviceId: serializer.fromJson(json['deviceId']), name: serializer.fromJson(json['name']), sessionRecord: serializer.fromJson(json['sessionRecord']), createdAt: serializer.fromJson(json['createdAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'deviceId': serializer.toJson(deviceId), 'name': serializer.toJson(name), 'sessionRecord': serializer.toJson(sessionRecord), 'createdAt': serializer.toJson(createdAt), }; } SignalSessionStoresData copyWith( {int? deviceId, String? name, i2.Uint8List? sessionRecord, int? createdAt}) => SignalSessionStoresData( deviceId: deviceId ?? this.deviceId, name: name ?? this.name, sessionRecord: sessionRecord ?? this.sessionRecord, createdAt: createdAt ?? this.createdAt, ); SignalSessionStoresData copyWithCompanion(SignalSessionStoresCompanion data) { return SignalSessionStoresData( deviceId: data.deviceId.present ? data.deviceId.value : this.deviceId, name: data.name.present ? data.name.value : this.name, sessionRecord: data.sessionRecord.present ? data.sessionRecord.value : this.sessionRecord, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @override String toString() { return (StringBuffer('SignalSessionStoresData(') ..write('deviceId: $deviceId, ') ..write('name: $name, ') ..write('sessionRecord: $sessionRecord, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash( deviceId, name, $driftBlobEquality.hash(sessionRecord), createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is SignalSessionStoresData && other.deviceId == this.deviceId && other.name == this.name && $driftBlobEquality.equals(other.sessionRecord, this.sessionRecord) && other.createdAt == this.createdAt); } class SignalSessionStoresCompanion extends UpdateCompanion { final Value deviceId; final Value name; final Value sessionRecord; final Value createdAt; final Value rowid; const SignalSessionStoresCompanion({ this.deviceId = const Value.absent(), this.name = const Value.absent(), this.sessionRecord = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); SignalSessionStoresCompanion.insert({ required int deviceId, required String name, required i2.Uint8List sessionRecord, this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }) : deviceId = Value(deviceId), name = Value(name), sessionRecord = Value(sessionRecord); static Insertable custom({ Expression? deviceId, Expression? name, Expression? sessionRecord, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (deviceId != null) 'device_id': deviceId, if (name != null) 'name': name, if (sessionRecord != null) 'session_record': sessionRecord, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); } SignalSessionStoresCompanion copyWith( {Value? deviceId, Value? name, Value? sessionRecord, Value? createdAt, Value? rowid}) { return SignalSessionStoresCompanion( deviceId: deviceId ?? this.deviceId, name: name ?? this.name, sessionRecord: sessionRecord ?? this.sessionRecord, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (deviceId.present) { map['device_id'] = Variable(deviceId.value); } if (name.present) { map['name'] = Variable(name.value); } if (sessionRecord.present) { map['session_record'] = Variable(sessionRecord.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('SignalSessionStoresCompanion(') ..write('deviceId: $deviceId, ') ..write('name: $name, ') ..write('sessionRecord: $sessionRecord, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class MessageActions extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; MessageActions(this.attachedDatabase, [this._alias]); late final GeneratedColumn messageId = GeneratedColumn( 'message_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES messages(message_id)ON DELETE CASCADE'); late final GeneratedColumn contactId = GeneratedColumn( 'contact_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES contacts(user_id)ON DELETE CASCADE'); late final GeneratedColumn type = GeneratedColumn( 'type', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn actionAt = GeneratedColumn( 'action_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [messageId, contactId, type, actionAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'message_actions'; @override Set get $primaryKey => {messageId, contactId, type}; @override MessageActionsData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return MessageActionsData( messageId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}message_id'])!, contactId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}contact_id'])!, type: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}type'])!, actionAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}action_at'])!, ); } @override MessageActions createAlias(String alias) { return MessageActions(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(message_id, contact_id, type)']; @override bool get dontWriteConstraints => true; } class MessageActionsData extends DataClass implements Insertable { final String messageId; final int contactId; final String type; final int actionAt; const MessageActionsData( {required this.messageId, required this.contactId, required this.type, required this.actionAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['message_id'] = Variable(messageId); map['contact_id'] = Variable(contactId); map['type'] = Variable(type); map['action_at'] = Variable(actionAt); return map; } MessageActionsCompanion toCompanion(bool nullToAbsent) { return MessageActionsCompanion( messageId: Value(messageId), contactId: Value(contactId), type: Value(type), actionAt: Value(actionAt), ); } factory MessageActionsData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return MessageActionsData( messageId: serializer.fromJson(json['messageId']), contactId: serializer.fromJson(json['contactId']), type: serializer.fromJson(json['type']), actionAt: serializer.fromJson(json['actionAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'messageId': serializer.toJson(messageId), 'contactId': serializer.toJson(contactId), 'type': serializer.toJson(type), 'actionAt': serializer.toJson(actionAt), }; } MessageActionsData copyWith( {String? messageId, int? contactId, String? type, int? actionAt}) => MessageActionsData( messageId: messageId ?? this.messageId, contactId: contactId ?? this.contactId, type: type ?? this.type, actionAt: actionAt ?? this.actionAt, ); MessageActionsData copyWithCompanion(MessageActionsCompanion data) { return MessageActionsData( messageId: data.messageId.present ? data.messageId.value : this.messageId, contactId: data.contactId.present ? data.contactId.value : this.contactId, type: data.type.present ? data.type.value : this.type, actionAt: data.actionAt.present ? data.actionAt.value : this.actionAt, ); } @override String toString() { return (StringBuffer('MessageActionsData(') ..write('messageId: $messageId, ') ..write('contactId: $contactId, ') ..write('type: $type, ') ..write('actionAt: $actionAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash(messageId, contactId, type, actionAt); @override bool operator ==(Object other) => identical(this, other) || (other is MessageActionsData && other.messageId == this.messageId && other.contactId == this.contactId && other.type == this.type && other.actionAt == this.actionAt); } class MessageActionsCompanion extends UpdateCompanion { final Value messageId; final Value contactId; final Value type; final Value actionAt; final Value rowid; const MessageActionsCompanion({ this.messageId = const Value.absent(), this.contactId = const Value.absent(), this.type = const Value.absent(), this.actionAt = const Value.absent(), this.rowid = const Value.absent(), }); MessageActionsCompanion.insert({ required String messageId, required int contactId, required String type, this.actionAt = const Value.absent(), this.rowid = const Value.absent(), }) : messageId = Value(messageId), contactId = Value(contactId), type = Value(type); static Insertable custom({ Expression? messageId, Expression? contactId, Expression? type, Expression? actionAt, Expression? rowid, }) { return RawValuesInsertable({ if (messageId != null) 'message_id': messageId, if (contactId != null) 'contact_id': contactId, if (type != null) 'type': type, if (actionAt != null) 'action_at': actionAt, if (rowid != null) 'rowid': rowid, }); } MessageActionsCompanion copyWith( {Value? messageId, Value? contactId, Value? type, Value? actionAt, Value? rowid}) { return MessageActionsCompanion( messageId: messageId ?? this.messageId, contactId: contactId ?? this.contactId, type: type ?? this.type, actionAt: actionAt ?? this.actionAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (messageId.present) { map['message_id'] = Variable(messageId.value); } if (contactId.present) { map['contact_id'] = Variable(contactId.value); } if (type.present) { map['type'] = Variable(type.value); } if (actionAt.present) { map['action_at'] = Variable(actionAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('MessageActionsCompanion(') ..write('messageId: $messageId, ') ..write('contactId: $contactId, ') ..write('type: $type, ') ..write('actionAt: $actionAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class GroupHistories extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; GroupHistories(this.attachedDatabase, [this._alias]); late final GeneratedColumn groupHistoryId = GeneratedColumn( 'group_history_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn groupId = GeneratedColumn( 'group_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL REFERENCES "groups"(group_id)ON DELETE CASCADE'); late final GeneratedColumn contactId = GeneratedColumn( 'contact_id', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL REFERENCES contacts(user_id)'); late final GeneratedColumn affectedContactId = GeneratedColumn( 'affected_contact_id', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn oldGroupName = GeneratedColumn( 'old_group_name', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn newGroupName = GeneratedColumn( 'new_group_name', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn newDeleteMessagesAfterMilliseconds = GeneratedColumn( 'new_delete_messages_after_milliseconds', aliasedName, true, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NULL'); late final GeneratedColumn type = GeneratedColumn( 'type', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL'); late final GeneratedColumn actionAt = GeneratedColumn( 'action_at', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT (CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER))', defaultValue: const CustomExpression( 'CAST(strftime(\'%s\', CURRENT_TIMESTAMP) AS INTEGER)')); @override List get $columns => [ groupHistoryId, groupId, contactId, affectedContactId, oldGroupName, newGroupName, newDeleteMessagesAfterMilliseconds, type, actionAt ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'group_histories'; @override Set get $primaryKey => {groupHistoryId}; @override GroupHistoriesData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return GroupHistoriesData( groupHistoryId: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}group_history_id'])!, groupId: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}group_id'])!, contactId: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}contact_id']), affectedContactId: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}affected_contact_id']), oldGroupName: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}old_group_name']), newGroupName: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}new_group_name']), newDeleteMessagesAfterMilliseconds: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}new_delete_messages_after_milliseconds']), type: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}type'])!, actionAt: attachedDatabase.typeMapping .read(DriftSqlType.int, data['${effectivePrefix}action_at'])!, ); } @override GroupHistories createAlias(String alias) { return GroupHistories(attachedDatabase, alias); } @override List get customConstraints => const ['PRIMARY KEY(group_history_id)']; @override bool get dontWriteConstraints => true; } class GroupHistoriesData extends DataClass implements Insertable { final String groupHistoryId; final String groupId; final int? contactId; final int? affectedContactId; final String? oldGroupName; final String? newGroupName; final int? newDeleteMessagesAfterMilliseconds; final String type; final int actionAt; const GroupHistoriesData( {required this.groupHistoryId, required this.groupId, this.contactId, this.affectedContactId, this.oldGroupName, this.newGroupName, this.newDeleteMessagesAfterMilliseconds, required this.type, required this.actionAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['group_history_id'] = Variable(groupHistoryId); map['group_id'] = Variable(groupId); if (!nullToAbsent || contactId != null) { map['contact_id'] = Variable(contactId); } if (!nullToAbsent || affectedContactId != null) { map['affected_contact_id'] = Variable(affectedContactId); } if (!nullToAbsent || oldGroupName != null) { map['old_group_name'] = Variable(oldGroupName); } if (!nullToAbsent || newGroupName != null) { map['new_group_name'] = Variable(newGroupName); } if (!nullToAbsent || newDeleteMessagesAfterMilliseconds != null) { map['new_delete_messages_after_milliseconds'] = Variable(newDeleteMessagesAfterMilliseconds); } map['type'] = Variable(type); map['action_at'] = Variable(actionAt); return map; } GroupHistoriesCompanion toCompanion(bool nullToAbsent) { return GroupHistoriesCompanion( groupHistoryId: Value(groupHistoryId), groupId: Value(groupId), contactId: contactId == null && nullToAbsent ? const Value.absent() : Value(contactId), affectedContactId: affectedContactId == null && nullToAbsent ? const Value.absent() : Value(affectedContactId), oldGroupName: oldGroupName == null && nullToAbsent ? const Value.absent() : Value(oldGroupName), newGroupName: newGroupName == null && nullToAbsent ? const Value.absent() : Value(newGroupName), newDeleteMessagesAfterMilliseconds: newDeleteMessagesAfterMilliseconds == null && nullToAbsent ? const Value.absent() : Value(newDeleteMessagesAfterMilliseconds), type: Value(type), actionAt: Value(actionAt), ); } factory GroupHistoriesData.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return GroupHistoriesData( groupHistoryId: serializer.fromJson(json['groupHistoryId']), groupId: serializer.fromJson(json['groupId']), contactId: serializer.fromJson(json['contactId']), affectedContactId: serializer.fromJson(json['affectedContactId']), oldGroupName: serializer.fromJson(json['oldGroupName']), newGroupName: serializer.fromJson(json['newGroupName']), newDeleteMessagesAfterMilliseconds: serializer.fromJson(json['newDeleteMessagesAfterMilliseconds']), type: serializer.fromJson(json['type']), actionAt: serializer.fromJson(json['actionAt']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'groupHistoryId': serializer.toJson(groupHistoryId), 'groupId': serializer.toJson(groupId), 'contactId': serializer.toJson(contactId), 'affectedContactId': serializer.toJson(affectedContactId), 'oldGroupName': serializer.toJson(oldGroupName), 'newGroupName': serializer.toJson(newGroupName), 'newDeleteMessagesAfterMilliseconds': serializer.toJson(newDeleteMessagesAfterMilliseconds), 'type': serializer.toJson(type), 'actionAt': serializer.toJson(actionAt), }; } GroupHistoriesData copyWith( {String? groupHistoryId, String? groupId, Value contactId = const Value.absent(), Value affectedContactId = const Value.absent(), Value oldGroupName = const Value.absent(), Value newGroupName = const Value.absent(), Value newDeleteMessagesAfterMilliseconds = const Value.absent(), String? type, int? actionAt}) => GroupHistoriesData( groupHistoryId: groupHistoryId ?? this.groupHistoryId, groupId: groupId ?? this.groupId, contactId: contactId.present ? contactId.value : this.contactId, affectedContactId: affectedContactId.present ? affectedContactId.value : this.affectedContactId, oldGroupName: oldGroupName.present ? oldGroupName.value : this.oldGroupName, newGroupName: newGroupName.present ? newGroupName.value : this.newGroupName, newDeleteMessagesAfterMilliseconds: newDeleteMessagesAfterMilliseconds.present ? newDeleteMessagesAfterMilliseconds.value : this.newDeleteMessagesAfterMilliseconds, type: type ?? this.type, actionAt: actionAt ?? this.actionAt, ); GroupHistoriesData copyWithCompanion(GroupHistoriesCompanion data) { return GroupHistoriesData( groupHistoryId: data.groupHistoryId.present ? data.groupHistoryId.value : this.groupHistoryId, groupId: data.groupId.present ? data.groupId.value : this.groupId, contactId: data.contactId.present ? data.contactId.value : this.contactId, affectedContactId: data.affectedContactId.present ? data.affectedContactId.value : this.affectedContactId, oldGroupName: data.oldGroupName.present ? data.oldGroupName.value : this.oldGroupName, newGroupName: data.newGroupName.present ? data.newGroupName.value : this.newGroupName, newDeleteMessagesAfterMilliseconds: data.newDeleteMessagesAfterMilliseconds.present ? data.newDeleteMessagesAfterMilliseconds.value : this.newDeleteMessagesAfterMilliseconds, type: data.type.present ? data.type.value : this.type, actionAt: data.actionAt.present ? data.actionAt.value : this.actionAt, ); } @override String toString() { return (StringBuffer('GroupHistoriesData(') ..write('groupHistoryId: $groupHistoryId, ') ..write('groupId: $groupId, ') ..write('contactId: $contactId, ') ..write('affectedContactId: $affectedContactId, ') ..write('oldGroupName: $oldGroupName, ') ..write('newGroupName: $newGroupName, ') ..write( 'newDeleteMessagesAfterMilliseconds: $newDeleteMessagesAfterMilliseconds, ') ..write('type: $type, ') ..write('actionAt: $actionAt') ..write(')')) .toString(); } @override int get hashCode => Object.hash( groupHistoryId, groupId, contactId, affectedContactId, oldGroupName, newGroupName, newDeleteMessagesAfterMilliseconds, type, actionAt); @override bool operator ==(Object other) => identical(this, other) || (other is GroupHistoriesData && other.groupHistoryId == this.groupHistoryId && other.groupId == this.groupId && other.contactId == this.contactId && other.affectedContactId == this.affectedContactId && other.oldGroupName == this.oldGroupName && other.newGroupName == this.newGroupName && other.newDeleteMessagesAfterMilliseconds == this.newDeleteMessagesAfterMilliseconds && other.type == this.type && other.actionAt == this.actionAt); } class GroupHistoriesCompanion extends UpdateCompanion { final Value groupHistoryId; final Value groupId; final Value contactId; final Value affectedContactId; final Value oldGroupName; final Value newGroupName; final Value newDeleteMessagesAfterMilliseconds; final Value type; final Value actionAt; final Value rowid; const GroupHistoriesCompanion({ this.groupHistoryId = const Value.absent(), this.groupId = const Value.absent(), this.contactId = const Value.absent(), this.affectedContactId = const Value.absent(), this.oldGroupName = const Value.absent(), this.newGroupName = const Value.absent(), this.newDeleteMessagesAfterMilliseconds = const Value.absent(), this.type = const Value.absent(), this.actionAt = const Value.absent(), this.rowid = const Value.absent(), }); GroupHistoriesCompanion.insert({ required String groupHistoryId, required String groupId, this.contactId = const Value.absent(), this.affectedContactId = const Value.absent(), this.oldGroupName = const Value.absent(), this.newGroupName = const Value.absent(), this.newDeleteMessagesAfterMilliseconds = const Value.absent(), required String type, this.actionAt = const Value.absent(), this.rowid = const Value.absent(), }) : groupHistoryId = Value(groupHistoryId), groupId = Value(groupId), type = Value(type); static Insertable custom({ Expression? groupHistoryId, Expression? groupId, Expression? contactId, Expression? affectedContactId, Expression? oldGroupName, Expression? newGroupName, Expression? newDeleteMessagesAfterMilliseconds, Expression? type, Expression? actionAt, Expression? rowid, }) { return RawValuesInsertable({ if (groupHistoryId != null) 'group_history_id': groupHistoryId, if (groupId != null) 'group_id': groupId, if (contactId != null) 'contact_id': contactId, if (affectedContactId != null) 'affected_contact_id': affectedContactId, if (oldGroupName != null) 'old_group_name': oldGroupName, if (newGroupName != null) 'new_group_name': newGroupName, if (newDeleteMessagesAfterMilliseconds != null) 'new_delete_messages_after_milliseconds': newDeleteMessagesAfterMilliseconds, if (type != null) 'type': type, if (actionAt != null) 'action_at': actionAt, if (rowid != null) 'rowid': rowid, }); } GroupHistoriesCompanion copyWith( {Value? groupHistoryId, Value? groupId, Value? contactId, Value? affectedContactId, Value? oldGroupName, Value? newGroupName, Value? newDeleteMessagesAfterMilliseconds, Value? type, Value? actionAt, Value? rowid}) { return GroupHistoriesCompanion( groupHistoryId: groupHistoryId ?? this.groupHistoryId, groupId: groupId ?? this.groupId, contactId: contactId ?? this.contactId, affectedContactId: affectedContactId ?? this.affectedContactId, oldGroupName: oldGroupName ?? this.oldGroupName, newGroupName: newGroupName ?? this.newGroupName, newDeleteMessagesAfterMilliseconds: newDeleteMessagesAfterMilliseconds ?? this.newDeleteMessagesAfterMilliseconds, type: type ?? this.type, actionAt: actionAt ?? this.actionAt, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (groupHistoryId.present) { map['group_history_id'] = Variable(groupHistoryId.value); } if (groupId.present) { map['group_id'] = Variable(groupId.value); } if (contactId.present) { map['contact_id'] = Variable(contactId.value); } if (affectedContactId.present) { map['affected_contact_id'] = Variable(affectedContactId.value); } if (oldGroupName.present) { map['old_group_name'] = Variable(oldGroupName.value); } if (newGroupName.present) { map['new_group_name'] = Variable(newGroupName.value); } if (newDeleteMessagesAfterMilliseconds.present) { map['new_delete_messages_after_milliseconds'] = Variable(newDeleteMessagesAfterMilliseconds.value); } if (type.present) { map['type'] = Variable(type.value); } if (actionAt.present) { map['action_at'] = Variable(actionAt.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('GroupHistoriesCompanion(') ..write('groupHistoryId: $groupHistoryId, ') ..write('groupId: $groupId, ') ..write('contactId: $contactId, ') ..write('affectedContactId: $affectedContactId, ') ..write('oldGroupName: $oldGroupName, ') ..write('newGroupName: $newGroupName, ') ..write( 'newDeleteMessagesAfterMilliseconds: $newDeleteMessagesAfterMilliseconds, ') ..write('type: $type, ') ..write('actionAt: $actionAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class DatabaseAtV8 extends GeneratedDatabase { DatabaseAtV8(QueryExecutor e) : super(e); late final Contacts contacts = Contacts(this); late final Groups groups = Groups(this); late final MediaFiles mediaFiles = MediaFiles(this); late final Messages messages = Messages(this); late final MessageHistories messageHistories = MessageHistories(this); late final Reactions reactions = Reactions(this); late final GroupMembers groupMembers = GroupMembers(this); late final Receipts receipts = Receipts(this); late final ReceivedReceipts receivedReceipts = ReceivedReceipts(this); late final SignalIdentityKeyStores signalIdentityKeyStores = SignalIdentityKeyStores(this); late final SignalPreKeyStores signalPreKeyStores = SignalPreKeyStores(this); late final SignalSenderKeyStores signalSenderKeyStores = SignalSenderKeyStores(this); late final SignalSessionStores signalSessionStores = SignalSessionStores(this); late final MessageActions messageActions = MessageActions(this); late final GroupHistories groupHistories = GroupHistories(this); @override Iterable> get allTables => allSchemaEntities.whereType>(); @override List get allSchemaEntities => [ contacts, groups, mediaFiles, messages, messageHistories, reactions, groupMembers, receipts, receivedReceipts, signalIdentityKeyStores, signalPreKeyStores, signalSenderKeyStores, signalSessionStores, messageActions, groupHistories ]; @override StreamQueryUpdateRules get streamUpdateRules => const StreamQueryUpdateRules( [ WritePropagation( on: TableUpdateQuery.onTableName('groups', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('messages', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('media_files', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('messages', kind: UpdateKind.update), ], ), WritePropagation( on: TableUpdateQuery.onTableName('messages', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('message_histories', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('contacts', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('message_histories', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('messages', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('reactions', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('contacts', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('reactions', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('groups', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('group_members', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('contacts', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('receipts', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('messages', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('receipts', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('messages', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('message_actions', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('contacts', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('message_actions', kind: UpdateKind.delete), ], ), WritePropagation( on: TableUpdateQuery.onTableName('groups', limitUpdateKind: UpdateKind.delete), result: [ TableUpdate('group_histories', kind: UpdateKind.delete), ], ), ], ); @override int get schemaVersion => 8; }