43 lines
1.0 KiB
Lua
43 lines
1.0 KiB
Lua
local db = require("db")
|
|
local log = require("log")
|
|
|
|
local ReviewHandler = {}
|
|
|
|
function ReviewHandler.handle(event)
|
|
local conn, err = db.get_connection()
|
|
if not conn then
|
|
error("Database connection failed: " .. tostring(err))
|
|
end
|
|
|
|
local ok, handler_err = pcall(function()
|
|
conn:query([[
|
|
CREATE TABLE IF NOT EXISTS review_events (
|
|
id SERIAL PRIMARY KEY,
|
|
device_id INTEGER,
|
|
user_id VARCHAR(255),
|
|
processed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)
|
|
]])
|
|
|
|
conn:query(
|
|
"INSERT INTO review_events (device_id, user_id) VALUES ($1, $2)",
|
|
tonumber(event.device_id) or 0,
|
|
event.user_id or ""
|
|
)
|
|
end)
|
|
|
|
conn:disconnect()
|
|
|
|
if not ok then
|
|
error(handler_err)
|
|
end
|
|
|
|
log.info("Review event logged", {
|
|
component = "review_handler",
|
|
device_id = event.device_id,
|
|
request_id = event.request_id,
|
|
})
|
|
end
|
|
|
|
return ReviewHandler
|