Skip to content

Commit

Permalink
fix: Fix the placement of some fields across variants (box/box-openap…
Browse files Browse the repository at this point in the history
  • Loading branch information
box-sdk-build committed Aug 20, 2024
1 parent 1267a21 commit 62f0ccb
Show file tree
Hide file tree
Showing 10 changed files with 59 additions and 121 deletions.
2 changes: 1 addition & 1 deletion .codegen.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "engineHash": "4ca165c", "specHash": "8d1ca31", "version": "1.2.0" }
{ "engineHash": "4ca165c", "specHash": "da821cd", "version": "1.2.0" }
4 changes: 2 additions & 2 deletions box_sdk_gen/managers/integration_mappings.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,10 @@ def get_slack_integration_mapping(

def create_slack_integration_mapping(
self,
partner_item: IntegrationMappingPartnerItemSlack,
box_item: IntegrationMappingBoxItemSlack,
*,
options: Optional[IntegrationMappingSlackOptions] = None,
partner_item: Optional[IntegrationMappingPartnerItemSlack] = None,
extra_headers: Optional[Dict[str, Optional[str]]] = None
) -> IntegrationMapping:
"""
Expand All @@ -170,9 +170,9 @@ def create_slack_integration_mapping(
if extra_headers is None:
extra_headers = {}
request_body: Dict = {
'partner_item': partner_item,
'box_item': box_item,
'options': options,
'partner_item': partner_item,
}
headers_map: Dict[str, str] = prepare_params({**extra_headers})
response: FetchResponse = fetch(
Expand Down
2 changes: 1 addition & 1 deletion box_sdk_gen/networking/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '1.3.0'
__version__ = '1.2.0'
2 changes: 0 additions & 2 deletions box_sdk_gen/schemas/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@

from box_sdk_gen.schemas.integration_mapping_base import *

from box_sdk_gen.schemas.integration_mapping_mini import *

from box_sdk_gen.schemas.group_base import *

from box_sdk_gen.schemas.group_mini import *
Expand Down
54 changes: 25 additions & 29 deletions box_sdk_gen/schemas/integration_mapping.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
from enum import Enum

from typing import Union

from typing import Optional

from box_sdk_gen.schemas.integration_mapping_base import (
IntegrationMappingBaseIntegrationTypeField,
)
from typing import Union

from box_sdk_gen.schemas.integration_mapping_base import IntegrationMappingBase
from box_sdk_gen.schemas.integration_mapping_base import IntegrationMappingBaseTypeField

from box_sdk_gen.schemas.integration_mapping_partner_item_slack import (
IntegrationMappingPartnerItemSlack,
)
from box_sdk_gen.schemas.integration_mapping_base import IntegrationMappingBase

from box_sdk_gen.schemas.folder_mini import FolderMini

Expand All @@ -22,44 +16,48 @@

from box_sdk_gen.schemas.user_integration_mappings import UserIntegrationMappings

from box_sdk_gen.schemas.integration_mapping_partner_item_slack import (
IntegrationMappingPartnerItemSlack,
)

from box_sdk_gen.internal.utils import DateTime


class IntegrationMappingTypeField(str, Enum):
INTEGRATION_MAPPING = 'integration_mapping'
class IntegrationMappingIntegrationTypeField(str, Enum):
SLACK = 'slack'


class IntegrationMapping(IntegrationMappingBase):
def __init__(
self,
partner_item: Union[IntegrationMappingPartnerItemSlack],
box_item: FolderMini,
partner_item: Union[IntegrationMappingPartnerItemSlack],
id: str,
*,
type: IntegrationMappingTypeField = IntegrationMappingTypeField.INTEGRATION_MAPPING.value,
is_manually_created: Optional[bool] = None,
options: Optional[IntegrationMappingSlackOptions] = None,
created_by: Optional[UserIntegrationMappings] = None,
modified_by: Optional[UserIntegrationMappings] = None,
created_at: Optional[DateTime] = None,
modified_at: Optional[DateTime] = None,
id: Optional[str] = None,
integration_type: Optional[IntegrationMappingBaseIntegrationTypeField] = None,
integration_type: Optional[IntegrationMappingIntegrationTypeField] = None,
type: IntegrationMappingBaseTypeField = IntegrationMappingBaseTypeField.INTEGRATION_MAPPING.value,
**kwargs
):
"""
:param partner_item: Mapped item object for Slack
:type partner_item: Union[IntegrationMappingPartnerItemSlack]
:param box_item: The Box folder, to which the object from the
partner app domain (referenced in `partner_item_id`) is mapped
:type box_item: FolderMini
:param type: Mapping type, defaults to IntegrationMappingTypeField.INTEGRATION_MAPPING.value
:type type: IntegrationMappingTypeField, optional
:param partner_item: Mapped item object for Slack or Teams
:type partner_item: Union[IntegrationMappingPartnerItemSlack]
:param id: A unique identifier of a folder mapping
(part of a composite key together
with `integration_type`)
:type id: str
:param is_manually_created: Identifies whether the mapping has
been manually set
(as opposed to being automatically created), defaults to None
:type is_manually_created: Optional[bool], optional
:param options: Integration mapping options for Slack, defaults to None
:type options: Optional[IntegrationMappingSlackOptions], optional
:param created_by: An object representing the user who
created the integration mapping, defaults to None
:type created_by: Optional[UserIntegrationMappings], optional
Expand All @@ -70,23 +68,21 @@ def __init__(
:type created_at: Optional[DateTime], optional
:param modified_at: When the integration mapping object was last modified, defaults to None
:type modified_at: Optional[DateTime], optional
:param id: A unique identifier of a folder mapping
(part of a composite key together
with `integration_type`), defaults to None
:type id: Optional[str], optional
:param integration_type: Identifies the Box partner app,
with which the mapping is associated.
Currently only supports Slack.
(part of the composite key together with `id`), defaults to None
:type integration_type: Optional[IntegrationMappingBaseIntegrationTypeField], optional
:type integration_type: Optional[IntegrationMappingIntegrationTypeField], optional
:param type: Mapping type, defaults to IntegrationMappingBaseTypeField.INTEGRATION_MAPPING.value
:type type: IntegrationMappingBaseTypeField, optional
"""
super().__init__(id=id, integration_type=integration_type, **kwargs)
self.partner_item = partner_item
super().__init__(id=id, type=type, **kwargs)
self.box_item = box_item
self.type = type
self.partner_item = partner_item
self.is_manually_created = is_manually_created
self.options = options
self.created_by = created_by
self.modified_by = modified_by
self.created_at = created_at
self.modified_at = modified_at
self.integration_type = integration_type
25 changes: 11 additions & 14 deletions box_sdk_gen/schemas/integration_mapping_base.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,30 @@
from enum import Enum

from typing import Optional

from box_sdk_gen.internal.base_object import BaseObject


class IntegrationMappingBaseIntegrationTypeField(str, Enum):
SLACK = 'slack'
class IntegrationMappingBaseTypeField(str, Enum):
INTEGRATION_MAPPING = 'integration_mapping'


class IntegrationMappingBase(BaseObject):
_discriminator = 'type', {'integration_mapping'}

def __init__(
self,
id: str,
*,
id: Optional[str] = None,
integration_type: Optional[IntegrationMappingBaseIntegrationTypeField] = None,
type: IntegrationMappingBaseTypeField = IntegrationMappingBaseTypeField.INTEGRATION_MAPPING.value,
**kwargs
):
"""
:param id: A unique identifier of a folder mapping
(part of a composite key together
with `integration_type`), defaults to None
:type id: Optional[str], optional
:param integration_type: Identifies the Box partner app,
with which the mapping is associated.
Currently only supports Slack.
(part of the composite key together with `id`), defaults to None
:type integration_type: Optional[IntegrationMappingBaseIntegrationTypeField], optional
with `integration_type`)
:type id: str
:param type: Mapping type, defaults to IntegrationMappingBaseTypeField.INTEGRATION_MAPPING.value
:type type: IntegrationMappingBaseTypeField, optional
"""
super().__init__(**kwargs)
self.id = id
self.integration_type = integration_type
self.type = type
55 changes: 0 additions & 55 deletions box_sdk_gen/schemas/integration_mapping_mini.py

This file was deleted.

12 changes: 6 additions & 6 deletions box_sdk_gen/schemas/integration_mapping_slack_create_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

from box_sdk_gen.internal.base_object import BaseObject

from box_sdk_gen.schemas.integration_mapping_partner_item_slack import (
IntegrationMappingPartnerItemSlack,
)

from box_sdk_gen.schemas.integration_mapping_box_item_slack import (
IntegrationMappingBoxItemSlack,
)
Expand All @@ -14,17 +10,21 @@
IntegrationMappingSlackOptions,
)

from box_sdk_gen.schemas.integration_mapping_partner_item_slack import (
IntegrationMappingPartnerItemSlack,
)


class IntegrationMappingSlackCreateRequest(BaseObject):
def __init__(
self,
partner_item: IntegrationMappingPartnerItemSlack,
box_item: IntegrationMappingBoxItemSlack,
*,
options: Optional[IntegrationMappingSlackOptions] = None,
partner_item: Optional[IntegrationMappingPartnerItemSlack] = None,
**kwargs
):
super().__init__(**kwargs)
self.partner_item = partner_item
self.box_item = box_item
self.options = options
self.partner_item = partner_item
12 changes: 7 additions & 5 deletions docs/integration_mappings.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# IntegrationMappingsManager

- [List Slack integration mappings](#list-slack-integration-mappings)
- [Create integration mapping](#create-integration-mapping)
- [Create Slack integration mapping](#create-slack-integration-mapping)
- [Update Slack integration mapping](#update-slack-integration-mapping)
- [Delete Slack integration mapping](#delete-slack-integration-mapping)

Expand Down Expand Up @@ -48,7 +48,7 @@ This function returns a value of type `IntegrationMappings`.

Returns a collection of integration mappings

## Create integration mapping
## Create Slack integration mapping

Creates a [Slack integration mapping](https://support.box.com/hc/en-us/articles/4415585987859-Box-as-the-Content-Layer-for-Slack)
by mapping a Slack channel to a Box item.
Expand All @@ -65,19 +65,21 @@ See the endpoint docs at

```python
user_client.integration_mappings.create_slack_integration_mapping(
IntegrationMappingPartnerItemSlack(id=partner_item_id, slack_org_id=slack_org_id),
IntegrationMappingBoxItemSlack(id=folder.id),
partner_item=IntegrationMappingPartnerItemSlack(
id=partner_item_id, slack_org_id=slack_org_id
),
)
```

### Arguments

- partner_item `IntegrationMappingPartnerItemSlack`
-
- box_item `IntegrationMappingBoxItemSlack`
-
- options `Optional[IntegrationMappingSlackOptions]`
-
- partner_item `Optional[IntegrationMappingPartnerItemSlack]`
-
- extra_headers `Optional[Dict[str, Optional[str]]]`
- Extra headers that will be included in the HTTP request.

Expand Down
12 changes: 6 additions & 6 deletions test/integration_mappings.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

from box_sdk_gen.managers.folders import CreateFolderParent

from box_sdk_gen.schemas.integration_mapping_partner_item_slack import (
IntegrationMappingPartnerItemSlack,
)

from box_sdk_gen.schemas.integration_mapping_box_item_slack import (
IntegrationMappingBoxItemSlack,
)

from box_sdk_gen.schemas.integration_mapping_partner_item_slack import (
IntegrationMappingPartnerItemSlack,
)

from box_sdk_gen.schemas.integration_mappings import IntegrationMappings

from box_sdk_gen.internal.utils import generate_byte_stream
Expand All @@ -39,10 +39,10 @@ def testIntegrationMappings():
user_client: BoxClient = get_default_client_with_user_subject(user_id)
with pytest.raises(Exception):
user_client.integration_mappings.create_slack_integration_mapping(
IntegrationMappingPartnerItemSlack(
IntegrationMappingBoxItemSlack(id=folder.id),
partner_item=IntegrationMappingPartnerItemSlack(
id=partner_item_id, slack_org_id=slack_org_id
),
IntegrationMappingBoxItemSlack(id=folder.id),
)
integration_mappings: IntegrationMappings = (
user_client.integration_mappings.get_slack_integration_mapping()
Expand Down

0 comments on commit 62f0ccb

Please sign in to comment.