mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import boto3
|
|
from uuid import UUID
|
|
from fastapi import APIRouter, Depends, HTTPException, Query
|
|
from sqlmodel import select
|
|
|
|
from backend.app.dependencies import validate_token
|
|
from backend.app.config import get_settings
|
|
from backend.app.db.connection import get_db_session
|
|
from backend.app.db.models.bulk_address_uploads import BulkAddressUpload
|
|
from backend.app.bulk_uploads.schema import PostcodeSplitterTriggerRequest
|
|
|
|
|
|
router = APIRouter(
|
|
prefix="/bulk-uploads",
|
|
tags=["bulk-uploads"],
|
|
dependencies=[Depends(validate_token)],
|
|
)
|
|
|
|
|
|
@router.post("/trigger-postcode-splitter", status_code=202)
|
|
async def trigger_postcode_splitter(req: PostcodeSplitterTriggerRequest):
|
|
settings = get_settings()
|
|
|
|
try:
|
|
sqs = boto3.client("sqs", settings.AWS_DEFAULT_REGION)
|
|
response = sqs.send_message(
|
|
QueueUrl=settings.POSTCODE_SPLITTER_SQS_URL,
|
|
MessageBody=req.model_dump_json(),
|
|
)
|
|
except Exception as e:
|
|
raise HTTPException(status_code=500, detail=f"SQS error: {e}")
|
|
|
|
return {
|
|
"task_id": req.task_id,
|
|
"sub_task_id": req.sub_task_id,
|
|
"sqs_message_id": response.get("MessageId"),
|
|
}
|
|
|