summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorCadence Ember <cadence@disroot.org>2023-07-28 17:05:13 +1200
committerCadence Ember <cadence@disroot.org>2023-07-28 17:05:13 +1200
commit96dd488e3935bc3a8a2eabca0546250dc6ac2fe3 (patch)
treeefde71d28f72a855301d0a75b7a10c1fd7bbd452 /scripts
parentlarge files are now linked instead of uploaded (diff)
downloadout-of-your-element-96dd488e3935bc3a8a2eabca0546250dc6ac2fe3.tar.xz
progress on edits
Diffstat (limited to 'scripts')
-rw-r--r--scripts/save-event-types-to-db.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/save-event-types-to-db.js b/scripts/save-event-types-to-db.js
new file mode 100644

index 0000000..83f5d2b --- /dev/null +++ b/scripts/save-event-types-to-db.js
@@ -0,0 +1,30 @@ +// @ts-check + +const sqlite = require("better-sqlite3") +const HeatSync = require("heatsync") + +const passthrough = require("../passthrough") +const db = new sqlite("db/ooye.db") + +const sync = new HeatSync({watchFS: false}) + +Object.assign(passthrough, {sync, db}) + +const api = require("../matrix/api") + +/** @type {{event_id: string, room_id: string, event_type: string}[]} */ // @ts-ignore +const rows = db.prepare("SELECT event_id, room_id, event_type FROM event_message INNER JOIN channel_room USING (channel_id)").all() + +const preparedUpdate = db.prepare("UPDATE event_message SET event_type = ?, event_subtype = ? WHERE event_id = ?") + +;(async () => { + for (const row of rows) { + if (row.event_type == null) { + const event = await api.getEvent(row.room_id, row.event_id) + const type = event.type + const subtype = event.content.msgtype || null + preparedUpdate.run(type, subtype, row.event_id) + console.log(`Updated ${row.event_id} -> ${type} + ${subtype}`) + } + } +})()