import 'package:oto_cli/framework/utils/slack/slack_data.dart'; //Format info //https://api.slack.com/reference/surfaces/formatting class SlackTemplate { static DataSlack getAttachments(String channel) { DataSlack data = DataSlack(channel); data.attachments = []; var attachment = SlackAttachment(); attachment.fallback = 'Plain-text summary of the attachment.'; attachment.color = '#2eb886'; attachment.pretext = 'Optional text that appears above the attachment block'; attachment.author_name = 'Bobby Tables'; attachment.author_link = 'http://flickr.com/bobby/'; attachment.author_icon = 'http://flickr.com/icons/bobby.jpg'; attachment.title = 'Slack API Documentation'; attachment.title_link = 'https://api.slack.com/'; attachment.text = 'Optional text that appears within the attachment'; attachment.fields = [ SlackField.withParam('Priority', 'High', short: false), ]; attachment.image_url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Flat_tick_icon.svg/1024px-Flat_tick_icon.svg.png'; attachment.thumb_url = 'https://cdn-icons-png.flaticon.com/512/3771/3771140.png'; attachment.footer = 'Slack API'; attachment.footer_icon = 'https://platform.slack-edge.com/img/default_application_icon.png'; attachment.ts = '123456789'; data.attachments!.add(attachment); return data; } static DataSlack getBlocks(String channel) { DataSlack data = DataSlack(channel); data.attachments = []; var attachment = SlackAttachment(); data.blocks = []; var blockSection = SlackBlockSection(); blockSection.text = SlackBlockText(); blockSection.text!.text = 'Danny Torrence left the following review for your property:'; data.blocks!.add(blockSection); blockSection = SlackBlockSection(); blockSection.text = SlackBlockText(); blockSection.text!.text = ' \n :star: \n Doors had too many axe holes, guest in room 237 was far too rowdy, whole place felt stuck in the 1920s.'; blockSection.accessory = SlackAccessory(); blockSection.accessory!.type = SlackActionType.image; blockSection.accessory!.image_url = 'https://is5-ssl.mzstatic.com/image/thumb/Purple3/v4/d3/72/5c/d3725c8f-c642-5d69-1904-aa36e4297885/source/256x256bb.jpg'; blockSection.accessory!.alt_text = 'Haunted hotel image'; data.blocks!.add(blockSection); blockSection = SlackBlockSection(); blockSection.block_id = 'section789'; blockSection.fields = []; var field = SlackBlockText(); field.text = '*Average Rating*\n1.0'; blockSection.fields!.add(field); data.blocks!.add(blockSection); attachment.blocks = []; blockSection = SlackBlockSection(); blockSection.text = SlackBlockText(); blockSection.text!.text = '*Alternative hotel options*'; attachment.blocks!.add(blockSection); blockSection = SlackBlockSection(); blockSection.text = SlackBlockText(); blockSection.text!.text = ' :star::star:'; blockSection.accessory = SlackAccessory(); blockSection.accessory!.type = SlackActionType.button; blockSection.accessory!.url = 'https://www.google.com'; blockSection.accessory!.text = SlackBlockText(); blockSection.accessory!.text!.type = SlackTextType.plain_text; blockSection.accessory!.text!.text = 'View'; blockSection.accessory!.text!.emoji = true; blockSection.accessory!.value = 'view_alternate_1'; attachment.blocks!.add(blockSection); blockSection = SlackBlockSection(); blockSection.text = SlackBlockText(); blockSection.text!.text = ' :star::star::star::star:'; blockSection.accessory = SlackAccessory(); blockSection.accessory!.type = SlackActionType.button; blockSection.accessory!.url = 'https://www.naver.com'; blockSection.accessory!.text = SlackBlockText(); blockSection.accessory!.text!.type = SlackTextType.plain_text; blockSection.accessory!.text!.text = 'View'; blockSection.accessory!.text!.emoji = true; blockSection.accessory!.value = 'view_alternate_2'; attachment.blocks!.add(blockSection); data.attachments!.add(attachment); return data; } }