Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions DSL/Resql/analytics/POST/status-all-chats.sql
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
WITH latest_messages AS (
SELECT DISTINCT ON (message.chat_base_id)
message.chat_base_id,
message.event
FROM message
WHERE message.event IN (:events)
ORDER BY message.chat_base_id, message.updated DESC
)
SELECT
date_trunc(:metric, chat.ended) AS date_time,
message.event AS event,
lm.event AS event,
COUNT(DISTINCT chat.base_id)
FROM chat
JOIN message
ON chat.base_id = message.chat_base_id
JOIN latest_messages lm
ON chat.base_id = lm.chat_base_id
WHERE chat.status = 'ENDED'
AND message.event IN (:events)
AND (
array_length(ARRAY[:urls]::TEXT[], 1) IS NULL
AND (
array_length(ARRAY[:urls]::TEXT[], 1) IS NULL
OR chat.end_user_url LIKE ANY(ARRAY[:urls]::TEXT[])
)
AND (
:showTest = TRUE
AND (
:showTest = TRUE
OR chat.test = FALSE
)
AND chat.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
AND chat.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
GROUP BY date_time, event
ORDER BY event;
26 changes: 17 additions & 9 deletions DSL/Resql/analytics/POST/status-csa-chats.sql
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
WITH latest_messages AS (
SELECT DISTINCT ON (message.chat_base_id)
message.chat_base_id,
message.event
FROM message
WHERE message.event IN (:events)
AND message.author_role = 'backoffice-user'
ORDER BY message.chat_base_id, message.updated DESC
)
SELECT
date_trunc(:metric, chat.ended) AS date_time,
message.event AS event,
lm.event AS event,
COUNT(DISTINCT chat.base_id)
FROM chat
JOIN message ON chat.base_id = message.chat_base_id
JOIN latest_messages lm
ON chat.base_id = lm.chat_base_id
WHERE chat.status = 'ENDED'
AND message.event IN (:events)
AND message.author_role = 'backoffice-user'
AND (
array_length(ARRAY[:urls]::TEXT[], 1) IS NULL
AND (
array_length(ARRAY[:urls]::TEXT[], 1) IS NULL
OR chat.end_user_url LIKE ANY(ARRAY[:urls]::TEXT[])
)
AND (
:showTest = TRUE
AND (
:showTest = TRUE
OR chat.test = FALSE
)
AND chat.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
AND chat.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
GROUP BY date_time, event
ORDER BY event;
Loading