def post_brief_create_upload()

in backend_apis/app/main.py [0:0]


def post_brief_create_upload(data: BriefCreateRequest) -> BriefCreateResponse:
    """Create a creative brief document and upload to Google Drive
    Parameters:
        campaign_name: str
        business_name: str
        brief_scenario: str
        brand_statement: str
        primary_message: str
        comm_channels: str
    Returns:
        new_folder_id: str
        doc_id: str
    """
    try:
        log("Creating document assets...")
        folder_name = f"Marketing_Assets_{int(time.time())}"
        new_folder_id = utils_workspace.create_folder_in_folder(
            folder_name=folder_name,
            parent_folder_id=drive_folder_id)
        log(f"Successfully created {folder_name} with ID: '{new_folder_id}'.")
        
        log("Setting document assets permission...")
        utils_workspace.set_permission(
            file_id=new_folder_id,
            domain=domain)
        log(f"Successfully set permissions for folder. ID: {new_folder_id}.")

        log("Copying drive files...")
        doc_id = utils_workspace.copy_drive_file(
            drive_file_id=doc_template_id,
            parentFolderId=new_folder_id,
            copy_title=f"GenAI Marketing Brief")
        log(f"Successfully copied files to {new_folder_id}")

        log(f"Updating document - {doc_id} - with document assets...")
        utils_workspace.update_doc(
            document_id=doc_id,
            campaign_name=data.campaign_name,
            business_name=data.business_name,
            scenario=data.brief_scenario,
            brand_statement=data.brand_statement,
            primary_msg=data.primary_message,
            comms_channel=data.comm_channels)
    except Exception as e:
        log(e)
        raise HTTPException(
            status_code=400, 
            detail=f"Something went wrong. Please try again. {e}")

    return BriefCreateResponse(
        new_folder_id=new_folder_id,
        doc_id=doc_id
    )