prepare("INSERT INTO sessions (owner_id,title) VALUES (?,?)");$st->execute([$owner,$title]); out(true,"created",["session_id"=>db()->lastInsertId()],201); } if($action==="list"){ $owner=isset($_GET["owner_id"])?(int)$_GET["owner_id"]:null;$q=trim($_GET["q"]??"");$sort=$_GET["sort"]??"created_at_desc"; $allowed=["created_at_asc"=>"created_at ASC","created_at_desc"=>"created_at DESC","title_asc"=>"title ASC","title_desc"=>"title DESC"]; $order=$allowed[$sort]??$allowed["created_at_desc"]; $sql="SELECT s.session_id,s.title,s.created_at,u.username FROM sessions s JOIN users u ON u.user_id=s.owner_id WHERE 1=1";$p=[]; if($owner){$sql.=" AND s.owner_id=?";$p[]=$owner;}if($q!==""){$sql.=" AND s.title LIKE ?";$p[]="%$q%";}$sql.=" ORDER BY $order"; $st=db()->prepare($sql);$st->execute($p);out(true,"ok",["items"=>$st->fetchAll()]); } if($action==="delete"){ $id=(int)($_GET["id"]??0);$st=db()->prepare("DELETE FROM sessions WHERE session_id=?");$st->execute([$id]); out(true,"deleted",["count"=>$st->rowCount()]);} out(false,"unknown action",[],404);