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
|
||||
|
||||
Reference in New Issue
Block a user