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
)