
# from fastapi import APIRouter, UploadFile, File, Query, Depends
# from fastapi.responses import StreamingResponse
# from io import BytesIO

# from app.services.image_service import remove_image_background
# from app.core.dependencies import get_current_user

# router = APIRouter(prefix="/image", tags=["Image"])


# @router.post("/remove-background")
# async def remove_background(
#     file: UploadFile = File(...),
#     bg_color: str = Query(default=None),
#     background_file: UploadFile = File(default=None),
#     user = Depends(get_current_user)
# ):
#     output_data = await remove_image_background(
#         file=file,
#         user=user,
#         bg_color=bg_color,
#         background_file=background_file
#     )

#     return StreamingResponse(
#         BytesIO(output_data),
#         media_type="image/png",
#         headers={
#             "Content-Disposition": "attachment; filename=output.png"
#         }
#     )





#............... Balender Code ...........



# from fastapi import (
#     APIRouter,
#     UploadFile,
#     File,
#     Query,
#     Depends
# )

# from fastapi.responses import (
#     StreamingResponse
# )

# from io import BytesIO

# from app.services.image_service import (
#     remove_image_background
# )

# from app.core.dependencies import (
#     get_current_user
# )


# router = APIRouter(
#     prefix="/image",
#     tags=["Image"]
# )


# @router.post("/remove-background")
# async def remove_background(

#     file: UploadFile = File(...),

#     bg_color: str = Query(
#         default=None
#     ),

#     background_file: UploadFile = File(
#         default=None
#     ),

#     user=Depends(get_current_user)
# ):

#     output_data = await remove_image_background(
#         file=file,
#         user=user,
#         bg_color=bg_color,
#         background_file=background_file
#     )

#     return StreamingResponse(
#         BytesIO(output_data),
#         media_type="image/png",
#         headers={
#             "Content-Disposition":
#             "attachment; filename=output.png"
#         }
#     )



# .......... New Without auth ///////////

from fastapi import (
    APIRouter,
    UploadFile,
    File,
    Query
)

from fastapi.responses import (
    StreamingResponse
)

from io import BytesIO

from app.services.image_service import (
    remove_image_background
)

router = APIRouter(
    prefix="/image",
    tags=["Image"]
)


@router.post("/remove-background")
async def remove_background(

    file: UploadFile = File(...),

    bg_color: str = Query(
        default=None
    ),

    background_file: UploadFile = File(
        default=None
    )
):

    output_data = await remove_image_background(
        file=file,
        bg_color=bg_color,
        background_file=background_file
    )

    return StreamingResponse(
        BytesIO(output_data),
        media_type="image/png",
        headers={
            "Content-Disposition":
            "attachment; filename=output.png"
        }
    )