module Seeders::MessageSeeder def self.create_sample_email_collect_message(conversation) Message.create!( account: conversation.account, inbox: conversation.inbox, conversation: conversation, message_type: :template, content_type: :input_email, content: 'Get notified by email' ) end def self.create_sample_csat_collect_message(conversation) Message.create!( account: conversation.account, inbox: conversation.inbox, conversation: conversation, message_type: :template, content_type: :input_csat, content: 'Please rate the support' ) end def self.create_sample_cards_message(conversation) Message.create!( account: conversation.account, inbox: conversation.inbox, conversation: conversation, message_type: :template, content_type: 'cards', content: 'cards', content_attributes: { items: [ sample_card_item, sample_card_item ] } ) end def self.sample_card_item { media_url: 'https://i.imgur.com/d8Djr4k.jpg', title: 'Acme Shoes 2.0', description: 'Move with Acme Shoe 2.0', actions: [ { type: 'link', text: 'View More', uri: 'http://acme-shoes.inc' }, { type: 'postback', text: 'Add to cart', payload: 'ITEM_SELECTED' } ] } end def self.create_sample_input_select_message(conversation) Message.create!( account: conversation.account, inbox: conversation.inbox, conversation: conversation, message_type: :template, content: 'Your favorite food', content_type: 'input_select', content_attributes: { items: [ { title: '🌯 Burito', value: 'Burito' }, { title: '🍝 Pasta', value: 'Pasta' }, { title: ' 🍱 Sushi', value: 'Sushi' }, { title: ' 🥗 Salad', value: 'Salad' } ] } ) end def self.create_sample_form_message(conversation) Message.create!( account: conversation.account, inbox: conversation.inbox, conversation: conversation, message_type: :template, content_type: 'form', content: 'form', content_attributes: sample_form ) end def self.sample_form { items: [ { name: 'email', placeholder: 'Please enter your email', type: 'email', label: 'Email', required: 'required', pattern_error: 'Please fill this field', pattern: '^[^\s@]+@[^\s@]+\.[^\s@]+$' }, { name: 'text_area', placeholder: 'Please enter text', type: 'text_area', label: 'Large Text', required: 'required', pattern_error: 'Please fill this field' }, { name: 'text', placeholder: 'Please enter text', type: 'text', label: 'text', default: 'defaut value', required: 'required', pattern: '^[a-zA-Z ]*$', pattern_error: 'Only alphabets are allowed' }, { name: 'select', label: 'Select Option', type: 'select', options: [{ label: '🌯 Burito', value: 'Burito' }, { label: '🍝 Pasta', value: 'Pasta' }] } ] } end def self.create_sample_articles_message(conversation) Message.create!( account: conversation.account, inbox: conversation.inbox, conversation: conversation, message_type: :template, content: 'Tech Companies', content_type: 'article', content_attributes: { items: [ { title: 'Acme Hardware', description: 'Hardware reimagined', link: 'http://acme-hardware.inc' }, { title: 'Acme Search', description: 'The best Search Engine', link: 'http://acme-search.inc' } ] } ) end end