brainsqueeze's picture
v2 of public chat
ef088c2 verified
raw
history blame
1.54 kB
from typing import TypedDict, NamedTuple
from ask_candid.base.config.base import _load_value
class Api(TypedDict):
"""REST API configuration template
"""
url: str | None
key: str | None
class ApiConfig(NamedTuple):
url: str | None
key: str | None
@property
def header(self) -> dict[str, str | None]:
return {"x-api-key": self.key}
def endpoint(self, route: str):
return f"{self.url}/{route}"
CDS_API = Api(
url=_load_value("CDS_API_URL"),
key=_load_value("CDS_API_KEY")
)
CANDID_SEARCH_API = Api(
url=_load_value("CANDID_SEARCH_API_URL"),
key=_load_value("CANDID_SEARCH_API_KEY")
)
OPENAI = Api(url=None, key=_load_value("OPENAI_API_KEY"))
SEARCH = ApiConfig(
url="https://ajr9jccwf0.execute-api.us-east-1.amazonaws.com/Prod",
key=_load_value("SEARCH_API_KEY")
)
AUTOCODING = ApiConfig(
url="https://auto-coding-api.candid.org",
key=_load_value("AUTOCODING_API_KEY")
)
DOCUMENT = ApiConfig(
url="https://dtntz2p635.execute-api.us-east-1.amazonaws.com/Prod",
key=_load_value("GEOCODING_API_KEY")
)
FUNDER_RECOMMENDATION = ApiConfig(
url="https://r6g59fxbie.execute-api.us-east-1.amazonaws.com/Prod",
key=_load_value("FUNDER_RECS_API_KEY")
)
LOI_WRITER = ApiConfig(
url="https://tc2ir1o7ne.execute-api.us-east-1.amazonaws.com/Prod",
key=_load_value("LOI_WRITER_API_KEY")
)
GOLDEN_ORG = ApiConfig(
url="https://qfdur742ih.execute-api.us-east-1.amazonaws.com/Prod",
key=_load_value("GOLDEN_RECORD_API_KEY")
)