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