Add per-server notes field and show hardware info on dashboard
This commit is contained in:
12
app/app.py
12
app/app.py
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user