feat: Added new API endpoint
This commit is contained in:
@@ -462,7 +462,7 @@ class Channel {
|
||||
if (error is DioError && error.type != DioErrorType.response) {
|
||||
state?.retryQueue?.add([message]);
|
||||
} else if (error is ApiError) {
|
||||
if(currentMessage != null) {
|
||||
if (currentMessage != null) {
|
||||
state?.addMessage(currentMessage);
|
||||
}
|
||||
}
|
||||
@@ -470,6 +470,27 @@ class Channel {
|
||||
}
|
||||
}
|
||||
|
||||
/// Partially updates the [message] in this channel.
|
||||
Future<UpdateMessageResponse> partiallyUpdateMessage(
|
||||
Message message, Map data) async {
|
||||
try {
|
||||
final response = await _client.partiallyUpdateMessage(message.id, data);
|
||||
|
||||
final m = response.message.copyWith(
|
||||
ownReactions: message.ownReactions,
|
||||
);
|
||||
|
||||
state?.addMessage(m);
|
||||
|
||||
return response;
|
||||
} catch (error) {
|
||||
if (error is DioError && error.type != DioErrorType.response) {
|
||||
state?.retryQueue?.add([message]);
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
/// Deletes the [message] from the channel.
|
||||
Future<EmptyResponse> deleteMessage(Message message) async {
|
||||
// Directly deleting the local messages which are not yet sent to server
|
||||
@@ -533,17 +554,21 @@ class Channel {
|
||||
Duration(seconds: timeoutOrExpirationDate.toInt()),
|
||||
);
|
||||
}
|
||||
return updateMessage(
|
||||
message.copyWith(
|
||||
pinned: true,
|
||||
pinExpires: pinExpires,
|
||||
),
|
||||
);
|
||||
return partiallyUpdateMessage(message, {
|
||||
'set': {
|
||||
'pinned': true,
|
||||
if (pinExpires != null) 'pin_expires': pinExpires.toIso8601String(),
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/// Unpins provided message
|
||||
Future<UpdateMessageResponse> unpinMessage(Message message) =>
|
||||
updateMessage(message.copyWith(pinned: false));
|
||||
partiallyUpdateMessage(message, {
|
||||
'set': {
|
||||
'pinned': false,
|
||||
}
|
||||
});
|
||||
|
||||
/// Send a file to this channel
|
||||
Future<SendFileResponse> sendFile(
|
||||
|
||||
Reference in New Issue
Block a user