Add per-server notes field and show hardware info on dashboard
All checks were successful
Build-Publish / build (linux/amd64) (push) Successful in 4s
Build-Publish / build (linux/arm64) (push) Successful in 12s
Build-Publish / create-manifest (push) Successful in 1s
Build-Publish / publish-template (push) Successful in 8s

This commit is contained in:
j
2026-03-08 13:27:35 +13:00
parent 8747209181
commit 5052d4604f
3 changed files with 82 additions and 0 deletions

View File

@@ -39,6 +39,7 @@ class Server(db.Model):
is_online = db.Column(db.Boolean, default=False)
last_collected = db.Column(db.DateTime, nullable=True)
details = db.Column(db.JSON, nullable=True)
notes = db.Column(db.Text, default='')
__table_args__ = (db.UniqueConstraint('username', 'hostname', name='uq_user_host'),)
@@ -282,11 +283,22 @@ def api_servers():
'url': s.url,
'is_online': s.is_online,
'last_collected': s.last_collected.isoformat() if s.last_collected else None,
'notes': s.notes,
'details': s.details,
})
return jsonify(result)
@app.route('/api/servers/<int:server_id>/notes', methods=['PUT'])
def api_update_notes(server_id):
from flask import request
server = Server.query.get_or_404(server_id)
data = request.get_json()
server.notes = data.get('notes', '')
db.session.commit()
return jsonify({'ok': True})
def _ip_sort_key(ip_str):
if not ip_str:
return [999, 999, 999, 999]