return$this->db->fetchAll("SELECT * FROM notifications WHERE user_id = ? AND tier = 'blocking' AND is_acknowledged = 0 ORDER BY created_at ASC",[$userId]);
'is_read'=>1,
'read_at'=>date('Y-m-d H:i:s'),
],'id = ? AND user_id = ?',[$notificationId,$userId]);
$users=$this->db->fetchAll("SELECT id, full_name_en as title, username as subtitle, 'user' as type FROM users WHERE (full_name_en LIKE ? OR username LIKE ?) LIMIT 10",[$q,$q]);
$users=$this->db->fetchAll(
$results=array_merge($results,$users);
"SELECT id, full_name_en, username, role FROM users WHERE (full_name_en LIKE ? OR username LIKE ?) AND status != 'terminated' LIMIT ?",
[$q,$q,$limit]
);
foreach($usersas$u){
$results[]=[
'type'=>'user',
'id'=>$u['id'],
'title'=>$u['full_name_en'],
'context'=>'@'.$u['username'].' · '.$u['role'],
'url'=>"/users/{$u['id']}",
];
}
}
// Boards
$boards=$this->db->fetchAll(
"SELECT b.id, b.name FROM boards b
JOIN board_members bm ON bm.board_id = b.id AND bm.user_id = ?
WHERE b.name LIKE ? AND b.is_archived = 0
LIMIT ?",
[$user['id'],$q,$limit]
);
foreach($boardsas$board){
$results[]=[
'type'=>'board',
'id'=>$board['id'],
'title'=>$board['name'],
'context'=>'Board',
'url'=>"/boards/{$board['id']}",
];
}
}
return$results;
$boards=$this->db->fetchAll("SELECT id, name as title, board_key as subtitle, 'board' as type FROM boards WHERE name LIKE ? AND is_archived = 0 LIMIT 5",[$q]);