from fastapi import APIRouter, Depends, Form, UploadFile,File
from app.api.corporate_store.service import CorporateStoreService
from sqlalchemy.orm import Session
from app.database.main.mysql import get_db
from app.dependency.authantication import JWTPayloadSchema, get_current_student

corporate_store_router = APIRouter()

# @corporate_store_router.post("/upload_corporate_and_concept_level_organizational_chart",response_model_exclude_none=True)
# async def upload_corporate_and_concept_level_organizational_chart(file:UploadFile = File(...), db:Session = Depends(get_db),token: JWTPayloadSchema = Depends(get_current_student)):
#     return await CorporateStoreService(db,token).upload_corporate_and_concept_level_organizational(file)
@corporate_store_router.post(
    "/upload_corporate_and_concept_level_organizational_chart",
    response_model_exclude_none=True
)
async def upload_corporate_and_concept_level_organizational_chart(
    file: UploadFile = File(...),
    group_id: int = Form(...),
    db: Session = Depends(get_db),
    token: JWTPayloadSchema = Depends(get_current_student)
):
    return await CorporateStoreService(db, token).upload_corporate_and_concept_level_organizational(file, group_id)

@corporate_store_router.get("/get_image_corporate", response_model_exclude_none=True)
async def get_image_corporate(group_id:int, db:Session = Depends(get_db),token: JWTPayloadSchema = Depends(get_current_student)):
    return await CorporateStoreService(db,token).get_image_corporate(group_id)

@corporate_store_router.post("/upload_store_level_organization_chart", response_model_exclude_none=True)
async def upload_store_level_organization_chart(file:UploadFile = File(...), group_id: int = Form(...),db:Session = Depends(get_db),token: JWTPayloadSchema = Depends(get_current_student)):
    return await CorporateStoreService(db,token).upload_store_level_organization_chart(file,group_id)

@corporate_store_router.get("/get_image_store_level", response_model_exclude_none=True)
async def get_image_store_level(group_id:int, db:Session = Depends(get_db), token:JWTPayloadSchema = Depends(get_current_student)):
    return await CorporateStoreService(db,token).get_image_store_level(group_id)