Skip to content
Open
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
2 changes: 1 addition & 1 deletion .codegen.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "engineHash": "976bbb9", "specHash": "a0e8038", "version": "4.19.0" }
{ "engineHash": "88c0ae7", "specHash": "74452eb", "version": "4.19.0" }
18 changes: 16 additions & 2 deletions box_sdk_gen/managers/legal_hold_policy_assignments.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@

from box_sdk_gen.schemas.legal_hold_policy_assignment import LegalHoldPolicyAssignment

from box_sdk_gen.schemas.legal_hold_policy_assignment_filter_field import (
LegalHoldPolicyAssignmentFilterField,
)

from box_sdk_gen.schemas.files_on_hold import FilesOnHold

from box_sdk_gen.box.errors import BoxSDKError
Expand Down Expand Up @@ -52,6 +56,7 @@ class GetLegalHoldPolicyAssignmentsAssignToType(str, Enum):
USER = 'user'
OWNERSHIP = 'ownership'
INTERACTIONS = 'interactions'
METADATA_TEMPLATE = 'metadata_template'


class CreateLegalHoldPolicyAssignmentAssignToTypeField(str, Enum):
Expand All @@ -61,6 +66,7 @@ class CreateLegalHoldPolicyAssignmentAssignToTypeField(str, Enum):
USER = 'user'
OWNERSHIP = 'ownership'
INTERACTIONS = 'interactions'
METADATA_TEMPLATE = 'metadata_template'


class CreateLegalHoldPolicyAssignmentAssignTo(BaseObject):
Expand All @@ -71,6 +77,7 @@ class CreateLegalHoldPolicyAssignmentAssignTo(BaseObject):
'user',
'ownership',
'interactions',
'metadata_template',
}

def __init__(
Expand Down Expand Up @@ -176,20 +183,27 @@ def create_legal_hold_policy_assignment(
policy_id: str,
assign_to: CreateLegalHoldPolicyAssignmentAssignTo,
*,
filter_fields: Optional[List[LegalHoldPolicyAssignmentFilterField]] = None,
extra_headers: Optional[Dict[str, Optional[str]]] = None
) -> LegalHoldPolicyAssignment:
"""
Assign a legal hold to an item type of: file, file version, folder, user, ownership, or interactions.
Assign a legal hold to an item type of: file, file version, folder, user, ownership, interactions, or metadata template.
:param policy_id: The ID of the policy to assign.
:type policy_id: str
:param assign_to: The item to assign the policy to.
:type assign_to: CreateLegalHoldPolicyAssignmentAssignTo
:param filter_fields: List of metadata template field filters. Only required when `assign_to.type` is `metadata_template`., defaults to None
:type filter_fields: Optional[List[LegalHoldPolicyAssignmentFilterField]], optional
:param extra_headers: Extra headers that will be included in the HTTP request., defaults to None
:type extra_headers: Optional[Dict[str, Optional[str]]], optional
"""
if extra_headers is None:
extra_headers = {}
request_body: Dict = {'policy_id': policy_id, 'assign_to': assign_to}
request_body: Dict = {
'policy_id': policy_id,
'assign_to': assign_to,
'filter_fields': filter_fields,
}
headers_map: Dict[str, str] = prepare_params({**extra_headers})
response: FetchResponse = self.network_session.network_client.fetch(
FetchOptions(
Expand Down
2 changes: 2 additions & 0 deletions box_sdk_gen/schemas/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,8 @@

from box_sdk_gen.schemas.legal_hold_policy_assignment_base import *

from box_sdk_gen.schemas.legal_hold_policy_assignment_filter_field import *

from box_sdk_gen.schemas.metadata_base import *

from box_sdk_gen.schemas.metadata import *
Expand Down
4 changes: 4 additions & 0 deletions box_sdk_gen/schemas/legal_hold_policy.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ def __init__(
file_version: Optional[int] = None,
ownership: Optional[int] = None,
interactions: Optional[int] = None,
metadata_template: Optional[int] = None,
**kwargs
):
"""
Expand All @@ -47,6 +48,8 @@ def __init__(
:type ownership: Optional[int], optional
:param interactions: The number of users this policy is applied to with the `interactions` type assignment., defaults to None
:type interactions: Optional[int], optional
:param metadata_template: The number of metadata templates this policy is applied to., defaults to None
:type metadata_template: Optional[int], optional
"""
super().__init__(**kwargs)
self.user = user
Expand All @@ -55,6 +58,7 @@ def __init__(
self.file_version = file_version
self.ownership = ownership
self.interactions = interactions
self.metadata_template = metadata_template


class LegalHoldPolicy(LegalHoldPolicyMini):
Expand Down
2 changes: 2 additions & 0 deletions box_sdk_gen/schemas/legal_hold_policy_assigned_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class LegalHoldPolicyAssignedItemTypeField(str, Enum):
USER = 'user'
OWNERSHIP = 'ownership'
INTERACTIONS = 'interactions'
METADATA_TEMPLATE = 'metadata_template'


class LegalHoldPolicyAssignedItem(BaseObject):
Expand All @@ -22,6 +23,7 @@ class LegalHoldPolicyAssignedItem(BaseObject):
'user',
'ownership',
'interactions',
'metadata_template',
}

def __init__(self, type: LegalHoldPolicyAssignedItemTypeField, id: str, **kwargs):
Expand Down
10 changes: 10 additions & 0 deletions box_sdk_gen/schemas/legal_hold_policy_assignment.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from typing import Optional

from typing import List

from box_sdk_gen.schemas.legal_hold_policy_assignment_base import (
LegalHoldPolicyAssignmentBaseTypeField,
)
Expand All @@ -16,6 +18,10 @@

from box_sdk_gen.schemas.user_mini import UserMini

from box_sdk_gen.schemas.legal_hold_policy_assignment_filter_field import (
LegalHoldPolicyAssignmentFilterField,
)

from box_sdk_gen.box.errors import BoxSDKError

from box_sdk_gen.internal.utils import DateTime
Expand All @@ -32,6 +38,7 @@ def __init__(
assigned_by: Optional[UserMini] = None,
assigned_at: Optional[DateTime] = None,
deleted_at: Optional[DateTime] = None,
filter_fields: Optional[List[LegalHoldPolicyAssignmentFilterField]] = None,
id: Optional[str] = None,
type: Optional[LegalHoldPolicyAssignmentBaseTypeField] = None,
**kwargs
Expand All @@ -46,6 +53,8 @@ def __init__(
assignment is fully deleted). If null, Assignment
was not deleted., defaults to None
:type deleted_at: Optional[DateTime], optional
:param filter_fields: List of metadata template field filters. Only present when `assigned_to.type` is `metadata_template`., defaults to None
:type filter_fields: Optional[List[LegalHoldPolicyAssignmentFilterField]], optional
:param id: The unique identifier for this legal hold assignment., defaults to None
:type id: Optional[str], optional
:param type: The value will always be `legal_hold_policy_assignment`., defaults to None
Expand All @@ -57,3 +66,4 @@ def __init__(
self.assigned_by = assigned_by
self.assigned_at = assigned_at
self.deleted_at = deleted_at
self.filter_fields = filter_fields
16 changes: 16 additions & 0 deletions box_sdk_gen/schemas/legal_hold_policy_assignment_filter_field.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from box_sdk_gen.internal.base_object import BaseObject

from box_sdk_gen.box.errors import BoxSDKError


class LegalHoldPolicyAssignmentFilterField(BaseObject):
def __init__(self, field: str, value: str, **kwargs):
"""
:param field: The ID of the metadata template field to filter on.
:type field: str
:param value: The value of the metadata template field to filter on.
:type value: str
"""
super().__init__(**kwargs)
self.field = field
self.value = value
18 changes: 15 additions & 3 deletions docs/box_sdk_gen/document_split.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@ This operation is performed by calling function `create_document_split_v2026_r0`
See the endpoint docs at
[API Reference](https://developer.box.com/reference/v2026.0/post-document-splits/).

_Currently we don't have an example for calling `create_document_split_v2026_r0` in integration tests_
<!-- sample post_document_splits_v2026.0 -->

```python
client.document_split.create_document_split_v2026_r0(file.id, folder.id, CreateDocumentSplitV2026R0InputSource.API, DocumentSplitCreateRequestManualV2026R0(split_type=DocumentSplitCreateRequestManualV2026R0SplitTypeField.MANUAL, split_definition=[DocumentSplitPageRangeV2026R0(start=1, end=1)]), external_id=external_id)
```

### Arguments

Expand Down Expand Up @@ -61,7 +65,11 @@ This operation is performed by calling function `get_document_splits_v2026_r0`.
See the endpoint docs at
[API Reference](https://developer.box.com/reference/v2026.0/get-document-splits/).

_Currently we don't have an example for calling `get_document_splits_v2026_r0` in integration tests_
<!-- sample get_document_splits_v2026.0 -->

```python
client.document_split.get_document_splits_v2026_r0(limit=10)
```

### Arguments

Expand Down Expand Up @@ -91,7 +99,11 @@ This operation is performed by calling function `get_document_split_by_id_v2026_
See the endpoint docs at
[API Reference](https://developer.box.com/reference/v2026.0/get-document-splits-id/).

_Currently we don't have an example for calling `get_document_split_by_id_v2026_r0` in integration tests_
<!-- sample get_document_splits_id_v2026.0 -->

```python
client.document_split.get_document_split_by_id_v2026_r0(created_document_split.id)
```

### Arguments

Expand Down
4 changes: 3 additions & 1 deletion docs/box_sdk_gen/legal_hold_policy_assignments.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Returns a list of legal hold policy assignments.

## Assign legal hold policy

Assign a legal hold to an item type of: file, file version, folder, user, ownership, or interactions.
Assign a legal hold to an item type of: file, file version, folder, user, ownership, interactions, or metadata template.

This operation is performed by calling function `create_legal_hold_policy_assignment`.

Expand All @@ -65,6 +65,8 @@ client.legal_hold_policy_assignments.create_legal_hold_policy_assignment(legal_h
- The ID of the policy to assign.
- assign_to `CreateLegalHoldPolicyAssignmentAssignTo`
- The item to assign the policy to.
- filter_fields `Optional[List[LegalHoldPolicyAssignmentFilterField]]`
- List of metadata template field filters. Only required when `assign_to.type` is `metadata_template`.
- extra_headers `Optional[Dict[str, Optional[str]]]`
- Extra headers that will be included in the HTTP request.

Expand Down
80 changes: 80 additions & 0 deletions test/box_sdk_gen/test/document_split.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
from box_sdk_gen.internal.utils import to_string

from box_sdk_gen.client import BoxClient

from box_sdk_gen.schemas.file_full import FileFull

from box_sdk_gen.schemas.folder_full import FolderFull

from box_sdk_gen.schemas.v2026_r0.document_split_create_response_v2026_r0 import (
DocumentSplitCreateResponseV2026R0,
)

from box_sdk_gen.managers.document_split import CreateDocumentSplitV2026R0InputSource

from box_sdk_gen.schemas.v2026_r0.document_split_create_request_manual_v2026_r0 import (
DocumentSplitCreateRequestManualV2026R0SplitTypeField,
)

from box_sdk_gen.schemas.v2026_r0.document_split_page_range_v2026_r0 import (
DocumentSplitPageRangeV2026R0,
)

from box_sdk_gen.schemas.v2026_r0.document_split_v2026_r0 import DocumentSplitV2026R0

from box_sdk_gen.schemas.v2026_r0.document_splits_v2026_r0 import DocumentSplitsV2026R0

from box_sdk_gen.internal.utils import get_uuid

from test.box_sdk_gen.test.commons import get_default_client

from test.box_sdk_gen.test.commons import upload_new_file

from test.box_sdk_gen.test.commons import create_new_folder

from box_sdk_gen.schemas.v2026_r0.document_split_create_request_manual_v2026_r0 import (
DocumentSplitCreateRequestManualV2026R0,
)

client: BoxClient = get_default_client()


def testCreateDocumentSplitV2026R0():
file: FileFull = upload_new_file()
folder: FolderFull = create_new_folder()
external_id: str = get_uuid()
created_document_split: DocumentSplitCreateResponseV2026R0 = (
client.document_split.create_document_split_v2026_r0(
file.id,
folder.id,
CreateDocumentSplitV2026R0InputSource.API,
DocumentSplitCreateRequestManualV2026R0(
split_type=DocumentSplitCreateRequestManualV2026R0SplitTypeField.MANUAL,
split_definition=[DocumentSplitPageRangeV2026R0(start=1, end=1)],
),
external_id=external_id,
)
)
assert not created_document_split.id == ''
assert to_string(created_document_split.type) == 'document_split'
document_split: DocumentSplitV2026R0 = (
client.document_split.get_document_split_by_id_v2026_r0(
created_document_split.id
)
)
assert document_split.id == created_document_split.id
assert to_string(document_split.type) == 'document_split'
assert document_split.source_file.id == file.id
assert document_split.destination_folder.id == folder.id
assert to_string(document_split.input_source) == 'api'
assert not to_string(document_split.status) == ''
assert document_split.external_id == external_id
client.folders.delete_folder_by_id(folder.id, recursive=True)
client.files.delete_file_by_id(file.id)


def testGetDocumentSplitsV2026R0():
document_splits: DocumentSplitsV2026R0 = (
client.document_split.get_document_splits_v2026_r0(limit=10)
)
assert len(document_splits.entries) >= 0
Loading