Skip to content

Commit 3034fcb

Browse files
author
Samson Gebre
committed
refactor: rename response body attribute from 'body' to 'data' across batch processing components
1 parent 56c4f81 commit 3034fcb

7 files changed

Lines changed: 23 additions & 23 deletions

File tree

.claude/skills/dataverse-sdk-use/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,9 +292,9 @@ result = batch.execute()
292292
for item in result.responses:
293293
if item.is_success:
294294
print(f"[OK] {item.status_code} entity_id={item.entity_id}")
295-
if item.body:
296-
# GET responses populate item.body with the parsed JSON record
297-
print(item.body.get("name"))
295+
if item.data:
296+
# GET responses populate item.data with the parsed JSON record
297+
print(item.data.get("name"))
298298
else:
299299
print(f"[ERR] {item.status_code}: {item.error_message}")
300300

examples/advanced/batch.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@
131131
batch.query.sql("SELECT TOP 5 accountid, name FROM account ORDER BY name")
132132

133133
result = batch.execute()
134-
if result.responses and result.responses[0].is_success and result.responses[0].body:
135-
rows = result.responses[0].body.get("value", [])
134+
if result.responses and result.responses[0].is_success and result.responses[0].data:
135+
rows = result.responses[0].data.get("value", [])
136136
print(f"[OK] Retrieved {len(rows)} accounts")
137137
for row in rows:
138138
print(f" {row.get('name')}")
@@ -155,8 +155,8 @@
155155
# result = batch.execute()
156156
# update_response = result.responses[0]
157157
# account_data = result.responses[1]
158-
# if account_data.is_success and account_data.body:
159-
# print(f"Account: {account_data.body.get('name')}")
158+
# if account_data.is_success and account_data.data:
159+
# print(f"Account: {account_data.data.get('name')}")
160160

161161

162162
# ---------------------------------------------------------------------------

src/PowerPlatform/Dataverse/claude_skill/dataverse-sdk-use/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,9 +292,9 @@ result = batch.execute()
292292
for item in result.responses:
293293
if item.is_success:
294294
print(f"[OK] {item.status_code} entity_id={item.entity_id}")
295-
if item.body:
296-
# GET responses populate item.body with the parsed JSON record
297-
print(item.body.get("name"))
295+
if item.data:
296+
# GET responses populate item.data with the parsed JSON record
297+
print(item.data.get("name"))
298298
else:
299299
print(f"[ERR] {item.status_code}: {item.error_message}")
300300

src/PowerPlatform/Dataverse/data/_batch.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -628,7 +628,7 @@ def _parse_http_response_part(text: str, content_id: Optional[str]) -> Optional[
628628
if m:
629629
entity_id = m.group(1)
630630
body_text = "\n".join(lines[body_start:]).strip()
631-
body: Optional[Dict[str, Any]] = None
631+
data: Optional[Dict[str, Any]] = None
632632
error_message: Optional[str] = None
633633
error_code: Optional[str] = None
634634
if body_text:
@@ -640,14 +640,14 @@ def _parse_http_response_part(text: str, content_id: Optional[str]) -> Optional[
640640
error_message = err.get("message")
641641
error_code = err.get("code")
642642
else:
643-
body = parsed
643+
data = parsed
644644
except (json.JSONDecodeError, ValueError):
645645
pass
646646
return BatchItemResponse(
647647
status_code=status_code,
648648
content_id=content_id,
649649
entity_id=entity_id,
650-
body=body,
650+
data=data,
651651
error_message=error_message,
652652
error_code=error_code,
653653
)

src/PowerPlatform/Dataverse/models/batch.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class BatchItemResponse:
2323
:param content_id: ``Content-ID`` value from the changeset response part, if any.
2424
:param entity_id: GUID extracted from the ``OData-EntityId`` response header.
2525
Set for successful create (POST) operations.
26-
:param body: Parsed JSON response body (e.g. for GET operations).
26+
:param data: Parsed JSON response body (e.g. for GET operations).
2727
:param error_message: Error message when the operation failed.
2828
:param error_code: Service error code when the operation failed.
2929
@@ -39,7 +39,7 @@ class BatchItemResponse:
3939
status_code: int
4040
content_id: Optional[str] = None
4141
entity_id: Optional[str] = None
42-
body: Optional[Dict[str, Any]] = None
42+
data: Optional[Dict[str, Any]] = None
4343
error_message: Optional[str] = None
4444
error_code: Optional[str] = None
4545

src/PowerPlatform/Dataverse/operations/batch.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ def delete(
204204
205205
- **Single** ``(table, "guid")`` -> one DELETE request.
206206
- **List + use_bulk_delete=True** (default) -> one ``BulkDelete`` POST.
207-
The async job ID will be available in ``BatchItemResponse.body["JobId"]``.
207+
The async job ID will be available in ``BatchItemResponse.data["JobId"]``.
208208
- **List + use_bulk_delete=False** -> one DELETE per record.
209209
210210
:param table: Table schema name.
@@ -232,7 +232,7 @@ def get(
232232
incompatible with a single batch request.
233233
234234
The response body will be available in
235-
:attr:`~PowerPlatform.Dataverse.models.batch.BatchItemResponse.body`
235+
:attr:`~PowerPlatform.Dataverse.models.batch.BatchItemResponse.data`
236236
after :meth:`BatchRequest.execute`.
237237
238238
:param table: Table schema name.
@@ -311,7 +311,7 @@ def get(self, table: str) -> None:
311311
"""
312312
Add a table-metadata-get operation to the batch.
313313
314-
The response will be in ``BatchItemResponse.body`` after execute.
314+
The response will be in ``BatchItemResponse.data`` after execute.
315315
316316
:param table: Schema name of the table.
317317
"""
@@ -321,7 +321,7 @@ def list(self) -> None:
321321
"""
322322
Add a list-all-tables operation to the batch.
323323
324-
The response will be in ``BatchItemResponse.body`` after execute.
324+
The response will be in ``BatchItemResponse.data`` after execute.
325325
"""
326326
self._batch._items.append(_TableList())
327327

@@ -392,7 +392,7 @@ def get_relationship(self, schema_name: str) -> None:
392392
"""
393393
Add a relationship-metadata-get operation to the batch.
394394
395-
The response will be in ``BatchItemResponse.body`` after execute.
395+
The response will be in ``BatchItemResponse.data`` after execute.
396396
397397
:param schema_name: Schema name of the relationship.
398398
"""

tests/unit/data/test_batch_serialization.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def test_no_content_204(self):
6464
self.assertIsNotNone(item)
6565
self.assertEqual(item.status_code, 204)
6666
self.assertTrue(item.is_success)
67-
self.assertIsNone(item.body)
67+
self.assertIsNone(item.data)
6868
self.assertIsNone(item.entity_id)
6969

7070
def test_created_with_entity_id(self):
@@ -84,7 +84,7 @@ def test_get_response_with_body(self):
8484
text = f"HTTP/1.1 200 OK\r\n" f"Content-Type: application/json\r\n" f"\r\n" f"{body_str}"
8585
item = _parse_http_response_part(text, content_id=None)
8686
self.assertEqual(item.status_code, 200)
87-
self.assertEqual(item.body, body)
87+
self.assertEqual(item.data, body)
8888
self.assertIsNone(item.error_message)
8989

9090
def test_error_response(self):
@@ -96,7 +96,7 @@ def test_error_response(self):
9696
self.assertFalse(item.is_success)
9797
self.assertEqual(item.error_message, "Object does not exist")
9898
self.assertEqual(item.error_code, "0x80040217")
99-
self.assertIsNone(item.body)
99+
self.assertIsNone(item.data)
100100

101101
def test_content_id_passed_through(self):
102102
text = "HTTP/1.1 204 No Content\r\n\r\n"

0 commit comments

Comments
 (0)