Skip to content
Closed
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": "bc04b80", "specHash": "f2523d5", "version": "4.4.0" }
{ "engineHash": "bc04b80", "specHash": "57b3004", "version": "4.4.0" }
5 changes: 5 additions & 0 deletions box_sdk_gen/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,8 @@

from box_sdk_gen.managers.hub_items import HubItemsManager

from box_sdk_gen.managers.hub_document import HubDocumentManager

from box_sdk_gen.managers.shield_lists import ShieldListsManager

from box_sdk_gen.managers.archives import ArchivesManager
Expand Down Expand Up @@ -450,6 +452,9 @@ def __init__(self, auth: Authentication, *, network_session: NetworkSession = No
self.hub_items = HubItemsManager(
auth=self.auth, network_session=self.network_session
)
self.hub_document = HubDocumentManager(
auth=self.auth, network_session=self.network_session
)
self.shield_lists = ShieldListsManager(
auth=self.auth, network_session=self.network_session
)
Expand Down
2 changes: 2 additions & 0 deletions box_sdk_gen/managers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,8 @@

from box_sdk_gen.managers.hub_items import *

from box_sdk_gen.managers.hub_document import *

from box_sdk_gen.managers.shield_lists import *

from box_sdk_gen.managers.archives import *
Expand Down
187 changes: 187 additions & 0 deletions box_sdk_gen/managers/hub_document.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
from typing import Optional

from typing import Dict

from box_sdk_gen.internal.utils import to_string

from box_sdk_gen.serialization.json import deserialize

from box_sdk_gen.networking.fetch_options import ResponseFormat

from box_sdk_gen.schemas.v2025_r0.hub_document_pages_v2025_r0 import (
HubDocumentPagesV2025R0,
)

from box_sdk_gen.schemas.v2025_r0.client_error_v2025_r0 import ClientErrorV2025R0

from box_sdk_gen.parameters.v2025_r0.box_version_header_v2025_r0 import (
BoxVersionHeaderV2025R0,
)

from box_sdk_gen.schemas.v2025_r0.hub_document_blocks_v2025_r0 import (
HubDocumentBlocksV2025R0,
)

from box_sdk_gen.box.errors import BoxSDKError

from box_sdk_gen.networking.auth import Authentication

from box_sdk_gen.networking.network import NetworkSession

from box_sdk_gen.networking.fetch_options import FetchOptions

from box_sdk_gen.networking.fetch_response import FetchResponse

from box_sdk_gen.internal.utils import prepare_params

from box_sdk_gen.internal.utils import to_string

from box_sdk_gen.internal.utils import ByteStream

from box_sdk_gen.serialization.json import sd_to_json

from box_sdk_gen.serialization.json import SerializedData


class HubDocumentManager:
def __init__(
self,
*,
auth: Optional[Authentication] = None,
network_session: NetworkSession = None
):
if network_session is None:
network_session = NetworkSession()
self.auth = auth
self.network_session = network_session

def get_hub_document_pages_v2025_r0(
self,
hub_id: str,
*,
marker: Optional[str] = None,
limit: Optional[int] = None,
box_version: BoxVersionHeaderV2025R0 = BoxVersionHeaderV2025R0._2025_0,
extra_headers: Optional[Dict[str, Optional[str]]] = None
) -> HubDocumentPagesV2025R0:
"""
Retrieves a list of Hub Document Pages for the specified hub.

Includes both root-level pages and sub pages.

:param hub_id: The unique identifier that represent a hub.

The ID for any hub can be determined
by visiting this hub in the web application
and copying the ID from the URL. For example,
for the URL `https://*.app.box.com/hubs/123`
the `hub_id` is `123`.
:type hub_id: str
:param marker: Defines the position marker at which to begin returning results. This is
used when paginating using marker-based pagination., defaults to None
:type marker: Optional[str], optional
:param limit: The maximum number of items to return per page., defaults to None
:type limit: Optional[int], optional
:param box_version: Version header., defaults to BoxVersionHeaderV2025R0._2025_0
:type box_version: BoxVersionHeaderV2025R0, 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 = {}
query_params_map: Dict[str, str] = prepare_params(
{
'hub_id': to_string(hub_id),
'marker': to_string(marker),
'limit': to_string(limit),
}
)
headers_map: Dict[str, str] = prepare_params(
{'box-version': to_string(box_version), **extra_headers}
)
response: FetchResponse = self.network_session.network_client.fetch(
FetchOptions(
url=''.join(
[self.network_session.base_urls.base_url, '/2.0/hub_document_pages']
),
method='GET',
params=query_params_map,
headers=headers_map,
response_format=ResponseFormat.JSON,
auth=self.auth,
network_session=self.network_session,
)
)
return deserialize(response.data, HubDocumentPagesV2025R0)

def get_hub_document_blocks_v2025_r0(
self,
hub_id: str,
page_id: str,
*,
marker: Optional[str] = None,
limit: Optional[int] = None,
box_version: BoxVersionHeaderV2025R0 = BoxVersionHeaderV2025R0._2025_0,
extra_headers: Optional[Dict[str, Optional[str]]] = None
) -> HubDocumentBlocksV2025R0:
"""
Retrieves a sorted list of all Hub Document Blocks on a specified page in the hub document, excluding items.

Blocks are hierarchically organized by their `parent_id`.


Blocks are sorted in order based on user specification in the user interface.


The response will only include content blocks that belong to the specified page. This will not include sub pages or sub page content blocks.

:param hub_id: The unique identifier that represent a hub.

The ID for any hub can be determined
by visiting this hub in the web application
and copying the ID from the URL. For example,
for the URL `https://*.app.box.com/hubs/123`
the `hub_id` is `123`.
:type hub_id: str
:param page_id: The unique identifier of a page within the Box Hub.
:type page_id: str
:param marker: Defines the position marker at which to begin returning results. This is
used when paginating using marker-based pagination., defaults to None
:type marker: Optional[str], optional
:param limit: The maximum number of items to return per page., defaults to None
:type limit: Optional[int], optional
:param box_version: Version header., defaults to BoxVersionHeaderV2025R0._2025_0
:type box_version: BoxVersionHeaderV2025R0, 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 = {}
query_params_map: Dict[str, str] = prepare_params(
{
'hub_id': to_string(hub_id),
'page_id': to_string(page_id),
'marker': to_string(marker),
'limit': to_string(limit),
}
)
headers_map: Dict[str, str] = prepare_params(
{'box-version': to_string(box_version), **extra_headers}
)
response: FetchResponse = self.network_session.network_client.fetch(
FetchOptions(
url=''.join(
[
self.network_session.base_urls.base_url,
'/2.0/hub_document_blocks',
]
),
method='GET',
params=query_params_map,
headers=headers_map,
response_format=ResponseFormat.JSON,
auth=self.auth,
network_session=self.network_session,
)
)
return deserialize(response.data, HubDocumentBlocksV2025R0)
4 changes: 4 additions & 0 deletions box_sdk_gen/managers/hubs.py
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,7 @@ def update_hub_by_id_v2025_r0(
is_collaboration_restricted_to_enterprise: Optional[bool] = None,
can_non_owners_invite: Optional[bool] = None,
can_shared_link_be_created: Optional[bool] = None,
can_public_shared_link_be_created: Optional[bool] = None,
box_version: BoxVersionHeaderV2025R0 = BoxVersionHeaderV2025R0._2025_0,
extra_headers: Optional[Dict[str, Optional[str]]] = None
) -> HubV2025R0:
Expand All @@ -329,6 +330,8 @@ def update_hub_by_id_v2025_r0(
:type can_non_owners_invite: Optional[bool], optional
:param can_shared_link_be_created: Indicates if a shared link can be created for the Box Hub., defaults to None
:type can_shared_link_be_created: Optional[bool], optional
:param can_public_shared_link_be_created: Indicates if a public shared link can be created for the Box Hub., defaults to None
:type can_public_shared_link_be_created: Optional[bool], optional
:param box_version: Version header., defaults to BoxVersionHeaderV2025R0._2025_0
:type box_version: BoxVersionHeaderV2025R0, optional
:param extra_headers: Extra headers that will be included in the HTTP request., defaults to None
Expand All @@ -345,6 +348,7 @@ def update_hub_by_id_v2025_r0(
),
'can_non_owners_invite': can_non_owners_invite,
'can_shared_link_be_created': can_shared_link_be_created,
'can_public_shared_link_be_created': can_public_shared_link_be_created,
}
headers_map: Dict[str, str] = prepare_params(
{'box-version': to_string(box_version), **extra_headers}
Expand Down
20 changes: 20 additions & 0 deletions box_sdk_gen/schemas/v2025_r0/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,26 @@

from box_sdk_gen.schemas.v2025_r0.hub_create_request_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_document_block_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_section_title_text_block_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_paragraph_text_block_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_item_list_block_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_divider_block_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_callout_box_text_block_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_document_block_entry_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_document_blocks_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_document_page_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_document_pages_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_item_v2025_r0 import *

from box_sdk_gen.schemas.v2025_r0.hub_items_v2025_r0 import *
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from enum import Enum

from typing import Optional

from box_sdk_gen.schemas.v2025_r0.hub_document_block_v2025_r0 import (
HubDocumentBlockV2025R0,
)

from box_sdk_gen.box.errors import BoxSDKError


class HubCalloutBoxTextBlockV2025R0TypeField(str, Enum):
CALLOUT_BOX = 'callout_box'


class HubCalloutBoxTextBlockV2025R0(HubDocumentBlockV2025R0):
def __init__(
self,
fragment: str,
id: str,
*,
type: HubCalloutBoxTextBlockV2025R0TypeField = HubCalloutBoxTextBlockV2025R0TypeField.CALLOUT_BOX,
parent_id: Optional[str] = None,
**kwargs
):
"""
:param fragment: Text content of the block. Includes rich text formatting.
:type fragment: str
:param id: The unique identifier for this block.
:type id: str
:param type: The type of this block. The value is always `callout_box`., defaults to HubCalloutBoxTextBlockV2025R0TypeField.CALLOUT_BOX
:type type: HubCalloutBoxTextBlockV2025R0TypeField, optional
:param parent_id: The unique identifier of the parent block. Null for direct children of the page., defaults to None
:type parent_id: Optional[str], optional
"""
super().__init__(id=id, parent_id=parent_id, **kwargs)
self.fragment = fragment
self.type = type
34 changes: 34 additions & 0 deletions box_sdk_gen/schemas/v2025_r0/hub_divider_block_v2025_r0.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
from enum import Enum

from typing import Optional

from box_sdk_gen.schemas.v2025_r0.hub_document_block_v2025_r0 import (
HubDocumentBlockV2025R0,
)

from box_sdk_gen.box.errors import BoxSDKError


class HubDividerBlockV2025R0TypeField(str, Enum):
DIVIDER = 'divider'


class HubDividerBlockV2025R0(HubDocumentBlockV2025R0):
def __init__(
self,
id: str,
*,
type: HubDividerBlockV2025R0TypeField = HubDividerBlockV2025R0TypeField.DIVIDER,
parent_id: Optional[str] = None,
**kwargs
):
"""
:param id: The unique identifier for this block.
:type id: str
:param type: The type of this block. The value is always `divider`., defaults to HubDividerBlockV2025R0TypeField.DIVIDER
:type type: HubDividerBlockV2025R0TypeField, optional
:param parent_id: The unique identifier of the parent block. Null for direct children of the page., defaults to None
:type parent_id: Optional[str], optional
"""
super().__init__(id=id, parent_id=parent_id, **kwargs)
self.type = type
31 changes: 31 additions & 0 deletions box_sdk_gen/schemas/v2025_r0/hub_document_block_entry_v2025_r0.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from typing import Union

from box_sdk_gen.schemas.v2025_r0.hub_paragraph_text_block_v2025_r0 import (
HubParagraphTextBlockV2025R0,
)

from box_sdk_gen.schemas.v2025_r0.hub_section_title_text_block_v2025_r0 import (
HubSectionTitleTextBlockV2025R0,
)

from box_sdk_gen.schemas.v2025_r0.hub_callout_box_text_block_v2025_r0 import (
HubCalloutBoxTextBlockV2025R0,
)

from box_sdk_gen.schemas.v2025_r0.hub_item_list_block_v2025_r0 import (
HubItemListBlockV2025R0,
)

from box_sdk_gen.schemas.v2025_r0.hub_divider_block_v2025_r0 import (
HubDividerBlockV2025R0,
)

from box_sdk_gen.box.errors import BoxSDKError

HubDocumentBlockEntryV2025R0 = Union[
HubParagraphTextBlockV2025R0,
HubSectionTitleTextBlockV2025R0,
HubCalloutBoxTextBlockV2025R0,
HubItemListBlockV2025R0,
HubDividerBlockV2025R0,
]
18 changes: 18 additions & 0 deletions box_sdk_gen/schemas/v2025_r0/hub_document_block_v2025_r0.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from typing import Optional

from box_sdk_gen.internal.base_object import BaseObject

from box_sdk_gen.box.errors import BoxSDKError


class HubDocumentBlockV2025R0(BaseObject):
def __init__(self, id: str, *, parent_id: Optional[str] = None, **kwargs):
"""
:param id: The unique identifier for this block.
:type id: str
:param parent_id: The unique identifier of the parent block. Null for direct children of the page., defaults to None
:type parent_id: Optional[str], optional
"""
super().__init__(**kwargs)
self.id = id
self.parent_id = parent_id
Loading
Loading