greekbuilding names ,live synch button ,market capacity

This commit is contained in:
2026-04-22 20:48:34 +03:00
parent ec2b0c631e
commit c1cc8ceb7a
7 changed files with 92 additions and 5 deletions

View File

@@ -105,9 +105,38 @@ def get_pending_command():
return jsonify({
'build': build_cmd,
'recruit': recruit_cmd,
'market': market_cmd
'market': market_cmd,
'sync_requested': _check_and_reset_sync(c, player_id)
})
def _check_and_reset_sync(c, player_id):
key = f'sync_request_{player_id}'
row = c.execute("SELECT value FROM kv_store WHERE key = ?", (key,)).fetchone()
if row and row['value'] == '1':
c.execute("UPDATE kv_store SET value = '0', updated_at = ? WHERE key = ?", (datetime.utcnow().isoformat(), key))
return True
return False
# ------------------------------------------------------------------
# POST /api/sync-request
# Dashboard requests an immediate state update from the client.
# ------------------------------------------------------------------
@api.route('/api/sync-request', methods=['POST'])
def sync_request():
player_id = request.args.get('player_id')
if not player_id:
return jsonify({'error': 'no player_id provided'}), 400
conn = get_db()
conn.execute('''
INSERT INTO kv_store (key, value, updated_at)
VALUES (?, '1', ?)
ON CONFLICT(key) DO UPDATE SET value = '1', updated_at = excluded.updated_at
''', (f'sync_request_{player_id}', datetime.utcnow().isoformat()))
conn.commit()
conn.close()
return jsonify({'ok': True})
# ------------------------------------------------------------------
# POST /api/commands/<id>/result

View File

@@ -89,6 +89,7 @@ def get_towns():
'stone': d.get('stone', 0),
'iron': d.get('iron', 0),
'storage': d.get('storage', 0),
'market_capacity': d.get('market_capacity', 0),
'population': d.get('population', 0),
},
'buildings': d.get('buildings', {}),