import os
from actions_logging.app_logging import logger
from github.env import exit_on_error_and_write_summary, get_required_env_var
from env_files.build_and_upload_dotenv import restore_dot_env, delete_backup_dot_env
from env_files.utils import route_core_ecs

@route_core_ecs
def restore_and_delete_dot_env(env_name, svc_name):
    restore_dot_env(env_name, f"{svc_name}.env")
    # we have all the versions of the env vars in the s3 so we can restore previos version
    # by redeploying or  manually if we indeed need to
    delete_backup_dot_env(env_name, f"{svc_name}.env")


def main():
    try:
        svc_name = get_required_env_var("SVC_NAME")
        env_name = get_required_env_var("ENV_NAME")

        logger.info("The build failed or was canceled - restoring .env from backup if it was already created.")
        restore_and_delete_dot_env(env_name, svc_name)

    except Exception as e:
        logger.trace_back(e.__traceback__)
        exit_on_error_and_write_summary(f"couldn't restore .env from backup due to error: {e}")


if __name__ == '__main__':
    main()
