mirror of
https://github.com/tulir/gomuks.git
synced 2025-04-19 18:13:41 -05:00
19 lines
629 B
SQL
19 lines
629 B
SQL
-- v11 (compatible with v10+): Store direct chat user ID in database
|
|
ALTER TABLE room ADD COLUMN dm_user_id TEXT;
|
|
WITH dm_user_ids AS (
|
|
SELECT room_id, value
|
|
FROM room
|
|
INNER JOIN json_each(lazy_load_summary, '$."m.heroes"')
|
|
WHERE value NOT IN (SELECT value FROM json_each((
|
|
SELECT event.content
|
|
FROM current_state cs
|
|
INNER JOIN event ON cs.event_rowid = event.rowid
|
|
WHERE cs.room_id=room.room_id AND cs.event_type='io.element.functional_members' AND cs.state_key=''
|
|
), '$.service_members'))
|
|
GROUP BY room_id
|
|
HAVING COUNT(*) = 1
|
|
)
|
|
UPDATE room
|
|
SET dm_user_id=value
|
|
FROM dm_user_ids du
|
|
WHERE room.room_id=du.room_id;
|