|
@@ -1,8 +1,8 @@
|
|
|
SELECT 'form' AS component
|
|
SELECT 'form' AS component
|
|
|
, '/send.sql' AS action
|
|
, '/send.sql' AS action
|
|
|
-, 'green' AS validate_color
|
|
|
|
|
, 'post' AS method
|
|
, 'post' AS method
|
|
|
, 'Send' AS validate
|
|
, 'Send' AS validate
|
|
|
|
|
+, 'orange' AS validate_color
|
|
|
;
|
|
;
|
|
|
SELECT 'from' AS name
|
|
SELECT 'from' AS name
|
|
|
, :me AS value
|
|
, :me AS value
|
|
@@ -18,6 +18,11 @@ SELECT 'to' AS name
|
|
|
, TRUE AS readonly
|
|
, TRUE AS readonly
|
|
|
, 3 AS width
|
|
, 3 AS width
|
|
|
;
|
|
;
|
|
|
|
|
+SELECT 'media' AS name
|
|
|
|
|
+, 'file' type
|
|
|
|
|
+, 'MMS' AS label
|
|
|
|
|
+, 6 AS width
|
|
|
|
|
+;
|
|
|
SELECT 'Write a short message...' AS placeholder
|
|
SELECT 'Write a short message...' AS placeholder
|
|
|
, TRUE AS autofocus
|
|
, TRUE AS autofocus
|
|
|
, 'message' AS name
|
|
, 'message' AS name
|
|
@@ -29,19 +34,31 @@ SELECT 'Write a short message...' AS placeholder
|
|
|
SELECT 'card' as component
|
|
SELECT 'card' as component
|
|
|
, 1 AS columns
|
|
, 1 AS columns
|
|
|
;
|
|
;
|
|
|
-SELECT COALESCE(c.name, SUBSTR("from", 3, LENGTH("from"))) AS title
|
|
|
|
|
-, received AS footer, json(payload)->>'$.payload.text' AS description
|
|
|
|
|
|
|
+SELECT CASE WHEN COALESCE(a.seq, 0) = 0 AND payload->>'$.payload.text' <> '' THEN COALESCE(c.name, SUBSTR("from", 3, LENGTH("from"))) ELSE NULL END AS title
|
|
|
|
|
+, received AS _cardinal
|
|
|
|
|
+, a.seq AS _seq
|
|
|
|
|
+, CASE WHEN COALESCE(a.seq, 0) = 0 AND payload->>'$.payload.text' <> '' THEN datetime(received, 'localtime') ELSE NULL END AS footer
|
|
|
|
|
+, CASE WHEN COALESCE(a.seq, 0) = 0 AND payload->>'$.payload.text' <> '' THEN payload->>'$.payload.text' ELSE NULL END AS description
|
|
|
|
|
+-- TODO: add support for more MMS attachment types
|
|
|
|
|
+, CASE WHEN a.hint = '/media.jpeg' THEN a.data ELSE NULL END AS top_image
|
|
|
, 'blue' AS color
|
|
, 'blue' AS color
|
|
|
FROM inbox i
|
|
FROM inbox i
|
|
|
LEFT JOIN contacts c ON c.number = i."from"
|
|
LEFT JOIN contacts c ON c.number = i."from"
|
|
|
|
|
+LEFT JOIN attachments a ON a.id = payload->>'$.payload.id'
|
|
|
WHERE '+1'||:peer = "from" AND '+1'||:me = "to"
|
|
WHERE '+1'||:peer = "from" AND '+1'||:me = "to"
|
|
|
UNION
|
|
UNION
|
|
|
SELECT COALESCE(c.name, SUBSTR("from", 3, LENGTH("from"))) AS title
|
|
SELECT COALESCE(c.name, SUBSTR("from", 3, LENGTH("from"))) AS title
|
|
|
-, sent AS footer, payload AS description
|
|
|
|
|
|
|
+, sent AS _cardinal
|
|
|
|
|
+, a.seq AS _seq
|
|
|
|
|
+, CASE WHEN COALESCE(a.seq, 0) = 0 AND payload <> '' THEN datetime(sent, 'localtime') ELSE NULL END AS footer
|
|
|
|
|
+, CASE WHEN COALESCE(a.seq, 0) = 0 AND payload <> '' THEN payload ELSE NULL END AS description
|
|
|
|
|
+-- TODO: add support for more MMS attachment types
|
|
|
|
|
+, CASE WHEN a.hint = 'image/jpeg' THEN a.data ELSE NULL END AS top_image
|
|
|
, 'green' AS color
|
|
, 'green' AS color
|
|
|
FROM outbox o
|
|
FROM outbox o
|
|
|
LEFT JOIN contacts c ON c.number = o."from"
|
|
LEFT JOIN contacts c ON c.number = o."from"
|
|
|
|
|
+LEFT JOIN attachments a ON a.id = o.id
|
|
|
WHERE '+1'||:peer = "to" AND '+1'||:me = "from"
|
|
WHERE '+1'||:peer = "to" AND '+1'||:me = "from"
|
|
|
-ORDER BY footer DESC
|
|
|
|
|
|
|
+ORDER BY _cardinal DESC, _seq DESC
|
|
|
;
|
|
;
|
|
|
|
|
|