package api import ( "database/sql" "encoding/json" "net/http" "faculty_media_report/dbi" ) type markPostedParams struct { UID string `json:"uid"` } func MarkPosted(w http.ResponseWriter, conn *sql.Conn, req jsonRPCRequest, user dbi.User) { if user.Status != "admin" { jsonRPCErr(w, -32000, "Forbidden", req.ID) return } var params markPostedParams if err := json.Unmarshal(req.Params, ¶ms); err != nil { jsonRPCErr(w, -32602, "Invalid params", req.ID) return } if params.UID == "" { jsonRPCErr(w, -32602, "Invalid params: uid is required", req.ID) return } if err := dbi.MarkPosted(conn, params.UID); err != nil { jsonRPCErr(w, -32603, "Internal error - error marking submissions as posted", req.ID) return } writeJSONRPC(w, jsonRPCResponse{ Jsonrpc: "2.0", Result: true, ID: req.ID, }) }