Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/set env #82

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions alice/auth/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,11 @@

from alice.config import Config

from ..onboarding.enums.environment import Environment
from .auth_client import AuthClient
from .auth_errors import AuthError
from .token_tools import get_token_from_response

DEFAULT_URL = "https://apis.alicebiometrics.com/onboarding"


class Auth:
@staticmethod
Expand All @@ -23,7 +22,7 @@ def from_config(config: Config) -> "Auth":
return Auth(
api_key=config.api_key, # type: ignore
session=session,
url=config.onboarding_url,
environment=config.environment,
timeout=config.timeout,
verbose=config.verbose,
)
Expand All @@ -32,14 +31,14 @@ def __init__(
self,
api_key: str,
session: Session,
url: str = DEFAULT_URL,
environment: Environment,
timeout: Union[float, None] = None,
verbose: Optional[bool] = False,
):
self._auth_client = AuthClient(
url=url, api_key=api_key, session=session, timeout=timeout
url=environment.get_url(), api_key=api_key, session=session, timeout=timeout
)
self.url = url
self.url = environment.get_url()
self.verbose = verbose

def create_user_token(
Expand Down
9 changes: 4 additions & 5 deletions alice/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,16 @@
from pydantic import BaseModel, Field
from requests import Session

from alice.onboarding.enums.environment import Environment


class Config(BaseModel):
class Config:
arbitrary_types_allowed = True

onboarding_url: str = Field(default="https://apis.alicebiometrics.com/onboarding")
sandbox_url: str = Field(
default="https://apis.alicebiometrics.com/onboarding/sandbox"
)
environment: Environment = Field(default=Environment.PRODUCTION)
api_key: Union[str, None] = Field(default=None)
sandbox_token: Union[str, None] = Field(default=None)
trial_token: Union[str, None] = Field(default=None)
timeout: Union[float, None] = Field(
default=None, description="Timeout for every request in seconds", ge=0, le=100
)
Expand Down
15 changes: 15 additions & 0 deletions alice/onboarding/enums/environment.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from enum import Enum


class Environment(Enum):
SANDBOX = "sandbox"
PRODUCTION = "production"
STAGING = "staging"

def get_url(self) -> str:
if self is Environment.SANDBOX:
return "https://apis.sandbox.alicebiometrics.com/onboarding"
elif self is Environment.PRODUCTION:
return "https://apis.alicebiometrics.com/onboarding"
else:
return "https://apis.staging.alicebiometrics.com/onboarding"
15 changes: 9 additions & 6 deletions alice/onboarding/onboarding.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from alice.onboarding.enums.document_source import DocumentSource
from alice.onboarding.enums.document_type import DocumentType
from alice.onboarding.enums.duplicates_resource_type import DuplicatesResourceType
from alice.onboarding.enums.environment import Environment
from alice.onboarding.enums.match_case import MatchCase
from alice.onboarding.enums.onboarding_steps import OnboardingSteps
from alice.onboarding.enums.user_state import UserState
Expand All @@ -24,8 +25,6 @@
from alice.onboarding.onboarding_client import OnboardingClient
from alice.onboarding.onboarding_errors import OnboardingError

DEFAULT_URL = "https://apis.alicebiometrics.com/onboarding"


class Onboarding:
@staticmethod
Expand All @@ -36,7 +35,7 @@ def from_config(config: Config) -> "Onboarding":
session = Session()
return Onboarding(
auth=Auth.from_config(config),
url=config.onboarding_url,
environment=config.environment,
timeout=config.timeout,
send_agent=config.send_agent,
verbose=config.verbose,
Expand All @@ -47,15 +46,19 @@ def __init__(
self,
auth: Auth,
session: Session,
url: str = DEFAULT_URL,
environment: Environment = Environment.SANDBOX,
timeout: Union[float, None] = None,
send_agent: bool = True,
verbose: bool = False,
):
self.onboarding_client = OnboardingClient(
auth=auth, url=url, timeout=timeout, send_agent=send_agent, session=session
auth=auth,
url=environment.get_url(),
timeout=timeout,
send_agent=send_agent,
session=session,
)
self.url = url
self.url = environment.get_url()
self.verbose = verbose

@early_return
Expand Down
4 changes: 1 addition & 3 deletions alice/onboarding/onboarding_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,13 @@
from alice.onboarding.onboarding_errors import OnboardingError
from alice.onboarding.tools import print_intro, print_response, print_token, timeit

DEFAULT_URL = "https://apis.alicebiometrics.com/onboarding"


class OnboardingClient:
def __init__(
self,
auth: Auth,
session: Session,
url: str = DEFAULT_URL,
url: str,
timeout: Union[float, None] = None,
send_agent: bool = True,
):
Expand Down
7 changes: 1 addition & 6 deletions alice/public_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@
# Classes
from alice.onboarding.onboarding import Onboarding
from alice.onboarding.onboarding_client import OnboardingClient
from alice.sandbox.sandbox import Sandbox
from alice.sandbox.sandbox_client import SandboxClient

classes = [
"Onboarding",
Expand All @@ -44,8 +42,6 @@
"DeviceInfo",
"Auth",
"AuthClient",
"Sandbox",
"SandboxClient",
"Config",
"Webhooks",
"WebhooksClient",
Expand All @@ -66,8 +62,7 @@

# Errors
from alice.onboarding.onboarding_errors import OnboardingError
from alice.sandbox.sandbox_errors import SandboxError

errors = ["OnboardingError", "SandboxError"]
errors = ["OnboardingError"]

__all__ = modules + classes + errors
Empty file removed alice/sandbox/__init__.py
Empty file.
201 changes: 0 additions & 201 deletions alice/sandbox/sandbox.py

This file was deleted.

Loading
Loading