Merge branch 'develop' into v4

This commit is contained in:
Salvatore Giordano
2022-01-25 11:40:02 +01:00
24 changed files with 333 additions and 232 deletions
View File
+4
View File
@@ -1,5 +1,9 @@
## Upcoming ## Upcoming
🔄 Changed
- `client.location` is now deprecated in favor of the new [edge server](https://getstream.io/blog/chat-edge-infrastructure) and will be removed in v4.0.0.
✅ Added ✅ Added
- Added `client.enrichUrl` endpoint for enriching URLs with metadata. - Added `client.enrichUrl` endpoint for enriching URLs with metadata.
@@ -66,8 +66,11 @@ class StreamChatClient {
this.logLevel = Level.WARNING, this.logLevel = Level.WARNING,
LogHandlerFunction? logHandlerFunction, LogHandlerFunction? logHandlerFunction,
RetryPolicy? retryPolicy, RetryPolicy? retryPolicy,
Location? location, @Deprecated('''
@Deprecated('Use location to change baseUrl instead') String? baseURL, Location is now deprecated in favor of the new edge server. Will be removed in v4.0.0.
Read more here: https://getstream.io/blog/chat-edge-infrastructure
''') Location? location,
String? baseURL,
Duration connectTimeout = const Duration(seconds: 6), Duration connectTimeout = const Duration(seconds: 6),
Duration receiveTimeout = const Duration(seconds: 6), Duration receiveTimeout = const Duration(seconds: 6),
StreamChatApi? chatApi, StreamChatApi? chatApi,
@@ -79,7 +82,6 @@ class StreamChatClient {
final options = StreamHttpClientOptions( final options = StreamHttpClientOptions(
baseUrl: baseURL, baseUrl: baseURL,
location: location,
connectTimeout: connectTimeout, connectTimeout: connectTimeout,
receiveTimeout: receiveTimeout, receiveTimeout: receiveTimeout,
headers: {'X-Stream-Client': defaultUserAgent}, headers: {'X-Stream-Client': defaultUserAgent},
@@ -11,7 +11,6 @@ import 'package:stream_chat/src/core/http/interceptor/connection_id_interceptor.
import 'package:stream_chat/src/core/http/interceptor/logging_interceptor.dart'; import 'package:stream_chat/src/core/http/interceptor/logging_interceptor.dart';
import 'package:stream_chat/src/core/http/stream_chat_dio_error.dart'; import 'package:stream_chat/src/core/http/stream_chat_dio_error.dart';
import 'package:stream_chat/src/core/http/token_manager.dart'; import 'package:stream_chat/src/core/http/token_manager.dart';
import 'package:stream_chat/src/location.dart';
part 'stream_http_client_options.dart'; part 'stream_http_client_options.dart';
@@ -1,32 +1,20 @@
part of 'stream_http_client.dart'; part of 'stream_http_client.dart';
const _defaultBaseURL = 'https://chat-us-east-1.stream-io-api.com'; const _defaultBaseURL = 'https://chat.stream-io-api.com';
/// Client options to modify [StreamHttpClient] /// Client options to modify [StreamHttpClient]
class StreamHttpClientOptions { class StreamHttpClientOptions {
/// Instantiates a new [StreamHttpClientOptions] /// Instantiates a new [StreamHttpClientOptions]
const StreamHttpClientOptions({ const StreamHttpClientOptions({
String? baseUrl, String? baseUrl,
this.location,
this.connectTimeout = const Duration(seconds: 6), this.connectTimeout = const Duration(seconds: 6),
this.receiveTimeout = const Duration(seconds: 6), this.receiveTimeout = const Duration(seconds: 6),
this.queryParameters = const {}, this.queryParameters = const {},
this.headers = const {}, this.headers = const {},
}) : _baseUrl = baseUrl ?? _defaultBaseURL; }) : baseUrl = baseUrl ?? _defaultBaseURL;
final String _baseUrl;
/// base url to use with client. /// base url to use with client.
String get baseUrl { final String baseUrl;
if (location == null) return _baseUrl;
const serviceName = 'chat';
final locationName = location!.name;
const baseDomainName = 'stream-io-api.com';
return 'https://$serviceName-proxy-$locationName.$baseDomainName';
}
/// data center to use with client
final Location? location;
/// connect timeout, default to 6s /// connect timeout, default to 6s
final Duration connectTimeout; final Duration connectTimeout;
@@ -1,6 +1,4 @@
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
import 'package:stream_chat/src/core/models/channel_model.dart';
import 'package:stream_chat/src/core/models/message.dart';
import 'package:stream_chat/src/core/util/serializer.dart'; import 'package:stream_chat/src/core/util/serializer.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
@@ -1,7 +1,4 @@
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
import 'package:stream_chat/src/core/models/device.dart';
import 'package:stream_chat/src/core/models/mute.dart';
import 'package:stream_chat/src/core/models/user.dart';
import 'package:stream_chat/src/core/util/serializer.dart'; import 'package:stream_chat/src/core/util/serializer.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
@@ -89,9 +86,9 @@ class OwnUser extends User {
OwnUser( OwnUser(
id: id ?? this.id, id: id ?? this.id,
role: role ?? this.role, role: role ?? this.role,
/* if null, it will be retrieved from extraData['name']*/ // if null, it will be retrieved from extraData['name']
name: name, name: name,
/* if null, it will be retrieved from extraData['image']*/ // if null, it will be retrieved from extraData['image']
image: image, image: image,
banned: banned ?? this.banned, banned: banned ?? this.banned,
createdAt: createdAt ?? this.createdAt, createdAt: createdAt ?? this.createdAt,
@@ -139,7 +136,7 @@ class OwnUser extends User {
@JsonKey(includeIfNull: false) @JsonKey(includeIfNull: false)
final List<Mute> mutes; final List<Mute> mutes;
/// List of users muted by the user. /// List of channels muted by the user.
@JsonKey(includeIfNull: false) @JsonKey(includeIfNull: false)
final List<Mute> channelMutes; final List<Mute> channelMutes;
@@ -45,7 +45,7 @@ class User extends Equatable {
this.language, this.language,
}) : createdAt = createdAt ?? DateTime.now(), }) : createdAt = createdAt ?? DateTime.now(),
updatedAt = updatedAt ?? DateTime.now(), updatedAt = updatedAt ?? DateTime.now(),
/*For backwards compatibility, set 'name', 'image' in [extraData].*/ // For backwards compatibility, set 'name', 'image' in [extraData].
extraData = { extraData = {
...extraData, ...extraData,
if (name != null) 'name': name, if (name != null) 'name': name,
@@ -164,9 +164,9 @@ class User extends Equatable {
User( User(
id: id ?? this.id, id: id ?? this.id,
role: role ?? this.role, role: role ?? this.role,
/* if null, it will be retrieved from extraData['name']*/ // if null, it will be retrieved from extraData['name']
name: name, name: name,
/* if null, it will be retrieved from extraData['image']*/ // if null, it will be retrieved from extraData['image']
image: image, image: image,
createdAt: createdAt ?? this.createdAt, createdAt: createdAt ?? this.createdAt,
updatedAt: updatedAt ?? this.updatedAt, updatedAt: updatedAt ?? this.updatedAt,
@@ -1,12 +1,10 @@
import 'package:stream_chat/src/core/http/stream_http_client.dart'; import 'package:stream_chat/src/core/http/stream_http_client.dart';
import 'package:stream_chat/src/location.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
void main() { void main() {
test('should return the all default set params', () { test('should return the all default set params', () {
const options = StreamHttpClientOptions(); const options = StreamHttpClientOptions();
expect(options.location, isNull); expect(options.baseUrl, 'https://chat.stream-io-api.com');
expect(options.baseUrl, 'https://chat-us-east-1.stream-io-api.com');
expect(options.connectTimeout, const Duration(seconds: 6)); expect(options.connectTimeout, const Duration(seconds: 6));
expect(options.receiveTimeout, const Duration(seconds: 6)); expect(options.receiveTimeout, const Duration(seconds: 6));
expect(options.queryParameters, const {}); expect(options.queryParameters, const {});
@@ -21,39 +19,10 @@ void main() {
headers: {'test': 'test'}, headers: {'test': 'test'},
queryParameters: {'123': '123'}, queryParameters: {'123': '123'},
); );
expect(options.location, isNull);
expect(options.baseUrl, 'base-url'); expect(options.baseUrl, 'base-url');
expect(options.connectTimeout, const Duration(seconds: 3)); expect(options.connectTimeout, const Duration(seconds: 3));
expect(options.receiveTimeout, const Duration(seconds: 3)); expect(options.receiveTimeout, const Duration(seconds: 3));
expect(options.headers, {'test': 'test'}); expect(options.headers, {'test': 'test'});
expect(options.queryParameters, {'123': '123'}); expect(options.queryParameters, {'123': '123'});
}); });
group('should create baseUrl according to provided location', () {
test('us-east', () {
const options = StreamHttpClientOptions(location: Location.usEast);
expect(options.location, isNotNull);
expect(options.baseUrl, 'https://chat-proxy-us-east.stream-io-api.com');
});
test('eu-west', () {
const options = StreamHttpClientOptions(location: Location.euWest);
expect(options.location, isNotNull);
expect(options.baseUrl, 'https://chat-proxy-dublin.stream-io-api.com');
});
test('mumbai', () {
const options = StreamHttpClientOptions(location: Location.mumbai);
expect(options.location, isNotNull);
expect(options.baseUrl, 'https://chat-proxy-mumbai.stream-io-api.com');
});
test('sydney', () {
const options = StreamHttpClientOptions(location: Location.sydney);
expect(options.location, isNotNull);
expect(options.baseUrl, 'https://chat-proxy-sydney.stream-io-api.com');
});
test('singapore', () {
const options = StreamHttpClientOptions(location: Location.singapore);
expect(options.location, isNotNull);
expect(options.baseUrl, 'https://chat-proxy-singapore.stream-io-api.com');
});
});
} }
+4 -3
View File
@@ -7,8 +7,9 @@
🐞 Fixed 🐞 Fixed
- SVG rendering fixes - SVG rendering fixes.
- Use file extension instead of mimeType for downloading files - Use file extension instead of mimeType for downloading files.
- [[#860]](https://github.com/GetStream/stream-chat-flutter/issues/860) CastError while compressing Videos.
✅ Added ✅ Added
@@ -32,7 +33,7 @@
🐞 Fixed 🐞 Fixed
- [[#766]]`AttachmentActionsModal` now has customisation options for actions. - [[#766]](https://github.com/GetStream/stream-chat-flutter/issues/766) `AttachmentActionsModal` now has customisation options for actions.
- Fixed `MessageWidget` null errors associated with `channel.memberCount`. - Fixed `MessageWidget` null errors associated with `channel.memberCount`.
- Fixed adding attachments on web. - Fixed adding attachments on web.
- [[#767]](https://github.com/GetStream/stream-chat-flutter/issues/767): Fix `MessageInput` focus behaviour when sending messages. - [[#767]](https://github.com/GetStream/stream-chat-flutter/issues/767): Fix `MessageInput` focus behaviour when sending messages.
@@ -1,4 +1,3 @@
import 'package:characters/characters.dart';
import 'package:diacritic/diacritic.dart'; import 'package:diacritic/diacritic.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
@@ -1,9 +1,14 @@
# Upcoming ## Upcoming
✅ Added ✅ Added
- Added `MessageInputController` to hold `Message` related data. - Added `MessageInputController` to hold `Message` related data.
🐞 Fixed
- Do not move a channel to top if the new message is from a thread.
- [[#848]](https://github.com/GetStream/stream-chat-flutter/issues/848) Fixed "Bad state: Cannot add new events after calling close" by replacing all `.add` methods with a new `.safeAdd`.
## 3.3.1 ## 3.3.1
- Updated `stream_chat` dependency to [`3.3.1`](https://pub.dev/packages/stream_chat/changelog). - Updated `stream_chat` dependency to [`3.3.1`](https://pub.dev/packages/stream_chat/changelog).
@@ -88,7 +88,7 @@ class HomeScreen extends StatelessWidget {
[ [
StreamChatCore.of(context).currentUser!.id, StreamChatCore.of(context).currentUser!.id,
], ],
) ),
]), ]),
emptyBuilder: (BuildContext context) => const Center( emptyBuilder: (BuildContext context) => const Center(
child: Text('Looks like you are not in any channels'), child: Text('Looks like you are not in any channels'),
@@ -5,6 +5,7 @@ import 'package:rxdart/rxdart.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_flutter_core/src/channel_list_core.dart'; import 'package:stream_chat_flutter_core/src/channel_list_core.dart';
import 'package:stream_chat_flutter_core/src/stream_chat_core.dart'; import 'package:stream_chat_flutter_core/src/stream_chat_core.dart';
import 'package:stream_chat_flutter_core/src/stream_controller_extension.dart';
/// Widget dedicated to the management of a channel list with pagination /// Widget dedicated to the management of a channel list with pagination
/// [ChannelsBloc] is used together with [ChannelListCore] to manage a list of /// [ChannelsBloc] is used together with [ChannelListCore] to manage a list of
@@ -115,7 +116,7 @@ class ChannelsBlocState extends State<ChannelsBloc>
} }
if (_channelsController.hasValue) { if (_channelsController.hasValue) {
_queryChannelsLoadingController.add(true); _queryChannelsLoadingController.safeAdd(true);
} }
try { try {
@@ -134,14 +135,14 @@ class ChannelsBlocState extends State<ChannelsBloc>
)) { )) {
newChannels = channels; newChannels = channels;
if (clear) { if (clear) {
_channelsController.add(channels); _channelsController.safeAdd(channels);
} else { } else {
final temp = oldChannels + channels; final temp = oldChannels + channels;
_channelsController.add(temp); _channelsController.safeAdd(temp);
} }
if (_channelsController.hasValue && if (_channelsController.hasValue &&
_queryChannelsLoadingController.value) { _queryChannelsLoadingController.value) {
_queryChannelsLoadingController.sink.add(false); _queryChannelsLoadingController.safeAdd(false);
} }
} }
if (newChannels.isEmpty || newChannels.length < paginationParams.limit) { if (newChannels.isEmpty || newChannels.length < paginationParams.limit) {
@@ -149,11 +150,11 @@ class ChannelsBlocState extends State<ChannelsBloc>
} }
} catch (e, stk) { } catch (e, stk) {
// reset loading controller // reset loading controller
_queryChannelsLoadingController.sink.add(false); _queryChannelsLoadingController.safeAdd(false);
if (_channelsController.hasValue) { if (_channelsController.hasValue) {
_queryChannelsLoadingController.addError(e, stk); _queryChannelsLoadingController.safeAddError(e, stk);
} else { } else {
_channelsController.addError(e, stk); _channelsController.safeAddError(e, stk);
} }
} }
} }
@@ -173,6 +174,9 @@ class ChannelsBlocState extends State<ChannelsBloc>
EventType.messageNew, EventType.messageNew,
) )
.listen((e) { .listen((e) {
if (e.message?.parentId != null && e.message?.showInChannel != true) {
return;
}
final newChannels = List<Channel>.from(channels ?? []); final newChannels = List<Channel>.from(channels ?? []);
final index = newChannels.indexWhere((c) => c.cid == e.cid); final index = newChannels.indexWhere((c) => c.cid == e.cid);
if (index != -1) { if (index != -1) {
@@ -196,7 +200,7 @@ class ChannelsBlocState extends State<ChannelsBloc>
if (widget.channelsComparator != null) { if (widget.channelsComparator != null) {
newChannels.sort(widget.channelsComparator); newChannels.sort(widget.channelsComparator);
} }
_channelsController.add(newChannels); _channelsController.safeAdd(newChannels);
})); }));
} }
@@ -208,7 +212,7 @@ class ChannelsBlocState extends State<ChannelsBloc>
if (channelIndex > -1) { if (channelIndex > -1) {
final channel = newChannels.removeAt(channelIndex); final channel = newChannels.removeAt(channelIndex);
_hiddenChannels.add(channel); _hiddenChannels.add(channel);
_channelsController.add(newChannels); _channelsController.safeAdd(newChannels);
} }
})) }))
..add(client ..add(client
@@ -218,7 +222,7 @@ class ChannelsBlocState extends State<ChannelsBloc>
) )
.listen((e) { .listen((e) {
final channel = e.channel; final channel = e.channel;
_channelsController.add(List.from( _channelsController.safeAdd(List.from(
(channels ?? [])..removeWhere((c) => c.cid == channel?.cid), (channels ?? [])..removeWhere((c) => c.cid == channel?.cid),
)); ));
})); }));
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:rxdart/rxdart.dart'; import 'package:rxdart/rxdart.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_flutter_core/src/stream_chat_core.dart'; import 'package:stream_chat_flutter_core/src/stream_chat_core.dart';
import 'package:stream_chat_flutter_core/src/stream_controller_extension.dart';
/// [MessageSearchBloc] is used to manage a list of messages with pagination. /// [MessageSearchBloc] is used to manage a list of messages with pagination.
/// This class can be used to load messages, perform queries, etc. /// This class can be used to load messages, perform queries, etc.
@@ -95,7 +96,7 @@ class MessageSearchBlocState extends State<MessageSearchBloc>
} }
if (_messageResponses.hasValue) { if (_messageResponses.hasValue) {
_queryMessagesLoadingController.add(true); _queryMessagesLoadingController.safeAdd(true);
} }
try { try {
final oldMessages = List<GetMessageResponse>.from(messageResponses ?? []); final oldMessages = List<GetMessageResponse>.from(messageResponses ?? []);
@@ -120,24 +121,24 @@ class MessageSearchBlocState extends State<MessageSearchBloc>
final newMessages = response.results; final newMessages = response.results;
if (clear) { if (clear) {
_messageResponses.add(newMessages); _messageResponses.safeAdd(newMessages);
} else { } else {
final temp = oldMessages + newMessages; final temp = oldMessages + newMessages;
_messageResponses.add(temp); _messageResponses.safeAdd(temp);
} }
if (_messageResponses.hasValue && _queryMessagesLoadingController.value) { if (_messageResponses.hasValue && _queryMessagesLoadingController.value) {
_queryMessagesLoadingController.add(false); _queryMessagesLoadingController.safeAdd(false);
} }
if (newMessages.isEmpty || newMessages.length < pagination.limit) { if (newMessages.isEmpty || newMessages.length < pagination.limit) {
_paginationEnded = true; _paginationEnded = true;
} }
} catch (e, stk) { } catch (e, stk) {
// reset loading controller // reset loading controller
_queryMessagesLoadingController.add(false); _queryMessagesLoadingController.safeAdd(false);
if (_messageResponses.hasValue) { if (_messageResponses.hasValue) {
_queryMessagesLoadingController.addError(e, stk); _queryMessagesLoadingController.safeAddError(e, stk);
} else { } else {
_messageResponses.addError(e, stk); _messageResponses.safeAddError(e, stk);
} }
} }
} }
@@ -1,10 +1,10 @@
import 'dart:async'; import 'dart:async';
import 'package:collection/collection.dart'; import 'package:collection/collection.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rxdart/rxdart.dart'; import 'package:rxdart/rxdart.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_flutter_core/src/stream_controller_extension.dart';
/// Specifies query direction for pagination /// Specifies query direction for pagination
enum QueryDirection { enum QueryDirection {
@@ -92,10 +92,10 @@ class StreamChannelState extends State<StreamChannel> {
channel.state == null) { channel.state == null) {
return; return;
} }
_queryTopMessagesController.add(true); _queryTopMessagesController.safeAdd(true);
if (channel.state!.messages.isEmpty) { if (channel.state!.messages.isEmpty) {
return _queryTopMessagesController.add(false); return _queryTopMessagesController.safeAdd(false);
} }
final oldestMessage = channel.state!.messages.first; final oldestMessage = channel.state!.messages.first;
@@ -109,9 +109,9 @@ class StreamChannelState extends State<StreamChannel> {
if (state.messages.isEmpty || state.messages.length < limit) { if (state.messages.isEmpty || state.messages.length < limit) {
_topPaginationEnded = true; _topPaginationEnded = true;
} }
_queryTopMessagesController.add(false); _queryTopMessagesController.safeAdd(false);
} catch (e, stk) { } catch (e, stk) {
_queryTopMessagesController.addError(e, stk); _queryTopMessagesController.safeAddError(e, stk);
} }
} }
@@ -123,10 +123,10 @@ class StreamChannelState extends State<StreamChannel> {
_queryBottomMessagesController.value || _queryBottomMessagesController.value ||
channel.state == null || channel.state == null ||
channel.state!.isUpToDate) return; channel.state!.isUpToDate) return;
_queryBottomMessagesController.add(true); _queryBottomMessagesController.safeAdd(true);
if (channel.state!.messages.isEmpty) { if (channel.state!.messages.isEmpty) {
return _queryBottomMessagesController.add(false); return _queryBottomMessagesController.safeAdd(false);
} }
final recentMessage = channel.state!.messages.last; final recentMessage = channel.state!.messages.last;
@@ -140,9 +140,9 @@ class StreamChannelState extends State<StreamChannel> {
if (state.messages.isEmpty || state.messages.length < limit) { if (state.messages.isEmpty || state.messages.length < limit) {
_bottomPaginationEnded = true; _bottomPaginationEnded = true;
} }
_queryBottomMessagesController.add(false); _queryBottomMessagesController.safeAdd(false);
} catch (e, stk) { } catch (e, stk) {
_queryBottomMessagesController.addError(e, stk); _queryBottomMessagesController.safeAddError(e, stk);
} }
} }
@@ -166,7 +166,7 @@ class StreamChannelState extends State<StreamChannel> {
if (_topPaginationEnded || if (_topPaginationEnded ||
_queryTopMessagesController.value || _queryTopMessagesController.value ||
channel.state == null) return; channel.state == null) return;
_queryTopMessagesController.add(true); _queryTopMessagesController.safeAdd(true);
Message? message; Message? message;
if (channel.state!.threads.containsKey(parentId)) { if (channel.state!.threads.containsKey(parentId)) {
@@ -188,9 +188,9 @@ class StreamChannelState extends State<StreamChannel> {
if (response.messages.isEmpty || response.messages.length < limit) { if (response.messages.isEmpty || response.messages.length < limit) {
_topPaginationEnded = true; _topPaginationEnded = true;
} }
_queryTopMessagesController.add(false); _queryTopMessagesController.safeAdd(false);
} catch (e, stk) { } catch (e, stk) {
_queryTopMessagesController.addError(e, stk); _queryTopMessagesController.safeAddError(e, stk);
} }
} }
@@ -0,0 +1,18 @@
import 'dart:async';
/// Extension on [StreamController] to safely add events and errors.
extension StreamControllerX<T> on StreamController<T> {
/// Safely adds the event to the controller,
/// Returns early if the controller is closed.
void safeAdd(T event) {
if (isClosed) return;
add(event);
}
/// Safely adds the error to the controller,
/// Returns early if the controller is closed.
void safeAddError(Object error, [StackTrace? stackTrace]) {
if (isClosed) return;
addError(error, stackTrace);
}
}
@@ -1,7 +1,6 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rxdart/rxdart.dart'; import 'package:rxdart/rxdart.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat_flutter_core/src/stream_controller_extension.dart';
import 'package:stream_chat_flutter_core/stream_chat_flutter_core.dart'; import 'package:stream_chat_flutter_core/stream_chat_flutter_core.dart';
/// Widget dedicated to the management of a users list with pagination. /// Widget dedicated to the management of a users list with pagination.
@@ -82,7 +81,7 @@ class UsersBlocState extends State<UsersBloc>
} }
if (_usersController.hasValue) { if (_usersController.hasValue) {
_queryUsersLoadingController.add(true); _queryUsersLoadingController.safeAdd(true);
} }
try { try {
@@ -97,24 +96,24 @@ class UsersBlocState extends State<UsersBloc>
final newUsers = usersResponse.users; final newUsers = usersResponse.users;
if (clear) { if (clear) {
_usersController.add(usersResponse.users); _usersController.safeAdd(usersResponse.users);
} else { } else {
final temp = oldUsers + usersResponse.users; final temp = oldUsers + usersResponse.users;
_usersController.add(temp); _usersController.safeAdd(temp);
} }
if (_usersController.hasValue && _queryUsersLoadingController.value) { if (_usersController.hasValue && _queryUsersLoadingController.value) {
_queryUsersLoadingController.add(false); _queryUsersLoadingController.safeAdd(false);
} }
if (newUsers.isEmpty || newUsers.length < pagination.limit) { if (newUsers.isEmpty || newUsers.length < pagination.limit) {
_paginationEnded = true; _paginationEnded = true;
} }
} catch (e, stk) { } catch (e, stk) {
// reset loading controller // reset loading controller
_queryUsersLoadingController.add(false); _queryUsersLoadingController.safeAdd(false);
if (_usersController.hasValue) { if (_usersController.hasValue) {
_queryUsersLoadingController.addError(e, stk); _queryUsersLoadingController.safeAddError(e, stk);
} else { } else {
_usersController.addError(e, stk); _usersController.safeAddError(e, stk);
} }
} }
} }
@@ -1,3 +1,9 @@
## 2.1.0
🔄 Changed
* Some of the `Japanese` translations have been updated/changed for better understanding.
## 2.0.0 ## 2.0.0
- Updated `stream_chat_flutter` dependency to [`3.0.0`](https://pub.dev/packages/stream_chat_flutter/changelog). - Updated `stream_chat_flutter` dependency to [`3.0.0`](https://pub.dev/packages/stream_chat_flutter/changelog).
@@ -38,7 +38,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get threadReplyLabel => 'スレッド返信'; String get threadReplyLabel => 'スレッド返信';
@override @override
String get onlyVisibleToYouText => '自分しか見れません'; String get onlyVisibleToYouText => '自分にのみ見えます';
@override @override
String threadReplyCountText(int count) => '$countつのスレッド返信'; String threadReplyCountText(int count) => '$countつのスレッド返信';
@@ -48,7 +48,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
required int remaining, required int remaining,
required int total, required int total,
}) => }) =>
'$remaining/${total}mbのアップロード中 。。。'; '$remaining/${total}mbのアップロード中';
@override @override
String pinnedByUserText({ String pinnedByUserText({
@@ -85,7 +85,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get messageReactionsLabel => 'メッセージのリアクション'; String get messageReactionsLabel => 'メッセージのリアクション';
@override @override
String get emptyChatMessagesText => 'チャットがありませんが。。。'; String get emptyChatMessagesText => 'まだメッセージはありません';
@override @override
String threadSeparatorText(int replyCount) => '$replyCount件の返信'; String threadSeparatorText(int replyCount) => '$replyCount件の返信';
@@ -97,7 +97,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get disconnectedLabel => '接続切れ'; String get disconnectedLabel => '接続切れ';
@override @override
String get reconnectingLabel => '再接続中。。。'; String get reconnectingLabel => '再接続中';
@override @override
String get alsoSendAsDirectMessageLabel => 'ダイレクトメッセージでも送信'; String get alsoSendAsDirectMessageLabel => 'ダイレクトメッセージでも送信';
@@ -118,7 +118,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String fileTooLargeAfterCompressionError(double limitInMB) => String fileTooLargeAfterCompressionError(double limitInMB) =>
'ファイルのサイズが大きすぎてアップロードできません。' 'ファイルのサイズが大きすぎてアップロードできません。'
'ファイルサイズの制限は${limitInMB}MBです。' 'ファイルサイズの制限は${limitInMB}MBです。'
'圧縮してみましたが、十分ではありませんでした'; '圧縮を試しましたがサイズをオーバーしました';
@override @override
String fileTooLargeError(double limitInMB) => String fileTooLargeError(double limitInMB) =>
@@ -146,7 +146,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get videoFromCameraLabel => 'カメラからの動画'; String get videoFromCameraLabel => 'カメラからの動画';
@override @override
String get okLabel => 'よし'; String get okLabel => 'OK';
@override @override
String get somethingWentWrongError => 'エラーが発生しました'; String get somethingWentWrongError => 'エラーが発生しました';
@@ -183,7 +183,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get deleteLabel => '削除'; String get deleteLabel => '削除';
@override @override
String get deleteMessageLabel => 'メッセージを削除する '; String get deleteMessageLabel => 'メッセージを削除する';
@override @override
String get deleteMessageQuestion => 'このメッセージ' String get deleteMessageQuestion => 'このメッセージ'
@@ -198,7 +198,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
@override @override
String togglePinUnpinText({required bool pinned}) { String togglePinUnpinText({required bool pinned}) {
if (pinned) return '会話のピンを外す'; if (pinned) return '会話のピンを外す';
return '会話ピンする'; return '会話ピンする';
} }
@override @override
@@ -249,7 +249,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get yesterdayLabel => '昨日'; String get yesterdayLabel => '昨日';
@override @override
String get channelIsMutedText => 'チャンネルが無音されています'; String get channelIsMutedText => 'チャンネルがミュートされています';
@override @override
String get noTitleText => 'タイトル無し'; String get noTitleText => 'タイトル無し';
@@ -258,7 +258,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get letsStartChattingLabel => 'チャットを始めよう!'; String get letsStartChattingLabel => 'チャットを始めよう!';
@override @override
String get sendingFirstMessageLabel => '友人に最初のメッセージを送ましょうか?'; String get sendingFirstMessageLabel => '最初のメッセージを送ってみましょう';
@override @override
String get startAChatLabel => 'チャットを開始する'; String get startAChatLabel => 'チャットを開始する';
@@ -279,7 +279,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get searchingForNetworkText => 'ネットワークを検索中'; String get searchingForNetworkText => 'ネットワークを検索中';
@override @override
String get offlineLabel => 'オフライン。。。'; String get offlineLabel => 'オフライン';
@override @override
String get tryAgainLabel => '再試行する'; String get tryAgainLabel => '再試行する';
@@ -294,16 +294,16 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get viewInfoLabel => '情報を見る'; String get viewInfoLabel => '情報を見る';
@override @override
String get leaveGroupLabel => 'グループを離れ'; String get leaveGroupLabel => 'グループから退出す';
@override @override
String get leaveLabel => '離れ'; String get leaveLabel => '退出す';
@override @override
String get leaveConversationLabel => '会話を離れ'; String get leaveConversationLabel => '会話から退出す';
@override @override
String get leaveConversationQuestion => '本当に会話を離れますか?'; String get leaveConversationQuestion => '本当に会話から退出しますか?';
@override @override
String get showInChatLabel => 'チャットで表示'; String get showInChatLabel => 'チャットで表示';
@@ -318,7 +318,7 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
String get uploadErrorLabel => 'アップロードエラー'; String get uploadErrorLabel => 'アップロードエラー';
@override @override
String get giphyLabel => 'ギフィー'; String get giphyLabel => 'GIPHY';
@override @override
String get shuffleLabel => 'ミックス'; String get shuffleLabel => 'ミックス';
@@ -1,3 +1,7 @@
## Upcoming
- Bump `drift` to `1.3.0`.
## 3.0.0 ## 3.0.0
- Updated `stream_chat` dependency to [`3.0.0`](https://pub.dev/packages/stream_chat/changelog). - Updated `stream_chat` dependency to [`3.0.0`](https://pub.dev/packages/stream_chat/changelog).
@@ -245,7 +245,7 @@ class _MessageViewState extends State<MessageView> {
), ),
], ],
), ),
) ),
], ],
); );
} }
@@ -394,66 +394,78 @@ class $ChannelsTable extends Channels
final String? _alias; final String? _alias;
$ChannelsTable(this._db, [this._alias]); $ChannelsTable(this._db, [this._alias]);
final VerificationMeta _idMeta = const VerificationMeta('id'); final VerificationMeta _idMeta = const VerificationMeta('id');
@override
late final GeneratedColumn<String?> id = GeneratedColumn<String?>( late final GeneratedColumn<String?> id = GeneratedColumn<String?>(
'id', aliasedName, false, 'id', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _typeMeta = const VerificationMeta('type'); final VerificationMeta _typeMeta = const VerificationMeta('type');
@override
late final GeneratedColumn<String?> type = GeneratedColumn<String?>( late final GeneratedColumn<String?> type = GeneratedColumn<String?>(
'type', aliasedName, false, 'type', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _cidMeta = const VerificationMeta('cid'); final VerificationMeta _cidMeta = const VerificationMeta('cid');
@override
late final GeneratedColumn<String?> cid = GeneratedColumn<String?>( late final GeneratedColumn<String?> cid = GeneratedColumn<String?>(
'cid', aliasedName, false, 'cid', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _configMeta = const VerificationMeta('config'); final VerificationMeta _configMeta = const VerificationMeta('config');
@override
late final GeneratedColumnWithTypeConverter<Map<String, dynamic>, String?> late final GeneratedColumnWithTypeConverter<Map<String, dynamic>, String?>
config = GeneratedColumn<String?>('config', aliasedName, false, config = GeneratedColumn<String?>('config', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true) type: const StringType(), requiredDuringInsert: true)
.withConverter<Map<String, dynamic>>($ChannelsTable.$converter0); .withConverter<Map<String, dynamic>>($ChannelsTable.$converter0);
final VerificationMeta _frozenMeta = const VerificationMeta('frozen'); final VerificationMeta _frozenMeta = const VerificationMeta('frozen');
@override
late final GeneratedColumn<bool?> frozen = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> frozen = GeneratedColumn<bool?>(
'frozen', aliasedName, false, 'frozen', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (frozen IN (0, 1))', defaultConstraints: 'CHECK (frozen IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _lastMessageAtMeta = final VerificationMeta _lastMessageAtMeta =
const VerificationMeta('lastMessageAt'); const VerificationMeta('lastMessageAt');
@override
late final GeneratedColumn<DateTime?> lastMessageAt = late final GeneratedColumn<DateTime?> lastMessageAt =
GeneratedColumn<DateTime?>('last_message_at', aliasedName, true, GeneratedColumn<DateTime?>('last_message_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt');
@override
late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>(
'created_at', aliasedName, false, 'created_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt'); final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt');
@override
late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>(
'updated_at', aliasedName, false, 'updated_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _deletedAtMeta = const VerificationMeta('deletedAt'); final VerificationMeta _deletedAtMeta = const VerificationMeta('deletedAt');
@override
late final GeneratedColumn<DateTime?> deletedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> deletedAt = GeneratedColumn<DateTime?>(
'deleted_at', aliasedName, true, 'deleted_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _memberCountMeta = final VerificationMeta _memberCountMeta =
const VerificationMeta('memberCount'); const VerificationMeta('memberCount');
@override
late final GeneratedColumn<int?> memberCount = GeneratedColumn<int?>( late final GeneratedColumn<int?> memberCount = GeneratedColumn<int?>(
'member_count', aliasedName, false, 'member_count', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: const Constant(0)); defaultValue: const Constant(0));
final VerificationMeta _createdByIdMeta = final VerificationMeta _createdByIdMeta =
const VerificationMeta('createdById'); const VerificationMeta('createdById');
@override
late final GeneratedColumn<String?> createdById = GeneratedColumn<String?>( late final GeneratedColumn<String?> createdById = GeneratedColumn<String?>(
'created_by_id', aliasedName, true, 'created_by_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _extraDataMeta = const VerificationMeta('extraData'); final VerificationMeta _extraDataMeta = const VerificationMeta('extraData');
@override
late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?> late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?>
extraData = GeneratedColumn<String?>('extra_data', aliasedName, true, extraData = GeneratedColumn<String?>('extra_data', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, Object?>>($ChannelsTable.$converter1); .withConverter<Map<String, Object?>>($ChannelsTable.$converter1);
@override @override
List<GeneratedColumn> get $columns => [ List<GeneratedColumn> get $columns => [
@@ -1329,140 +1341,165 @@ class $MessagesTable extends Messages
final String? _alias; final String? _alias;
$MessagesTable(this._db, [this._alias]); $MessagesTable(this._db, [this._alias]);
final VerificationMeta _idMeta = const VerificationMeta('id'); final VerificationMeta _idMeta = const VerificationMeta('id');
@override
late final GeneratedColumn<String?> id = GeneratedColumn<String?>( late final GeneratedColumn<String?> id = GeneratedColumn<String?>(
'id', aliasedName, false, 'id', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _messageTextMeta = final VerificationMeta _messageTextMeta =
const VerificationMeta('messageText'); const VerificationMeta('messageText');
@override
late final GeneratedColumn<String?> messageText = GeneratedColumn<String?>( late final GeneratedColumn<String?> messageText = GeneratedColumn<String?>(
'message_text', aliasedName, true, 'message_text', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _attachmentsMeta = final VerificationMeta _attachmentsMeta =
const VerificationMeta('attachments'); const VerificationMeta('attachments');
@override
late final GeneratedColumnWithTypeConverter<List<String>, String?> late final GeneratedColumnWithTypeConverter<List<String>, String?>
attachments = GeneratedColumn<String?>('attachments', aliasedName, false, attachments = GeneratedColumn<String?>('attachments', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true) type: const StringType(), requiredDuringInsert: true)
.withConverter<List<String>>($MessagesTable.$converter0); .withConverter<List<String>>($MessagesTable.$converter0);
final VerificationMeta _statusMeta = const VerificationMeta('status'); final VerificationMeta _statusMeta = const VerificationMeta('status');
@override
late final GeneratedColumnWithTypeConverter<MessageSendingStatus, int?> late final GeneratedColumnWithTypeConverter<MessageSendingStatus, int?>
status = GeneratedColumn<int?>('status', aliasedName, false, status = GeneratedColumn<int?>('status', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: const Constant(1)) defaultValue: const Constant(1))
.withConverter<MessageSendingStatus>($MessagesTable.$converter1); .withConverter<MessageSendingStatus>($MessagesTable.$converter1);
final VerificationMeta _typeMeta = const VerificationMeta('type'); final VerificationMeta _typeMeta = const VerificationMeta('type');
@override
late final GeneratedColumn<String?> type = GeneratedColumn<String?>( late final GeneratedColumn<String?> type = GeneratedColumn<String?>(
'type', aliasedName, false, 'type', aliasedName, false,
typeName: 'TEXT', type: const StringType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: const Constant('regular')); defaultValue: const Constant('regular'));
final VerificationMeta _mentionedUsersMeta = final VerificationMeta _mentionedUsersMeta =
const VerificationMeta('mentionedUsers'); const VerificationMeta('mentionedUsers');
@override
late final GeneratedColumnWithTypeConverter<List<String>, String?> late final GeneratedColumnWithTypeConverter<List<String>, String?>
mentionedUsers = GeneratedColumn<String?>( mentionedUsers = GeneratedColumn<String?>(
'mentioned_users', aliasedName, false, 'mentioned_users', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true) type: const StringType(), requiredDuringInsert: true)
.withConverter<List<String>>($MessagesTable.$converter2); .withConverter<List<String>>($MessagesTable.$converter2);
final VerificationMeta _reactionCountsMeta = final VerificationMeta _reactionCountsMeta =
const VerificationMeta('reactionCounts'); const VerificationMeta('reactionCounts');
@override
late final GeneratedColumnWithTypeConverter<Map<String, int>, String?> late final GeneratedColumnWithTypeConverter<Map<String, int>, String?>
reactionCounts = GeneratedColumn<String?>( reactionCounts = GeneratedColumn<String?>(
'reaction_counts', aliasedName, true, 'reaction_counts', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, int>>($MessagesTable.$converter3); .withConverter<Map<String, int>>($MessagesTable.$converter3);
final VerificationMeta _reactionScoresMeta = final VerificationMeta _reactionScoresMeta =
const VerificationMeta('reactionScores'); const VerificationMeta('reactionScores');
@override
late final GeneratedColumnWithTypeConverter<Map<String, int>, String?> late final GeneratedColumnWithTypeConverter<Map<String, int>, String?>
reactionScores = GeneratedColumn<String?>( reactionScores = GeneratedColumn<String?>(
'reaction_scores', aliasedName, true, 'reaction_scores', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, int>>($MessagesTable.$converter4); .withConverter<Map<String, int>>($MessagesTable.$converter4);
final VerificationMeta _parentIdMeta = const VerificationMeta('parentId'); final VerificationMeta _parentIdMeta = const VerificationMeta('parentId');
@override
late final GeneratedColumn<String?> parentId = GeneratedColumn<String?>( late final GeneratedColumn<String?> parentId = GeneratedColumn<String?>(
'parent_id', aliasedName, true, 'parent_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _quotedMessageIdMeta = final VerificationMeta _quotedMessageIdMeta =
const VerificationMeta('quotedMessageId'); const VerificationMeta('quotedMessageId');
@override
late final GeneratedColumn<String?> quotedMessageId = late final GeneratedColumn<String?> quotedMessageId =
GeneratedColumn<String?>('quoted_message_id', aliasedName, true, GeneratedColumn<String?>('quoted_message_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _replyCountMeta = const VerificationMeta('replyCount'); final VerificationMeta _replyCountMeta = const VerificationMeta('replyCount');
@override
late final GeneratedColumn<int?> replyCount = GeneratedColumn<int?>( late final GeneratedColumn<int?> replyCount = GeneratedColumn<int?>(
'reply_count', aliasedName, true, 'reply_count', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _showInChannelMeta = final VerificationMeta _showInChannelMeta =
const VerificationMeta('showInChannel'); const VerificationMeta('showInChannel');
@override
late final GeneratedColumn<bool?> showInChannel = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> showInChannel = GeneratedColumn<bool?>(
'show_in_channel', aliasedName, true, 'show_in_channel', aliasedName, true,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (show_in_channel IN (0, 1))'); defaultConstraints: 'CHECK (show_in_channel IN (0, 1))');
final VerificationMeta _shadowedMeta = const VerificationMeta('shadowed'); final VerificationMeta _shadowedMeta = const VerificationMeta('shadowed');
@override
late final GeneratedColumn<bool?> shadowed = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> shadowed = GeneratedColumn<bool?>(
'shadowed', aliasedName, false, 'shadowed', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (shadowed IN (0, 1))', defaultConstraints: 'CHECK (shadowed IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _commandMeta = const VerificationMeta('command'); final VerificationMeta _commandMeta = const VerificationMeta('command');
@override
late final GeneratedColumn<String?> command = GeneratedColumn<String?>( late final GeneratedColumn<String?> command = GeneratedColumn<String?>(
'command', aliasedName, true, 'command', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt');
@override
late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>(
'created_at', aliasedName, false, 'created_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt'); final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt');
@override
late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>(
'updated_at', aliasedName, false, 'updated_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _deletedAtMeta = const VerificationMeta('deletedAt'); final VerificationMeta _deletedAtMeta = const VerificationMeta('deletedAt');
@override
late final GeneratedColumn<DateTime?> deletedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> deletedAt = GeneratedColumn<DateTime?>(
'deleted_at', aliasedName, true, 'deleted_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _userIdMeta = const VerificationMeta('userId'); final VerificationMeta _userIdMeta = const VerificationMeta('userId');
@override
late final GeneratedColumn<String?> userId = GeneratedColumn<String?>( late final GeneratedColumn<String?> userId = GeneratedColumn<String?>(
'user_id', aliasedName, true, 'user_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _pinnedMeta = const VerificationMeta('pinned'); final VerificationMeta _pinnedMeta = const VerificationMeta('pinned');
@override
late final GeneratedColumn<bool?> pinned = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> pinned = GeneratedColumn<bool?>(
'pinned', aliasedName, false, 'pinned', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (pinned IN (0, 1))', defaultConstraints: 'CHECK (pinned IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _pinnedAtMeta = const VerificationMeta('pinnedAt'); final VerificationMeta _pinnedAtMeta = const VerificationMeta('pinnedAt');
@override
late final GeneratedColumn<DateTime?> pinnedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> pinnedAt = GeneratedColumn<DateTime?>(
'pinned_at', aliasedName, true, 'pinned_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _pinExpiresMeta = const VerificationMeta('pinExpires'); final VerificationMeta _pinExpiresMeta = const VerificationMeta('pinExpires');
@override
late final GeneratedColumn<DateTime?> pinExpires = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> pinExpires = GeneratedColumn<DateTime?>(
'pin_expires', aliasedName, true, 'pin_expires', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _pinnedByUserIdMeta = final VerificationMeta _pinnedByUserIdMeta =
const VerificationMeta('pinnedByUserId'); const VerificationMeta('pinnedByUserId');
@override
late final GeneratedColumn<String?> pinnedByUserId = GeneratedColumn<String?>( late final GeneratedColumn<String?> pinnedByUserId = GeneratedColumn<String?>(
'pinned_by_user_id', aliasedName, true, 'pinned_by_user_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid'); final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid');
@override
late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>( late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>(
'channel_cid', aliasedName, false, 'channel_cid', aliasedName, false,
typeName: 'TEXT', type: const StringType(),
requiredDuringInsert: true, requiredDuringInsert: true,
$customConstraints: 'REFERENCES channels(cid) ON DELETE CASCADE'); $customConstraints: 'REFERENCES channels(cid) ON DELETE CASCADE');
final VerificationMeta _i18nMeta = const VerificationMeta('i18n'); final VerificationMeta _i18nMeta = const VerificationMeta('i18n');
@override
late final GeneratedColumnWithTypeConverter<Map<String, String>, String?> late final GeneratedColumnWithTypeConverter<Map<String, String>, String?>
i18n = GeneratedColumn<String?>('i18n', aliasedName, true, i18n = GeneratedColumn<String?>('i18n', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, String>>($MessagesTable.$converter5); .withConverter<Map<String, String>>($MessagesTable.$converter5);
final VerificationMeta _extraDataMeta = const VerificationMeta('extraData'); final VerificationMeta _extraDataMeta = const VerificationMeta('extraData');
@override
late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?> late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?>
extraData = GeneratedColumn<String?>('extra_data', aliasedName, true, extraData = GeneratedColumn<String?>('extra_data', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, Object?>>($MessagesTable.$converter6); .withConverter<Map<String, Object?>>($MessagesTable.$converter6);
@override @override
List<GeneratedColumn> get $columns => [ List<GeneratedColumn> get $columns => [
@@ -2409,141 +2446,166 @@ class $PinnedMessagesTable extends PinnedMessages
final String? _alias; final String? _alias;
$PinnedMessagesTable(this._db, [this._alias]); $PinnedMessagesTable(this._db, [this._alias]);
final VerificationMeta _idMeta = const VerificationMeta('id'); final VerificationMeta _idMeta = const VerificationMeta('id');
@override
late final GeneratedColumn<String?> id = GeneratedColumn<String?>( late final GeneratedColumn<String?> id = GeneratedColumn<String?>(
'id', aliasedName, false, 'id', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _messageTextMeta = final VerificationMeta _messageTextMeta =
const VerificationMeta('messageText'); const VerificationMeta('messageText');
@override
late final GeneratedColumn<String?> messageText = GeneratedColumn<String?>( late final GeneratedColumn<String?> messageText = GeneratedColumn<String?>(
'message_text', aliasedName, true, 'message_text', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _attachmentsMeta = final VerificationMeta _attachmentsMeta =
const VerificationMeta('attachments'); const VerificationMeta('attachments');
@override
late final GeneratedColumnWithTypeConverter<List<String>, String?> late final GeneratedColumnWithTypeConverter<List<String>, String?>
attachments = GeneratedColumn<String?>('attachments', aliasedName, false, attachments = GeneratedColumn<String?>('attachments', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true) type: const StringType(), requiredDuringInsert: true)
.withConverter<List<String>>($PinnedMessagesTable.$converter0); .withConverter<List<String>>($PinnedMessagesTable.$converter0);
final VerificationMeta _statusMeta = const VerificationMeta('status'); final VerificationMeta _statusMeta = const VerificationMeta('status');
@override
late final GeneratedColumnWithTypeConverter<MessageSendingStatus, int?> late final GeneratedColumnWithTypeConverter<MessageSendingStatus, int?>
status = GeneratedColumn<int?>('status', aliasedName, false, status = GeneratedColumn<int?>('status', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: const Constant(1)) defaultValue: const Constant(1))
.withConverter<MessageSendingStatus>( .withConverter<MessageSendingStatus>(
$PinnedMessagesTable.$converter1); $PinnedMessagesTable.$converter1);
final VerificationMeta _typeMeta = const VerificationMeta('type'); final VerificationMeta _typeMeta = const VerificationMeta('type');
@override
late final GeneratedColumn<String?> type = GeneratedColumn<String?>( late final GeneratedColumn<String?> type = GeneratedColumn<String?>(
'type', aliasedName, false, 'type', aliasedName, false,
typeName: 'TEXT', type: const StringType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: const Constant('regular')); defaultValue: const Constant('regular'));
final VerificationMeta _mentionedUsersMeta = final VerificationMeta _mentionedUsersMeta =
const VerificationMeta('mentionedUsers'); const VerificationMeta('mentionedUsers');
@override
late final GeneratedColumnWithTypeConverter<List<String>, String?> late final GeneratedColumnWithTypeConverter<List<String>, String?>
mentionedUsers = GeneratedColumn<String?>( mentionedUsers = GeneratedColumn<String?>(
'mentioned_users', aliasedName, false, 'mentioned_users', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true) type: const StringType(), requiredDuringInsert: true)
.withConverter<List<String>>($PinnedMessagesTable.$converter2); .withConverter<List<String>>($PinnedMessagesTable.$converter2);
final VerificationMeta _reactionCountsMeta = final VerificationMeta _reactionCountsMeta =
const VerificationMeta('reactionCounts'); const VerificationMeta('reactionCounts');
@override
late final GeneratedColumnWithTypeConverter<Map<String, int>, String?> late final GeneratedColumnWithTypeConverter<Map<String, int>, String?>
reactionCounts = GeneratedColumn<String?>( reactionCounts = GeneratedColumn<String?>(
'reaction_counts', aliasedName, true, 'reaction_counts', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, int>>($PinnedMessagesTable.$converter3); .withConverter<Map<String, int>>($PinnedMessagesTable.$converter3);
final VerificationMeta _reactionScoresMeta = final VerificationMeta _reactionScoresMeta =
const VerificationMeta('reactionScores'); const VerificationMeta('reactionScores');
@override
late final GeneratedColumnWithTypeConverter<Map<String, int>, String?> late final GeneratedColumnWithTypeConverter<Map<String, int>, String?>
reactionScores = GeneratedColumn<String?>( reactionScores = GeneratedColumn<String?>(
'reaction_scores', aliasedName, true, 'reaction_scores', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, int>>($PinnedMessagesTable.$converter4); .withConverter<Map<String, int>>($PinnedMessagesTable.$converter4);
final VerificationMeta _parentIdMeta = const VerificationMeta('parentId'); final VerificationMeta _parentIdMeta = const VerificationMeta('parentId');
@override
late final GeneratedColumn<String?> parentId = GeneratedColumn<String?>( late final GeneratedColumn<String?> parentId = GeneratedColumn<String?>(
'parent_id', aliasedName, true, 'parent_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _quotedMessageIdMeta = final VerificationMeta _quotedMessageIdMeta =
const VerificationMeta('quotedMessageId'); const VerificationMeta('quotedMessageId');
@override
late final GeneratedColumn<String?> quotedMessageId = late final GeneratedColumn<String?> quotedMessageId =
GeneratedColumn<String?>('quoted_message_id', aliasedName, true, GeneratedColumn<String?>('quoted_message_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _replyCountMeta = const VerificationMeta('replyCount'); final VerificationMeta _replyCountMeta = const VerificationMeta('replyCount');
@override
late final GeneratedColumn<int?> replyCount = GeneratedColumn<int?>( late final GeneratedColumn<int?> replyCount = GeneratedColumn<int?>(
'reply_count', aliasedName, true, 'reply_count', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _showInChannelMeta = final VerificationMeta _showInChannelMeta =
const VerificationMeta('showInChannel'); const VerificationMeta('showInChannel');
@override
late final GeneratedColumn<bool?> showInChannel = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> showInChannel = GeneratedColumn<bool?>(
'show_in_channel', aliasedName, true, 'show_in_channel', aliasedName, true,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (show_in_channel IN (0, 1))'); defaultConstraints: 'CHECK (show_in_channel IN (0, 1))');
final VerificationMeta _shadowedMeta = const VerificationMeta('shadowed'); final VerificationMeta _shadowedMeta = const VerificationMeta('shadowed');
@override
late final GeneratedColumn<bool?> shadowed = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> shadowed = GeneratedColumn<bool?>(
'shadowed', aliasedName, false, 'shadowed', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (shadowed IN (0, 1))', defaultConstraints: 'CHECK (shadowed IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _commandMeta = const VerificationMeta('command'); final VerificationMeta _commandMeta = const VerificationMeta('command');
@override
late final GeneratedColumn<String?> command = GeneratedColumn<String?>( late final GeneratedColumn<String?> command = GeneratedColumn<String?>(
'command', aliasedName, true, 'command', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt');
@override
late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>(
'created_at', aliasedName, false, 'created_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt'); final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt');
@override
late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>(
'updated_at', aliasedName, false, 'updated_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _deletedAtMeta = const VerificationMeta('deletedAt'); final VerificationMeta _deletedAtMeta = const VerificationMeta('deletedAt');
@override
late final GeneratedColumn<DateTime?> deletedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> deletedAt = GeneratedColumn<DateTime?>(
'deleted_at', aliasedName, true, 'deleted_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _userIdMeta = const VerificationMeta('userId'); final VerificationMeta _userIdMeta = const VerificationMeta('userId');
@override
late final GeneratedColumn<String?> userId = GeneratedColumn<String?>( late final GeneratedColumn<String?> userId = GeneratedColumn<String?>(
'user_id', aliasedName, true, 'user_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _pinnedMeta = const VerificationMeta('pinned'); final VerificationMeta _pinnedMeta = const VerificationMeta('pinned');
@override
late final GeneratedColumn<bool?> pinned = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> pinned = GeneratedColumn<bool?>(
'pinned', aliasedName, false, 'pinned', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (pinned IN (0, 1))', defaultConstraints: 'CHECK (pinned IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _pinnedAtMeta = const VerificationMeta('pinnedAt'); final VerificationMeta _pinnedAtMeta = const VerificationMeta('pinnedAt');
@override
late final GeneratedColumn<DateTime?> pinnedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> pinnedAt = GeneratedColumn<DateTime?>(
'pinned_at', aliasedName, true, 'pinned_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _pinExpiresMeta = const VerificationMeta('pinExpires'); final VerificationMeta _pinExpiresMeta = const VerificationMeta('pinExpires');
@override
late final GeneratedColumn<DateTime?> pinExpires = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> pinExpires = GeneratedColumn<DateTime?>(
'pin_expires', aliasedName, true, 'pin_expires', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _pinnedByUserIdMeta = final VerificationMeta _pinnedByUserIdMeta =
const VerificationMeta('pinnedByUserId'); const VerificationMeta('pinnedByUserId');
@override
late final GeneratedColumn<String?> pinnedByUserId = GeneratedColumn<String?>( late final GeneratedColumn<String?> pinnedByUserId = GeneratedColumn<String?>(
'pinned_by_user_id', aliasedName, true, 'pinned_by_user_id', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid'); final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid');
@override
late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>( late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>(
'channel_cid', aliasedName, false, 'channel_cid', aliasedName, false,
typeName: 'TEXT', type: const StringType(),
requiredDuringInsert: true, requiredDuringInsert: true,
$customConstraints: 'REFERENCES channels(cid) ON DELETE CASCADE'); $customConstraints: 'REFERENCES channels(cid) ON DELETE CASCADE');
final VerificationMeta _i18nMeta = const VerificationMeta('i18n'); final VerificationMeta _i18nMeta = const VerificationMeta('i18n');
@override
late final GeneratedColumnWithTypeConverter<Map<String, String>, String?> late final GeneratedColumnWithTypeConverter<Map<String, String>, String?>
i18n = GeneratedColumn<String?>('i18n', aliasedName, true, i18n = GeneratedColumn<String?>('i18n', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, String>>($PinnedMessagesTable.$converter5); .withConverter<Map<String, String>>($PinnedMessagesTable.$converter5);
final VerificationMeta _extraDataMeta = const VerificationMeta('extraData'); final VerificationMeta _extraDataMeta = const VerificationMeta('extraData');
@override
late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?> late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?>
extraData = GeneratedColumn<String?>('extra_data', aliasedName, true, extraData = GeneratedColumn<String?>('extra_data', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, Object?>>( .withConverter<Map<String, Object?>>(
$PinnedMessagesTable.$converter6); $PinnedMessagesTable.$converter6);
@override @override
@@ -2947,35 +3009,41 @@ class $PinnedMessageReactionsTable extends PinnedMessageReactions
final String? _alias; final String? _alias;
$PinnedMessageReactionsTable(this._db, [this._alias]); $PinnedMessageReactionsTable(this._db, [this._alias]);
final VerificationMeta _userIdMeta = const VerificationMeta('userId'); final VerificationMeta _userIdMeta = const VerificationMeta('userId');
@override
late final GeneratedColumn<String?> userId = GeneratedColumn<String?>( late final GeneratedColumn<String?> userId = GeneratedColumn<String?>(
'user_id', aliasedName, false, 'user_id', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _messageIdMeta = const VerificationMeta('messageId'); final VerificationMeta _messageIdMeta = const VerificationMeta('messageId');
@override
late final GeneratedColumn<String?> messageId = GeneratedColumn<String?>( late final GeneratedColumn<String?> messageId = GeneratedColumn<String?>(
'message_id', aliasedName, false, 'message_id', aliasedName, false,
typeName: 'TEXT', type: const StringType(),
requiredDuringInsert: true, requiredDuringInsert: true,
$customConstraints: 'REFERENCES pinned_messages(id) ON DELETE CASCADE'); $customConstraints: 'REFERENCES pinned_messages(id) ON DELETE CASCADE');
final VerificationMeta _typeMeta = const VerificationMeta('type'); final VerificationMeta _typeMeta = const VerificationMeta('type');
@override
late final GeneratedColumn<String?> type = GeneratedColumn<String?>( late final GeneratedColumn<String?> type = GeneratedColumn<String?>(
'type', aliasedName, false, 'type', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt');
@override
late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>(
'created_at', aliasedName, false, 'created_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _scoreMeta = const VerificationMeta('score'); final VerificationMeta _scoreMeta = const VerificationMeta('score');
@override
late final GeneratedColumn<int?> score = GeneratedColumn<int?>( late final GeneratedColumn<int?> score = GeneratedColumn<int?>(
'score', aliasedName, false, 'score', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: const Constant(0)); defaultValue: const Constant(0));
final VerificationMeta _extraDataMeta = const VerificationMeta('extraData'); final VerificationMeta _extraDataMeta = const VerificationMeta('extraData');
@override
late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?> late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?>
extraData = GeneratedColumn<String?>('extra_data', aliasedName, true, extraData = GeneratedColumn<String?>('extra_data', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, Object?>>( .withConverter<Map<String, Object?>>(
$PinnedMessageReactionsTable.$converter0); $PinnedMessageReactionsTable.$converter0);
@override @override
@@ -3270,35 +3338,41 @@ class $ReactionsTable extends Reactions
final String? _alias; final String? _alias;
$ReactionsTable(this._db, [this._alias]); $ReactionsTable(this._db, [this._alias]);
final VerificationMeta _userIdMeta = const VerificationMeta('userId'); final VerificationMeta _userIdMeta = const VerificationMeta('userId');
@override
late final GeneratedColumn<String?> userId = GeneratedColumn<String?>( late final GeneratedColumn<String?> userId = GeneratedColumn<String?>(
'user_id', aliasedName, false, 'user_id', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _messageIdMeta = const VerificationMeta('messageId'); final VerificationMeta _messageIdMeta = const VerificationMeta('messageId');
@override
late final GeneratedColumn<String?> messageId = GeneratedColumn<String?>( late final GeneratedColumn<String?> messageId = GeneratedColumn<String?>(
'message_id', aliasedName, false, 'message_id', aliasedName, false,
typeName: 'TEXT', type: const StringType(),
requiredDuringInsert: true, requiredDuringInsert: true,
$customConstraints: 'REFERENCES messages(id) ON DELETE CASCADE'); $customConstraints: 'REFERENCES messages(id) ON DELETE CASCADE');
final VerificationMeta _typeMeta = const VerificationMeta('type'); final VerificationMeta _typeMeta = const VerificationMeta('type');
@override
late final GeneratedColumn<String?> type = GeneratedColumn<String?>( late final GeneratedColumn<String?> type = GeneratedColumn<String?>(
'type', aliasedName, false, 'type', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt');
@override
late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>(
'created_at', aliasedName, false, 'created_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _scoreMeta = const VerificationMeta('score'); final VerificationMeta _scoreMeta = const VerificationMeta('score');
@override
late final GeneratedColumn<int?> score = GeneratedColumn<int?>( late final GeneratedColumn<int?> score = GeneratedColumn<int?>(
'score', aliasedName, false, 'score', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: const Constant(0)); defaultValue: const Constant(0));
final VerificationMeta _extraDataMeta = const VerificationMeta('extraData'); final VerificationMeta _extraDataMeta = const VerificationMeta('extraData');
@override
late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?> late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?>
extraData = GeneratedColumn<String?>('extra_data', aliasedName, true, extraData = GeneratedColumn<String?>('extra_data', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, Object?>>($ReactionsTable.$converter0); .withConverter<Map<String, Object?>>($ReactionsTable.$converter0);
@override @override
List<GeneratedColumn> get $columns => List<GeneratedColumn> get $columns =>
@@ -3666,51 +3740,60 @@ class $UsersTable extends Users with TableInfo<$UsersTable, UserEntity> {
final String? _alias; final String? _alias;
$UsersTable(this._db, [this._alias]); $UsersTable(this._db, [this._alias]);
final VerificationMeta _idMeta = const VerificationMeta('id'); final VerificationMeta _idMeta = const VerificationMeta('id');
@override
late final GeneratedColumn<String?> id = GeneratedColumn<String?>( late final GeneratedColumn<String?> id = GeneratedColumn<String?>(
'id', aliasedName, false, 'id', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _roleMeta = const VerificationMeta('role'); final VerificationMeta _roleMeta = const VerificationMeta('role');
@override
late final GeneratedColumn<String?> role = GeneratedColumn<String?>( late final GeneratedColumn<String?> role = GeneratedColumn<String?>(
'role', aliasedName, true, 'role', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _languageMeta = const VerificationMeta('language'); final VerificationMeta _languageMeta = const VerificationMeta('language');
@override
late final GeneratedColumn<String?> language = GeneratedColumn<String?>( late final GeneratedColumn<String?> language = GeneratedColumn<String?>(
'language', aliasedName, true, 'language', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt');
@override
late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>(
'created_at', aliasedName, false, 'created_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt'); final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt');
@override
late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>(
'updated_at', aliasedName, false, 'updated_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _lastActiveMeta = const VerificationMeta('lastActive'); final VerificationMeta _lastActiveMeta = const VerificationMeta('lastActive');
@override
late final GeneratedColumn<DateTime?> lastActive = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> lastActive = GeneratedColumn<DateTime?>(
'last_active', aliasedName, true, 'last_active', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _onlineMeta = const VerificationMeta('online'); final VerificationMeta _onlineMeta = const VerificationMeta('online');
@override
late final GeneratedColumn<bool?> online = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> online = GeneratedColumn<bool?>(
'online', aliasedName, false, 'online', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (online IN (0, 1))', defaultConstraints: 'CHECK (online IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _bannedMeta = const VerificationMeta('banned'); final VerificationMeta _bannedMeta = const VerificationMeta('banned');
@override
late final GeneratedColumn<bool?> banned = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> banned = GeneratedColumn<bool?>(
'banned', aliasedName, false, 'banned', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (banned IN (0, 1))', defaultConstraints: 'CHECK (banned IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _extraDataMeta = const VerificationMeta('extraData'); final VerificationMeta _extraDataMeta = const VerificationMeta('extraData');
@override
late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?> late final GeneratedColumnWithTypeConverter<Map<String, Object?>, String?>
extraData = GeneratedColumn<String?>('extra_data', aliasedName, false, extraData = GeneratedColumn<String?>('extra_data', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true) type: const StringType(), requiredDuringInsert: true)
.withConverter<Map<String, Object?>>($UsersTable.$converter0); .withConverter<Map<String, Object?>>($UsersTable.$converter0);
@override @override
List<GeneratedColumn> get $columns => [ List<GeneratedColumn> get $columns => [
@@ -4156,69 +4239,80 @@ class $MembersTable extends Members
final String? _alias; final String? _alias;
$MembersTable(this._db, [this._alias]); $MembersTable(this._db, [this._alias]);
final VerificationMeta _userIdMeta = const VerificationMeta('userId'); final VerificationMeta _userIdMeta = const VerificationMeta('userId');
@override
late final GeneratedColumn<String?> userId = GeneratedColumn<String?>( late final GeneratedColumn<String?> userId = GeneratedColumn<String?>(
'user_id', aliasedName, false, 'user_id', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid'); final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid');
@override
late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>( late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>(
'channel_cid', aliasedName, false, 'channel_cid', aliasedName, false,
typeName: 'TEXT', type: const StringType(),
requiredDuringInsert: true, requiredDuringInsert: true,
$customConstraints: 'REFERENCES channels(cid) ON DELETE CASCADE'); $customConstraints: 'REFERENCES channels(cid) ON DELETE CASCADE');
final VerificationMeta _roleMeta = const VerificationMeta('role'); final VerificationMeta _roleMeta = const VerificationMeta('role');
@override
late final GeneratedColumn<String?> role = GeneratedColumn<String?>( late final GeneratedColumn<String?> role = GeneratedColumn<String?>(
'role', aliasedName, true, 'role', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false); type: const StringType(), requiredDuringInsert: false);
final VerificationMeta _inviteAcceptedAtMeta = final VerificationMeta _inviteAcceptedAtMeta =
const VerificationMeta('inviteAcceptedAt'); const VerificationMeta('inviteAcceptedAt');
@override
late final GeneratedColumn<DateTime?> inviteAcceptedAt = late final GeneratedColumn<DateTime?> inviteAcceptedAt =
GeneratedColumn<DateTime?>('invite_accepted_at', aliasedName, true, GeneratedColumn<DateTime?>('invite_accepted_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _inviteRejectedAtMeta = final VerificationMeta _inviteRejectedAtMeta =
const VerificationMeta('inviteRejectedAt'); const VerificationMeta('inviteRejectedAt');
@override
late final GeneratedColumn<DateTime?> inviteRejectedAt = late final GeneratedColumn<DateTime?> inviteRejectedAt =
GeneratedColumn<DateTime?>('invite_rejected_at', aliasedName, true, GeneratedColumn<DateTime?>('invite_rejected_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _invitedMeta = const VerificationMeta('invited'); final VerificationMeta _invitedMeta = const VerificationMeta('invited');
@override
late final GeneratedColumn<bool?> invited = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> invited = GeneratedColumn<bool?>(
'invited', aliasedName, false, 'invited', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (invited IN (0, 1))', defaultConstraints: 'CHECK (invited IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _bannedMeta = const VerificationMeta('banned'); final VerificationMeta _bannedMeta = const VerificationMeta('banned');
@override
late final GeneratedColumn<bool?> banned = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> banned = GeneratedColumn<bool?>(
'banned', aliasedName, false, 'banned', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (banned IN (0, 1))', defaultConstraints: 'CHECK (banned IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _shadowBannedMeta = final VerificationMeta _shadowBannedMeta =
const VerificationMeta('shadowBanned'); const VerificationMeta('shadowBanned');
@override
late final GeneratedColumn<bool?> shadowBanned = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> shadowBanned = GeneratedColumn<bool?>(
'shadow_banned', aliasedName, false, 'shadow_banned', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (shadow_banned IN (0, 1))', defaultConstraints: 'CHECK (shadow_banned IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _isModeratorMeta = final VerificationMeta _isModeratorMeta =
const VerificationMeta('isModerator'); const VerificationMeta('isModerator');
@override
late final GeneratedColumn<bool?> isModerator = GeneratedColumn<bool?>( late final GeneratedColumn<bool?> isModerator = GeneratedColumn<bool?>(
'is_moderator', aliasedName, false, 'is_moderator', aliasedName, false,
typeName: 'INTEGER', type: const BoolType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultConstraints: 'CHECK (is_moderator IN (0, 1))', defaultConstraints: 'CHECK (is_moderator IN (0, 1))',
defaultValue: const Constant(false)); defaultValue: const Constant(false));
final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); final VerificationMeta _createdAtMeta = const VerificationMeta('createdAt');
@override
late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> createdAt = GeneratedColumn<DateTime?>(
'created_at', aliasedName, false, 'created_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt'); final VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt');
@override
late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> updatedAt = GeneratedColumn<DateTime?>(
'updated_at', aliasedName, false, 'updated_at', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: currentDateAndTime); defaultValue: currentDateAndTime);
@override @override
@@ -4495,24 +4589,28 @@ class $ReadsTable extends Reads with TableInfo<$ReadsTable, ReadEntity> {
final String? _alias; final String? _alias;
$ReadsTable(this._db, [this._alias]); $ReadsTable(this._db, [this._alias]);
final VerificationMeta _lastReadMeta = const VerificationMeta('lastRead'); final VerificationMeta _lastReadMeta = const VerificationMeta('lastRead');
@override
late final GeneratedColumn<DateTime?> lastRead = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> lastRead = GeneratedColumn<DateTime?>(
'last_read', aliasedName, false, 'last_read', aliasedName, false,
typeName: 'INTEGER', requiredDuringInsert: true); type: const IntType(), requiredDuringInsert: true);
final VerificationMeta _userIdMeta = const VerificationMeta('userId'); final VerificationMeta _userIdMeta = const VerificationMeta('userId');
@override
late final GeneratedColumn<String?> userId = GeneratedColumn<String?>( late final GeneratedColumn<String?> userId = GeneratedColumn<String?>(
'user_id', aliasedName, false, 'user_id', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid'); final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid');
@override
late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>( late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>(
'channel_cid', aliasedName, false, 'channel_cid', aliasedName, false,
typeName: 'TEXT', type: const StringType(),
requiredDuringInsert: true, requiredDuringInsert: true,
$customConstraints: 'REFERENCES channels(cid) ON DELETE CASCADE'); $customConstraints: 'REFERENCES channels(cid) ON DELETE CASCADE');
final VerificationMeta _unreadMessagesMeta = final VerificationMeta _unreadMessagesMeta =
const VerificationMeta('unreadMessages'); const VerificationMeta('unreadMessages');
@override
late final GeneratedColumn<int?> unreadMessages = GeneratedColumn<int?>( late final GeneratedColumn<int?> unreadMessages = GeneratedColumn<int?>(
'unread_messages', aliasedName, false, 'unread_messages', aliasedName, false,
typeName: 'INTEGER', type: const IntType(),
requiredDuringInsert: false, requiredDuringInsert: false,
defaultValue: const Constant(0)); defaultValue: const Constant(0));
@override @override
@@ -4695,13 +4793,15 @@ class $ChannelQueriesTable extends ChannelQueries
final String? _alias; final String? _alias;
$ChannelQueriesTable(this._db, [this._alias]); $ChannelQueriesTable(this._db, [this._alias]);
final VerificationMeta _queryHashMeta = const VerificationMeta('queryHash'); final VerificationMeta _queryHashMeta = const VerificationMeta('queryHash');
@override
late final GeneratedColumn<String?> queryHash = GeneratedColumn<String?>( late final GeneratedColumn<String?> queryHash = GeneratedColumn<String?>(
'query_hash', aliasedName, false, 'query_hash', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid'); final VerificationMeta _channelCidMeta = const VerificationMeta('channelCid');
@override
late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>( late final GeneratedColumn<String?> channelCid = GeneratedColumn<String?>(
'channel_cid', aliasedName, false, 'channel_cid', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
@override @override
List<GeneratedColumn> get $columns => [queryHash, channelCid]; List<GeneratedColumn> get $columns => [queryHash, channelCid];
@override @override
@@ -5009,38 +5109,45 @@ class $ConnectionEventsTable extends ConnectionEvents
final String? _alias; final String? _alias;
$ConnectionEventsTable(this._db, [this._alias]); $ConnectionEventsTable(this._db, [this._alias]);
final VerificationMeta _idMeta = const VerificationMeta('id'); final VerificationMeta _idMeta = const VerificationMeta('id');
@override
late final GeneratedColumn<int?> id = GeneratedColumn<int?>( late final GeneratedColumn<int?> id = GeneratedColumn<int?>(
'id', aliasedName, false, 'id', aliasedName, false,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _typeMeta = const VerificationMeta('type'); final VerificationMeta _typeMeta = const VerificationMeta('type');
@override
late final GeneratedColumn<String?> type = GeneratedColumn<String?>( late final GeneratedColumn<String?> type = GeneratedColumn<String?>(
'type', aliasedName, false, 'type', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true); type: const StringType(), requiredDuringInsert: true);
final VerificationMeta _ownUserMeta = const VerificationMeta('ownUser'); final VerificationMeta _ownUserMeta = const VerificationMeta('ownUser');
@override
late final GeneratedColumnWithTypeConverter<Map<String, dynamic>, String?> late final GeneratedColumnWithTypeConverter<Map<String, dynamic>, String?>
ownUser = GeneratedColumn<String?>('own_user', aliasedName, true, ownUser = GeneratedColumn<String?>('own_user', aliasedName, true,
typeName: 'TEXT', requiredDuringInsert: false) type: const StringType(), requiredDuringInsert: false)
.withConverter<Map<String, dynamic>>( .withConverter<Map<String, dynamic>>(
$ConnectionEventsTable.$converter0); $ConnectionEventsTable.$converter0);
final VerificationMeta _totalUnreadCountMeta = final VerificationMeta _totalUnreadCountMeta =
const VerificationMeta('totalUnreadCount'); const VerificationMeta('totalUnreadCount');
@override
late final GeneratedColumn<int?> totalUnreadCount = GeneratedColumn<int?>( late final GeneratedColumn<int?> totalUnreadCount = GeneratedColumn<int?>(
'total_unread_count', aliasedName, true, 'total_unread_count', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _unreadChannelsMeta = final VerificationMeta _unreadChannelsMeta =
const VerificationMeta('unreadChannels'); const VerificationMeta('unreadChannels');
@override
late final GeneratedColumn<int?> unreadChannels = GeneratedColumn<int?>( late final GeneratedColumn<int?> unreadChannels = GeneratedColumn<int?>(
'unread_channels', aliasedName, true, 'unread_channels', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _lastEventAtMeta = final VerificationMeta _lastEventAtMeta =
const VerificationMeta('lastEventAt'); const VerificationMeta('lastEventAt');
@override
late final GeneratedColumn<DateTime?> lastEventAt = late final GeneratedColumn<DateTime?> lastEventAt =
GeneratedColumn<DateTime?>('last_event_at', aliasedName, true, GeneratedColumn<DateTime?>('last_event_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
final VerificationMeta _lastSyncAtMeta = const VerificationMeta('lastSyncAt'); final VerificationMeta _lastSyncAtMeta = const VerificationMeta('lastSyncAt');
@override
late final GeneratedColumn<DateTime?> lastSyncAt = GeneratedColumn<DateTime?>( late final GeneratedColumn<DateTime?> lastSyncAt = GeneratedColumn<DateTime?>(
'last_sync_at', aliasedName, true, 'last_sync_at', aliasedName, true,
typeName: 'INTEGER', requiredDuringInsert: false); type: const IntType(), requiredDuringInsert: false);
@override @override
List<GeneratedColumn> get $columns => [ List<GeneratedColumn> get $columns => [
id, id,
@@ -10,7 +10,7 @@ environment:
flutter: ">=1.17.0" flutter: ">=1.17.0"
dependencies: dependencies:
drift: ^1.0.0 drift: 1.3.0
flutter: flutter:
sdk: flutter sdk: flutter
logging: ^1.0.1 logging: ^1.0.1
@@ -24,7 +24,7 @@ dependencies:
dev_dependencies: dev_dependencies:
build_runner: ^2.0.1 build_runner: ^2.0.1
dart_code_metrics: ^4.4.0 dart_code_metrics: ^4.4.0
drift_dev: ^1.0.0 drift_dev: 1.3.0
flutter_test: flutter_test:
sdk: flutter sdk: flutter
mocktail: ^0.2.0 mocktail: ^0.2.0