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
13,468 changes: 7,608 additions & 5,860 deletions packages/generator/spec.json

Large diffs are not rendered by default.

129 changes: 123 additions & 6 deletions packages/miro-api-python/.openapi-generator/FILES

Large diffs are not rendered by default.

7,409 changes: 5,473 additions & 1,936 deletions packages/miro-api-python/miro_api/api/__init__.py

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/miro-api-python/miro_api/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None, cook
self.default_headers[header_name] = header_value
self.cookie = cookie
# Set default User-Agent.
self.user_agent = "OpenAPI-Generator/2.2.3/python"
self.user_agent = "OpenAPI-Generator/2.2.4/python"
self.client_side_validation = configuration.client_side_validation

def __enter__(self):
Expand Down
2 changes: 1 addition & 1 deletion packages/miro-api-python/miro_api/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ def to_debug_report(self):
"OS: {env}\n"
"Python Version: {pyversion}\n"
"Version of the API: v2.0\n"
"SDK Package Version: 2.2.3".format(env=sys.platform, pyversion=sys.version)
"SDK Package Version: 2.2.4".format(env=sys.platform, pyversion=sys.version)
)

def get_host_settings(self):
Expand Down
41 changes: 38 additions & 3 deletions packages/miro-api-python/miro_api/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,23 @@
from miro_api.models.audit_page import AuditPage
from miro_api.models.audit_team import AuditTeam
from miro_api.models.basic_error import BasicError
from miro_api.models.basic_error_enterprise_user_session_reset_enterprise_plan import (
BasicErrorEnterpriseUserSessionResetEnterprisePlan,
)
from miro_api.models.basic_error_organizations_enterprise_plan import BasicErrorOrganizationsEnterprisePlan
from miro_api.models.board import Board
from miro_api.models.board_changes import BoardChanges
from miro_api.models.board_data_classification_label import BoardDataClassificationLabel
from miro_api.models.board_export_job import BoardExportJob
from miro_api.models.board_export_job_creator import BoardExportJobCreator
from miro_api.models.board_export_job_id import BoardExportJobId
from miro_api.models.board_export_job_status import BoardExportJobStatus
from miro_api.models.board_export_job_tasks_count import BoardExportJobTasksCount
from miro_api.models.board_export_job_tasks_list import BoardExportJobTasksList
from miro_api.models.board_export_jobs_list import BoardExportJobsList
from miro_api.models.board_export_result import BoardExportResult
from miro_api.models.board_export_task import BoardExportTask
from miro_api.models.board_export_task_board import BoardExportTaskBoard
from miro_api.models.board_export_task_export_link import BoardExportTaskExportLink
from miro_api.models.board_export_task_result import BoardExportTaskResult
from miro_api.models.board_format import BoardFormat
from miro_api.models.board_item_content_log import BoardItemContentLog
from miro_api.models.board_links import BoardLinks
from miro_api.models.board_member import BoardMember
Expand All @@ -59,6 +65,8 @@
from miro_api.models.board_sharing_policy_change import BoardSharingPolicyChange
from miro_api.models.board_subscription import BoardSubscription
from miro_api.models.board_subscription_data import BoardSubscriptionData
from miro_api.models.board_user_group import BoardUserGroup
from miro_api.models.board_user_groups_page import BoardUserGroupsPage
from miro_api.models.board_with_links import BoardWithLinks
from miro_api.models.board_with_links_and_last_opened import BoardWithLinksAndLastOpened
from miro_api.models.board_with_links_and_without_project import BoardWithLinksAndWithoutProject
Expand All @@ -84,11 +92,15 @@
from miro_api.models.copy_board_changes import CopyBoardChanges
from miro_api.models.create_board_export_request import CreateBoardExportRequest
from miro_api.models.create_board_subscription_request import CreateBoardSubscriptionRequest
from miro_api.models.create_board_user_groups_request import CreateBoardUserGroupsRequest
from miro_api.models.create_document_item_using_file_from_device_request_data import (
CreateDocumentItemUsingFileFromDeviceRequestData,
)
from miro_api.models.create_frame_item400_response import CreateFrameItem400Response
from miro_api.models.create_group_member_request import CreateGroupMemberRequest
from miro_api.models.create_group_request import CreateGroupRequest
from miro_api.models.create_project_request import CreateProjectRequest
from miro_api.models.create_team_group_request import CreateTeamGroupRequest
from miro_api.models.create_team_request import CreateTeamRequest
from miro_api.models.created_by import CreatedBy
from miro_api.models.created_by_platform_containers import CreatedByPlatformContainers
Expand Down Expand Up @@ -127,6 +139,11 @@
from miro_api.models.embed_url_data_changes import EmbedUrlDataChanges
from miro_api.models.embed_url_data_platformbulkcreateoperation import EmbedUrlDataPlatformbulkcreateoperation
from miro_api.models.enterprise_get_organization_members200_response import EnterpriseGetOrganizationMembers200Response
from miro_api.models.enterprise_update_board_export_job200_response import EnterpriseUpdateBoardExportJob200Response
from miro_api.models.enterprise_update_board_export_job200_response_status import (
EnterpriseUpdateBoardExportJob200ResponseStatus,
)
from miro_api.models.enterprise_update_board_export_job_request import EnterpriseUpdateBoardExportJobRequest
from miro_api.models.error import Error
from miro_api.models.error400 import Error400
from miro_api.models.error401 import Error401
Expand All @@ -135,6 +152,7 @@
from miro_api.models.error409 import Error409
from miro_api.models.error429 import Error429
from miro_api.models.error_response import ErrorResponse
from miro_api.models.export_job_status import ExportJobStatus
from miro_api.models.fixed_ratio_geometry import FixedRatioGeometry
from miro_api.models.fixed_ratio_geometry_platform_file_upload import FixedRatioGeometryPlatformFileUpload
from miro_api.models.fixed_ratio_no_rotation_geometry import FixedRatioNoRotationGeometry
Expand Down Expand Up @@ -179,7 +197,12 @@
from miro_api.models.get_tags_response import GetTagsResponse
from miro_api.models.group import Group
from miro_api.models.group_data import GroupData
from miro_api.models.group_member import GroupMember
from miro_api.models.group_members_page import GroupMembersPage
from miro_api.models.group_response_short import GroupResponseShort
from miro_api.models.group_team import GroupTeam
from miro_api.models.group_teams_page import GroupTeamsPage
from miro_api.models.groups_page import GroupsPage
from miro_api.models.image_create_request import ImageCreateRequest
from miro_api.models.image_data import ImageData
from miro_api.models.image_data_response import ImageDataResponse
Expand Down Expand Up @@ -244,6 +267,8 @@
from miro_api.models.organization_members_search_response import OrganizationMembersSearchResponse
from miro_api.models.page_links import PageLinks
from miro_api.models.page_links_platform_experimental_features import PageLinksPlatformExperimentalFeatures
from miro_api.models.paginated_case_export_jobs_response import PaginatedCaseExportJobsResponse
from miro_api.models.paginated_case_export_jobs_response_data_inner import PaginatedCaseExportJobsResponseDataInner
from miro_api.models.paginated_case_response import PaginatedCaseResponse
from miro_api.models.paginated_legal_hold_content_items_response import PaginatedLegalHoldContentItemsResponse
from miro_api.models.paginated_legal_hold_response import PaginatedLegalHoldResponse
Expand All @@ -265,6 +290,7 @@
from miro_api.models.project_role import ProjectRole
from miro_api.models.project_role_to_add import ProjectRoleToAdd
from miro_api.models.project_settings import ProjectSettings
from miro_api.models.relationship import Relationship
from miro_api.models.relative_offset import RelativeOffset
from miro_api.models.revoke_token_request import RevokeTokenRequest
from miro_api.models.self_link import SelfLink
Expand Down Expand Up @@ -304,6 +330,8 @@
from miro_api.models.team_collaboration_settings_changes import TeamCollaborationSettingsChanges
from miro_api.models.team_copy_access_level_settings import TeamCopyAccessLevelSettings
from miro_api.models.team_copy_access_level_settings_changes import TeamCopyAccessLevelSettingsChanges
from miro_api.models.team_group import TeamGroup
from miro_api.models.team_groups_page import TeamGroupsPage
from miro_api.models.team_information import TeamInformation
from miro_api.models.team_invitation_settings import TeamInvitationSettings
from miro_api.models.team_invitation_settings_changes import TeamInvitationSettingsChanges
Expand Down Expand Up @@ -335,13 +363,20 @@
from miro_api.models.update_connector_style import UpdateConnectorStyle
from miro_api.models.update_frame_item409_response import UpdateFrameItem409Response
from miro_api.models.update_frame_style import UpdateFrameStyle
from miro_api.models.update_group_request import UpdateGroupRequest
from miro_api.models.update_project_member_request import UpdateProjectMemberRequest
from miro_api.models.update_project_request import UpdateProjectRequest
from miro_api.models.update_project_settings_request import UpdateProjectSettingsRequest
from miro_api.models.update_shape_style import UpdateShapeStyle
from miro_api.models.update_sticky_note_style import UpdateStickyNoteStyle
from miro_api.models.update_team_settings_request import UpdateTeamSettingsRequest
from miro_api.models.update_text_style import UpdateTextStyle
from miro_api.models.update_user_group_members_request import UpdateUserGroupMembersRequest
from miro_api.models.update_user_group_members_result_error import UpdateUserGroupMembersResultError
from miro_api.models.update_user_group_members_result_error_error import UpdateUserGroupMembersResultErrorError
from miro_api.models.update_user_group_members_result_inner import UpdateUserGroupMembersResultInner
from miro_api.models.update_user_group_members_result_operation import UpdateUserGroupMembersResultOperation
from miro_api.models.update_user_group_members_result_success import UpdateUserGroupMembersResultSuccess
from miro_api.models.upload_file_from_device_data import UploadFileFromDeviceData
from miro_api.models.user import User
from miro_api.models.user_info_last_opened_by import UserInfoLastOpenedBy
Expand Down
6 changes: 4 additions & 2 deletions packages/miro-api-python/miro_api/models/board_changes.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,13 @@ class BoardChanges(BaseModel):
)
policy: Optional[BoardPolicyChange] = None
team_id: Optional[StrictStr] = Field(
default=None, description="Unique identifier (ID) of the team where the board must be placed.", alias="teamId"
default=None,
description="Unique identifier (ID) of the team where the board must be placed. **Note**: On Enterprise plan, boards can be moved via API by Board Owners, Co-Owners, and Content Admins. This behavior differs from the Miro UI, where only Board Owners can move boards. This difference is **intentional** and works as designed. On non-Enterprise plans, only Board Owners can move boards between teams—both via the API and the Miro UI.",
alias="teamId",
)
project_id: Optional[StrictStr] = Field(
default=None,
description="Unique identifier (ID) of the project to which the board must be added.",
description="Unique identifier (ID) of the project to which the board must be added. **Note**: Projects have been renamed to Spaces. Use this parameter to update the space. For Starter and Edu plans, Team Admins looking to move boards between Spaces/Projects of the same team would need to be direct Board Editors on the boards to move.",
alias="projectId",
)
additional_properties: Dict[str, Any] = {}
Expand Down
141 changes: 141 additions & 0 deletions packages/miro-api-python/miro_api/models/board_export_job.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# coding: utf-8

"""
Miro Developer Platform

<img src=\"https://content.pstmn.io/47449ea6-0ef7-4af2-bac1-e58a70e61c58/aW1hZ2UucG5n\" width=\"1685\" height=\"593\"> ### Miro Developer Platform concepts - New to the Miro Developer Platform? Interested in learning more about platform concepts?? [Read our introduction page](https://beta.developers.miro.com/docs/introduction) and familiarize yourself with the Miro Developer Platform capabilities in a few minutes. ### Getting started with the Miro REST API - [Quickstart (video):](https://beta.developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes) try the REST API in less than 3 minutes. - [Quickstart (article):](https://beta.developers.miro.com/docs/build-your-first-hello-world-app-1) get started and try the REST API in less than 3 minutes. ### Miro REST API tutorials Check out our how-to articles with step-by-step instructions and code examples so you can: - [Get started with OAuth 2.0 and Miro](https://beta.developers.miro.com/docs/getting-started-with-oauth) ### Miro App Examples Clone our [Miro App Examples repository](https://github.com/miroapp/app-examples) to get inspiration, customize, and explore apps built on top of Miro's Developer Platform 2.0.

The version of the OpenAPI document: v2.0
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501


from __future__ import annotations
import pprint
import re # noqa: F401
import json

from datetime import datetime
from pydantic import BaseModel, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from miro_api.models.board_export_job_creator import BoardExportJobCreator
from miro_api.models.board_export_job_tasks_count import BoardExportJobTasksCount
from miro_api.models.board_format import BoardFormat
from typing import Optional, Set
from typing_extensions import Self


class BoardExportJob(BaseModel):
"""
Board export job.
""" # noqa: E501

id: Optional[StrictStr] = Field(default=None, description="Unique identifier of the board export job.")
name: Optional[StrictStr] = Field(default=None, description="Board export job name.")
board_format: Optional[BoardFormat] = Field(default=None, alias="boardFormat")
status: Optional[StrictStr] = Field(
default=None,
description="Indicates the current state of the board export job. Possible values: `created`: the job has been created but not yet started. Retry the status call after some time. `in_progress`: the job is in progress, and the results are not ready yet. Retry the status call after some time. `cancelled`: the job has been cancelled and will not produce any more results. `finished`: the job is complete. You can now get results for the board export job.",
)
created_at: Optional[datetime] = Field(default=None, alias="createdAt")
modified_at: Optional[datetime] = Field(default=None, alias="modifiedAt")
tasks_count: Optional[BoardExportJobTasksCount] = Field(default=None, alias="tasksCount")
creator: Optional[BoardExportJobCreator] = None
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = [
"id",
"name",
"boardFormat",
"status",
"createdAt",
"modifiedAt",
"tasksCount",
"creator",
]

model_config = {
"populate_by_name": True,
"validate_assignment": True,
"protected_namespaces": (),
}

def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of BoardExportJob from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:

* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
* Fields in `self.additional_properties` are added to the output dict.
"""
excluded_fields: Set[str] = set(
[
"additional_properties",
]
)

_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of tasks_count
if self.tasks_count:
_dict["tasksCount"] = self.tasks_count.to_dict()
# override the default output from pydantic by calling `to_dict()` of creator
if self.creator:
_dict["creator"] = self.creator.to_dict()
# puts key-value pairs in additional_properties in the top level
if self.additional_properties is not None:
for _key, _value in self.additional_properties.items():
_dict[_key] = _value

return _dict

@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of BoardExportJob from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate(
{
"id": obj.get("id"),
"name": obj.get("name"),
"boardFormat": obj.get("boardFormat"),
"status": obj.get("status"),
"createdAt": obj.get("createdAt"),
"modifiedAt": obj.get("modifiedAt"),
"tasksCount": (
BoardExportJobTasksCount.from_dict(obj["tasksCount"]) if obj.get("tasksCount") is not None else None
),
"creator": BoardExportJobCreator.from_dict(obj["creator"]) if obj.get("creator") is not None else None,
}
)
# store additional fields in additional_properties
for _key in obj.keys():
if _key not in cls.__properties:
_obj.additional_properties[_key] = obj.get(_key)

return _obj
Loading
Loading