slack id mapping 지원
This commit is contained in:
parent
61719ce813
commit
bc74966f28
3 changed files with 22 additions and 2 deletions
|
|
@ -25,13 +25,24 @@ class Slack extends Command {
|
|||
} else if(data.message != null) {
|
||||
await sender.send(jsonEncode(data.message));
|
||||
} else if(data.messageJson != null) {
|
||||
await sender.send(data.messageJson!);
|
||||
await sender.send(getName2ID(data.messageJson!, data.idMap));
|
||||
} else {
|
||||
throw Exception('property or message field should not be null');
|
||||
}
|
||||
|
||||
return simpleFuture;
|
||||
}
|
||||
|
||||
String getName2ID(String message, Map<String, String>? idMap) {
|
||||
if(idMap == null) {
|
||||
return message;
|
||||
} else {
|
||||
for(var entry in idMap.entries) {
|
||||
message = message.replaceAll('@${entry.key}', '<@${entry.value}>');
|
||||
}
|
||||
return message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SlackBuild extends Command {
|
||||
|
|
|
|||
|
|
@ -500,6 +500,7 @@ class DataSlackSender extends DataParam {
|
|||
late dynamic property; //oto 내부 생성된 object의 경우
|
||||
late Map<String, dynamic>? message; //yaml로 선언된 값
|
||||
late String? messageJson; //json값으로 선언된 값
|
||||
late Map<String, String>? idMap;
|
||||
|
||||
factory DataSlackSender.fromJson(Map<String, dynamic> json) =>
|
||||
_$DataSlackSenderFromJson(json);
|
||||
|
|
|
|||
|
|
@ -868,7 +868,10 @@ DataSlackSender _$DataSlackSenderFromJson(Map<String, dynamic> json) =>
|
|||
..token = json['token'] as String
|
||||
..property = json['property']
|
||||
..message = json['message'] as Map<String, dynamic>?
|
||||
..messageJson = json['messageJson'] as String?;
|
||||
..messageJson = json['messageJson'] as String?
|
||||
..idMap = (json['idMap'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$DataSlackSenderToJson(DataSlackSender instance) =>
|
||||
<String, dynamic>{
|
||||
|
|
@ -881,6 +884,7 @@ Map<String, dynamic> _$DataSlackSenderToJson(DataSlackSender instance) =>
|
|||
'property': instance.property,
|
||||
'message': instance.message,
|
||||
'messageJson': instance.messageJson,
|
||||
'idMap': instance.idMap,
|
||||
};
|
||||
|
||||
DataSlackBuild _$DataSlackBuildFromJson(Map<String, dynamic> json) =>
|
||||
|
|
@ -896,6 +900,9 @@ DataSlackBuild _$DataSlackBuildFromJson(Map<String, dynamic> json) =>
|
|||
..property = json['property']
|
||||
..message = json['message'] as Map<String, dynamic>?
|
||||
..messageJson = json['messageJson'] as String?
|
||||
..idMap = (json['idMap'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as String),
|
||||
)
|
||||
..appName = json['appName'] as String
|
||||
..type = $enumDecode(_$SlackBuildTypeEnumMap, json['type'])
|
||||
..color = json['color'] as String
|
||||
|
|
@ -914,6 +921,7 @@ Map<String, dynamic> _$DataSlackBuildToJson(DataSlackBuild instance) =>
|
|||
'property': instance.property,
|
||||
'message': instance.message,
|
||||
'messageJson': instance.messageJson,
|
||||
'idMap': instance.idMap,
|
||||
'appName': instance.appName,
|
||||
'type': _$SlackBuildTypeEnumMap[instance.type]!,
|
||||
'color': instance.color,
|
||||
|
|
|
|||
Loading…
Reference in a new issue