change to actually downloading file

This commit is contained in:
Kenneth Kehl
2024-08-01 08:05:12 -07:00
28 changed files with 461 additions and 509 deletions

View File

@@ -36,12 +36,14 @@ from app.dao.organization_dao import (
dao_get_organization_by_email_address,
dao_get_organization_by_id,
)
from app.dao.service_sms_sender_dao import dao_get_sms_senders_by_service_id
from app.dao.services_dao import (
dao_fetch_all_services_by_user,
dao_fetch_all_services_created_by_user,
dao_fetch_service_by_id,
dao_update_service,
delete_service_and_all_associated_db_objects,
get_services_by_partial_name,
)
from app.dao.templates_dao import dao_get_template_by_id
from app.dao.users_dao import (
@@ -592,13 +594,33 @@ def process_row_from_job(job_id, job_row_number):
@notify_command(name="download-csv-file-by-name")
@click.argument("csv_filename")
def download_csv_file_by_name(csv_filename):
# poetry run flask command download-csv-file-by-name <s3 file location>
# cf run-task notify-api-production --command "flask command download-csv-file-by-name <s3 location>"
bucket_name = current_app.config["CSV_UPLOAD_BUCKET"]["bucket"]
access_key = current_app.config["CSV_UPLOAD_BUCKET"]["access_key_id"]
secret = current_app.config["CSV_UPLOAD_BUCKET"]["secret_access_key"]
region = current_app.config["CSV_UPLOAD_BUCKET"]["region"]
content = s3.get_s3_file(bucket_name, csv_filename, access_key, secret, region)
click.echo(content)
s3.download_from_s3(
bucket_name, csv_filename, "download.csv", access_key, secret, region
)
@notify_command(name="dump-sms-senders")
@click.argument("service_name")
def dump_sms_senders(service_name):
# poetry run flask command dump-sms-senders MyServiceName
# cf run-task notify-api-production --command "flask command dump-sms-senders <MyServiceName>"
services = get_services_by_partial_name(service_name)
if len(services) > 1:
raise ValueError(
f"Please use a unique and complete service name instead of {service_name}"
)
senders = dao_get_sms_senders_by_service_id(services[0].id)
for sender in senders:
# Not PII, okay to put in logs
click.echo(sender.serialize())
@notify_command(name="populate-annual-billing-with-the-previous-years-allowance")