greekbuilding names ,live synch button ,market capacity
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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', {}),
|
||||
|
||||
Reference in New Issue
Block a user