slack file add
This commit is contained in:
parent
da1f7b7907
commit
622a0465d1
4 changed files with 78 additions and 0 deletions
|
|
@ -80,6 +80,7 @@ enum CommandType {
|
|||
FileInfo,
|
||||
DirectoryCreate,
|
||||
Slack,
|
||||
SlackFile,
|
||||
SlackBuild,
|
||||
StringSub,
|
||||
StringReplace,
|
||||
|
|
@ -154,6 +155,7 @@ abstract class Command {
|
|||
CommandType.FileInfo: () => FileInfo(),
|
||||
CommandType.DirectoryCreate: () => DirectoryCreate(),
|
||||
CommandType.Slack: () => Slack(),
|
||||
CommandType.SlackFile: () => SlackFile(),
|
||||
CommandType.SlackBuild: () => SlackBuild(),
|
||||
CommandType.StringSub: () => StringSub(),
|
||||
CommandType.StringReplace: () => StringReplace(),
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:dart_framework/utils/slack/slack_data.dart';
|
||||
import 'package:dart_framework/utils/system_util.dart';
|
||||
|
|
@ -9,6 +10,7 @@ import 'package:oto_cli/oto/commands/command.dart';
|
|||
import 'package:oto_cli/oto/data/command_data.dart';
|
||||
import 'package:color/color.dart';
|
||||
import 'package:dart_framework/utils/slack/slack_sender.dart';
|
||||
import 'package:dart_framework/utils/slack/slack_data.dart' as slackData;
|
||||
|
||||
class Slack extends Command {
|
||||
@override
|
||||
|
|
@ -45,6 +47,26 @@ class Slack extends Command {
|
|||
}
|
||||
}
|
||||
|
||||
class SlackFile extends Command {
|
||||
Function? get error => null;
|
||||
|
||||
@override
|
||||
Future execute(DataCommand command) async {
|
||||
var data = DataSlackFile.fromJson(getParam(command));
|
||||
var slackFile = slackData.SlackFile();
|
||||
slackFile.title = data.title;
|
||||
slackFile.initial_comment = data.initialComment;
|
||||
slackFile.file = File(data.filePath);
|
||||
slackFile.fileName = data.fileName;
|
||||
slackFile.mimeType = data.mimeType;
|
||||
|
||||
var sender = SlackSender(data.token);
|
||||
await sender.sendFile(data.channel, slackFile);
|
||||
|
||||
return await complete(0, command);
|
||||
}
|
||||
}
|
||||
|
||||
class SlackBuild extends Command {
|
||||
@override
|
||||
Future execute(DataCommand command) async {
|
||||
|
|
|
|||
|
|
@ -583,6 +583,26 @@ class DataSlackSender extends DataParam {
|
|||
Map<String, dynamic> toJson() => _$DataSlackSenderToJson(this);
|
||||
}
|
||||
|
||||
//TestflightUpload
|
||||
@JsonSerializable()
|
||||
class DataSlackFile extends DataParam {
|
||||
DataSlackFile();
|
||||
|
||||
late String token;
|
||||
late String channel;
|
||||
late String filePath;
|
||||
late String? title;
|
||||
late String? initialComment;
|
||||
late String? fileName;
|
||||
late String? mimeType;
|
||||
|
||||
factory DataSlackFile.fromJson(Map<String, dynamic> json) =>
|
||||
_$DataSlackFileFromJson(json);
|
||||
@override
|
||||
Map<String, dynamic> toJson() => _$DataSlackFileToJson(this);
|
||||
}
|
||||
|
||||
|
||||
//Slack Build
|
||||
@JsonSerializable()
|
||||
class DataSlackBuild extends DataSlackSender {
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ const _$CommandTypeEnumMap = {
|
|||
CommandType.FileInfo: 'FileInfo',
|
||||
CommandType.DirectoryCreate: 'DirectoryCreate',
|
||||
CommandType.Slack: 'Slack',
|
||||
CommandType.SlackFile: 'SlackFile',
|
||||
CommandType.SlackBuild: 'SlackBuild',
|
||||
CommandType.StringSub: 'StringSub',
|
||||
CommandType.StringReplace: 'StringReplace',
|
||||
|
|
@ -1023,6 +1024,39 @@ Map<String, dynamic> _$DataSlackSenderToJson(DataSlackSender instance) =>
|
|||
'idMap': instance.idMap,
|
||||
};
|
||||
|
||||
DataSlackFile _$DataSlackFileFromJson(Map<String, dynamic> json) =>
|
||||
DataSlackFile()
|
||||
..workspace = json['workspace'] as String?
|
||||
..passExitCodes = (json['passExitCodes'] as List<dynamic>?)
|
||||
?.map((e) => (e as num).toInt())
|
||||
.toList()
|
||||
..setResult = json['setResult'] as String?
|
||||
..setExitCode = json['setExitCode'] as String?
|
||||
..showPrint = json['showPrint'] as bool?
|
||||
..token = json['token'] as String
|
||||
..channel = json['channel'] as String
|
||||
..filePath = json['filePath'] as String
|
||||
..title = json['title'] as String?
|
||||
..initialComment = json['initialComment'] as String?
|
||||
..fileName = json['fileName'] as String?
|
||||
..mimeType = json['mimeType'] as String?;
|
||||
|
||||
Map<String, dynamic> _$DataSlackFileToJson(DataSlackFile instance) =>
|
||||
<String, dynamic>{
|
||||
'workspace': instance.workspace,
|
||||
'passExitCodes': instance.passExitCodes,
|
||||
'setResult': instance.setResult,
|
||||
'setExitCode': instance.setExitCode,
|
||||
'showPrint': instance.showPrint,
|
||||
'token': instance.token,
|
||||
'channel': instance.channel,
|
||||
'filePath': instance.filePath,
|
||||
'title': instance.title,
|
||||
'initialComment': instance.initialComment,
|
||||
'fileName': instance.fileName,
|
||||
'mimeType': instance.mimeType,
|
||||
};
|
||||
|
||||
DataSlackBuild _$DataSlackBuildFromJson(Map<String, dynamic> json) =>
|
||||
DataSlackBuild()
|
||||
..workspace = json['workspace'] as String?
|
||||
|
|
|
|||
Loading…
Reference in a new issue