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": "4de40e1", "specHash": "e0ffc4a", "version": "4.10.0" }
{ "engineHash": "4de40e1", "specHash": "8b85e74", "version": "4.10.0" }
7 changes: 7 additions & 0 deletions box_sdk_gen/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,10 @@

from box_sdk_gen.managers.automate_workflows import AutomateWorkflowsManager

from box_sdk_gen.managers.convert_markdown_to_box_note import (
ConvertMarkdownToBoxNoteManager,
)

from box_sdk_gen.networking.auth import Authentication

from box_sdk_gen.networking.network import NetworkSession
Expand Down Expand Up @@ -469,6 +473,9 @@ def __init__(self, auth: Authentication, *, network_session: NetworkSession = No
self.automate_workflows = AutomateWorkflowsManager(
auth=self.auth, network_session=self.network_session
)
self.convert_markdown_to_box_note = ConvertMarkdownToBoxNoteManager(
auth=self.auth, network_session=self.network_session
)

def make_request(self, fetch_options: FetchOptions) -> FetchResponse:
"""
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 @@ -165,3 +165,5 @@
from box_sdk_gen.managers.external_users import *

from box_sdk_gen.managers.automate_workflows import *

from box_sdk_gen.managers.convert_markdown_to_box_note import *
118 changes: 118 additions & 0 deletions box_sdk_gen/managers/convert_markdown_to_box_note.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
from enum import Enum

from typing import Optional

from typing import Dict

from box_sdk_gen.internal.utils import to_string

from box_sdk_gen.serialization.json import serialize

from box_sdk_gen.serialization.json import deserialize

from box_sdk_gen.schemas.v2026_r0.folder_reference_v2026_r0 import (
FolderReferenceV2026R0,
)

from box_sdk_gen.networking.fetch_options import ResponseFormat

from box_sdk_gen.schemas.v2026_r0.notes_convert_response_v2026_r0 import (
NotesConvertResponseV2026R0,
)

from box_sdk_gen.schemas.v2026_r0.client_error_v2026_r0 import ClientErrorV2026R0

from box_sdk_gen.parameters.v2026_r0.box_version_header_v2026_r0 import (
BoxVersionHeaderV2026R0,
)

from box_sdk_gen.schemas.v2026_r0.notes_convert_request_body_v2026_r0 import (
NotesConvertRequestBodyV2026R0,
)

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 CreateNoteConvertV2026R0ContentFormat(str, Enum):
MARKDOWN = 'markdown'


class ConvertMarkdownToBoxNoteManager:
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 create_note_convert_v2026_r0(
self,
content: str,
parent: FolderReferenceV2026R0,
name: str,
*,
content_format: CreateNoteConvertV2026R0ContentFormat = CreateNoteConvertV2026R0ContentFormat.MARKDOWN,
box_version: BoxVersionHeaderV2026R0 = BoxVersionHeaderV2026R0._2026_0,
extra_headers: Optional[Dict[str, Optional[str]]] = None
) -> NotesConvertResponseV2026R0:
"""
Creates a Box Note (`.boxnote` file) from supported source content. See the `content_format` field for supported formats.
:param content: The content to convert to a note. See the `content_format` field for supported formats.
:type content: str
:param name: The name for the created note. The `.boxnote` extension is appended automatically.
:type name: str
:param content_format: Format of the content to convert., defaults to CreateNoteConvertV2026R0ContentFormat.MARKDOWN
:type content_format: CreateNoteConvertV2026R0ContentFormat, optional
:param box_version: Version header., defaults to BoxVersionHeaderV2026R0._2026_0
:type box_version: BoxVersionHeaderV2026R0, 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 = {
'content': content,
'content_format': content_format,
'parent': parent,
'name': name,
}
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/notes/convert']
),
method='POST',
headers=headers_map,
data=serialize(request_body),
content_type='application/json',
response_format=ResponseFormat.JSON,
auth=self.auth,
network_session=self.network_session,
)
)
return deserialize(response.data, NotesConvertResponseV2026R0)
6 changes: 6 additions & 0 deletions box_sdk_gen/schemas/v2026_r0/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@

from box_sdk_gen.schemas.v2026_r0.client_error_v2026_r0 import *

from box_sdk_gen.schemas.v2026_r0.folder_reference_v2026_r0 import *

from box_sdk_gen.schemas.v2026_r0.notes_convert_request_body_v2026_r0 import *

from box_sdk_gen.schemas.v2026_r0.notes_convert_response_v2026_r0 import *

from box_sdk_gen.schemas.v2026_r0.user_base_v2026_r0 import *

from box_sdk_gen.schemas.v2026_r0.user_mini_v2026_r0 import *
Expand Down
30 changes: 30 additions & 0 deletions box_sdk_gen/schemas/v2026_r0/folder_reference_v2026_r0.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from enum import Enum

from box_sdk_gen.internal.base_object import BaseObject

from box_sdk_gen.box.errors import BoxSDKError


class FolderReferenceV2026R0TypeField(str, Enum):
FOLDER = 'folder'


class FolderReferenceV2026R0(BaseObject):
_discriminator = 'type', {'folder'}

def __init__(
self,
id: str,
*,
type: FolderReferenceV2026R0TypeField = FolderReferenceV2026R0TypeField.FOLDER,
**kwargs
):
"""
:param id: ID of the folder.
:type id: str
:param type: The value will always be `folder`., defaults to FolderReferenceV2026R0TypeField.FOLDER
:type type: FolderReferenceV2026R0TypeField, optional
"""
super().__init__(**kwargs)
self.id = id
self.type = type
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from enum import Enum

from box_sdk_gen.internal.base_object import BaseObject

from box_sdk_gen.schemas.v2026_r0.folder_reference_v2026_r0 import (
FolderReferenceV2026R0,
)

from box_sdk_gen.box.errors import BoxSDKError


class NotesConvertRequestBodyV2026R0ContentFormatField(str, Enum):
MARKDOWN = 'markdown'


class NotesConvertRequestBodyV2026R0(BaseObject):
def __init__(
self,
content: str,
parent: FolderReferenceV2026R0,
name: str,
*,
content_format: NotesConvertRequestBodyV2026R0ContentFormatField = NotesConvertRequestBodyV2026R0ContentFormatField.MARKDOWN,
**kwargs
):
"""
:param content: The content to convert to a note. See the `content_format` field for supported formats.
:type content: str
:param name: The name for the created note. The `.boxnote` extension is appended automatically.
:type name: str
:param content_format: Format of the content to convert., defaults to NotesConvertRequestBodyV2026R0ContentFormatField.MARKDOWN
:type content_format: NotesConvertRequestBodyV2026R0ContentFormatField, optional
"""
super().__init__(**kwargs)
self.content = content
self.parent = parent
self.name = name
self.content_format = content_format
30 changes: 30 additions & 0 deletions box_sdk_gen/schemas/v2026_r0/notes_convert_response_v2026_r0.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from enum import Enum

from box_sdk_gen.internal.base_object import BaseObject

from box_sdk_gen.box.errors import BoxSDKError


class NotesConvertResponseV2026R0TypeField(str, Enum):
FILE = 'file'


class NotesConvertResponseV2026R0(BaseObject):
_discriminator = 'type', {'file'}

def __init__(
self,
id: str,
*,
type: NotesConvertResponseV2026R0TypeField = NotesConvertResponseV2026R0TypeField.FILE,
**kwargs
):
"""
:param id: Box file ID of the created `.boxnote` file.
:type id: str
:param type: The Box resource type; always `file` for a Box file., defaults to NotesConvertResponseV2026R0TypeField.FILE
:type type: NotesConvertResponseV2026R0TypeField, optional
"""
super().__init__(**kwargs)
self.id = id
self.type = type
1 change: 1 addition & 0 deletions docs/box_sdk_gen/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ the SDK are available by topic:
- [Collaboration allowlist exempt targets](collaboration_allowlist_exempt_targets.md)
- [Collections](collections.md)
- [Comments](comments.md)
- [Convert markdown to box note](convert_markdown_to_box_note.md)
- [Device pinners](device_pinners.md)
- [Docgen](docgen.md)
- [Docgen template](docgen_template.md)
Expand Down
34 changes: 34 additions & 0 deletions docs/box_sdk_gen/convert_markdown_to_box_note.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# ConvertMarkdownToBoxNoteManager

- [Convert content to Box Note](#convert-content-to-box-note)

## Convert content to Box Note

Creates a Box Note (`.boxnote` file) from supported source content. See the `content_format` field for supported formats.

This operation is performed by calling function `create_note_convert_v2026_r0`.

See the endpoint docs at
[API Reference](https://developer.box.com/reference/v2026.0/post-notes-convert/).

_Currently we don't have an example for calling `create_note_convert_v2026_r0` in integration tests_

### Arguments

- content `str`
- The content to convert to a note. See the `content_format` field for supported formats.
- content_format `CreateNoteConvertV2026R0ContentFormat`
- Format of the content to convert.
- parent `FolderReferenceV2026R0`
- name `str`
- The name for the created note. The `.boxnote` extension is appended automatically.
- box_version `BoxVersionHeaderV2026R0`
- Version header.
- extra_headers `Optional[Dict[str, Optional[str]]]`
- Extra headers that will be included in the HTTP request.

### Returns

This function returns a value of type `NotesConvertResponseV2026R0`.

The note was created successfully.
Loading