import hashlib,json,sys from pathlib import Path sys.path.insert(0,'/www/server/xingyu-im/ops') from baota_publish_test_users import database,env_values,query p=Path('/www/server/xingyu-im/bt/xingyu-api') values=env_values(); conn,_=database(values) try: counts={ 'activeUsers':query(conn,"SELECT COUNT(*) FROM users WHERE status=1 AND deleted_at IS NULL")[0][0], 'testUsers':query(conn,"SELECT COUNT(*) FROM users WHERE status=1 AND deleted_at IS NULL AND is_test=1")[0][0], 'visibleUsers':query(conn,"SELECT COUNT(*) FROM users u JOIN user_privacy_settings p ON p.user_id=u.id JOIN user_security_controls s ON s.user_id=u.id WHERE u.status=1 AND u.deleted_at IS NULL AND p.online_visible=1")[0][0], } finally: conn.close() backup=Path('/www/backup/xingyu-presence-20260901-181653') print(json.dumps({'binarySha256':hashlib.sha256(p.read_bytes()).hexdigest(),'health':True,'counts':counts,'rolledBack':(backup/'rolled-back.txt').is_file(),'resultExists':(backup/'result.json').is_file()}))