Slack sender code refactoring

This commit is contained in:
toki 2023-03-21 22:54:01 +09:00
parent f7724576ab
commit b2d22069b2

View file

@ -16,9 +16,6 @@ class SlackSender {
//API - https://api.slack.com/methods/files.upload
final urlFileUplaod = "https://slack.com/api/files.upload";
Function(String)? _completeListener;
Function(Exception)? _errorListener;
String getValidatedUser(String? targetUser) {
targetUser ??= "@channel";
if (targetUser.indexOf("@") != 0) targetUser = "@$targetUser";
@ -53,20 +50,6 @@ class SlackSender {
return buffer.toString();
}
void onComplete(String result) {
print(result);
if (_completeListener != null) _completeListener!(result);
}
void onError(Exception exception) {
if (_errorListener != null) _errorListener!(exception);
}
void initializeListener() {
_completeListener = null;
_errorListener = null;
}
// Attachment로
Future send(String channel, SlackAttachment attachment,
{String? targetUser,
@ -81,14 +64,18 @@ class SlackSender {
Future sends(String channel, DataSlack message,
{String? targetUser,
Function(String)? completeListener,
Function(Exception)? errorListener}) async {
Function(Object)? errorListener}) async {
var c = Completer();
String url = getURL(channel, message, targetUser);
var response = await http.get(Uri.parse(url));
print(response.body);
if (_completeListener != null) _completeListener!(response.body);
if (response.statusCode < 300 && response.statusCode >= 200) {
print(response.body);
if (completeListener != null) completeListener!(response.body);
} else {
if (errorListener != null) errorListener!(response);
}
c.complete();
return c.future;
@ -112,16 +99,18 @@ class SlackSender {
Future sendFile(String channel, SlackFile file,
{String? targetUser,
Function(String)? completeListener,
Function(Exception)? errorListener}) async {
Function(Object)? errorListener}) async {
var c = Completer();
_completeListener = completeListener;
_errorListener = errorListener;
var form = getPostForm(urlFileUplaod, channel, targetUser);
form = await file.setFileData(form);
var response = await form.send();
var result = await response.stream.bytesToString();
if (_completeListener != null) _completeListener!(result);
if (response.statusCode < 300 && response.statusCode >= 200) {
if (completeListener != null) completeListener!(result);
} else {
if (errorListener != null) errorListener!(result);
}
c.complete();
return c.future;