Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
json.id article.id
|
||||
json.category_id article.category_id
|
||||
json.title article.title
|
||||
json.content article.content
|
||||
json.description article.description
|
||||
json.status article.status
|
||||
json.position article.position
|
||||
json.account_id article.account_id
|
||||
json.last_updated_at article.updated_at
|
||||
json.slug article.slug
|
||||
|
||||
if article.portal.present?
|
||||
json.portal do
|
||||
json.partial! 'public/api/v1/models/hc/portal', formats: [:json], portal: article.portal
|
||||
end
|
||||
end
|
||||
|
||||
if article.category.present?
|
||||
json.category do
|
||||
json.id article.category.id
|
||||
json.slug article.category.slug
|
||||
json.locale article.category.locale
|
||||
end
|
||||
end
|
||||
|
||||
json.views article.views
|
||||
|
||||
if article.author.present?
|
||||
json.author do
|
||||
json.partial! 'public/api/v1/models/hc/author', formats: [:json], resource: article.author
|
||||
end
|
||||
end
|
||||
|
||||
json.associated_articles do
|
||||
if article.associated_articles.any?
|
||||
json.array! article.associated_articles.each do |associated_article|
|
||||
json.partial! 'public/api/v1/models/hc/associated_article', formats: [:json], article: associated_article
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
json.link "hc/#{article.portal.slug}/articles/#{article.slug}"
|
||||
@@ -0,0 +1,5 @@
|
||||
json.name category.name
|
||||
json.slug category.slug
|
||||
json.locale category.locale
|
||||
json.description category.description
|
||||
json.position category.position
|
||||
@@ -0,0 +1,9 @@
|
||||
json.name category.name
|
||||
json.slug category.slug
|
||||
json.locale category.locale
|
||||
json.description category.description
|
||||
json.position category.position
|
||||
|
||||
json.meta do
|
||||
json.articles_count category.articles.published.size
|
||||
end
|
||||
@@ -0,0 +1,4 @@
|
||||
json.id resource.id
|
||||
json.name resource.name
|
||||
json.email resource.email
|
||||
json.phone_number resource.phone_number
|
||||
@@ -0,0 +1,12 @@
|
||||
json.id resource.display_id
|
||||
json.uuid resource.uuid
|
||||
json.inbox_id resource.inbox_id
|
||||
json.contact_last_seen_at resource.contact_last_seen_at.to_i
|
||||
json.status resource.status
|
||||
json.agent_last_seen_at resource.agent_last_seen_at.to_i
|
||||
json.messages do
|
||||
json.array! resource.messages.chat do |message|
|
||||
json.partial! 'public/api/v1/models/message', formats: [:json], resource: message
|
||||
end
|
||||
end
|
||||
json.contact resource.contact
|
||||
@@ -0,0 +1,9 @@
|
||||
json.id resource.id
|
||||
json.csat_survey_response resource.csat_survey_response
|
||||
json.display_type resource.inbox.csat_config.try(:[], 'display_type') || 'emoji'
|
||||
json.content resource.inbox.csat_config.try(:[], 'message')
|
||||
json.inbox_avatar_url resource.inbox.avatar_url
|
||||
json.inbox_name resource.inbox.name
|
||||
json.locale resource.account.locale
|
||||
json.conversation_id resource.conversation_id
|
||||
json.created_at resource.created_at
|
||||
@@ -0,0 +1,6 @@
|
||||
json.name resource.name
|
||||
json.timezone resource.timezone
|
||||
json.working_hours resource.weekly_schedule
|
||||
json.working_hours_enabled resource.working_hours_enabled
|
||||
json.csat_survey_enabled resource.csat_survey_enabled
|
||||
json.greeting_enabled resource.greeting_enabled
|
||||
@@ -0,0 +1,9 @@
|
||||
json.id resource.id
|
||||
json.content resource.content
|
||||
json.message_type resource.message_type_before_type_cast
|
||||
json.content_type resource.content_type
|
||||
json.content_attributes resource.content_attributes
|
||||
json.created_at resource.created_at.to_i
|
||||
json.conversation_id resource.conversation.display_id
|
||||
json.attachments resource.attachments.map(&:push_event_data) if resource.attachments.present?
|
||||
json.sender resource.sender.push_event_data if resource.sender
|
||||
@@ -0,0 +1,15 @@
|
||||
json.id article.id
|
||||
json.category_id article.category_id
|
||||
json.title article.title
|
||||
json.content article.content
|
||||
json.description article.description
|
||||
json.status article.status
|
||||
json.account_id article.account_id
|
||||
json.last_updated_at article.updated_at
|
||||
json.views article.views
|
||||
|
||||
if article.author.present?
|
||||
json.author do
|
||||
json.partial! 'public/api/v1/models/hc/author', formats: [:json], resource: article.author
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
json.available_name resource.available_name
|
||||
json.name resource.name
|
||||
json.thumbnail resource.avatar_url
|
||||
@@ -0,0 +1,22 @@
|
||||
json.custom_domain portal.custom_domain
|
||||
json.header_text portal.header_text
|
||||
json.homepage_link portal.homepage_link
|
||||
json.name portal.name
|
||||
json.page_title portal.page_title
|
||||
json.slug portal.slug
|
||||
|
||||
json.categories do
|
||||
if portal.categories.any?
|
||||
json.array! portal.categories.each do |category|
|
||||
json.partial! 'public/api/v1/models/category', formats: [:json], category: category
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
json.logo portal.file_base_data if portal.logo.present?
|
||||
|
||||
json.meta do
|
||||
json.articles_count portal.articles.published.size
|
||||
json.categories_count portal.categories.size
|
||||
json.default_locale portal.default_locale
|
||||
end
|
||||
Reference in New Issue
Block a user