Skip to content

Commit

Permalink
added composite batch client
Browse files Browse the repository at this point in the history
  • Loading branch information
georgebv committed Apr 19, 2024
1 parent d76e8ea commit e2aeb70
Show file tree
Hide file tree
Showing 8 changed files with 613 additions and 23 deletions.
2 changes: 1 addition & 1 deletion src/aiosalesforce/bulk/v2/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def __init__(self, salesforce_client: "Salesforce") -> None:
self.salesforce_client = salesforce_client
self.base_url = "/".join(
[
f"{self.salesforce_client.base_url}",
self.salesforce_client.base_url,
"services",
"data",
f"v{self.salesforce_client.version}",
Expand Down
2 changes: 1 addition & 1 deletion src/aiosalesforce/bulk/v2/ingest.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ class BulkIngestClient:

def __init__(self, bulk_client: "BulkClientV2") -> None:
self.bulk_client = bulk_client
self.base_url = "/".join([self.bulk_client.base_url, "ingest"])
self.base_url = f"{self.bulk_client.base_url}/ingest"

async def create_job(
self,
Expand Down
24 changes: 21 additions & 3 deletions src/aiosalesforce/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from aiosalesforce import __version__
from aiosalesforce.auth import Auth
from aiosalesforce.bulk import BulkClientV2
from aiosalesforce.composite import CompositeClient
from aiosalesforce.events import (
Event,
EventBus,
Expand Down Expand Up @@ -132,6 +133,8 @@ async def request(self, *args, **kwargs) -> httpx.Response:
"""
Make an HTTP request to Salesforce.
Raises an appropriate exception if the request is not successful.
"""
request = self.httpx_client.build_request(*args, **kwargs)
access_token = await self.auth.get_access_token(self)
Expand Down Expand Up @@ -206,7 +209,7 @@ async def query(
Yields
-------
dict
Query result record.
Record.
"""
operation = "query" if not include_all_records else "queryAll"
Expand Down Expand Up @@ -246,7 +249,7 @@ def sobject(self) -> SobjectClient:
@cached_property
def bulk_v1(self) -> NoReturn:
"""
Get Salesforce Bulk API 1.0 client.
Salesforce Bulk API 1.0 client.
Use this client to execute bulk ingest and query operations.
Expand All @@ -256,9 +259,24 @@ def bulk_v1(self) -> NoReturn:
@cached_property
def bulk_v2(self) -> BulkClientV2:
"""
Get Salesforce Bulk API 2.0 client.
Salesforce Bulk API 2.0 client.
Use this client to execute bulk ingest and query operations.
"""
return BulkClientV2(self)

@cached_property
def composite(self) -> CompositeClient:
"""
Salesforce REST API composite client.
Use this client to perform composite operations:
* Composite Batch
* Composite
* Composite Graph
* sObject Tree
* sObject Collections
"""
return CompositeClient(self)
5 changes: 5 additions & 0 deletions src/aiosalesforce/composite/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
__all__ = [
"CompositeClient",
]

from .client import CompositeClient
Loading

0 comments on commit e2aeb70

Please sign in to comment.