local db = require("db") local log = require("log") local RatingHandler = {} function RatingHandler.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 rating_events ( id SERIAL PRIMARY KEY, device_id INTEGER, user_id VARCHAR(255), score INTEGER, processed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ]]) conn:query( "INSERT INTO rating_events (device_id, user_id, score) VALUES ($1, $2, $3)", tonumber(event.device_id) or 0, event.user_id or "", tonumber(event.score) or 0 ) end) conn:disconnect() if not ok then error(handler_err) end log.info("Rating event logged", { component = "rating_handler", device_id = event.device_id, score = event.score, request_id = event.request_id, }) end return RatingHandler