16 lines
1000 B
Python
16 lines
1000 B
Python
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()}))
|