From 735c8c8f470fed099f2fd94b916a43e154e4c661 Mon Sep 17 00:00:00 2001 From: tnm Date: Mon, 14 Oct 2024 18:59:09 -0700 Subject: [PATCH] Connect and update API --- cased/commands/login.py | 17 ++++++++--------- cased/utils/api.py | 3 +-- cased/utils/config.py | 1 + 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/cased/commands/login.py b/cased/commands/login.py index 8650a9c..2d9a7f1 100644 --- a/cased/commands/login.py +++ b/cased/commands/login.py @@ -55,22 +55,18 @@ def login(): """ console.print(Panel("Welcome to Cased CLI", style="bold blue")) - org_name = Prompt.ask("Enter your organization name") - api_key = Prompt.ask("Enter your API key", password=True) + org_name = click.prompt("Enter your organization name") + api_key = click.prompt("Enter your API key") with Progress() as progress: task = progress.add_task("[cyan]Validating credentials...", total=100) - # Simulate API call with progress - for i in range(0, 101, 10): - progress.update(task, advance=10) - if i == 50: - response = validate_tokens(api_key, org_name) - progress.update(task, completed=100) + progress.update(task, advance=50) + response = validate_tokens(api_key, org_name) + progress.update(task, completed=100) # 200 would mean success, # 403 would mean validation success but necessary integration is not set up. - # (E.g. Github) if response.status_code == 200 or response.status_code == 403: data = response.json() elif response.status_code == 401: @@ -100,8 +96,11 @@ def login(): CasedConstants.CASED_ORG_ID: org_id, CasedConstants.CASED_ORG_NAME: org_name, } + save_config(data) + console.print(Panel("[bold green]Login successful![/bold green]", expand=False)) + # Ask user to select a project. ctx = click.get_current_context() ctx.invoke(projects, details=False) diff --git a/cased/utils/api.py b/cased/utils/api.py index ba2bdcc..e19fece 100644 --- a/cased/utils/api.py +++ b/cased/utils/api.py @@ -21,8 +21,7 @@ class CasedAPI: def __init__(self): configs = load_config(CasedConstants.ENV_FILE) self.request_headers = { - "X-CASED-API-KEY": str(configs.get(CasedConstants.CASED_API_AUTH_KEY)), - "X-CASED-ORG-ID": str(configs.get(CasedConstants.CASED_ORG_ID)), + "Authorization": f"Bearer {str(configs.get(CasedConstants.CASED_API_AUTH_KEY))}", "Accept": "application/json", } diff --git a/cased/utils/config.py b/cased/utils/config.py index a9da448..8acbae9 100644 --- a/cased/utils/config.py +++ b/cased/utils/config.py @@ -19,6 +19,7 @@ def save_config( ): os.makedirs(config_dir, mode=0o700, exist_ok=True) current_config = load_config(file_name) + if not current_config: current_config = {} current_config.update(data)