diff --git a/etl/hubSpotClient/hubspot.py b/etl/hubSpotClient/hubspot.py index ae3dbd2..ff04f85 100644 --- a/etl/hubSpotClient/hubspot.py +++ b/etl/hubSpotClient/hubspot.py @@ -4,6 +4,7 @@ from hubspot.crm.deals import PublicObjectSearchRequest class DealStage(Enum): SURVEYED_COMPLETE_NEEDS_SIGN_OFF = "1617223914" + SURVEYED_NO_ACCESS_NEED_SIGN_OFF = "1617223915" class HubSpotClient(): def __init__(self): @@ -25,7 +26,11 @@ class HubSpotClient(): }], properties=["dealname"], ) - return self.client.crm.deals.search_api.do_search(search_request) + found_deals = self.client.crm.deals.search_api.do_search(search_request) + if hasattr(found_deals, "results"): + return found_deals.results + else: + return None def print_all_pipeline_ids(self): pipelines = self.client.crm.pipelines.pipelines_api.get_all(object_type="deals") diff --git a/etl/hubSpotClient/types.py b/etl/hubSpotClient/types.py new file mode 100644 index 0000000..8a2a8cb --- /dev/null +++ b/etl/hubSpotClient/types.py @@ -0,0 +1,15 @@ +from sqlmodel import Field, SQLModel +from sqlalchemy import Column +from sqlalchemy.dialects.postgresql import UUID +import uuid + +class BaseModel(SQLModel): + id: uuid.UUID = Field( + default_factory=uuid.uuid4, + sa_column=Column(UUID(as_uuid=True), primary_key=True) + ) + + +class Deal(BaseModel): + id: str + name: str \ No newline at end of file diff --git a/etl/hubspot_to_deemed_calculator.py b/etl/hubspot_to_deemed_calculator.py index fdbcdc5..09c8d61 100644 --- a/etl/hubspot_to_deemed_calculator.py +++ b/etl/hubspot_to_deemed_calculator.py @@ -1,4 +1,5 @@ from etl.hubSpotClient.hubspot import HubSpotClient, DealStage +from etl.hubSpotClient.types import Deal hubSpotClient = HubSpotClient() @@ -6,3 +7,11 @@ hubSpotClient = HubSpotClient() deals = hubSpotClient.get_deals_from_deal_stage(DealStage.SURVEYED_COMPLETE_NEEDS_SIGN_OFF) +all_deals = [] + +if deals: + for deal in deals: + all_deals.append(Deal( + id= deal.properties["hs_object_id"], + name=deal.properties["dealname"] + )) \ No newline at end of file