public shares now work
This commit is contained in:
@@ -10,6 +10,7 @@ from app.models.user import User
|
||||
from app.schemas.map_item import MapItemCreate, MapItemUpdate, MapItemResponse
|
||||
from app.services import item_service
|
||||
from app.services.item_service import geography_to_geojson
|
||||
from app.websocket.connection_manager import manager
|
||||
|
||||
|
||||
router = APIRouter(prefix="/api/maps/{map_id}/items", tags=["map-items"])
|
||||
@@ -50,7 +51,12 @@ async def create_map_item(
|
||||
):
|
||||
"""Create a new map item."""
|
||||
item = item_service.create_map_item(db, map_id, item_data, current_user)
|
||||
return format_item_response(item)
|
||||
response = format_item_response(item)
|
||||
|
||||
# Broadcast to WebSocket clients
|
||||
await manager.send_item_created(map_id, response)
|
||||
|
||||
return response
|
||||
|
||||
|
||||
@router.get("/{item_id}", response_model=dict)
|
||||
@@ -75,7 +81,12 @@ async def update_map_item(
|
||||
):
|
||||
"""Update a map item."""
|
||||
item = item_service.update_map_item(db, item_id, item_data, current_user)
|
||||
return format_item_response(item)
|
||||
response = format_item_response(item)
|
||||
|
||||
# Broadcast to WebSocket clients
|
||||
await manager.send_item_updated(map_id, response)
|
||||
|
||||
return response
|
||||
|
||||
|
||||
@router.delete("/{item_id}", status_code=status.HTTP_204_NO_CONTENT)
|
||||
@@ -87,4 +98,8 @@ async def delete_map_item(
|
||||
):
|
||||
"""Delete a map item."""
|
||||
item_service.delete_map_item(db, item_id, current_user)
|
||||
|
||||
# Broadcast to WebSocket clients
|
||||
await manager.send_item_deleted(map_id, str(item_id))
|
||||
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user