46 lines
1.2 KiB
SQL
46 lines
1.2 KiB
SQL
CREATE OR REPLACE FORCE VIEW user_messages_chat AS
|
|
WITH x AS (
|
|
SELECT /*+ MATERIALIZE */
|
|
app.get_app_id() AS app_id,
|
|
app.get_user_id() AS user_id,
|
|
app.get_session_id() AS session_id
|
|
FROM DUAL
|
|
)
|
|
SELECT
|
|
--
|
|
-- https://apex.oracle.com/pls/apex/apex_pm/r/ut/comments-report
|
|
--
|
|
NULL AS actions,
|
|
NULL AS attribute_1,
|
|
NULL AS attribute_2,
|
|
NULL AS attribute_3,
|
|
NULL AS attribute_4,
|
|
--
|
|
APEX_UTIL.GET_SINCE(m.created_at) AS comment_date,
|
|
m.message_payload AS comment_text,
|
|
--
|
|
CASE WHEN m.created_by = m.user_id
|
|
THEN 'RIGHT'
|
|
END AS comment_modifiers,
|
|
--
|
|
CASE WHEN m.created_by = m.user_id
|
|
THEN 'u-color-6'
|
|
ELSE 'u-color-5'
|
|
END AS icon_modifier,
|
|
--
|
|
APEX_STRING.GET_INITIALS(m.created_by) AS user_icon,
|
|
--
|
|
CASE WHEN m.created_by = m.user_id
|
|
THEN NULL
|
|
ELSE m.created_by
|
|
END AS user_name
|
|
FROM user_messages m
|
|
JOIN x
|
|
ON x.app_id = m.app_id
|
|
AND x.user_id = m.user_id
|
|
AND x.session_id = m.session_id
|
|
WHERE m.message_type = 'CHAT'
|
|
ORDER BY m.created_at DESC
|
|
FETCH FIRST 20 ROWS ONLY;
|
|
|