def assign_va_to_user(username, designer_username, rate): designer_user = firebase_api.find_user_by_username(designer_username) first_name, last_name = designer_user.get("first_name"), designer_user.get( "last_name") firebase_api.patch_object( "virtual_assistants/" + username + "/" + designer_username, { "rate": rate, "designer_first_name": first_name, "designer_last_name": last_name, "assigned_on": datetime.datetime.utcnow().isoformat() }) firebase_api.patch_object( "clients/" + designer_username + "/" + username, { "rate": rate, "assigned_on": datetime.datetime.utcnow().isoformat() })
def approve_completed_work(username, assignment_id, upload_uuid): return firebase_api.patch_object( "assignments/" + username + "/" + assignment_id + "/completed_work/" + upload_uuid, { "approval_status": "approved", "approved_on": datetime.datetime.utcnow().isoformat() })
def add_completed_work_to_assignment(username, assignment_id, upload_uuid, s3_url, designer_username): return firebase_api.patch_object( "assignments/" + username + "/" + assignment_id + "/completed_work/" + upload_uuid, { "s3_url": s3_url, "approval_status": "pending", "added_by": designer_username, "created_at": datetime.datetime.utcnow().isoformat() }) designers = get_vas_for_user(username) rate = 0 for designer in designers: if designer["username"] == designer_username: rate = designer.get("rate") or 0 break commission_amount = rate create_va_commission(username, designer_username, assignment_id, upload_uuid, commission_amount, approval_status="pending")
def delete_upload_from_assignment(username, assignment_id, upload_uuid): return firebase_api.patch_object( "assignments/" + username + "/" + assignment_id + "/inspiration_uploads/" + upload_uuid, None)
def add_upload_to_assignment(username, assignment_id, upload_uuid): return firebase_api.patch_object( "assignments/" + username + "/" + assignment_id + "/inspiration_uploads/" + upload_uuid, {"s3_url": s3_url})
def delete_inspiration_asin_from_assignment(username, assignment_id, asin): return firebase_api.patch_object( "assignments/" + username + "/" + assignment_id + "/inspiration_asins/" + asin, False)
def add_inspiration_asin_to_assignment(username, assignment_id, asin): return firebase_api.patch_object( "assignments/" + username + "/" + assignment_id + "/inspiration_asins/" + asin, True)
def update_assignment(username, assignment_id, assignment_data): updated_on = datetime.datetime.utcnow().isoformat() assignment_data["updated_on"] = updated_on return firebase_api.patch_object( "assignments/" + username + "/" + assignment_id, assignment_data)
def update_rate(username, designer_username, rate): firebase_api.patch_object( "virtual_assistants/" + username + "/" + designer_username + "/rate", rate) return firebase_api.patch_object( "clients/" + designer_username + "/" + username + "/rate", rate)
def unassign_va_from_user(username, designer_username): firebase_api.patch_object( "virtual_assistants/" + username + "/" + designer_username, None) return firebase_api.patch_object( "clients/" + designer_username + "/" + username, None)
def mark_commission_as_paid_out(username, commission_id): return firebase_api.patch_object( "commissions/" + username + "/" + commission_id + "/paid_out", True)
def assign_payout_id(username, commission_id, payout_id): return firebase_api.patch_object( "commissions/" + username + "/" + commission_id + "/payout_id", payout_id)
def disapprove_va_commission(username, commission_id): return firebase_api.patch_object( "commissions/" + username + "/" + commission_id + "/approved", False)
def delete_completed_work_from_assignment(username, assignment_id, s3_url): return firebase_api.patch_object( "assignments/" + username + "/" + assignment_id + "/completed_work/" + upload_uuid, None)
if reportProcessingStatus.text == "_DONE_": endDate = reportRequestInfo[2] scheduled = reportRequestInfo[3] reportRequestId = reportRequestInfo[4] startedProcessingDate = reportRequestInfo[5] submittedDate = reportRequestInfo[6] startDate = reportRequestInfo[7] completedDate = reportRequestInfo[8] generatedReportId = reportRequestInfo[9] progress_data[username][report_type]["status"] = reportProcessingStatus.text progress_data[username][report_type]["reportId"] = generatedReportId.text elif reportProcessingStatus.text == "_CANCELLED_": # don't consider this an unfinished user, so we have this elif branch # to prevent execution of the else statement pass else: found_unfinished_user = True if not found_unfinished_user: firebase_api.patch_object("reports/" + username + "/", progress_data[username]) print("All reports for " + username + " have been successfully processed.") print("\n") print("FINISHED ITERATION.\n\n\n\n\n") time.sleep(60) if not found_unfinished_user: #firebase_api.save_object("reports", progress_data) pipeline_finished = True