2024-06-23 04:29:07 +00:00
|
|
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
|
|
|
|
|
|
part of 'history.dart';
|
|
|
|
|
|
|
|
// **************************************************************************
|
|
|
|
// FloorGenerator
|
|
|
|
// **************************************************************************
|
|
|
|
|
|
|
|
abstract class $MessageHistoryDbBuilderContract {
|
|
|
|
/// Adds migrations to the builder.
|
|
|
|
$MessageHistoryDbBuilderContract addMigrations(List<Migration> migrations);
|
|
|
|
|
|
|
|
/// Adds a database [Callback] to the builder.
|
|
|
|
$MessageHistoryDbBuilderContract addCallback(Callback callback);
|
|
|
|
|
|
|
|
/// Creates the database and initializes it.
|
|
|
|
Future<MessageHistoryDb> 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<Migration> _migrations = [];
|
|
|
|
|
|
|
|
Callback? _callback;
|
|
|
|
|
|
|
|
@override
|
|
|
|
$MessageHistoryDbBuilderContract addMigrations(List<Migration> migrations) {
|
|
|
|
_migrations.addAll(migrations);
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
$MessageHistoryDbBuilderContract addCallback(Callback callback) {
|
|
|
|
_callback = callback;
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Future<MessageHistoryDb> 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<String>? listener]) {
|
|
|
|
changeListener = listener ?? StreamController<String>.broadcast();
|
|
|
|
}
|
|
|
|
|
|
|
|
LocalMessageDao? _localMessagesInstance;
|
|
|
|
|
|
|
|
Future<sqflite.Database> open(
|
|
|
|
String path,
|
|
|
|
List<Migration> migrations, [
|
|
|
|
Callback? callback,
|
|
|
|
]) async {
|
|
|
|
final databaseOptions = sqflite.OpenDatabaseOptions(
|
|
|
|
version: 1,
|
|
|
|
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 `LocalMessage` (`id` INTEGER NOT NULL, `data` TEXT NOT NULL, `channelId` INTEGER NOT NULL, PRIMARY KEY (`id`))');
|
|
|
|
|
|
|
|
await callback?.onCreate?.call(database, version);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
return sqfliteDatabaseFactory.openDatabase(path, options: databaseOptions);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
LocalMessageDao get localMessages {
|
|
|
|
return _localMessagesInstance ??=
|
|
|
|
_$LocalMessageDao(database, changeListener);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class _$LocalMessageDao extends LocalMessageDao {
|
|
|
|
_$LocalMessageDao(
|
|
|
|
this.database,
|
|
|
|
this.changeListener,
|
|
|
|
) : _queryAdapter = QueryAdapter(database),
|
|
|
|
_localMessageInsertionAdapter = InsertionAdapter(
|
|
|
|
database,
|
|
|
|
'LocalMessage',
|
2024-06-23 05:27:21 +00:00
|
|
|
(LocalMessage item) => <String, Object?>{
|
|
|
|
'id': item.id,
|
|
|
|
'data': _remoteMessageConverter.encode(item.data),
|
|
|
|
'channelId': item.channelId
|
|
|
|
}),
|
|
|
|
_localMessageUpdateAdapter = UpdateAdapter(
|
|
|
|
database,
|
|
|
|
'LocalMessage',
|
|
|
|
['id'],
|
2024-06-23 04:29:07 +00:00
|
|
|
(LocalMessage item) => <String, Object?>{
|
|
|
|
'id': item.id,
|
|
|
|
'data': _remoteMessageConverter.encode(item.data),
|
|
|
|
'channelId': item.channelId
|
|
|
|
});
|
|
|
|
|
|
|
|
final sqflite.DatabaseExecutor database;
|
|
|
|
|
|
|
|
final StreamController<String> changeListener;
|
|
|
|
|
|
|
|
final QueryAdapter _queryAdapter;
|
|
|
|
|
|
|
|
final InsertionAdapter<LocalMessage> _localMessageInsertionAdapter;
|
|
|
|
|
2024-06-23 05:27:21 +00:00
|
|
|
final UpdateAdapter<LocalMessage> _localMessageUpdateAdapter;
|
|
|
|
|
|
|
|
@override
|
|
|
|
Future<int?> countByChannel(int channelId) async {
|
|
|
|
return _queryAdapter.query(
|
|
|
|
'SELECT COUNT(id) FROM LocalMessage WHERE channelId = ?1',
|
|
|
|
mapper: (Map<String, Object?> row) => row.values.first as int,
|
|
|
|
arguments: [channelId]);
|
|
|
|
}
|
|
|
|
|
2024-06-23 04:29:07 +00:00
|
|
|
@override
|
|
|
|
Future<List<LocalMessage>> findAllByChannel(int channelId) async {
|
|
|
|
return _queryAdapter.queryList(
|
2024-06-23 05:27:21 +00:00
|
|
|
'SELECT * FROM LocalMessage WHERE channelId = ?1 ORDER BY id DESC',
|
|
|
|
mapper: (Map<String, Object?> row) => LocalMessage(
|
|
|
|
row['id'] as int,
|
|
|
|
_remoteMessageConverter.decode(row['data'] as String),
|
|
|
|
row['channelId'] as int),
|
|
|
|
arguments: [channelId]);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Future<LocalMessage?> findLastByChannel(int channelId) async {
|
|
|
|
return _queryAdapter.query(
|
|
|
|
'SELECT * FROM LocalMessage WHERE channelId = ?1 ORDER BY id DESC LIMIT 1',
|
|
|
|
mapper: (Map<String, Object?> row) => LocalMessage(row['id'] as int, _remoteMessageConverter.decode(row['data'] as String), row['channelId'] as int),
|
|
|
|
arguments: [channelId]);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Future<void> delete(int id) async {
|
|
|
|
await _queryAdapter.queryNoReturn('DELETE FROM LocalMessage WHERE id = ?1',
|
|
|
|
arguments: [id]);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Future<List<LocalMessage>> deleteByChannel(int channelId) async {
|
|
|
|
return _queryAdapter.queryList(
|
|
|
|
'DELETE FROM LocalMessage WHERE channelId = ?1',
|
2024-06-23 04:29:07 +00:00
|
|
|
mapper: (Map<String, Object?> row) => LocalMessage(
|
|
|
|
row['id'] as int,
|
|
|
|
_remoteMessageConverter.decode(row['data'] as String),
|
|
|
|
row['channelId'] as int),
|
|
|
|
arguments: [channelId]);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Future<void> wipeLocalMessages() async {
|
2024-06-23 05:27:21 +00:00
|
|
|
await _queryAdapter.queryNoReturn('DELETE FROM LocalMessage');
|
2024-06-23 04:29:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Future<void> insert(LocalMessage m) async {
|
|
|
|
await _localMessageInsertionAdapter.insert(m, OnConflictStrategy.replace);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Future<void> insertBulk(List<LocalMessage> m) async {
|
|
|
|
await _localMessageInsertionAdapter.insertList(
|
|
|
|
m, OnConflictStrategy.replace);
|
|
|
|
}
|
2024-06-23 05:27:21 +00:00
|
|
|
|
|
|
|
@override
|
|
|
|
Future<void> update(LocalMessage person) async {
|
|
|
|
await _localMessageUpdateAdapter.update(person, OnConflictStrategy.replace);
|
|
|
|
}
|
2024-06-23 04:29:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// ignore_for_file: unused_element
|
|
|
|
final _remoteMessageConverter = RemoteMessageConverter();
|