// GENERATED CODE - DO NOT MODIFY BY HAND part of 'events.dart'; // ************************************************************************** // FloorGenerator // ************************************************************************** abstract class $MessageHistoryDbBuilderContract { /// Adds migrations to the builder. $MessageHistoryDbBuilderContract addMigrations(List migrations); /// Adds a database [Callback] to the builder. $MessageHistoryDbBuilderContract addCallback(Callback callback); /// Creates the database and initializes it. Future build(); } // ignore: avoid_classes_with_only_static_members class $FloorMessageHistoryDb { /// Creates a database builder for a persistent database. /// Once a database is built, you should keep a reference to it and re-use it. static $MessageHistoryDbBuilderContract databaseBuilder(String name) => _$MessageHistoryDbBuilder(name); /// Creates a database builder for an in memory database. /// Information stored in an in memory database disappears when the process is killed. /// Once a database is built, you should keep a reference to it and re-use it. static $MessageHistoryDbBuilderContract inMemoryDatabaseBuilder() => _$MessageHistoryDbBuilder(null); } class _$MessageHistoryDbBuilder implements $MessageHistoryDbBuilderContract { _$MessageHistoryDbBuilder(this.name); final String? name; final List _migrations = []; Callback? _callback; @override $MessageHistoryDbBuilderContract addMigrations(List migrations) { _migrations.addAll(migrations); return this; } @override $MessageHistoryDbBuilderContract addCallback(Callback callback) { _callback = callback; return this; } @override Future build() async { final path = name != null ? await sqfliteDatabaseFactory.getDatabasePath(name!) : ':memory:'; final database = _$MessageHistoryDb(); database.database = await database.open( path, _migrations, _callback, ); return database; } } class _$MessageHistoryDb extends MessageHistoryDb { _$MessageHistoryDb([StreamController? listener]) { changeListener = listener ?? StreamController.broadcast(); } LocalEventDao? _localEventsInstance; Future open( String path, List migrations, [ Callback? callback, ]) async { final databaseOptions = sqflite.OpenDatabaseOptions( version: 2, onConfigure: (database) async { await database.execute('PRAGMA foreign_keys = ON'); await callback?.onConfigure?.call(database); }, onOpen: (database) async { await callback?.onOpen?.call(database); }, onUpgrade: (database, startVersion, endVersion) async { await MigrationAdapter.runMigrations( database, startVersion, endVersion, migrations); await callback?.onUpgrade?.call(database, startVersion, endVersion); }, onCreate: (database, version) async { await database.execute( 'CREATE TABLE IF NOT EXISTS `LocalEvent` (`id` INTEGER NOT NULL, `data` TEXT NOT NULL, `channelId` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, PRIMARY KEY (`id`))'); await callback?.onCreate?.call(database, version); }, ); return sqfliteDatabaseFactory.openDatabase(path, options: databaseOptions); } @override LocalEventDao get localEvents { return _localEventsInstance ??= _$LocalEventDao(database, changeListener); } } class _$LocalEventDao extends LocalEventDao { _$LocalEventDao( this.database, this.changeListener, ) : _queryAdapter = QueryAdapter(database), _localEventInsertionAdapter = InsertionAdapter( database, 'LocalEvent', (LocalEvent item) => { 'id': item.id, 'data': _remoteEventConverter.encode(item.data), 'channelId': item.channelId, 'createdAt': _dateTimeConverter.encode(item.createdAt) }), _localEventUpdateAdapter = UpdateAdapter( database, 'LocalEvent', ['id'], (LocalEvent item) => { 'id': item.id, 'data': _remoteEventConverter.encode(item.data), 'channelId': item.channelId, 'createdAt': _dateTimeConverter.encode(item.createdAt) }); final sqflite.DatabaseExecutor database; final StreamController changeListener; final QueryAdapter _queryAdapter; final InsertionAdapter _localEventInsertionAdapter; final UpdateAdapter _localEventUpdateAdapter; @override Future countByChannel(int channelId) async { return _queryAdapter.query( 'SELECT COUNT(id) FROM LocalEvent WHERE channelId = ?1', mapper: (Map row) => row.values.first as int, arguments: [channelId]); } @override Future findById(int id) async { return _queryAdapter.query('SELECT * FROM LocalEvent WHERE id = ?1', mapper: (Map row) => LocalEvent( row['id'] as int, _remoteEventConverter.decode(row['data'] as String), row['channelId'] as int, _dateTimeConverter.decode(row['createdAt'] as int)), arguments: [id]); } @override Future> findAllByChannel(int channelId) async { return _queryAdapter.queryList( 'SELECT * FROM LocalEvent WHERE channelId = ?1 ORDER BY createdAt DESC', mapper: (Map row) => LocalEvent( row['id'] as int, _remoteEventConverter.decode(row['data'] as String), row['channelId'] as int, _dateTimeConverter.decode(row['createdAt'] as int)), arguments: [channelId]); } @override Future findLastByChannel(int channelId) async { return _queryAdapter.query( 'SELECT * FROM LocalEvent WHERE channelId = ?1 ORDER BY createdAt DESC LIMIT 1', mapper: (Map row) => LocalEvent(row['id'] as int, _remoteEventConverter.decode(row['data'] as String), row['channelId'] as int, _dateTimeConverter.decode(row['createdAt'] as int)), arguments: [channelId]); } @override Future delete(int id) async { await _queryAdapter .queryNoReturn('DELETE FROM LocalEvent WHERE id = ?1', arguments: [id]); } @override Future> deleteByChannel(int channelId) async { return _queryAdapter.queryList( 'DELETE FROM LocalEvent WHERE channelId = ?1', mapper: (Map row) => LocalEvent( row['id'] as int, _remoteEventConverter.decode(row['data'] as String), row['channelId'] as int, _dateTimeConverter.decode(row['createdAt'] as int)), arguments: [channelId]); } @override Future wipeLocalEvents() async { await _queryAdapter.queryNoReturn('DELETE FROM LocalEvent'); } @override Future insert(LocalEvent m) async { await _localEventInsertionAdapter.insert(m, OnConflictStrategy.replace); } @override Future insertBulk(List m) async { await _localEventInsertionAdapter.insertList(m, OnConflictStrategy.replace); } @override Future update(LocalEvent m) async { await _localEventUpdateAdapter.update(m, OnConflictStrategy.replace); } } // ignore_for_file: unused_element final _dateTimeConverter = DateTimeConverter(); final _remoteEventConverter = RemoteEventConverter();