universal-mcp-applications 0.1.33__py3-none-any.whl → 0.1.39rc16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of universal-mcp-applications might be problematic. Click here for more details.
- universal_mcp/applications/BEST_PRACTICES.md +1 -1
- universal_mcp/applications/ahrefs/app.py +92 -238
- universal_mcp/applications/airtable/app.py +36 -135
- universal_mcp/applications/apollo/app.py +124 -477
- universal_mcp/applications/asana/app.py +605 -1755
- universal_mcp/applications/aws_s3/app.py +63 -119
- universal_mcp/applications/bill/app.py +644 -2055
- universal_mcp/applications/box/app.py +1246 -4159
- universal_mcp/applications/braze/app.py +410 -1476
- universal_mcp/applications/browser_use/README.md +15 -1
- universal_mcp/applications/browser_use/__init__.py +1 -0
- universal_mcp/applications/browser_use/app.py +91 -26
- universal_mcp/applications/cal_com_v2/app.py +207 -625
- universal_mcp/applications/calendly/app.py +103 -242
- universal_mcp/applications/canva/app.py +75 -140
- universal_mcp/applications/clickup/app.py +331 -798
- universal_mcp/applications/coda/app.py +240 -520
- universal_mcp/applications/confluence/app.py +497 -1285
- universal_mcp/applications/contentful/app.py +40 -155
- universal_mcp/applications/crustdata/app.py +44 -123
- universal_mcp/applications/dialpad/app.py +451 -924
- universal_mcp/applications/digitalocean/app.py +2071 -6082
- universal_mcp/applications/domain_checker/app.py +3 -54
- universal_mcp/applications/e2b/app.py +17 -68
- universal_mcp/applications/elevenlabs/README.md +27 -3
- universal_mcp/applications/elevenlabs/app.py +741 -74
- universal_mcp/applications/exa/README.md +8 -4
- universal_mcp/applications/exa/app.py +415 -186
- universal_mcp/applications/falai/README.md +5 -7
- universal_mcp/applications/falai/app.py +156 -232
- universal_mcp/applications/figma/app.py +91 -175
- universal_mcp/applications/file_system/app.py +2 -13
- universal_mcp/applications/firecrawl/app.py +198 -176
- universal_mcp/applications/fireflies/app.py +59 -281
- universal_mcp/applications/fpl/app.py +92 -529
- universal_mcp/applications/fpl/utils/fixtures.py +15 -49
- universal_mcp/applications/fpl/utils/helper.py +25 -89
- universal_mcp/applications/fpl/utils/league_utils.py +20 -64
- universal_mcp/applications/ghost_content/app.py +70 -179
- universal_mcp/applications/github/app.py +30 -67
- universal_mcp/applications/gong/app.py +142 -302
- universal_mcp/applications/google_calendar/app.py +26 -78
- universal_mcp/applications/google_docs/README.md +15 -14
- universal_mcp/applications/google_docs/app.py +103 -206
- universal_mcp/applications/google_drive/app.py +194 -793
- universal_mcp/applications/google_gemini/app.py +68 -59
- universal_mcp/applications/google_mail/README.md +1 -0
- universal_mcp/applications/google_mail/app.py +93 -214
- universal_mcp/applications/google_searchconsole/app.py +25 -58
- universal_mcp/applications/google_sheet/README.md +2 -1
- universal_mcp/applications/google_sheet/app.py +226 -624
- universal_mcp/applications/google_sheet/helper.py +26 -53
- universal_mcp/applications/hashnode/app.py +57 -269
- universal_mcp/applications/heygen/README.md +10 -32
- universal_mcp/applications/heygen/app.py +339 -811
- universal_mcp/applications/http_tools/app.py +10 -32
- universal_mcp/applications/hubspot/README.md +1 -1
- universal_mcp/applications/hubspot/app.py +7508 -99
- universal_mcp/applications/jira/app.py +2419 -8334
- universal_mcp/applications/klaviyo/app.py +739 -1621
- universal_mcp/applications/linkedin/README.md +18 -1
- universal_mcp/applications/linkedin/app.py +729 -251
- universal_mcp/applications/mailchimp/app.py +696 -1851
- universal_mcp/applications/markitdown/app.py +8 -20
- universal_mcp/applications/miro/app.py +333 -815
- universal_mcp/applications/ms_teams/app.py +420 -1407
- universal_mcp/applications/neon/app.py +144 -250
- universal_mcp/applications/notion/app.py +38 -53
- universal_mcp/applications/onedrive/app.py +26 -48
- universal_mcp/applications/openai/app.py +43 -166
- universal_mcp/applications/outlook/README.md +22 -9
- universal_mcp/applications/outlook/app.py +403 -141
- universal_mcp/applications/perplexity/README.md +2 -1
- universal_mcp/applications/perplexity/app.py +161 -20
- universal_mcp/applications/pipedrive/app.py +1021 -3331
- universal_mcp/applications/posthog/app.py +272 -541
- universal_mcp/applications/reddit/app.py +65 -164
- universal_mcp/applications/resend/app.py +72 -139
- universal_mcp/applications/retell/app.py +23 -50
- universal_mcp/applications/rocketlane/app.py +252 -965
- universal_mcp/applications/scraper/app.py +114 -142
- universal_mcp/applications/semanticscholar/app.py +36 -78
- universal_mcp/applications/semrush/app.py +44 -78
- universal_mcp/applications/sendgrid/app.py +826 -1576
- universal_mcp/applications/sentry/app.py +444 -1079
- universal_mcp/applications/serpapi/app.py +44 -146
- universal_mcp/applications/sharepoint/app.py +27 -49
- universal_mcp/applications/shopify/app.py +1748 -4486
- universal_mcp/applications/shortcut/app.py +275 -536
- universal_mcp/applications/slack/app.py +43 -125
- universal_mcp/applications/spotify/app.py +206 -405
- universal_mcp/applications/supabase/app.py +174 -283
- universal_mcp/applications/tavily/app.py +2 -2
- universal_mcp/applications/trello/app.py +853 -2816
- universal_mcp/applications/twilio/app.py +27 -62
- universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
- universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
- universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
- universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
- universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
- universal_mcp/applications/whatsapp/app.py +35 -186
- universal_mcp/applications/whatsapp/audio.py +2 -6
- universal_mcp/applications/whatsapp/whatsapp.py +17 -51
- universal_mcp/applications/whatsapp_business/app.py +86 -299
- universal_mcp/applications/wrike/app.py +80 -153
- universal_mcp/applications/yahoo_finance/app.py +19 -65
- universal_mcp/applications/youtube/app.py +120 -306
- universal_mcp/applications/zenquotes/app.py +3 -3
- {universal_mcp_applications-0.1.33.dist-info → universal_mcp_applications-0.1.39rc16.dist-info}/METADATA +4 -2
- {universal_mcp_applications-0.1.33.dist-info → universal_mcp_applications-0.1.39rc16.dist-info}/RECORD +115 -119
- {universal_mcp_applications-0.1.33.dist-info → universal_mcp_applications-0.1.39rc16.dist-info}/WHEEL +1 -1
- universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
- universal_mcp/applications/hubspot/api_segments/api_segment_base.py +0 -54
- universal_mcp/applications/hubspot/api_segments/crm_api.py +0 -7337
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +0 -1467
- {universal_mcp_applications-0.1.33.dist-info → universal_mcp_applications-0.1.39rc16.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from typing import Any
|
|
2
|
-
|
|
3
2
|
from universal_mcp.applications.application import APIApplication
|
|
4
3
|
from universal_mcp.integrations import Integration
|
|
5
4
|
|
|
@@ -9,7 +8,7 @@ class MiroApp(APIApplication):
|
|
|
9
8
|
super().__init__(name="miro", integration=integration, **kwargs)
|
|
10
9
|
self.base_url = "https://api.miro.com"
|
|
11
10
|
|
|
12
|
-
def revoke_token_v1(self, access_token=None) -> Any:
|
|
11
|
+
async def revoke_token_v1(self, access_token=None) -> Any:
|
|
13
12
|
"""
|
|
14
13
|
Revokes an OAuth access token using the POST method at "/v1/oauth/revoke", allowing clients to invalidate tokens as needed.
|
|
15
14
|
|
|
@@ -23,14 +22,12 @@ class MiroApp(APIApplication):
|
|
|
23
22
|
Tokens
|
|
24
23
|
"""
|
|
25
24
|
url = f"{self.base_url}/v1/oauth/revoke"
|
|
26
|
-
query_params = {
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
response = self._post(url, data={}, params=query_params)
|
|
25
|
+
query_params = {k: v for k, v in [("access_token", access_token)] if v is not None}
|
|
26
|
+
response = await self._apost(url, data={}, params=query_params)
|
|
30
27
|
response.raise_for_status()
|
|
31
28
|
return response.json()
|
|
32
29
|
|
|
33
|
-
def get_access_token_information(self) -> Any:
|
|
30
|
+
async def get_access_token_information(self) -> Any:
|
|
34
31
|
"""
|
|
35
32
|
Retrieves an OAuth 2.0 token using the GET method for client authorization purposes.
|
|
36
33
|
|
|
@@ -42,18 +39,11 @@ class MiroApp(APIApplication):
|
|
|
42
39
|
"""
|
|
43
40
|
url = f"{self.base_url}/v1/oauth-token"
|
|
44
41
|
query_params = {}
|
|
45
|
-
response = self.
|
|
42
|
+
response = await self._aget(url, params=query_params)
|
|
46
43
|
response.raise_for_status()
|
|
47
44
|
return response.json()
|
|
48
45
|
|
|
49
|
-
def get_audit_logs(
|
|
50
|
-
self,
|
|
51
|
-
createdAfter=None,
|
|
52
|
-
createdBefore=None,
|
|
53
|
-
cursor=None,
|
|
54
|
-
limit=None,
|
|
55
|
-
sorting=None,
|
|
56
|
-
) -> Any:
|
|
46
|
+
async def get_audit_logs(self, createdAfter=None, createdBefore=None, cursor=None, limit=None, sorting=None) -> Any:
|
|
57
47
|
"""
|
|
58
48
|
Retrieves audit logs with optional filtering by time range, pagination, and sorting parameters.
|
|
59
49
|
|
|
@@ -82,11 +72,11 @@ class MiroApp(APIApplication):
|
|
|
82
72
|
]
|
|
83
73
|
if v is not None
|
|
84
74
|
}
|
|
85
|
-
response = self.
|
|
75
|
+
response = await self._aget(url, params=query_params)
|
|
86
76
|
response.raise_for_status()
|
|
87
77
|
return response.json()
|
|
88
78
|
|
|
89
|
-
def get_organization_settings(self, org_id) -> Any:
|
|
79
|
+
async def get_organization_settings(self, org_id) -> Any:
|
|
90
80
|
"""
|
|
91
81
|
Retrieves data classification settings for an organization, providing information on how data is categorized and handled within the specified organization.
|
|
92
82
|
|
|
@@ -103,13 +93,11 @@ class MiroApp(APIApplication):
|
|
|
103
93
|
raise ValueError("Missing required parameter 'org_id'")
|
|
104
94
|
url = f"{self.base_url}/v2/orgs/{org_id}/data-classification-settings"
|
|
105
95
|
query_params = {}
|
|
106
|
-
response = self.
|
|
96
|
+
response = await self._aget(url, params=query_params)
|
|
107
97
|
response.raise_for_status()
|
|
108
98
|
return response.json()
|
|
109
99
|
|
|
110
|
-
def bulk_update_boards_classification(
|
|
111
|
-
self, org_id, team_id, labelId=None, notClassifiedOnly=None
|
|
112
|
-
) -> Any:
|
|
100
|
+
async def bulk_update_boards_classification(self, org_id, team_id, labelId=None, notClassifiedOnly=None) -> Any:
|
|
113
101
|
"""
|
|
114
102
|
Updates the data classification settings for a specific team in an organization using the "PATCH" method.
|
|
115
103
|
|
|
@@ -136,10 +124,7 @@ class MiroApp(APIApplication):
|
|
|
136
124
|
raise ValueError("Missing required parameter 'org_id'")
|
|
137
125
|
if team_id is None:
|
|
138
126
|
raise ValueError("Missing required parameter 'team_id'")
|
|
139
|
-
request_body = {
|
|
140
|
-
"labelId": labelId,
|
|
141
|
-
"notClassifiedOnly": notClassifiedOnly,
|
|
142
|
-
}
|
|
127
|
+
request_body = {"labelId": labelId, "notClassifiedOnly": notClassifiedOnly}
|
|
143
128
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
144
129
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/data-classification"
|
|
145
130
|
query_params = {}
|
|
@@ -147,7 +132,7 @@ class MiroApp(APIApplication):
|
|
|
147
132
|
response.raise_for_status()
|
|
148
133
|
return response.json()
|
|
149
134
|
|
|
150
|
-
def get_team_settings(self, org_id, team_id) -> Any:
|
|
135
|
+
async def get_team_settings(self, org_id, team_id) -> Any:
|
|
151
136
|
"""
|
|
152
137
|
Retrieves the data classification settings for a specific team within an organization.
|
|
153
138
|
|
|
@@ -167,13 +152,11 @@ class MiroApp(APIApplication):
|
|
|
167
152
|
raise ValueError("Missing required parameter 'team_id'")
|
|
168
153
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/data-classification-settings"
|
|
169
154
|
query_params = {}
|
|
170
|
-
response = self.
|
|
155
|
+
response = await self._aget(url, params=query_params)
|
|
171
156
|
response.raise_for_status()
|
|
172
157
|
return response.json()
|
|
173
158
|
|
|
174
|
-
def update_team_settings(
|
|
175
|
-
self, org_id, team_id, defaultLabelId=None, enabled=None
|
|
176
|
-
) -> Any:
|
|
159
|
+
async def update_team_settings(self, org_id, team_id, defaultLabelId=None, enabled=None) -> Any:
|
|
177
160
|
"""
|
|
178
161
|
Updates data classification settings for a specific team within an organization using the PATCH method.
|
|
179
162
|
|
|
@@ -200,10 +183,7 @@ class MiroApp(APIApplication):
|
|
|
200
183
|
raise ValueError("Missing required parameter 'org_id'")
|
|
201
184
|
if team_id is None:
|
|
202
185
|
raise ValueError("Missing required parameter 'team_id'")
|
|
203
|
-
request_body = {
|
|
204
|
-
"defaultLabelId": defaultLabelId,
|
|
205
|
-
"enabled": enabled,
|
|
206
|
-
}
|
|
186
|
+
request_body = {"defaultLabelId": defaultLabelId, "enabled": enabled}
|
|
207
187
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
208
188
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/data-classification-settings"
|
|
209
189
|
query_params = {}
|
|
@@ -211,7 +191,7 @@ class MiroApp(APIApplication):
|
|
|
211
191
|
response.raise_for_status()
|
|
212
192
|
return response.json()
|
|
213
193
|
|
|
214
|
-
def get_board_classification(self, org_id, team_id, board_id) -> Any:
|
|
194
|
+
async def get_board_classification(self, org_id, team_id, board_id) -> Any:
|
|
215
195
|
"""
|
|
216
196
|
Retrieves data classification details for a specified organization, team, and board using the provided identifiers.
|
|
217
197
|
|
|
@@ -234,13 +214,11 @@ class MiroApp(APIApplication):
|
|
|
234
214
|
raise ValueError("Missing required parameter 'board_id'")
|
|
235
215
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification"
|
|
236
216
|
query_params = {}
|
|
237
|
-
response = self.
|
|
217
|
+
response = await self._aget(url, params=query_params)
|
|
238
218
|
response.raise_for_status()
|
|
239
219
|
return response.json()
|
|
240
220
|
|
|
241
|
-
def update_board_classification(
|
|
242
|
-
self, org_id, team_id, board_id, labelId=None
|
|
243
|
-
) -> Any:
|
|
221
|
+
async def update_board_classification(self, org_id, team_id, board_id, labelId=None) -> Any:
|
|
244
222
|
"""
|
|
245
223
|
Assigns data classifications to a board within a specified organization and team using the provided criteria and returns a success status upon completion.
|
|
246
224
|
|
|
@@ -268,17 +246,15 @@ class MiroApp(APIApplication):
|
|
|
268
246
|
raise ValueError("Missing required parameter 'team_id'")
|
|
269
247
|
if board_id is None:
|
|
270
248
|
raise ValueError("Missing required parameter 'board_id'")
|
|
271
|
-
request_body = {
|
|
272
|
-
"labelId": labelId,
|
|
273
|
-
}
|
|
249
|
+
request_body = {"labelId": labelId}
|
|
274
250
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
275
251
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification"
|
|
276
252
|
query_params = {}
|
|
277
|
-
response = self.
|
|
253
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
278
254
|
response.raise_for_status()
|
|
279
255
|
return response.json()
|
|
280
256
|
|
|
281
|
-
def get_all_cases(self, org_id, limit=None, cursor=None) -> Any:
|
|
257
|
+
async def get_all_cases(self, org_id, limit=None, cursor=None) -> Any:
|
|
282
258
|
"""
|
|
283
259
|
Retrieves a list of cases for a specified organization using the "GET" method, allowing optional query parameters for pagination via "limit" and "cursor".
|
|
284
260
|
|
|
@@ -296,14 +272,12 @@ class MiroApp(APIApplication):
|
|
|
296
272
|
if org_id is None:
|
|
297
273
|
raise ValueError("Missing required parameter 'org_id'")
|
|
298
274
|
url = f"{self.base_url}/v2/orgs/{org_id}/cases"
|
|
299
|
-
query_params = {
|
|
300
|
-
|
|
301
|
-
}
|
|
302
|
-
response = self._get(url, params=query_params)
|
|
275
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
276
|
+
response = await self._aget(url, params=query_params)
|
|
303
277
|
response.raise_for_status()
|
|
304
278
|
return response.json()
|
|
305
279
|
|
|
306
|
-
def get_case(self, org_id, case_id) -> Any:
|
|
280
|
+
async def get_case(self, org_id, case_id) -> Any:
|
|
307
281
|
"""
|
|
308
282
|
Retrieves a specific case for an organization with the provided org_id and case_id.
|
|
309
283
|
|
|
@@ -323,13 +297,11 @@ class MiroApp(APIApplication):
|
|
|
323
297
|
raise ValueError("Missing required parameter 'case_id'")
|
|
324
298
|
url = f"{self.base_url}/v2/orgs/{org_id}/cases/{case_id}"
|
|
325
299
|
query_params = {}
|
|
326
|
-
response = self.
|
|
300
|
+
response = await self._aget(url, params=query_params)
|
|
327
301
|
response.raise_for_status()
|
|
328
302
|
return response.json()
|
|
329
303
|
|
|
330
|
-
def get_all_legal_holds_within_acase(
|
|
331
|
-
self, org_id, case_id, limit=None, cursor=None
|
|
332
|
-
) -> Any:
|
|
304
|
+
async def get_all_legal_holds_within_acase(self, org_id, case_id, limit=None, cursor=None) -> Any:
|
|
333
305
|
"""
|
|
334
306
|
Retrieves a paginated list of legal holds for a specific case and organization using cursor-based pagination.
|
|
335
307
|
|
|
@@ -350,14 +322,12 @@ class MiroApp(APIApplication):
|
|
|
350
322
|
if case_id is None:
|
|
351
323
|
raise ValueError("Missing required parameter 'case_id'")
|
|
352
324
|
url = f"{self.base_url}/v2/orgs/{org_id}/cases/{case_id}/legal-holds"
|
|
353
|
-
query_params = {
|
|
354
|
-
|
|
355
|
-
}
|
|
356
|
-
response = self._get(url, params=query_params)
|
|
325
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
326
|
+
response = await self._aget(url, params=query_params)
|
|
357
327
|
response.raise_for_status()
|
|
358
328
|
return response.json()
|
|
359
329
|
|
|
360
|
-
def get_legal_hold_information(self, org_id, case_id, legal_hold_id) -> Any:
|
|
330
|
+
async def get_legal_hold_information(self, org_id, case_id, legal_hold_id) -> Any:
|
|
361
331
|
"""
|
|
362
332
|
Retrieves a specific legal hold for a case within an organization using the provided identifiers.
|
|
363
333
|
|
|
@@ -380,13 +350,11 @@ class MiroApp(APIApplication):
|
|
|
380
350
|
raise ValueError("Missing required parameter 'legal_hold_id'")
|
|
381
351
|
url = f"{self.base_url}/v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}"
|
|
382
352
|
query_params = {}
|
|
383
|
-
response = self.
|
|
353
|
+
response = await self._aget(url, params=query_params)
|
|
384
354
|
response.raise_for_status()
|
|
385
355
|
return response.json()
|
|
386
356
|
|
|
387
|
-
def get_content_items_under_legal_hold(
|
|
388
|
-
self, org_id, case_id, legal_hold_id, limit=None, cursor=None
|
|
389
|
-
) -> Any:
|
|
357
|
+
async def get_content_items_under_legal_hold(self, org_id, case_id, legal_hold_id, limit=None, cursor=None) -> Any:
|
|
390
358
|
"""
|
|
391
359
|
Retrieves a list of content items under a specific legal hold in a case for an organization, allowing for pagination using limit and cursor parameters.
|
|
392
360
|
|
|
@@ -410,16 +378,12 @@ class MiroApp(APIApplication):
|
|
|
410
378
|
if legal_hold_id is None:
|
|
411
379
|
raise ValueError("Missing required parameter 'legal_hold_id'")
|
|
412
380
|
url = f"{self.base_url}/v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}/content-items"
|
|
413
|
-
query_params = {
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
response = self._get(url, params=query_params)
|
|
381
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
382
|
+
response = await self._aget(url, params=query_params)
|
|
417
383
|
response.raise_for_status()
|
|
418
384
|
return response.json()
|
|
419
385
|
|
|
420
|
-
def create_board_export_job(
|
|
421
|
-
self, org_id, request_id=None, boardFormat=None, boardIds=None
|
|
422
|
-
) -> Any:
|
|
386
|
+
async def create_board_export_job(self, org_id, request_id=None, boardFormat=None, boardIds=None) -> Any:
|
|
423
387
|
"""
|
|
424
388
|
Exports board data for a specified organization using the "POST" method and returns a job status.
|
|
425
389
|
|
|
@@ -446,18 +410,15 @@ class MiroApp(APIApplication):
|
|
|
446
410
|
"""
|
|
447
411
|
if org_id is None:
|
|
448
412
|
raise ValueError("Missing required parameter 'org_id'")
|
|
449
|
-
request_body = {
|
|
450
|
-
"boardFormat": boardFormat,
|
|
451
|
-
"boardIds": boardIds,
|
|
452
|
-
}
|
|
413
|
+
request_body = {"boardFormat": boardFormat, "boardIds": boardIds}
|
|
453
414
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
454
415
|
url = f"{self.base_url}/v2/orgs/{org_id}/boards/export/jobs"
|
|
455
416
|
query_params = {k: v for k, v in [("request_id", request_id)] if v is not None}
|
|
456
|
-
response = self.
|
|
417
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
457
418
|
response.raise_for_status()
|
|
458
419
|
return response.json()
|
|
459
420
|
|
|
460
|
-
def get_board_export_job_status(self, org_id, job_id) -> Any:
|
|
421
|
+
async def get_board_export_job_status(self, org_id, job_id) -> Any:
|
|
461
422
|
"""
|
|
462
423
|
Retrieves the status and details of a specified board export job for an organization using the API.
|
|
463
424
|
|
|
@@ -477,11 +438,11 @@ class MiroApp(APIApplication):
|
|
|
477
438
|
raise ValueError("Missing required parameter 'job_id'")
|
|
478
439
|
url = f"{self.base_url}/v2/orgs/{org_id}/boards/export/jobs/{job_id}"
|
|
479
440
|
query_params = {}
|
|
480
|
-
response = self.
|
|
441
|
+
response = await self._aget(url, params=query_params)
|
|
481
442
|
response.raise_for_status()
|
|
482
443
|
return response.json()
|
|
483
444
|
|
|
484
|
-
def get_results_for_board_export_job(self, org_id, job_id) -> Any:
|
|
445
|
+
async def get_results_for_board_export_job(self, org_id, job_id) -> Any:
|
|
485
446
|
"""
|
|
486
447
|
Retrieves the export results for a specific organization's board export job using the API.
|
|
487
448
|
|
|
@@ -501,20 +462,12 @@ class MiroApp(APIApplication):
|
|
|
501
462
|
raise ValueError("Missing required parameter 'job_id'")
|
|
502
463
|
url = f"{self.base_url}/v2/orgs/{org_id}/boards/export/jobs/{job_id}/results"
|
|
503
464
|
query_params = {}
|
|
504
|
-
response = self.
|
|
465
|
+
response = await self._aget(url, params=query_params)
|
|
505
466
|
response.raise_for_status()
|
|
506
467
|
return response.json()
|
|
507
468
|
|
|
508
|
-
def retrieve_content_change_logs_of_board_items(
|
|
509
|
-
self,
|
|
510
|
-
org_id,
|
|
511
|
-
board_ids=None,
|
|
512
|
-
emails=None,
|
|
513
|
-
from_=None,
|
|
514
|
-
to=None,
|
|
515
|
-
cursor=None,
|
|
516
|
-
limit=None,
|
|
517
|
-
sorting=None,
|
|
469
|
+
async def retrieve_content_change_logs_of_board_items(
|
|
470
|
+
self, org_id, board_ids=None, emails=None, from_=None, to=None, cursor=None, limit=None, sorting=None
|
|
518
471
|
) -> Any:
|
|
519
472
|
"""
|
|
520
473
|
Retrieves organization content logs with filtering options such as board IDs, email addresses, date ranges, and pagination parameters.
|
|
@@ -553,11 +506,11 @@ class MiroApp(APIApplication):
|
|
|
553
506
|
]
|
|
554
507
|
if v is not None
|
|
555
508
|
}
|
|
556
|
-
response = self.
|
|
509
|
+
response = await self._aget(url, params=query_params)
|
|
557
510
|
response.raise_for_status()
|
|
558
511
|
return response.json()
|
|
559
512
|
|
|
560
|
-
def reset_all_sessions_of_auser(self, email=None) -> Any:
|
|
513
|
+
async def reset_all_sessions_of_auser(self, email=None) -> Any:
|
|
561
514
|
"""
|
|
562
515
|
Resets all active sessions for a specified user (identified by email), requiring reauthentication.
|
|
563
516
|
|
|
@@ -572,11 +525,11 @@ class MiroApp(APIApplication):
|
|
|
572
525
|
"""
|
|
573
526
|
url = f"{self.base_url}/v2/sessions/reset_all"
|
|
574
527
|
query_params = {k: v for k, v in [("email", email)] if v is not None}
|
|
575
|
-
response = self.
|
|
528
|
+
response = await self._apost(url, data={}, params=query_params)
|
|
576
529
|
response.raise_for_status()
|
|
577
530
|
return response.json()
|
|
578
531
|
|
|
579
|
-
def get_organization_info(self, org_id) -> Any:
|
|
532
|
+
async def get_organization_info(self, org_id) -> Any:
|
|
580
533
|
"""
|
|
581
534
|
Retrieves information about an organization specified by its ID using the API endpoint "/v2/orgs/{org_id}" with the GET method.
|
|
582
535
|
|
|
@@ -593,20 +546,11 @@ class MiroApp(APIApplication):
|
|
|
593
546
|
raise ValueError("Missing required parameter 'org_id'")
|
|
594
547
|
url = f"{self.base_url}/v2/orgs/{org_id}"
|
|
595
548
|
query_params = {}
|
|
596
|
-
response = self.
|
|
549
|
+
response = await self._aget(url, params=query_params)
|
|
597
550
|
response.raise_for_status()
|
|
598
551
|
return response.json()
|
|
599
552
|
|
|
600
|
-
def get_organization_members(
|
|
601
|
-
self,
|
|
602
|
-
org_id,
|
|
603
|
-
emails=None,
|
|
604
|
-
role=None,
|
|
605
|
-
license=None,
|
|
606
|
-
active=None,
|
|
607
|
-
cursor=None,
|
|
608
|
-
limit=None,
|
|
609
|
-
) -> Any:
|
|
553
|
+
async def get_organization_members(self, org_id, emails=None, role=None, license=None, active=None, cursor=None, limit=None) -> Any:
|
|
610
554
|
"""
|
|
611
555
|
Retrieves a list of members from an organization specified by `{org_id}` using query parameters for filtering by email, role, license status, and member activity, with pagination options.
|
|
612
556
|
|
|
@@ -630,21 +574,14 @@ class MiroApp(APIApplication):
|
|
|
630
574
|
url = f"{self.base_url}/v2/orgs/{org_id}/members"
|
|
631
575
|
query_params = {
|
|
632
576
|
k: v
|
|
633
|
-
for k, v in [
|
|
634
|
-
("emails", emails),
|
|
635
|
-
("role", role),
|
|
636
|
-
("license", license),
|
|
637
|
-
("active", active),
|
|
638
|
-
("cursor", cursor),
|
|
639
|
-
("limit", limit),
|
|
640
|
-
]
|
|
577
|
+
for k, v in [("emails", emails), ("role", role), ("license", license), ("active", active), ("cursor", cursor), ("limit", limit)]
|
|
641
578
|
if v is not None
|
|
642
579
|
}
|
|
643
|
-
response = self.
|
|
580
|
+
response = await self._aget(url, params=query_params)
|
|
644
581
|
response.raise_for_status()
|
|
645
582
|
return response.json()
|
|
646
583
|
|
|
647
|
-
def get_organization_member(self, org_id, member_id) -> Any:
|
|
584
|
+
async def get_organization_member(self, org_id, member_id) -> Any:
|
|
648
585
|
"""
|
|
649
586
|
Retrieves a specific member's details within an organization using their unique identifiers.
|
|
650
587
|
|
|
@@ -664,20 +601,11 @@ class MiroApp(APIApplication):
|
|
|
664
601
|
raise ValueError("Missing required parameter 'member_id'")
|
|
665
602
|
url = f"{self.base_url}/v2/orgs/{org_id}/members/{member_id}"
|
|
666
603
|
query_params = {}
|
|
667
|
-
response = self.
|
|
604
|
+
response = await self._aget(url, params=query_params)
|
|
668
605
|
response.raise_for_status()
|
|
669
606
|
return response.json()
|
|
670
607
|
|
|
671
|
-
def get_boards(
|
|
672
|
-
self,
|
|
673
|
-
team_id=None,
|
|
674
|
-
project_id=None,
|
|
675
|
-
query=None,
|
|
676
|
-
owner=None,
|
|
677
|
-
limit=None,
|
|
678
|
-
offset=None,
|
|
679
|
-
sort=None,
|
|
680
|
-
) -> Any:
|
|
608
|
+
async def get_boards(self, team_id=None, project_id=None, query=None, owner=None, limit=None, offset=None, sort=None) -> Any:
|
|
681
609
|
"""
|
|
682
610
|
Retrieves a list of boards filtered by team, project, search query, owner, and pagination parameters.
|
|
683
611
|
|
|
@@ -710,13 +638,11 @@ class MiroApp(APIApplication):
|
|
|
710
638
|
]
|
|
711
639
|
if v is not None
|
|
712
640
|
}
|
|
713
|
-
response = self.
|
|
641
|
+
response = await self._aget(url, params=query_params)
|
|
714
642
|
response.raise_for_status()
|
|
715
643
|
return response.json()
|
|
716
644
|
|
|
717
|
-
def copy_board(
|
|
718
|
-
self, copy_from=None, description=None, name=None, policy=None, teamId=None
|
|
719
|
-
) -> Any:
|
|
645
|
+
async def copy_board(self, copy_from=None, description=None, name=None, policy=None, teamId=None) -> Any:
|
|
720
646
|
"""
|
|
721
647
|
Updates a board's configuration (with optional source copying) and returns the updated board details.
|
|
722
648
|
|
|
@@ -754,22 +680,15 @@ class MiroApp(APIApplication):
|
|
|
754
680
|
Tags:
|
|
755
681
|
Boards
|
|
756
682
|
"""
|
|
757
|
-
request_body = {
|
|
758
|
-
"description": description,
|
|
759
|
-
"name": name,
|
|
760
|
-
"policy": policy,
|
|
761
|
-
"teamId": teamId,
|
|
762
|
-
}
|
|
683
|
+
request_body = {"description": description, "name": name, "policy": policy, "teamId": teamId}
|
|
763
684
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
764
685
|
url = f"{self.base_url}/v2/boards"
|
|
765
686
|
query_params = {k: v for k, v in [("copy_from", copy_from)] if v is not None}
|
|
766
|
-
response = self.
|
|
687
|
+
response = await self._aput(url, data=request_body, params=query_params)
|
|
767
688
|
response.raise_for_status()
|
|
768
689
|
return response.json()
|
|
769
690
|
|
|
770
|
-
def create_board(
|
|
771
|
-
self, description=None, name=None, policy=None, projectId=None, teamId=None
|
|
772
|
-
) -> Any:
|
|
691
|
+
async def create_board(self, description=None, name=None, policy=None, projectId=None, teamId=None) -> Any:
|
|
773
692
|
"""
|
|
774
693
|
Creates a new board resource and returns a success status upon completion.
|
|
775
694
|
|
|
@@ -808,21 +727,15 @@ class MiroApp(APIApplication):
|
|
|
808
727
|
Tags:
|
|
809
728
|
Boards
|
|
810
729
|
"""
|
|
811
|
-
request_body = {
|
|
812
|
-
"description": description,
|
|
813
|
-
"name": name,
|
|
814
|
-
"policy": policy,
|
|
815
|
-
"projectId": projectId,
|
|
816
|
-
"teamId": teamId,
|
|
817
|
-
}
|
|
730
|
+
request_body = {"description": description, "name": name, "policy": policy, "projectId": projectId, "teamId": teamId}
|
|
818
731
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
819
732
|
url = f"{self.base_url}/v2/boards"
|
|
820
733
|
query_params = {}
|
|
821
|
-
response = self.
|
|
734
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
822
735
|
response.raise_for_status()
|
|
823
736
|
return response.json()
|
|
824
737
|
|
|
825
|
-
def get_specific_board(self, board_id) -> Any:
|
|
738
|
+
async def get_specific_board(self, board_id) -> Any:
|
|
826
739
|
"""
|
|
827
740
|
Retrieves information about a specific board identified by its ID using the API endpoint "/v2/boards/{board_id}" with the GET method.
|
|
828
741
|
|
|
@@ -839,11 +752,11 @@ class MiroApp(APIApplication):
|
|
|
839
752
|
raise ValueError("Missing required parameter 'board_id'")
|
|
840
753
|
url = f"{self.base_url}/v2/boards/{board_id}"
|
|
841
754
|
query_params = {}
|
|
842
|
-
response = self.
|
|
755
|
+
response = await self._aget(url, params=query_params)
|
|
843
756
|
response.raise_for_status()
|
|
844
757
|
return response.json()
|
|
845
758
|
|
|
846
|
-
def delete_board(self, board_id) -> Any:
|
|
759
|
+
async def delete_board(self, board_id) -> Any:
|
|
847
760
|
"""
|
|
848
761
|
Deletes a specific board identified by its ID using the "DELETE" method, effectively removing it from the system and returning a success status when completed.
|
|
849
762
|
|
|
@@ -860,19 +773,11 @@ class MiroApp(APIApplication):
|
|
|
860
773
|
raise ValueError("Missing required parameter 'board_id'")
|
|
861
774
|
url = f"{self.base_url}/v2/boards/{board_id}"
|
|
862
775
|
query_params = {}
|
|
863
|
-
response = self.
|
|
776
|
+
response = await self._adelete(url, params=query_params)
|
|
864
777
|
response.raise_for_status()
|
|
865
778
|
return response.json()
|
|
866
779
|
|
|
867
|
-
def update_board(
|
|
868
|
-
self,
|
|
869
|
-
board_id,
|
|
870
|
-
description=None,
|
|
871
|
-
name=None,
|
|
872
|
-
policy=None,
|
|
873
|
-
projectId=None,
|
|
874
|
-
teamId=None,
|
|
875
|
-
) -> Any:
|
|
780
|
+
async def update_board(self, board_id, description=None, name=None, policy=None, projectId=None, teamId=None) -> Any:
|
|
876
781
|
"""
|
|
877
782
|
Updates a Trello board identified by `{board_id}` using the Trello API and returns a status message.
|
|
878
783
|
|
|
@@ -914,13 +819,7 @@ class MiroApp(APIApplication):
|
|
|
914
819
|
"""
|
|
915
820
|
if board_id is None:
|
|
916
821
|
raise ValueError("Missing required parameter 'board_id'")
|
|
917
|
-
request_body = {
|
|
918
|
-
"description": description,
|
|
919
|
-
"name": name,
|
|
920
|
-
"policy": policy,
|
|
921
|
-
"projectId": projectId,
|
|
922
|
-
"teamId": teamId,
|
|
923
|
-
}
|
|
822
|
+
request_body = {"description": description, "name": name, "policy": policy, "projectId": projectId, "teamId": teamId}
|
|
924
823
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
925
824
|
url = f"{self.base_url}/v2/boards/{board_id}"
|
|
926
825
|
query_params = {}
|
|
@@ -928,9 +827,7 @@ class MiroApp(APIApplication):
|
|
|
928
827
|
response.raise_for_status()
|
|
929
828
|
return response.json()
|
|
930
829
|
|
|
931
|
-
def create_app_card_item(
|
|
932
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
933
|
-
) -> Any:
|
|
830
|
+
async def create_app_card_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
934
831
|
"""
|
|
935
832
|
Creates a new app card on a specified board using the "POST" method, identified by the path "/v2/boards/{board_id}/app_cards".
|
|
936
833
|
|
|
@@ -1017,21 +914,15 @@ class MiroApp(APIApplication):
|
|
|
1017
914
|
"""
|
|
1018
915
|
if board_id is None:
|
|
1019
916
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1020
|
-
request_body = {
|
|
1021
|
-
"data": data,
|
|
1022
|
-
"geometry": geometry,
|
|
1023
|
-
"parent": parent,
|
|
1024
|
-
"position": position,
|
|
1025
|
-
"style": style,
|
|
1026
|
-
}
|
|
917
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
1027
918
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1028
919
|
url = f"{self.base_url}/v2/boards/{board_id}/app_cards"
|
|
1029
920
|
query_params = {}
|
|
1030
|
-
response = self.
|
|
921
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
1031
922
|
response.raise_for_status()
|
|
1032
923
|
return response.json()
|
|
1033
924
|
|
|
1034
|
-
def get_app_card_item(self, board_id, item_id) -> Any:
|
|
925
|
+
async def get_app_card_item(self, board_id, item_id) -> Any:
|
|
1035
926
|
"""
|
|
1036
927
|
Retrieves the details of an app card with the specified item ID from a board using the GET method.
|
|
1037
928
|
|
|
@@ -1051,11 +942,11 @@ class MiroApp(APIApplication):
|
|
|
1051
942
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1052
943
|
url = f"{self.base_url}/v2/boards/{board_id}/app_cards/{item_id}"
|
|
1053
944
|
query_params = {}
|
|
1054
|
-
response = self.
|
|
945
|
+
response = await self._aget(url, params=query_params)
|
|
1055
946
|
response.raise_for_status()
|
|
1056
947
|
return response.json()
|
|
1057
948
|
|
|
1058
|
-
def delete_app_card_item(self, board_id, item_id) -> Any:
|
|
949
|
+
async def delete_app_card_item(self, board_id, item_id) -> Any:
|
|
1059
950
|
"""
|
|
1060
951
|
Deletes an app card item from the specified board using the DELETE method and returns a success status upon completion.
|
|
1061
952
|
|
|
@@ -1075,20 +966,11 @@ class MiroApp(APIApplication):
|
|
|
1075
966
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1076
967
|
url = f"{self.base_url}/v2/boards/{board_id}/app_cards/{item_id}"
|
|
1077
968
|
query_params = {}
|
|
1078
|
-
response = self.
|
|
969
|
+
response = await self._adelete(url, params=query_params)
|
|
1079
970
|
response.raise_for_status()
|
|
1080
971
|
return response.json()
|
|
1081
972
|
|
|
1082
|
-
def update_app_card_item(
|
|
1083
|
-
self,
|
|
1084
|
-
board_id,
|
|
1085
|
-
item_id,
|
|
1086
|
-
data=None,
|
|
1087
|
-
geometry=None,
|
|
1088
|
-
parent=None,
|
|
1089
|
-
position=None,
|
|
1090
|
-
style=None,
|
|
1091
|
-
) -> Any:
|
|
973
|
+
async def update_app_card_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
1092
974
|
"""
|
|
1093
975
|
Updates a specific app card on the specified board using partial modifications via the PATCH method.
|
|
1094
976
|
|
|
@@ -1178,13 +1060,7 @@ class MiroApp(APIApplication):
|
|
|
1178
1060
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1179
1061
|
if item_id is None:
|
|
1180
1062
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1181
|
-
request_body = {
|
|
1182
|
-
"data": data,
|
|
1183
|
-
"geometry": geometry,
|
|
1184
|
-
"parent": parent,
|
|
1185
|
-
"position": position,
|
|
1186
|
-
"style": style,
|
|
1187
|
-
}
|
|
1063
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
1188
1064
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1189
1065
|
url = f"{self.base_url}/v2/boards/{board_id}/app_cards/{item_id}"
|
|
1190
1066
|
query_params = {}
|
|
@@ -1192,9 +1068,7 @@ class MiroApp(APIApplication):
|
|
|
1192
1068
|
response.raise_for_status()
|
|
1193
1069
|
return response.json()
|
|
1194
1070
|
|
|
1195
|
-
def create_card_item(
|
|
1196
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
1197
|
-
) -> Any:
|
|
1071
|
+
async def create_card_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
1198
1072
|
"""
|
|
1199
1073
|
Creates a new card on the specified board using the provided data and returns the operation status upon success.
|
|
1200
1074
|
|
|
@@ -1240,21 +1114,15 @@ class MiroApp(APIApplication):
|
|
|
1240
1114
|
"""
|
|
1241
1115
|
if board_id is None:
|
|
1242
1116
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1243
|
-
request_body = {
|
|
1244
|
-
"data": data,
|
|
1245
|
-
"geometry": geometry,
|
|
1246
|
-
"parent": parent,
|
|
1247
|
-
"position": position,
|
|
1248
|
-
"style": style,
|
|
1249
|
-
}
|
|
1117
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
1250
1118
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1251
1119
|
url = f"{self.base_url}/v2/boards/{board_id}/cards"
|
|
1252
1120
|
query_params = {}
|
|
1253
|
-
response = self.
|
|
1121
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
1254
1122
|
response.raise_for_status()
|
|
1255
1123
|
return response.json()
|
|
1256
1124
|
|
|
1257
|
-
def get_card_item(self, board_id, item_id) -> Any:
|
|
1125
|
+
async def get_card_item(self, board_id, item_id) -> Any:
|
|
1258
1126
|
"""
|
|
1259
1127
|
Retrieves a specific card from a board using its board ID and item ID, returning relevant details in the response.
|
|
1260
1128
|
|
|
@@ -1274,11 +1142,11 @@ class MiroApp(APIApplication):
|
|
|
1274
1142
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1275
1143
|
url = f"{self.base_url}/v2/boards/{board_id}/cards/{item_id}"
|
|
1276
1144
|
query_params = {}
|
|
1277
|
-
response = self.
|
|
1145
|
+
response = await self._aget(url, params=query_params)
|
|
1278
1146
|
response.raise_for_status()
|
|
1279
1147
|
return response.json()
|
|
1280
1148
|
|
|
1281
|
-
def delete_card_item(self, board_id, item_id) -> Any:
|
|
1149
|
+
async def delete_card_item(self, board_id, item_id) -> Any:
|
|
1282
1150
|
"""
|
|
1283
1151
|
Deletes a specific card item from a board by ID and returns a success status upon removal.
|
|
1284
1152
|
|
|
@@ -1298,20 +1166,11 @@ class MiroApp(APIApplication):
|
|
|
1298
1166
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1299
1167
|
url = f"{self.base_url}/v2/boards/{board_id}/cards/{item_id}"
|
|
1300
1168
|
query_params = {}
|
|
1301
|
-
response = self.
|
|
1169
|
+
response = await self._adelete(url, params=query_params)
|
|
1302
1170
|
response.raise_for_status()
|
|
1303
1171
|
return response.json()
|
|
1304
1172
|
|
|
1305
|
-
def update_card_item(
|
|
1306
|
-
self,
|
|
1307
|
-
board_id,
|
|
1308
|
-
item_id,
|
|
1309
|
-
data=None,
|
|
1310
|
-
geometry=None,
|
|
1311
|
-
parent=None,
|
|
1312
|
-
position=None,
|
|
1313
|
-
style=None,
|
|
1314
|
-
) -> Any:
|
|
1173
|
+
async def update_card_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
1315
1174
|
"""
|
|
1316
1175
|
Updates specified fields of a card item on a board using partial modifications.
|
|
1317
1176
|
|
|
@@ -1360,13 +1219,7 @@ class MiroApp(APIApplication):
|
|
|
1360
1219
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1361
1220
|
if item_id is None:
|
|
1362
1221
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1363
|
-
request_body = {
|
|
1364
|
-
"data": data,
|
|
1365
|
-
"geometry": geometry,
|
|
1366
|
-
"parent": parent,
|
|
1367
|
-
"position": position,
|
|
1368
|
-
"style": style,
|
|
1369
|
-
}
|
|
1222
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
1370
1223
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1371
1224
|
url = f"{self.base_url}/v2/boards/{board_id}/cards/{item_id}"
|
|
1372
1225
|
query_params = {}
|
|
@@ -1374,7 +1227,7 @@ class MiroApp(APIApplication):
|
|
|
1374
1227
|
response.raise_for_status()
|
|
1375
1228
|
return response.json()
|
|
1376
1229
|
|
|
1377
|
-
def get_connectors(self, board_id, limit=None, cursor=None) -> Any:
|
|
1230
|
+
async def get_connectors(self, board_id, limit=None, cursor=None) -> Any:
|
|
1378
1231
|
"""
|
|
1379
1232
|
Retrieves a list of connectors associated with a specific board, allowing optional filtering by limit and cursor parameters.
|
|
1380
1233
|
|
|
@@ -1392,22 +1245,12 @@ class MiroApp(APIApplication):
|
|
|
1392
1245
|
if board_id is None:
|
|
1393
1246
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1394
1247
|
url = f"{self.base_url}/v2/boards/{board_id}/connectors"
|
|
1395
|
-
query_params = {
|
|
1396
|
-
|
|
1397
|
-
}
|
|
1398
|
-
response = self._get(url, params=query_params)
|
|
1248
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
1249
|
+
response = await self._aget(url, params=query_params)
|
|
1399
1250
|
response.raise_for_status()
|
|
1400
1251
|
return response.json()
|
|
1401
1252
|
|
|
1402
|
-
def create_connector(
|
|
1403
|
-
self,
|
|
1404
|
-
board_id,
|
|
1405
|
-
captions=None,
|
|
1406
|
-
endItem=None,
|
|
1407
|
-
shape=None,
|
|
1408
|
-
startItem=None,
|
|
1409
|
-
style=None,
|
|
1410
|
-
) -> Any:
|
|
1253
|
+
async def create_connector(self, board_id, captions=None, endItem=None, shape=None, startItem=None, style=None) -> Any:
|
|
1411
1254
|
"""
|
|
1412
1255
|
Establishes a connection to a specific board by creating a new connector using the API at the path "/v2/boards/{board_id}/connectors" with the POST method.
|
|
1413
1256
|
|
|
@@ -1561,21 +1404,15 @@ class MiroApp(APIApplication):
|
|
|
1561
1404
|
"""
|
|
1562
1405
|
if board_id is None:
|
|
1563
1406
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1564
|
-
request_body = {
|
|
1565
|
-
"captions": captions,
|
|
1566
|
-
"endItem": endItem,
|
|
1567
|
-
"shape": shape,
|
|
1568
|
-
"startItem": startItem,
|
|
1569
|
-
"style": style,
|
|
1570
|
-
}
|
|
1407
|
+
request_body = {"captions": captions, "endItem": endItem, "shape": shape, "startItem": startItem, "style": style}
|
|
1571
1408
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1572
1409
|
url = f"{self.base_url}/v2/boards/{board_id}/connectors"
|
|
1573
1410
|
query_params = {}
|
|
1574
|
-
response = self.
|
|
1411
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
1575
1412
|
response.raise_for_status()
|
|
1576
1413
|
return response.json()
|
|
1577
1414
|
|
|
1578
|
-
def get_specific_connector(self, board_id, connector_id) -> Any:
|
|
1415
|
+
async def get_specific_connector(self, board_id, connector_id) -> Any:
|
|
1579
1416
|
"""
|
|
1580
1417
|
Retrieves a specific connector from a board using the provided board and connector identifiers.
|
|
1581
1418
|
|
|
@@ -1595,11 +1432,11 @@ class MiroApp(APIApplication):
|
|
|
1595
1432
|
raise ValueError("Missing required parameter 'connector_id'")
|
|
1596
1433
|
url = f"{self.base_url}/v2/boards/{board_id}/connectors/{connector_id}"
|
|
1597
1434
|
query_params = {}
|
|
1598
|
-
response = self.
|
|
1435
|
+
response = await self._aget(url, params=query_params)
|
|
1599
1436
|
response.raise_for_status()
|
|
1600
1437
|
return response.json()
|
|
1601
1438
|
|
|
1602
|
-
def delete_connector(self, board_id, connector_id) -> Any:
|
|
1439
|
+
async def delete_connector(self, board_id, connector_id) -> Any:
|
|
1603
1440
|
"""
|
|
1604
1441
|
Deletes a specific connector associated with a board, identified by the provided `board_id` and `connector_id`, removing it along with any related configurations.
|
|
1605
1442
|
|
|
@@ -1619,20 +1456,11 @@ class MiroApp(APIApplication):
|
|
|
1619
1456
|
raise ValueError("Missing required parameter 'connector_id'")
|
|
1620
1457
|
url = f"{self.base_url}/v2/boards/{board_id}/connectors/{connector_id}"
|
|
1621
1458
|
query_params = {}
|
|
1622
|
-
response = self.
|
|
1459
|
+
response = await self._adelete(url, params=query_params)
|
|
1623
1460
|
response.raise_for_status()
|
|
1624
1461
|
return response.json()
|
|
1625
1462
|
|
|
1626
|
-
def update_connector(
|
|
1627
|
-
self,
|
|
1628
|
-
board_id,
|
|
1629
|
-
connector_id,
|
|
1630
|
-
captions=None,
|
|
1631
|
-
endItem=None,
|
|
1632
|
-
shape=None,
|
|
1633
|
-
startItem=None,
|
|
1634
|
-
style=None,
|
|
1635
|
-
) -> Any:
|
|
1463
|
+
async def update_connector(self, board_id, connector_id, captions=None, endItem=None, shape=None, startItem=None, style=None) -> Any:
|
|
1636
1464
|
"""
|
|
1637
1465
|
Updates a connector on a specific board using the PATCH method, returning a status message upon successful modification.
|
|
1638
1466
|
|
|
@@ -1789,13 +1617,7 @@ class MiroApp(APIApplication):
|
|
|
1789
1617
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1790
1618
|
if connector_id is None:
|
|
1791
1619
|
raise ValueError("Missing required parameter 'connector_id'")
|
|
1792
|
-
request_body = {
|
|
1793
|
-
"captions": captions,
|
|
1794
|
-
"endItem": endItem,
|
|
1795
|
-
"shape": shape,
|
|
1796
|
-
"startItem": startItem,
|
|
1797
|
-
"style": style,
|
|
1798
|
-
}
|
|
1620
|
+
request_body = {"captions": captions, "endItem": endItem, "shape": shape, "startItem": startItem, "style": style}
|
|
1799
1621
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1800
1622
|
url = f"{self.base_url}/v2/boards/{board_id}/connectors/{connector_id}"
|
|
1801
1623
|
query_params = {}
|
|
@@ -1803,9 +1625,7 @@ class MiroApp(APIApplication):
|
|
|
1803
1625
|
response.raise_for_status()
|
|
1804
1626
|
return response.json()
|
|
1805
1627
|
|
|
1806
|
-
def create_document_item_using_url(
|
|
1807
|
-
self, board_id, data=None, geometry=None, parent=None, position=None
|
|
1808
|
-
) -> Any:
|
|
1628
|
+
async def create_document_item_using_url(self, board_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
1809
1629
|
"""
|
|
1810
1630
|
Adds a document to a specified board using the POST method and returns a status message.
|
|
1811
1631
|
|
|
@@ -1845,20 +1665,15 @@ class MiroApp(APIApplication):
|
|
|
1845
1665
|
"""
|
|
1846
1666
|
if board_id is None:
|
|
1847
1667
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1848
|
-
request_body = {
|
|
1849
|
-
"data": data,
|
|
1850
|
-
"geometry": geometry,
|
|
1851
|
-
"parent": parent,
|
|
1852
|
-
"position": position,
|
|
1853
|
-
}
|
|
1668
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
1854
1669
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1855
1670
|
url = f"{self.base_url}/v2/boards/{board_id}/documents"
|
|
1856
1671
|
query_params = {}
|
|
1857
|
-
response = self.
|
|
1672
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
1858
1673
|
response.raise_for_status()
|
|
1859
1674
|
return response.json()
|
|
1860
1675
|
|
|
1861
|
-
def get_document_item(self, board_id, item_id) -> Any:
|
|
1676
|
+
async def get_document_item(self, board_id, item_id) -> Any:
|
|
1862
1677
|
"""
|
|
1863
1678
|
Retrieves a specific document from a board using the provided board ID and item ID.
|
|
1864
1679
|
|
|
@@ -1878,11 +1693,11 @@ class MiroApp(APIApplication):
|
|
|
1878
1693
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1879
1694
|
url = f"{self.base_url}/v2/boards/{board_id}/documents/{item_id}"
|
|
1880
1695
|
query_params = {}
|
|
1881
|
-
response = self.
|
|
1696
|
+
response = await self._aget(url, params=query_params)
|
|
1882
1697
|
response.raise_for_status()
|
|
1883
1698
|
return response.json()
|
|
1884
1699
|
|
|
1885
|
-
def delete_document_item(self, board_id, item_id) -> Any:
|
|
1700
|
+
async def delete_document_item(self, board_id, item_id) -> Any:
|
|
1886
1701
|
"""
|
|
1887
1702
|
Deletes a specified document from a board using its unique identifier and returns a success status upon completion.
|
|
1888
1703
|
|
|
@@ -1902,13 +1717,11 @@ class MiroApp(APIApplication):
|
|
|
1902
1717
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1903
1718
|
url = f"{self.base_url}/v2/boards/{board_id}/documents/{item_id}"
|
|
1904
1719
|
query_params = {}
|
|
1905
|
-
response = self.
|
|
1720
|
+
response = await self._adelete(url, params=query_params)
|
|
1906
1721
|
response.raise_for_status()
|
|
1907
1722
|
return response.json()
|
|
1908
1723
|
|
|
1909
|
-
def update_document_item_using_url(
|
|
1910
|
-
self, board_id, item_id, data=None, geometry=None, parent=None, position=None
|
|
1911
|
-
) -> Any:
|
|
1724
|
+
async def update_document_item_using_url(self, board_id, item_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
1912
1725
|
"""
|
|
1913
1726
|
Updates a specific document within a board using partial modifications and returns a success status.
|
|
1914
1727
|
|
|
@@ -1951,12 +1764,7 @@ class MiroApp(APIApplication):
|
|
|
1951
1764
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1952
1765
|
if item_id is None:
|
|
1953
1766
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1954
|
-
request_body = {
|
|
1955
|
-
"data": data,
|
|
1956
|
-
"geometry": geometry,
|
|
1957
|
-
"parent": parent,
|
|
1958
|
-
"position": position,
|
|
1959
|
-
}
|
|
1767
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
1960
1768
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1961
1769
|
url = f"{self.base_url}/v2/boards/{board_id}/documents/{item_id}"
|
|
1962
1770
|
query_params = {}
|
|
@@ -1964,9 +1772,7 @@ class MiroApp(APIApplication):
|
|
|
1964
1772
|
response.raise_for_status()
|
|
1965
1773
|
return response.json()
|
|
1966
1774
|
|
|
1967
|
-
def create_embed_item(
|
|
1968
|
-
self, board_id, data=None, geometry=None, parent=None, position=None
|
|
1969
|
-
) -> Any:
|
|
1775
|
+
async def create_embed_item(self, board_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
1970
1776
|
"""
|
|
1971
1777
|
Creates an embed associated with a specific board, returning the result upon successful creation.
|
|
1972
1778
|
|
|
@@ -2006,20 +1812,15 @@ class MiroApp(APIApplication):
|
|
|
2006
1812
|
"""
|
|
2007
1813
|
if board_id is None:
|
|
2008
1814
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2009
|
-
request_body = {
|
|
2010
|
-
"data": data,
|
|
2011
|
-
"geometry": geometry,
|
|
2012
|
-
"parent": parent,
|
|
2013
|
-
"position": position,
|
|
2014
|
-
}
|
|
1815
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
2015
1816
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2016
1817
|
url = f"{self.base_url}/v2/boards/{board_id}/embeds"
|
|
2017
1818
|
query_params = {}
|
|
2018
|
-
response = self.
|
|
1819
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
2019
1820
|
response.raise_for_status()
|
|
2020
1821
|
return response.json()
|
|
2021
1822
|
|
|
2022
|
-
def get_embed_item(self, board_id, item_id) -> Any:
|
|
1823
|
+
async def get_embed_item(self, board_id, item_id) -> Any:
|
|
2023
1824
|
"""
|
|
2024
1825
|
Retrieves an embedded item from a specified board using the provided board and item identifiers.
|
|
2025
1826
|
|
|
@@ -2039,11 +1840,11 @@ class MiroApp(APIApplication):
|
|
|
2039
1840
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2040
1841
|
url = f"{self.base_url}/v2/boards/{board_id}/embeds/{item_id}"
|
|
2041
1842
|
query_params = {}
|
|
2042
|
-
response = self.
|
|
1843
|
+
response = await self._aget(url, params=query_params)
|
|
2043
1844
|
response.raise_for_status()
|
|
2044
1845
|
return response.json()
|
|
2045
1846
|
|
|
2046
|
-
def delete_embed_item(self, board_id, item_id) -> Any:
|
|
1847
|
+
async def delete_embed_item(self, board_id, item_id) -> Any:
|
|
2047
1848
|
"""
|
|
2048
1849
|
Deletes the specified embed item from the board by its ID and returns a success status upon removal.
|
|
2049
1850
|
|
|
@@ -2063,13 +1864,11 @@ class MiroApp(APIApplication):
|
|
|
2063
1864
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2064
1865
|
url = f"{self.base_url}/v2/boards/{board_id}/embeds/{item_id}"
|
|
2065
1866
|
query_params = {}
|
|
2066
|
-
response = self.
|
|
1867
|
+
response = await self._adelete(url, params=query_params)
|
|
2067
1868
|
response.raise_for_status()
|
|
2068
1869
|
return response.json()
|
|
2069
1870
|
|
|
2070
|
-
def update_embed_item(
|
|
2071
|
-
self, board_id, item_id, data=None, geometry=None, parent=None, position=None
|
|
2072
|
-
) -> Any:
|
|
1871
|
+
async def update_embed_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
2073
1872
|
"""
|
|
2074
1873
|
Updates an embedded item within a specified board and returns the updated result.
|
|
2075
1874
|
|
|
@@ -2112,12 +1911,7 @@ class MiroApp(APIApplication):
|
|
|
2112
1911
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2113
1912
|
if item_id is None:
|
|
2114
1913
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2115
|
-
request_body = {
|
|
2116
|
-
"data": data,
|
|
2117
|
-
"geometry": geometry,
|
|
2118
|
-
"parent": parent,
|
|
2119
|
-
"position": position,
|
|
2120
|
-
}
|
|
1914
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
2121
1915
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2122
1916
|
url = f"{self.base_url}/v2/boards/{board_id}/embeds/{item_id}"
|
|
2123
1917
|
query_params = {}
|
|
@@ -2125,9 +1919,7 @@ class MiroApp(APIApplication):
|
|
|
2125
1919
|
response.raise_for_status()
|
|
2126
1920
|
return response.json()
|
|
2127
1921
|
|
|
2128
|
-
def create_image_item_using_url(
|
|
2129
|
-
self, board_id, data=None, geometry=None, parent=None, position=None
|
|
2130
|
-
) -> Any:
|
|
1922
|
+
async def create_image_item_using_url(self, board_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
2131
1923
|
"""
|
|
2132
1924
|
Uploads an image to a specified board and returns success status upon completion.
|
|
2133
1925
|
|
|
@@ -2167,20 +1959,15 @@ class MiroApp(APIApplication):
|
|
|
2167
1959
|
"""
|
|
2168
1960
|
if board_id is None:
|
|
2169
1961
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2170
|
-
request_body = {
|
|
2171
|
-
"data": data,
|
|
2172
|
-
"geometry": geometry,
|
|
2173
|
-
"parent": parent,
|
|
2174
|
-
"position": position,
|
|
2175
|
-
}
|
|
1962
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
2176
1963
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2177
1964
|
url = f"{self.base_url}/v2/boards/{board_id}/images"
|
|
2178
1965
|
query_params = {}
|
|
2179
|
-
response = self.
|
|
1966
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
2180
1967
|
response.raise_for_status()
|
|
2181
1968
|
return response.json()
|
|
2182
1969
|
|
|
2183
|
-
def get_image_item(self, board_id, item_id) -> Any:
|
|
1970
|
+
async def get_image_item(self, board_id, item_id) -> Any:
|
|
2184
1971
|
"""
|
|
2185
1972
|
Retrieves a specific image item from a designated board using the provided identifiers.
|
|
2186
1973
|
|
|
@@ -2200,11 +1987,11 @@ class MiroApp(APIApplication):
|
|
|
2200
1987
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2201
1988
|
url = f"{self.base_url}/v2/boards/{board_id}/images/{item_id}"
|
|
2202
1989
|
query_params = {}
|
|
2203
|
-
response = self.
|
|
1990
|
+
response = await self._aget(url, params=query_params)
|
|
2204
1991
|
response.raise_for_status()
|
|
2205
1992
|
return response.json()
|
|
2206
1993
|
|
|
2207
|
-
def delete_image_item(self, board_id, item_id) -> Any:
|
|
1994
|
+
async def delete_image_item(self, board_id, item_id) -> Any:
|
|
2208
1995
|
"""
|
|
2209
1996
|
Deletes a specific image from a specified board.
|
|
2210
1997
|
|
|
@@ -2224,13 +2011,11 @@ class MiroApp(APIApplication):
|
|
|
2224
2011
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2225
2012
|
url = f"{self.base_url}/v2/boards/{board_id}/images/{item_id}"
|
|
2226
2013
|
query_params = {}
|
|
2227
|
-
response = self.
|
|
2014
|
+
response = await self._adelete(url, params=query_params)
|
|
2228
2015
|
response.raise_for_status()
|
|
2229
2016
|
return response.json()
|
|
2230
2017
|
|
|
2231
|
-
def update_image_item_using_url(
|
|
2232
|
-
self, board_id, item_id, data=None, geometry=None, parent=None, position=None
|
|
2233
|
-
) -> Any:
|
|
2018
|
+
async def update_image_item_using_url(self, board_id, item_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
2234
2019
|
"""
|
|
2235
2020
|
Updates a specific image in a board using the PATCH method, applying partial modifications to the image's properties.
|
|
2236
2021
|
|
|
@@ -2273,12 +2058,7 @@ class MiroApp(APIApplication):
|
|
|
2273
2058
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2274
2059
|
if item_id is None:
|
|
2275
2060
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2276
|
-
request_body = {
|
|
2277
|
-
"data": data,
|
|
2278
|
-
"geometry": geometry,
|
|
2279
|
-
"parent": parent,
|
|
2280
|
-
"position": position,
|
|
2281
|
-
}
|
|
2061
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
2282
2062
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2283
2063
|
url = f"{self.base_url}/v2/boards/{board_id}/images/{item_id}"
|
|
2284
2064
|
query_params = {}
|
|
@@ -2286,7 +2066,7 @@ class MiroApp(APIApplication):
|
|
|
2286
2066
|
response.raise_for_status()
|
|
2287
2067
|
return response.json()
|
|
2288
2068
|
|
|
2289
|
-
def get_items_on_board(self, board_id, limit=None, type=None, cursor=None) -> Any:
|
|
2069
|
+
async def get_items_on_board(self, board_id, limit=None, type=None, cursor=None) -> Any:
|
|
2290
2070
|
"""
|
|
2291
2071
|
Retrieves a paginated list of items from a specified board using query parameters for limit, type, and cursor-based pagination.
|
|
2292
2072
|
|
|
@@ -2305,16 +2085,12 @@ class MiroApp(APIApplication):
|
|
|
2305
2085
|
if board_id is None:
|
|
2306
2086
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2307
2087
|
url = f"{self.base_url}/v2/boards/{board_id}/items"
|
|
2308
|
-
query_params = {
|
|
2309
|
-
|
|
2310
|
-
for k, v in [("limit", limit), ("type", type), ("cursor", cursor)]
|
|
2311
|
-
if v is not None
|
|
2312
|
-
}
|
|
2313
|
-
response = self._get(url, params=query_params)
|
|
2088
|
+
query_params = {k: v for k, v in [("limit", limit), ("type", type), ("cursor", cursor)] if v is not None}
|
|
2089
|
+
response = await self._aget(url, params=query_params)
|
|
2314
2090
|
response.raise_for_status()
|
|
2315
2091
|
return response.json()
|
|
2316
2092
|
|
|
2317
|
-
def get_specific_item_on_board(self, board_id, item_id) -> Any:
|
|
2093
|
+
async def get_specific_item_on_board(self, board_id, item_id) -> Any:
|
|
2318
2094
|
"""
|
|
2319
2095
|
Retrieves details of a specific item from a board using the GET method and returns the data in response.
|
|
2320
2096
|
|
|
@@ -2334,11 +2110,11 @@ class MiroApp(APIApplication):
|
|
|
2334
2110
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2335
2111
|
url = f"{self.base_url}/v2/boards/{board_id}/items/{item_id}"
|
|
2336
2112
|
query_params = {}
|
|
2337
|
-
response = self.
|
|
2113
|
+
response = await self._aget(url, params=query_params)
|
|
2338
2114
|
response.raise_for_status()
|
|
2339
2115
|
return response.json()
|
|
2340
2116
|
|
|
2341
|
-
def delete_item(self, board_id, item_id) -> Any:
|
|
2117
|
+
async def delete_item(self, board_id, item_id) -> Any:
|
|
2342
2118
|
"""
|
|
2343
2119
|
Deletes a specific item from a board by its ID and returns a success status.
|
|
2344
2120
|
|
|
@@ -2358,13 +2134,11 @@ class MiroApp(APIApplication):
|
|
|
2358
2134
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2359
2135
|
url = f"{self.base_url}/v2/boards/{board_id}/items/{item_id}"
|
|
2360
2136
|
query_params = {}
|
|
2361
|
-
response = self.
|
|
2137
|
+
response = await self._adelete(url, params=query_params)
|
|
2362
2138
|
response.raise_for_status()
|
|
2363
2139
|
return response.json()
|
|
2364
2140
|
|
|
2365
|
-
def update_item_position_or_parent(
|
|
2366
|
-
self, board_id, item_id, parent=None, position=None
|
|
2367
|
-
) -> Any:
|
|
2141
|
+
async def update_item_position_or_parent(self, board_id, item_id, parent=None, position=None) -> Any:
|
|
2368
2142
|
"""
|
|
2369
2143
|
Partially updates an existing item on a board using the PATCH method, allowing for specific modifications to resource properties.
|
|
2370
2144
|
|
|
@@ -2396,10 +2170,7 @@ class MiroApp(APIApplication):
|
|
|
2396
2170
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2397
2171
|
if item_id is None:
|
|
2398
2172
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2399
|
-
request_body = {
|
|
2400
|
-
"parent": parent,
|
|
2401
|
-
"position": position,
|
|
2402
|
-
}
|
|
2173
|
+
request_body = {"parent": parent, "position": position}
|
|
2403
2174
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2404
2175
|
url = f"{self.base_url}/v2/boards/{board_id}/items/{item_id}"
|
|
2405
2176
|
query_params = {}
|
|
@@ -2407,14 +2178,7 @@ class MiroApp(APIApplication):
|
|
|
2407
2178
|
response.raise_for_status()
|
|
2408
2179
|
return response.json()
|
|
2409
2180
|
|
|
2410
|
-
def get_items_within_frame(
|
|
2411
|
-
self,
|
|
2412
|
-
board_id_PlatformContainers,
|
|
2413
|
-
parent_item_id=None,
|
|
2414
|
-
limit=None,
|
|
2415
|
-
type=None,
|
|
2416
|
-
cursor=None,
|
|
2417
|
-
) -> Any:
|
|
2181
|
+
async def get_items_within_frame(self, board_id_PlatformContainers, parent_item_id=None, limit=None, type=None, cursor=None) -> Any:
|
|
2418
2182
|
"""
|
|
2419
2183
|
Retrieves a paginated list of items from a specified board, filtered by parent item ID and type, using cursor-based pagination.
|
|
2420
2184
|
|
|
@@ -2435,20 +2199,13 @@ class MiroApp(APIApplication):
|
|
|
2435
2199
|
raise ValueError("Missing required parameter 'board_id_PlatformContainers'")
|
|
2436
2200
|
url = f"{self.base_url}/v2/boards/{board_id_PlatformContainers}/items"
|
|
2437
2201
|
query_params = {
|
|
2438
|
-
k: v
|
|
2439
|
-
for k, v in [
|
|
2440
|
-
("parent_item_id", parent_item_id),
|
|
2441
|
-
("limit", limit),
|
|
2442
|
-
("type", type),
|
|
2443
|
-
("cursor", cursor),
|
|
2444
|
-
]
|
|
2445
|
-
if v is not None
|
|
2202
|
+
k: v for k, v in [("parent_item_id", parent_item_id), ("limit", limit), ("type", type), ("cursor", cursor)] if v is not None
|
|
2446
2203
|
}
|
|
2447
|
-
response = self.
|
|
2204
|
+
response = await self._aget(url, params=query_params)
|
|
2448
2205
|
response.raise_for_status()
|
|
2449
2206
|
return response.json()
|
|
2450
2207
|
|
|
2451
|
-
def get_specific_item_on_board1(self, board_id, item_id) -> Any:
|
|
2208
|
+
async def get_specific_item_on_board1(self, board_id, item_id) -> Any:
|
|
2452
2209
|
"""
|
|
2453
2210
|
Retrieves a specific item from a board using the specified identifiers.
|
|
2454
2211
|
|
|
@@ -2468,11 +2225,11 @@ class MiroApp(APIApplication):
|
|
|
2468
2225
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2469
2226
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/items/{item_id}"
|
|
2470
2227
|
query_params = {}
|
|
2471
|
-
response = self.
|
|
2228
|
+
response = await self._aget(url, params=query_params)
|
|
2472
2229
|
response.raise_for_status()
|
|
2473
2230
|
return response.json()
|
|
2474
2231
|
|
|
2475
|
-
def delete_item1(self, board_id, item_id) -> Any:
|
|
2232
|
+
async def delete_item1(self, board_id, item_id) -> Any:
|
|
2476
2233
|
"""
|
|
2477
2234
|
Deletes a specific item from a Miro board using the "DELETE" method.
|
|
2478
2235
|
|
|
@@ -2492,11 +2249,11 @@ class MiroApp(APIApplication):
|
|
|
2492
2249
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2493
2250
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/items/{item_id}"
|
|
2494
2251
|
query_params = {}
|
|
2495
|
-
response = self.
|
|
2252
|
+
response = await self._adelete(url, params=query_params)
|
|
2496
2253
|
response.raise_for_status()
|
|
2497
2254
|
return response.json()
|
|
2498
2255
|
|
|
2499
|
-
def get_all_board_members(self, board_id, limit=None, offset=None) -> Any:
|
|
2256
|
+
async def get_all_board_members(self, board_id, limit=None, offset=None) -> Any:
|
|
2500
2257
|
"""
|
|
2501
2258
|
Retrieves a paginated list of board members using query parameters for limit and offset, returning a 200 status on success.
|
|
2502
2259
|
|
|
@@ -2514,14 +2271,12 @@ class MiroApp(APIApplication):
|
|
|
2514
2271
|
if board_id is None:
|
|
2515
2272
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2516
2273
|
url = f"{self.base_url}/v2/boards/{board_id}/members"
|
|
2517
|
-
query_params = {
|
|
2518
|
-
|
|
2519
|
-
}
|
|
2520
|
-
response = self._get(url, params=query_params)
|
|
2274
|
+
query_params = {k: v for k, v in [("limit", limit), ("offset", offset)] if v is not None}
|
|
2275
|
+
response = await self._aget(url, params=query_params)
|
|
2521
2276
|
response.raise_for_status()
|
|
2522
2277
|
return response.json()
|
|
2523
2278
|
|
|
2524
|
-
def share_board(self, board_id, emails=None, message=None, role=None) -> Any:
|
|
2279
|
+
async def share_board(self, board_id, emails=None, message=None, role=None) -> Any:
|
|
2525
2280
|
"""
|
|
2526
2281
|
Adds a new member to a board using the API at path "/v2/boards/{board_id}/members" and returns a successful status message upon completion.
|
|
2527
2282
|
|
|
@@ -2549,19 +2304,15 @@ class MiroApp(APIApplication):
|
|
|
2549
2304
|
"""
|
|
2550
2305
|
if board_id is None:
|
|
2551
2306
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2552
|
-
request_body = {
|
|
2553
|
-
"emails": emails,
|
|
2554
|
-
"message": message,
|
|
2555
|
-
"role": role,
|
|
2556
|
-
}
|
|
2307
|
+
request_body = {"emails": emails, "message": message, "role": role}
|
|
2557
2308
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2558
2309
|
url = f"{self.base_url}/v2/boards/{board_id}/members"
|
|
2559
2310
|
query_params = {}
|
|
2560
|
-
response = self.
|
|
2311
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
2561
2312
|
response.raise_for_status()
|
|
2562
2313
|
return response.json()
|
|
2563
2314
|
|
|
2564
|
-
def get_specific_board_member(self, board_id, board_member_id) -> Any:
|
|
2315
|
+
async def get_specific_board_member(self, board_id, board_member_id) -> Any:
|
|
2565
2316
|
"""
|
|
2566
2317
|
Retrieves information about a specific board member using the "GET" method, providing details associated with the member identified by `{board_member_id}` within the board identified by `{board_id}`.
|
|
2567
2318
|
|
|
@@ -2581,11 +2332,11 @@ class MiroApp(APIApplication):
|
|
|
2581
2332
|
raise ValueError("Missing required parameter 'board_member_id'")
|
|
2582
2333
|
url = f"{self.base_url}/v2/boards/{board_id}/members/{board_member_id}"
|
|
2583
2334
|
query_params = {}
|
|
2584
|
-
response = self.
|
|
2335
|
+
response = await self._aget(url, params=query_params)
|
|
2585
2336
|
response.raise_for_status()
|
|
2586
2337
|
return response.json()
|
|
2587
2338
|
|
|
2588
|
-
def remove_board_member(self, board_id, board_member_id) -> Any:
|
|
2339
|
+
async def remove_board_member(self, board_id, board_member_id) -> Any:
|
|
2589
2340
|
"""
|
|
2590
2341
|
Removes a user from a board using the Miro API and returns a successful response upon completion.
|
|
2591
2342
|
|
|
@@ -2605,11 +2356,11 @@ class MiroApp(APIApplication):
|
|
|
2605
2356
|
raise ValueError("Missing required parameter 'board_member_id'")
|
|
2606
2357
|
url = f"{self.base_url}/v2/boards/{board_id}/members/{board_member_id}"
|
|
2607
2358
|
query_params = {}
|
|
2608
|
-
response = self.
|
|
2359
|
+
response = await self._adelete(url, params=query_params)
|
|
2609
2360
|
response.raise_for_status()
|
|
2610
2361
|
return response.json()
|
|
2611
2362
|
|
|
2612
|
-
def update_board_member(self, board_id, board_member_id, role=None) -> Any:
|
|
2363
|
+
async def update_board_member(self, board_id, board_member_id, role=None) -> Any:
|
|
2613
2364
|
"""
|
|
2614
2365
|
Updates a board member's details for the specified board using the PATCH method.
|
|
2615
2366
|
|
|
@@ -2634,9 +2385,7 @@ class MiroApp(APIApplication):
|
|
|
2634
2385
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2635
2386
|
if board_member_id is None:
|
|
2636
2387
|
raise ValueError("Missing required parameter 'board_member_id'")
|
|
2637
|
-
request_body = {
|
|
2638
|
-
"role": role,
|
|
2639
|
-
}
|
|
2388
|
+
request_body = {"role": role}
|
|
2640
2389
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2641
2390
|
url = f"{self.base_url}/v2/boards/{board_id}/members/{board_member_id}"
|
|
2642
2391
|
query_params = {}
|
|
@@ -2644,9 +2393,7 @@ class MiroApp(APIApplication):
|
|
|
2644
2393
|
response.raise_for_status()
|
|
2645
2394
|
return response.json()
|
|
2646
2395
|
|
|
2647
|
-
def create_shape_item(
|
|
2648
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
2649
|
-
) -> Any:
|
|
2396
|
+
async def create_shape_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
2650
2397
|
"""
|
|
2651
2398
|
Creates a new shape on a specified board using the provided data.
|
|
2652
2399
|
|
|
@@ -2700,21 +2447,15 @@ class MiroApp(APIApplication):
|
|
|
2700
2447
|
"""
|
|
2701
2448
|
if board_id is None:
|
|
2702
2449
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2703
|
-
request_body = {
|
|
2704
|
-
"data": data,
|
|
2705
|
-
"geometry": geometry,
|
|
2706
|
-
"parent": parent,
|
|
2707
|
-
"position": position,
|
|
2708
|
-
"style": style,
|
|
2709
|
-
}
|
|
2450
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
2710
2451
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2711
2452
|
url = f"{self.base_url}/v2/boards/{board_id}/shapes"
|
|
2712
2453
|
query_params = {}
|
|
2713
|
-
response = self.
|
|
2454
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
2714
2455
|
response.raise_for_status()
|
|
2715
2456
|
return response.json()
|
|
2716
2457
|
|
|
2717
|
-
def get_shape_item(self, board_id, item_id) -> Any:
|
|
2458
|
+
async def get_shape_item(self, board_id, item_id) -> Any:
|
|
2718
2459
|
"""
|
|
2719
2460
|
Retrieves a specific shape from the specified board.
|
|
2720
2461
|
|
|
@@ -2734,11 +2475,11 @@ class MiroApp(APIApplication):
|
|
|
2734
2475
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2735
2476
|
url = f"{self.base_url}/v2/boards/{board_id}/shapes/{item_id}"
|
|
2736
2477
|
query_params = {}
|
|
2737
|
-
response = self.
|
|
2478
|
+
response = await self._aget(url, params=query_params)
|
|
2738
2479
|
response.raise_for_status()
|
|
2739
2480
|
return response.json()
|
|
2740
2481
|
|
|
2741
|
-
def delete_shape_item(self, board_id, item_id) -> Any:
|
|
2482
|
+
async def delete_shape_item(self, board_id, item_id) -> Any:
|
|
2742
2483
|
"""
|
|
2743
2484
|
Deletes a specified shape from a board using the provided board and item identifiers.
|
|
2744
2485
|
|
|
@@ -2758,20 +2499,11 @@ class MiroApp(APIApplication):
|
|
|
2758
2499
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2759
2500
|
url = f"{self.base_url}/v2/boards/{board_id}/shapes/{item_id}"
|
|
2760
2501
|
query_params = {}
|
|
2761
|
-
response = self.
|
|
2502
|
+
response = await self._adelete(url, params=query_params)
|
|
2762
2503
|
response.raise_for_status()
|
|
2763
2504
|
return response.json()
|
|
2764
2505
|
|
|
2765
|
-
def update_shape_item(
|
|
2766
|
-
self,
|
|
2767
|
-
board_id,
|
|
2768
|
-
item_id,
|
|
2769
|
-
data=None,
|
|
2770
|
-
geometry=None,
|
|
2771
|
-
parent=None,
|
|
2772
|
-
position=None,
|
|
2773
|
-
style=None,
|
|
2774
|
-
) -> Any:
|
|
2506
|
+
async def update_shape_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
2775
2507
|
"""
|
|
2776
2508
|
Updates a specific shape on a board by its ID and returns a success status.
|
|
2777
2509
|
|
|
@@ -2828,13 +2560,7 @@ class MiroApp(APIApplication):
|
|
|
2828
2560
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2829
2561
|
if item_id is None:
|
|
2830
2562
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2831
|
-
request_body = {
|
|
2832
|
-
"data": data,
|
|
2833
|
-
"geometry": geometry,
|
|
2834
|
-
"parent": parent,
|
|
2835
|
-
"position": position,
|
|
2836
|
-
"style": style,
|
|
2837
|
-
}
|
|
2563
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
2838
2564
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2839
2565
|
url = f"{self.base_url}/v2/boards/{board_id}/shapes/{item_id}"
|
|
2840
2566
|
query_params = {}
|
|
@@ -2842,9 +2568,7 @@ class MiroApp(APIApplication):
|
|
|
2842
2568
|
response.raise_for_status()
|
|
2843
2569
|
return response.json()
|
|
2844
2570
|
|
|
2845
|
-
def create_sticky_note_item(
|
|
2846
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
2847
|
-
) -> Any:
|
|
2571
|
+
async def create_sticky_note_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
2848
2572
|
"""
|
|
2849
2573
|
Creates a new sticky note on a specific board using the "POST" method and returns a successful status message when the operation is completed.
|
|
2850
2574
|
|
|
@@ -2889,21 +2613,15 @@ class MiroApp(APIApplication):
|
|
|
2889
2613
|
"""
|
|
2890
2614
|
if board_id is None:
|
|
2891
2615
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2892
|
-
request_body = {
|
|
2893
|
-
"data": data,
|
|
2894
|
-
"geometry": geometry,
|
|
2895
|
-
"parent": parent,
|
|
2896
|
-
"position": position,
|
|
2897
|
-
"style": style,
|
|
2898
|
-
}
|
|
2616
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
2899
2617
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2900
2618
|
url = f"{self.base_url}/v2/boards/{board_id}/sticky_notes"
|
|
2901
2619
|
query_params = {}
|
|
2902
|
-
response = self.
|
|
2620
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
2903
2621
|
response.raise_for_status()
|
|
2904
2622
|
return response.json()
|
|
2905
2623
|
|
|
2906
|
-
def get_sticky_note_item(self, board_id, item_id) -> Any:
|
|
2624
|
+
async def get_sticky_note_item(self, board_id, item_id) -> Any:
|
|
2907
2625
|
"""
|
|
2908
2626
|
Retrieves a specific sticky note from a board using the provided board and item IDs.
|
|
2909
2627
|
|
|
@@ -2923,11 +2641,11 @@ class MiroApp(APIApplication):
|
|
|
2923
2641
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2924
2642
|
url = f"{self.base_url}/v2/boards/{board_id}/sticky_notes/{item_id}"
|
|
2925
2643
|
query_params = {}
|
|
2926
|
-
response = self.
|
|
2644
|
+
response = await self._aget(url, params=query_params)
|
|
2927
2645
|
response.raise_for_status()
|
|
2928
2646
|
return response.json()
|
|
2929
2647
|
|
|
2930
|
-
def delete_sticky_note_item(self, board_id, item_id) -> Any:
|
|
2648
|
+
async def delete_sticky_note_item(self, board_id, item_id) -> Any:
|
|
2931
2649
|
"""
|
|
2932
2650
|
Deletes a specific sticky note from a board using the DELETE method, returning a successful status message.
|
|
2933
2651
|
|
|
@@ -2947,20 +2665,11 @@ class MiroApp(APIApplication):
|
|
|
2947
2665
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2948
2666
|
url = f"{self.base_url}/v2/boards/{board_id}/sticky_notes/{item_id}"
|
|
2949
2667
|
query_params = {}
|
|
2950
|
-
response = self.
|
|
2668
|
+
response = await self._adelete(url, params=query_params)
|
|
2951
2669
|
response.raise_for_status()
|
|
2952
2670
|
return response.json()
|
|
2953
2671
|
|
|
2954
|
-
def update_sticky_note_item(
|
|
2955
|
-
self,
|
|
2956
|
-
board_id,
|
|
2957
|
-
item_id,
|
|
2958
|
-
data=None,
|
|
2959
|
-
geometry=None,
|
|
2960
|
-
parent=None,
|
|
2961
|
-
position=None,
|
|
2962
|
-
style=None,
|
|
2963
|
-
) -> Any:
|
|
2672
|
+
async def update_sticky_note_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
2964
2673
|
"""
|
|
2965
2674
|
Updates a sticky note on the specified board using partial modifications and returns a success status.
|
|
2966
2675
|
|
|
@@ -3008,13 +2717,7 @@ class MiroApp(APIApplication):
|
|
|
3008
2717
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3009
2718
|
if item_id is None:
|
|
3010
2719
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3011
|
-
request_body = {
|
|
3012
|
-
"data": data,
|
|
3013
|
-
"geometry": geometry,
|
|
3014
|
-
"parent": parent,
|
|
3015
|
-
"position": position,
|
|
3016
|
-
"style": style,
|
|
3017
|
-
}
|
|
2720
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3018
2721
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3019
2722
|
url = f"{self.base_url}/v2/boards/{board_id}/sticky_notes/{item_id}"
|
|
3020
2723
|
query_params = {}
|
|
@@ -3022,9 +2725,7 @@ class MiroApp(APIApplication):
|
|
|
3022
2725
|
response.raise_for_status()
|
|
3023
2726
|
return response.json()
|
|
3024
2727
|
|
|
3025
|
-
def create_text_item(
|
|
3026
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
3027
|
-
) -> Any:
|
|
2728
|
+
async def create_text_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
3028
2729
|
"""
|
|
3029
2730
|
Creates a new text entry on a specified board and returns a success status.
|
|
3030
2731
|
|
|
@@ -3071,21 +2772,15 @@ class MiroApp(APIApplication):
|
|
|
3071
2772
|
"""
|
|
3072
2773
|
if board_id is None:
|
|
3073
2774
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3074
|
-
request_body = {
|
|
3075
|
-
"data": data,
|
|
3076
|
-
"geometry": geometry,
|
|
3077
|
-
"parent": parent,
|
|
3078
|
-
"position": position,
|
|
3079
|
-
"style": style,
|
|
3080
|
-
}
|
|
2775
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3081
2776
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3082
2777
|
url = f"{self.base_url}/v2/boards/{board_id}/texts"
|
|
3083
2778
|
query_params = {}
|
|
3084
|
-
response = self.
|
|
2779
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
3085
2780
|
response.raise_for_status()
|
|
3086
2781
|
return response.json()
|
|
3087
2782
|
|
|
3088
|
-
def get_text_item(self, board_id, item_id) -> Any:
|
|
2783
|
+
async def get_text_item(self, board_id, item_id) -> Any:
|
|
3089
2784
|
"""
|
|
3090
2785
|
Retrieves a specific text item from a board using the provided board and item identifiers.
|
|
3091
2786
|
|
|
@@ -3105,11 +2800,11 @@ class MiroApp(APIApplication):
|
|
|
3105
2800
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3106
2801
|
url = f"{self.base_url}/v2/boards/{board_id}/texts/{item_id}"
|
|
3107
2802
|
query_params = {}
|
|
3108
|
-
response = self.
|
|
2803
|
+
response = await self._aget(url, params=query_params)
|
|
3109
2804
|
response.raise_for_status()
|
|
3110
2805
|
return response.json()
|
|
3111
2806
|
|
|
3112
|
-
def delete_text_item(self, board_id, item_id) -> Any:
|
|
2807
|
+
async def delete_text_item(self, board_id, item_id) -> Any:
|
|
3113
2808
|
"""
|
|
3114
2809
|
Deletes a specific text item from a board using the provided board and item identifiers.
|
|
3115
2810
|
|
|
@@ -3129,20 +2824,11 @@ class MiroApp(APIApplication):
|
|
|
3129
2824
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3130
2825
|
url = f"{self.base_url}/v2/boards/{board_id}/texts/{item_id}"
|
|
3131
2826
|
query_params = {}
|
|
3132
|
-
response = self.
|
|
2827
|
+
response = await self._adelete(url, params=query_params)
|
|
3133
2828
|
response.raise_for_status()
|
|
3134
2829
|
return response.json()
|
|
3135
2830
|
|
|
3136
|
-
def update_text_item(
|
|
3137
|
-
self,
|
|
3138
|
-
board_id,
|
|
3139
|
-
item_id,
|
|
3140
|
-
data=None,
|
|
3141
|
-
geometry=None,
|
|
3142
|
-
parent=None,
|
|
3143
|
-
position=None,
|
|
3144
|
-
style=None,
|
|
3145
|
-
) -> Any:
|
|
2831
|
+
async def update_text_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
3146
2832
|
"""
|
|
3147
2833
|
Updates a specific text item on a board using the PATCH method, allowing partial modifications of the item's properties.
|
|
3148
2834
|
|
|
@@ -3192,13 +2878,7 @@ class MiroApp(APIApplication):
|
|
|
3192
2878
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3193
2879
|
if item_id is None:
|
|
3194
2880
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3195
|
-
request_body = {
|
|
3196
|
-
"data": data,
|
|
3197
|
-
"geometry": geometry,
|
|
3198
|
-
"parent": parent,
|
|
3199
|
-
"position": position,
|
|
3200
|
-
"style": style,
|
|
3201
|
-
}
|
|
2881
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3202
2882
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3203
2883
|
url = f"{self.base_url}/v2/boards/{board_id}/texts/{item_id}"
|
|
3204
2884
|
query_params = {}
|
|
@@ -3206,7 +2886,7 @@ class MiroApp(APIApplication):
|
|
|
3206
2886
|
response.raise_for_status()
|
|
3207
2887
|
return response.json()
|
|
3208
2888
|
|
|
3209
|
-
def create_items_in_bulk(self, board_id, items=None) -> Any:
|
|
2889
|
+
async def create_items_in_bulk(self, board_id, items=None) -> Any:
|
|
3210
2890
|
"""
|
|
3211
2891
|
Bulk updates or creates items on a specified board using the API endpoint "/v2/boards/{board_id}/items/bulk" via the POST method.
|
|
3212
2892
|
|
|
@@ -3221,17 +2901,14 @@ class MiroApp(APIApplication):
|
|
|
3221
2901
|
"""
|
|
3222
2902
|
if board_id is None:
|
|
3223
2903
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3224
|
-
# Use items array directly as request body
|
|
3225
2904
|
request_body = items
|
|
3226
2905
|
url = f"{self.base_url}/v2/boards/{board_id}/items/bulk"
|
|
3227
2906
|
query_params = {}
|
|
3228
|
-
response = self.
|
|
2907
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
3229
2908
|
response.raise_for_status()
|
|
3230
2909
|
return response.json()
|
|
3231
2910
|
|
|
3232
|
-
def create_frame(
|
|
3233
|
-
self, board_id, data=None, geometry=None, position=None, style=None
|
|
3234
|
-
) -> Any:
|
|
2911
|
+
async def create_frame(self, board_id, data=None, geometry=None, position=None, style=None) -> Any:
|
|
3235
2912
|
"""
|
|
3236
2913
|
Creates a new frame in the specified board using the API and returns a successful response.
|
|
3237
2914
|
|
|
@@ -3272,20 +2949,15 @@ class MiroApp(APIApplication):
|
|
|
3272
2949
|
"""
|
|
3273
2950
|
if board_id is None:
|
|
3274
2951
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3275
|
-
request_body = {
|
|
3276
|
-
"data": data,
|
|
3277
|
-
"geometry": geometry,
|
|
3278
|
-
"position": position,
|
|
3279
|
-
"style": style,
|
|
3280
|
-
}
|
|
2952
|
+
request_body = {"data": data, "geometry": geometry, "position": position, "style": style}
|
|
3281
2953
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3282
2954
|
url = f"{self.base_url}/v2/boards/{board_id}/frames"
|
|
3283
2955
|
query_params = {}
|
|
3284
|
-
response = self.
|
|
2956
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
3285
2957
|
response.raise_for_status()
|
|
3286
2958
|
return response.json()
|
|
3287
2959
|
|
|
3288
|
-
def get_frame(self, board_id, item_id) -> Any:
|
|
2960
|
+
async def get_frame(self, board_id, item_id) -> Any:
|
|
3289
2961
|
"""
|
|
3290
2962
|
Retrieves the details of a specific frame within a board using the "GET" method.
|
|
3291
2963
|
|
|
@@ -3305,11 +2977,11 @@ class MiroApp(APIApplication):
|
|
|
3305
2977
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3306
2978
|
url = f"{self.base_url}/v2/boards/{board_id}/frames/{item_id}"
|
|
3307
2979
|
query_params = {}
|
|
3308
|
-
response = self.
|
|
2980
|
+
response = await self._aget(url, params=query_params)
|
|
3309
2981
|
response.raise_for_status()
|
|
3310
2982
|
return response.json()
|
|
3311
2983
|
|
|
3312
|
-
def delete_frame(self, board_id, item_id) -> Any:
|
|
2984
|
+
async def delete_frame(self, board_id, item_id) -> Any:
|
|
3313
2985
|
"""
|
|
3314
2986
|
Deletes a frame with the specified item ID from a board with the given board ID.
|
|
3315
2987
|
|
|
@@ -3329,13 +3001,11 @@ class MiroApp(APIApplication):
|
|
|
3329
3001
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3330
3002
|
url = f"{self.base_url}/v2/boards/{board_id}/frames/{item_id}"
|
|
3331
3003
|
query_params = {}
|
|
3332
|
-
response = self.
|
|
3004
|
+
response = await self._adelete(url, params=query_params)
|
|
3333
3005
|
response.raise_for_status()
|
|
3334
3006
|
return response.json()
|
|
3335
3007
|
|
|
3336
|
-
def update_frame(
|
|
3337
|
-
self, board_id, item_id, data=None, geometry=None, position=None, style=None
|
|
3338
|
-
) -> Any:
|
|
3008
|
+
async def update_frame(self, board_id, item_id, data=None, geometry=None, position=None, style=None) -> Any:
|
|
3339
3009
|
"""
|
|
3340
3010
|
Updates specific frame properties for a board using partial modifications and returns a success status.
|
|
3341
3011
|
|
|
@@ -3379,12 +3049,7 @@ class MiroApp(APIApplication):
|
|
|
3379
3049
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3380
3050
|
if item_id is None:
|
|
3381
3051
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3382
|
-
request_body = {
|
|
3383
|
-
"data": data,
|
|
3384
|
-
"geometry": geometry,
|
|
3385
|
-
"position": position,
|
|
3386
|
-
"style": style,
|
|
3387
|
-
}
|
|
3052
|
+
request_body = {"data": data, "geometry": geometry, "position": position, "style": style}
|
|
3388
3053
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3389
3054
|
url = f"{self.base_url}/v2/boards/{board_id}/frames/{item_id}"
|
|
3390
3055
|
query_params = {}
|
|
@@ -3392,7 +3057,7 @@ class MiroApp(APIApplication):
|
|
|
3392
3057
|
response.raise_for_status()
|
|
3393
3058
|
return response.json()
|
|
3394
3059
|
|
|
3395
|
-
def get_app_metrics(self, app_id, startDate=None, endDate=None, period=None) -> Any:
|
|
3060
|
+
async def get_app_metrics(self, app_id, startDate=None, endDate=None, period=None) -> Any:
|
|
3396
3061
|
"""
|
|
3397
3062
|
Retrieves application metrics for a specified time period using the `startDate`, `endDate`, and `period` query parameters.
|
|
3398
3063
|
|
|
@@ -3411,20 +3076,12 @@ class MiroApp(APIApplication):
|
|
|
3411
3076
|
if app_id is None:
|
|
3412
3077
|
raise ValueError("Missing required parameter 'app_id'")
|
|
3413
3078
|
url = f"{self.base_url}/v2-experimental/apps/{app_id}/metrics"
|
|
3414
|
-
query_params = {
|
|
3415
|
-
|
|
3416
|
-
for k, v in [
|
|
3417
|
-
("startDate", startDate),
|
|
3418
|
-
("endDate", endDate),
|
|
3419
|
-
("period", period),
|
|
3420
|
-
]
|
|
3421
|
-
if v is not None
|
|
3422
|
-
}
|
|
3423
|
-
response = self._get(url, params=query_params)
|
|
3079
|
+
query_params = {k: v for k, v in [("startDate", startDate), ("endDate", endDate), ("period", period)] if v is not None}
|
|
3080
|
+
response = await self._aget(url, params=query_params)
|
|
3424
3081
|
response.raise_for_status()
|
|
3425
3082
|
return response.json()
|
|
3426
3083
|
|
|
3427
|
-
def get_total_app_metrics(self, app_id) -> Any:
|
|
3084
|
+
async def get_total_app_metrics(self, app_id) -> Any:
|
|
3428
3085
|
"""
|
|
3429
3086
|
Retrieves total metrics for a specified application by its ID.
|
|
3430
3087
|
|
|
@@ -3441,13 +3098,11 @@ class MiroApp(APIApplication):
|
|
|
3441
3098
|
raise ValueError("Missing required parameter 'app_id'")
|
|
3442
3099
|
url = f"{self.base_url}/v2-experimental/apps/{app_id}/metrics-total"
|
|
3443
3100
|
query_params = {}
|
|
3444
|
-
response = self.
|
|
3101
|
+
response = await self._aget(url, params=query_params)
|
|
3445
3102
|
response.raise_for_status()
|
|
3446
3103
|
return response.json()
|
|
3447
3104
|
|
|
3448
|
-
def create_webhook_subscription(
|
|
3449
|
-
self, boardId=None, callbackUrl=None, status=None
|
|
3450
|
-
) -> Any:
|
|
3105
|
+
async def create_webhook_subscription(self, boardId=None, callbackUrl=None, status=None) -> Any:
|
|
3451
3106
|
"""
|
|
3452
3107
|
Creates a board subscription webhook and returns a success status upon configuration.
|
|
3453
3108
|
|
|
@@ -3470,21 +3125,15 @@ class MiroApp(APIApplication):
|
|
|
3470
3125
|
Tags:
|
|
3471
3126
|
Webhooks (experimental)
|
|
3472
3127
|
"""
|
|
3473
|
-
request_body = {
|
|
3474
|
-
"boardId": boardId,
|
|
3475
|
-
"callbackUrl": callbackUrl,
|
|
3476
|
-
"status": status,
|
|
3477
|
-
}
|
|
3128
|
+
request_body = {"boardId": boardId, "callbackUrl": callbackUrl, "status": status}
|
|
3478
3129
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3479
3130
|
url = f"{self.base_url}/v2-experimental/webhooks/board_subscriptions"
|
|
3480
3131
|
query_params = {}
|
|
3481
|
-
response = self.
|
|
3132
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
3482
3133
|
response.raise_for_status()
|
|
3483
3134
|
return response.json()
|
|
3484
3135
|
|
|
3485
|
-
def update_webhook_subscription(
|
|
3486
|
-
self, subscription_id, callbackUrl=None, status=None
|
|
3487
|
-
) -> Any:
|
|
3136
|
+
async def update_webhook_subscription(self, subscription_id, callbackUrl=None, status=None) -> Any:
|
|
3488
3137
|
"""
|
|
3489
3138
|
Updates a webhook subscription for a board using the GitHub API and returns a success status.
|
|
3490
3139
|
|
|
@@ -3508,10 +3157,7 @@ class MiroApp(APIApplication):
|
|
|
3508
3157
|
"""
|
|
3509
3158
|
if subscription_id is None:
|
|
3510
3159
|
raise ValueError("Missing required parameter 'subscription_id'")
|
|
3511
|
-
request_body = {
|
|
3512
|
-
"callbackUrl": callbackUrl,
|
|
3513
|
-
"status": status,
|
|
3514
|
-
}
|
|
3160
|
+
request_body = {"callbackUrl": callbackUrl, "status": status}
|
|
3515
3161
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3516
3162
|
url = f"{self.base_url}/v2-experimental/webhooks/board_subscriptions/{subscription_id}"
|
|
3517
3163
|
query_params = {}
|
|
@@ -3519,7 +3165,7 @@ class MiroApp(APIApplication):
|
|
|
3519
3165
|
response.raise_for_status()
|
|
3520
3166
|
return response.json()
|
|
3521
3167
|
|
|
3522
|
-
def get_webhook_subscriptions(self, limit=None, cursor=None) -> Any:
|
|
3168
|
+
async def get_webhook_subscriptions(self, limit=None, cursor=None) -> Any:
|
|
3523
3169
|
"""
|
|
3524
3170
|
Retrieves a paginated list of webhook subscriptions using cursor-based pagination.
|
|
3525
3171
|
|
|
@@ -3534,14 +3180,12 @@ class MiroApp(APIApplication):
|
|
|
3534
3180
|
Webhooks (experimental)
|
|
3535
3181
|
"""
|
|
3536
3182
|
url = f"{self.base_url}/v2-experimental/webhooks/subscriptions"
|
|
3537
|
-
query_params = {
|
|
3538
|
-
|
|
3539
|
-
}
|
|
3540
|
-
response = self._get(url, params=query_params)
|
|
3183
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
3184
|
+
response = await self._aget(url, params=query_params)
|
|
3541
3185
|
response.raise_for_status()
|
|
3542
3186
|
return response.json()
|
|
3543
3187
|
|
|
3544
|
-
def get_specific_webhook_subscription(self, subscription_id) -> Any:
|
|
3188
|
+
async def get_specific_webhook_subscription(self, subscription_id) -> Any:
|
|
3545
3189
|
"""
|
|
3546
3190
|
Retrieves details about a specific webhook subscription identified by the provided subscription ID using the GET method.
|
|
3547
3191
|
|
|
@@ -3556,15 +3200,13 @@ class MiroApp(APIApplication):
|
|
|
3556
3200
|
"""
|
|
3557
3201
|
if subscription_id is None:
|
|
3558
3202
|
raise ValueError("Missing required parameter 'subscription_id'")
|
|
3559
|
-
url =
|
|
3560
|
-
f"{self.base_url}/v2-experimental/webhooks/subscriptions/{subscription_id}"
|
|
3561
|
-
)
|
|
3203
|
+
url = f"{self.base_url}/v2-experimental/webhooks/subscriptions/{subscription_id}"
|
|
3562
3204
|
query_params = {}
|
|
3563
|
-
response = self.
|
|
3205
|
+
response = await self._aget(url, params=query_params)
|
|
3564
3206
|
response.raise_for_status()
|
|
3565
3207
|
return response.json()
|
|
3566
3208
|
|
|
3567
|
-
def delete_webhook_subscription(self, subscription_id) -> Any:
|
|
3209
|
+
async def delete_webhook_subscription(self, subscription_id) -> Any:
|
|
3568
3210
|
"""
|
|
3569
3211
|
Deletes a webhook subscription by a specified `subscription_id`, stopping the delivery of notifications associated with that subscription.
|
|
3570
3212
|
|
|
@@ -3579,15 +3221,13 @@ class MiroApp(APIApplication):
|
|
|
3579
3221
|
"""
|
|
3580
3222
|
if subscription_id is None:
|
|
3581
3223
|
raise ValueError("Missing required parameter 'subscription_id'")
|
|
3582
|
-
url =
|
|
3583
|
-
f"{self.base_url}/v2-experimental/webhooks/subscriptions/{subscription_id}"
|
|
3584
|
-
)
|
|
3224
|
+
url = f"{self.base_url}/v2-experimental/webhooks/subscriptions/{subscription_id}"
|
|
3585
3225
|
query_params = {}
|
|
3586
|
-
response = self.
|
|
3226
|
+
response = await self._adelete(url, params=query_params)
|
|
3587
3227
|
response.raise_for_status()
|
|
3588
3228
|
return response.json()
|
|
3589
3229
|
|
|
3590
|
-
def get_specific_mind_map_node(self, board_id, item_id) -> Any:
|
|
3230
|
+
async def get_specific_mind_map_node(self, board_id, item_id) -> Any:
|
|
3591
3231
|
"""
|
|
3592
3232
|
Retrieves a specific mind map node by ID from a specified board using the GET method.
|
|
3593
3233
|
|
|
@@ -3605,15 +3245,13 @@ class MiroApp(APIApplication):
|
|
|
3605
3245
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3606
3246
|
if item_id is None:
|
|
3607
3247
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3608
|
-
url =
|
|
3609
|
-
f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}"
|
|
3610
|
-
)
|
|
3248
|
+
url = f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}"
|
|
3611
3249
|
query_params = {}
|
|
3612
|
-
response = self.
|
|
3250
|
+
response = await self._aget(url, params=query_params)
|
|
3613
3251
|
response.raise_for_status()
|
|
3614
3252
|
return response.json()
|
|
3615
3253
|
|
|
3616
|
-
def delete_mind_map_node(self, board_id, item_id) -> Any:
|
|
3254
|
+
async def delete_mind_map_node(self, board_id, item_id) -> Any:
|
|
3617
3255
|
"""
|
|
3618
3256
|
Deletes a specified mindmap node from a board using the experimental v2 API.
|
|
3619
3257
|
|
|
@@ -3631,15 +3269,13 @@ class MiroApp(APIApplication):
|
|
|
3631
3269
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3632
3270
|
if item_id is None:
|
|
3633
3271
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3634
|
-
url =
|
|
3635
|
-
f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}"
|
|
3636
|
-
)
|
|
3272
|
+
url = f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}"
|
|
3637
3273
|
query_params = {}
|
|
3638
|
-
response = self.
|
|
3274
|
+
response = await self._adelete(url, params=query_params)
|
|
3639
3275
|
response.raise_for_status()
|
|
3640
3276
|
return response.json()
|
|
3641
3277
|
|
|
3642
|
-
def get_mind_map_nodes(self, board_id, limit=None, cursor=None) -> Any:
|
|
3278
|
+
async def get_mind_map_nodes(self, board_id, limit=None, cursor=None) -> Any:
|
|
3643
3279
|
"""
|
|
3644
3280
|
Retrieves a paginated list of mindmap nodes from a specified Miro board, supporting limit and cursor parameters for result pagination.
|
|
3645
3281
|
|
|
@@ -3657,16 +3293,12 @@ class MiroApp(APIApplication):
|
|
|
3657
3293
|
if board_id is None:
|
|
3658
3294
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3659
3295
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes"
|
|
3660
|
-
query_params = {
|
|
3661
|
-
|
|
3662
|
-
}
|
|
3663
|
-
response = self._get(url, params=query_params)
|
|
3296
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
3297
|
+
response = await self._aget(url, params=query_params)
|
|
3664
3298
|
response.raise_for_status()
|
|
3665
3299
|
return response.json()
|
|
3666
3300
|
|
|
3667
|
-
def create_mind_map_node(
|
|
3668
|
-
self, board_id, data=None, geometry=None, parent=None, position=None
|
|
3669
|
-
) -> Any:
|
|
3301
|
+
async def create_mind_map_node(self, board_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
3670
3302
|
"""
|
|
3671
3303
|
Creates a new mind map node in a specified Miro board using the POST method and returns a response upon successful creation.
|
|
3672
3304
|
|
|
@@ -3707,20 +3339,15 @@ class MiroApp(APIApplication):
|
|
|
3707
3339
|
"""
|
|
3708
3340
|
if board_id is None:
|
|
3709
3341
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3710
|
-
request_body = {
|
|
3711
|
-
"data": data,
|
|
3712
|
-
"geometry": geometry,
|
|
3713
|
-
"parent": parent,
|
|
3714
|
-
"position": position,
|
|
3715
|
-
}
|
|
3342
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
3716
3343
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3717
3344
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes"
|
|
3718
3345
|
query_params = {}
|
|
3719
|
-
response = self.
|
|
3346
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
3720
3347
|
response.raise_for_status()
|
|
3721
3348
|
return response.json()
|
|
3722
3349
|
|
|
3723
|
-
def get_items_on_board1(self, board_id, limit=None, type=None, cursor=None) -> Any:
|
|
3350
|
+
async def get_items_on_board1(self, board_id, limit=None, type=None, cursor=None) -> Any:
|
|
3724
3351
|
"""
|
|
3725
3352
|
Retrieves a paginated list of items from a specified board, filtered by type and limited by cursor-based pagination.
|
|
3726
3353
|
|
|
@@ -3739,18 +3366,12 @@ class MiroApp(APIApplication):
|
|
|
3739
3366
|
if board_id is None:
|
|
3740
3367
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3741
3368
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/items"
|
|
3742
|
-
query_params = {
|
|
3743
|
-
|
|
3744
|
-
for k, v in [("limit", limit), ("type", type), ("cursor", cursor)]
|
|
3745
|
-
if v is not None
|
|
3746
|
-
}
|
|
3747
|
-
response = self._get(url, params=query_params)
|
|
3369
|
+
query_params = {k: v for k, v in [("limit", limit), ("type", type), ("cursor", cursor)] if v is not None}
|
|
3370
|
+
response = await self._aget(url, params=query_params)
|
|
3748
3371
|
response.raise_for_status()
|
|
3749
3372
|
return response.json()
|
|
3750
3373
|
|
|
3751
|
-
def create_shape_item1(
|
|
3752
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
3753
|
-
) -> Any:
|
|
3374
|
+
async def create_shape_item1(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
3754
3375
|
"""
|
|
3755
3376
|
Creates a new shape on a board with the specified `board_id` using the API.
|
|
3756
3377
|
|
|
@@ -3804,21 +3425,15 @@ class MiroApp(APIApplication):
|
|
|
3804
3425
|
"""
|
|
3805
3426
|
if board_id is None:
|
|
3806
3427
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3807
|
-
request_body = {
|
|
3808
|
-
"data": data,
|
|
3809
|
-
"geometry": geometry,
|
|
3810
|
-
"parent": parent,
|
|
3811
|
-
"position": position,
|
|
3812
|
-
"style": style,
|
|
3813
|
-
}
|
|
3428
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3814
3429
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3815
3430
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/shapes"
|
|
3816
3431
|
query_params = {}
|
|
3817
|
-
response = self.
|
|
3432
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
3818
3433
|
response.raise_for_status()
|
|
3819
3434
|
return response.json()
|
|
3820
3435
|
|
|
3821
|
-
def get_shape_item1(self, board_id, item_id) -> Any:
|
|
3436
|
+
async def get_shape_item1(self, board_id, item_id) -> Any:
|
|
3822
3437
|
"""
|
|
3823
3438
|
Retrieves shape details from a specific item within a board, identified by the board ID and item ID.
|
|
3824
3439
|
|
|
@@ -3838,11 +3453,11 @@ class MiroApp(APIApplication):
|
|
|
3838
3453
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3839
3454
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/shapes/{item_id}"
|
|
3840
3455
|
query_params = {}
|
|
3841
|
-
response = self.
|
|
3456
|
+
response = await self._aget(url, params=query_params)
|
|
3842
3457
|
response.raise_for_status()
|
|
3843
3458
|
return response.json()
|
|
3844
3459
|
|
|
3845
|
-
def delete_shape_item1(self, board_id, item_id) -> Any:
|
|
3460
|
+
async def delete_shape_item1(self, board_id, item_id) -> Any:
|
|
3846
3461
|
"""
|
|
3847
3462
|
Deletes a specific shape from the specified board.
|
|
3848
3463
|
|
|
@@ -3862,20 +3477,11 @@ class MiroApp(APIApplication):
|
|
|
3862
3477
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3863
3478
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/shapes/{item_id}"
|
|
3864
3479
|
query_params = {}
|
|
3865
|
-
response = self.
|
|
3480
|
+
response = await self._adelete(url, params=query_params)
|
|
3866
3481
|
response.raise_for_status()
|
|
3867
3482
|
return response.json()
|
|
3868
3483
|
|
|
3869
|
-
def update_shape_item1(
|
|
3870
|
-
self,
|
|
3871
|
-
board_id,
|
|
3872
|
-
item_id,
|
|
3873
|
-
data=None,
|
|
3874
|
-
geometry=None,
|
|
3875
|
-
parent=None,
|
|
3876
|
-
position=None,
|
|
3877
|
-
style=None,
|
|
3878
|
-
) -> Any:
|
|
3484
|
+
async def update_shape_item1(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
3879
3485
|
"""
|
|
3880
3486
|
Updates a specific shape on a board and returns a status message.
|
|
3881
3487
|
|
|
@@ -3932,13 +3538,7 @@ class MiroApp(APIApplication):
|
|
|
3932
3538
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3933
3539
|
if item_id is None:
|
|
3934
3540
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3935
|
-
request_body = {
|
|
3936
|
-
"data": data,
|
|
3937
|
-
"geometry": geometry,
|
|
3938
|
-
"parent": parent,
|
|
3939
|
-
"position": position,
|
|
3940
|
-
"style": style,
|
|
3941
|
-
}
|
|
3541
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3942
3542
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3943
3543
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/shapes/{item_id}"
|
|
3944
3544
|
query_params = {}
|
|
@@ -3946,7 +3546,7 @@ class MiroApp(APIApplication):
|
|
|
3946
3546
|
response.raise_for_status()
|
|
3947
3547
|
return response.json()
|
|
3948
3548
|
|
|
3949
|
-
def get_all_groups_on_aboard(self, board_id, limit=None, cursor=None) -> Any:
|
|
3549
|
+
async def get_all_groups_on_aboard(self, board_id, limit=None, cursor=None) -> Any:
|
|
3950
3550
|
"""
|
|
3951
3551
|
Retrieves a list of groups associated with a specified board, allowing for pagination with optional limit and cursor parameters.
|
|
3952
3552
|
|
|
@@ -3964,14 +3564,12 @@ class MiroApp(APIApplication):
|
|
|
3964
3564
|
if board_id is None:
|
|
3965
3565
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3966
3566
|
url = f"{self.base_url}/v2/boards/{board_id}/groups"
|
|
3967
|
-
query_params = {
|
|
3968
|
-
|
|
3969
|
-
}
|
|
3970
|
-
response = self._get(url, params=query_params)
|
|
3567
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
3568
|
+
response = await self._aget(url, params=query_params)
|
|
3971
3569
|
response.raise_for_status()
|
|
3972
3570
|
return response.json()
|
|
3973
3571
|
|
|
3974
|
-
def create_group(self, board_id, data=None) -> Any:
|
|
3572
|
+
async def create_group(self, board_id, data=None) -> Any:
|
|
3975
3573
|
"""
|
|
3976
3574
|
Creates a new group in the specified board using the provided board ID and returns a success status.
|
|
3977
3575
|
|
|
@@ -3998,19 +3596,15 @@ class MiroApp(APIApplication):
|
|
|
3998
3596
|
"""
|
|
3999
3597
|
if board_id is None:
|
|
4000
3598
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4001
|
-
request_body = {
|
|
4002
|
-
"data": data,
|
|
4003
|
-
}
|
|
3599
|
+
request_body = {"data": data}
|
|
4004
3600
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4005
3601
|
url = f"{self.base_url}/v2/boards/{board_id}/groups"
|
|
4006
3602
|
query_params = {}
|
|
4007
|
-
response = self.
|
|
3603
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
4008
3604
|
response.raise_for_status()
|
|
4009
3605
|
return response.json()
|
|
4010
3606
|
|
|
4011
|
-
def get_items_of_agroup_by_id(
|
|
4012
|
-
self, board_id, limit=None, cursor=None, group_item_id=None
|
|
4013
|
-
) -> Any:
|
|
3607
|
+
async def get_items_of_agroup_by_id(self, board_id, limit=None, cursor=None, group_item_id=None) -> Any:
|
|
4014
3608
|
"""
|
|
4015
3609
|
Retrieves a paginated list of group items for a specific board, optionally filtered by group item ID, with cursor-based pagination support.
|
|
4016
3610
|
|
|
@@ -4029,20 +3623,12 @@ class MiroApp(APIApplication):
|
|
|
4029
3623
|
if board_id is None:
|
|
4030
3624
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4031
3625
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/items"
|
|
4032
|
-
query_params = {
|
|
4033
|
-
|
|
4034
|
-
for k, v in [
|
|
4035
|
-
("limit", limit),
|
|
4036
|
-
("cursor", cursor),
|
|
4037
|
-
("group_item_id", group_item_id),
|
|
4038
|
-
]
|
|
4039
|
-
if v is not None
|
|
4040
|
-
}
|
|
4041
|
-
response = self._get(url, params=query_params)
|
|
3626
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor), ("group_item_id", group_item_id)] if v is not None}
|
|
3627
|
+
response = await self._aget(url, params=query_params)
|
|
4042
3628
|
response.raise_for_status()
|
|
4043
3629
|
return response.json()
|
|
4044
3630
|
|
|
4045
|
-
def get_agroup_by_its_id(self, board_id, group_id) -> Any:
|
|
3631
|
+
async def get_agroup_by_its_id(self, board_id, group_id) -> Any:
|
|
4046
3632
|
"""
|
|
4047
3633
|
Retrieves a group associated with a specific board from the API.
|
|
4048
3634
|
|
|
@@ -4062,11 +3648,11 @@ class MiroApp(APIApplication):
|
|
|
4062
3648
|
raise ValueError("Missing required parameter 'group_id'")
|
|
4063
3649
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/{group_id}"
|
|
4064
3650
|
query_params = {}
|
|
4065
|
-
response = self.
|
|
3651
|
+
response = await self._aget(url, params=query_params)
|
|
4066
3652
|
response.raise_for_status()
|
|
4067
3653
|
return response.json()
|
|
4068
3654
|
|
|
4069
|
-
def updates_agroup_with_new_items(self, board_id, group_id, data=None) -> Any:
|
|
3655
|
+
async def updates_agroup_with_new_items(self, board_id, group_id, data=None) -> Any:
|
|
4070
3656
|
"""
|
|
4071
3657
|
Updates a group on a specific board using the provided group ID and board ID.
|
|
4072
3658
|
|
|
@@ -4096,17 +3682,15 @@ class MiroApp(APIApplication):
|
|
|
4096
3682
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4097
3683
|
if group_id is None:
|
|
4098
3684
|
raise ValueError("Missing required parameter 'group_id'")
|
|
4099
|
-
request_body = {
|
|
4100
|
-
"data": data,
|
|
4101
|
-
}
|
|
3685
|
+
request_body = {"data": data}
|
|
4102
3686
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4103
3687
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/{group_id}"
|
|
4104
3688
|
query_params = {}
|
|
4105
|
-
response = self.
|
|
3689
|
+
response = await self._aput(url, data=request_body, params=query_params)
|
|
4106
3690
|
response.raise_for_status()
|
|
4107
3691
|
return response.json()
|
|
4108
3692
|
|
|
4109
|
-
def ungroup_items(self, board_id, group_id, delete_items=None) -> Any:
|
|
3693
|
+
async def ungroup_items(self, board_id, group_id, delete_items=None) -> Any:
|
|
4110
3694
|
"""
|
|
4111
3695
|
Deletes a group from a specified board using the DELETE method, optionally allowing for the deletion of associated items.
|
|
4112
3696
|
|
|
@@ -4126,14 +3710,12 @@ class MiroApp(APIApplication):
|
|
|
4126
3710
|
if group_id is None:
|
|
4127
3711
|
raise ValueError("Missing required parameter 'group_id'")
|
|
4128
3712
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/{group_id}"
|
|
4129
|
-
query_params = {
|
|
4130
|
-
|
|
4131
|
-
}
|
|
4132
|
-
response = self._delete(url, params=query_params)
|
|
3713
|
+
query_params = {k: v for k, v in [("delete_items", delete_items)] if v is not None}
|
|
3714
|
+
response = await self._adelete(url, params=query_params)
|
|
4133
3715
|
response.raise_for_status()
|
|
4134
3716
|
return response.json()
|
|
4135
3717
|
|
|
4136
|
-
def deletes_the_group(self, board_id, delete_items=None) -> Any:
|
|
3718
|
+
async def deletes_the_group(self, board_id, delete_items=None) -> Any:
|
|
4137
3719
|
"""
|
|
4138
3720
|
Deletes a group from a specified board, with an option to delete associated items, and returns a success status.
|
|
4139
3721
|
|
|
@@ -4151,16 +3733,12 @@ class MiroApp(APIApplication):
|
|
|
4151
3733
|
if board_id is None:
|
|
4152
3734
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4153
3735
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/<string>"
|
|
4154
|
-
query_params = {
|
|
4155
|
-
|
|
4156
|
-
}
|
|
4157
|
-
response = self._delete(url, params=query_params)
|
|
3736
|
+
query_params = {k: v for k, v in [("delete_items", delete_items)] if v is not None}
|
|
3737
|
+
response = await self._adelete(url, params=query_params)
|
|
4158
3738
|
response.raise_for_status()
|
|
4159
3739
|
return response.json()
|
|
4160
3740
|
|
|
4161
|
-
def revoke_token_v2(
|
|
4162
|
-
self, accessToken=None, clientId=None, clientSecret=None
|
|
4163
|
-
) -> Any:
|
|
3741
|
+
async def revoke_token_v2(self, accessToken=None, clientId=None, clientSecret=None) -> Any:
|
|
4164
3742
|
"""
|
|
4165
3743
|
Revokes an OAuth 2.0 access or refresh token at the authorization server's revocation endpoint and returns a successful status upon invalidation.
|
|
4166
3744
|
|
|
@@ -4183,19 +3761,15 @@ class MiroApp(APIApplication):
|
|
|
4183
3761
|
Tags:
|
|
4184
3762
|
OAuth
|
|
4185
3763
|
"""
|
|
4186
|
-
request_body = {
|
|
4187
|
-
"accessToken": accessToken,
|
|
4188
|
-
"clientId": clientId,
|
|
4189
|
-
"clientSecret": clientSecret,
|
|
4190
|
-
}
|
|
3764
|
+
request_body = {"accessToken": accessToken, "clientId": clientId, "clientSecret": clientSecret}
|
|
4191
3765
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4192
3766
|
url = f"{self.base_url}/v2/oauth/revoke"
|
|
4193
3767
|
query_params = {}
|
|
4194
|
-
response = self.
|
|
3768
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
4195
3769
|
response.raise_for_status()
|
|
4196
3770
|
return response.json()
|
|
4197
3771
|
|
|
4198
|
-
def get_tags_from_item(self, board_id, item_id) -> Any:
|
|
3772
|
+
async def get_tags_from_item(self, board_id, item_id) -> Any:
|
|
4199
3773
|
"""
|
|
4200
3774
|
Retrieves tags associated with a specific item on a board using the API.
|
|
4201
3775
|
|
|
@@ -4215,11 +3789,11 @@ class MiroApp(APIApplication):
|
|
|
4215
3789
|
raise ValueError("Missing required parameter 'item_id'")
|
|
4216
3790
|
url = f"{self.base_url}/v2/boards/{board_id}/items/{item_id}/tags"
|
|
4217
3791
|
query_params = {}
|
|
4218
|
-
response = self.
|
|
3792
|
+
response = await self._aget(url, params=query_params)
|
|
4219
3793
|
response.raise_for_status()
|
|
4220
3794
|
return response.json()
|
|
4221
3795
|
|
|
4222
|
-
def get_tags_from_board(self, board_id, limit=None, offset=None) -> Any:
|
|
3796
|
+
async def get_tags_from_board(self, board_id, limit=None, offset=None) -> Any:
|
|
4223
3797
|
"""
|
|
4224
3798
|
Retrieves a list of tags associated with a specific board, allowing for pagination control via limit and offset parameters.
|
|
4225
3799
|
|
|
@@ -4237,14 +3811,12 @@ class MiroApp(APIApplication):
|
|
|
4237
3811
|
if board_id is None:
|
|
4238
3812
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4239
3813
|
url = f"{self.base_url}/v2/boards/{board_id}/tags"
|
|
4240
|
-
query_params = {
|
|
4241
|
-
|
|
4242
|
-
}
|
|
4243
|
-
response = self._get(url, params=query_params)
|
|
3814
|
+
query_params = {k: v for k, v in [("limit", limit), ("offset", offset)] if v is not None}
|
|
3815
|
+
response = await self._aget(url, params=query_params)
|
|
4244
3816
|
response.raise_for_status()
|
|
4245
3817
|
return response.json()
|
|
4246
3818
|
|
|
4247
|
-
def create_tag(self, board_id, fillColor=None, title=None) -> Any:
|
|
3819
|
+
async def create_tag(self, board_id, fillColor=None, title=None) -> Any:
|
|
4248
3820
|
"""
|
|
4249
3821
|
Creates and adds new tags to a specific board using the provided board ID.
|
|
4250
3822
|
|
|
@@ -4268,18 +3840,15 @@ class MiroApp(APIApplication):
|
|
|
4268
3840
|
"""
|
|
4269
3841
|
if board_id is None:
|
|
4270
3842
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4271
|
-
request_body = {
|
|
4272
|
-
"fillColor": fillColor,
|
|
4273
|
-
"title": title,
|
|
4274
|
-
}
|
|
3843
|
+
request_body = {"fillColor": fillColor, "title": title}
|
|
4275
3844
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4276
3845
|
url = f"{self.base_url}/v2/boards/{board_id}/tags"
|
|
4277
3846
|
query_params = {}
|
|
4278
|
-
response = self.
|
|
3847
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
4279
3848
|
response.raise_for_status()
|
|
4280
3849
|
return response.json()
|
|
4281
3850
|
|
|
4282
|
-
def get_tag(self, board_id, tag_id) -> Any:
|
|
3851
|
+
async def get_tag(self, board_id, tag_id) -> Any:
|
|
4283
3852
|
"""
|
|
4284
3853
|
Retrieves information about a specific tag associated with a board, identified by the board ID and tag ID, using the GET method.
|
|
4285
3854
|
|
|
@@ -4299,11 +3868,11 @@ class MiroApp(APIApplication):
|
|
|
4299
3868
|
raise ValueError("Missing required parameter 'tag_id'")
|
|
4300
3869
|
url = f"{self.base_url}/v2/boards/{board_id}/tags/{tag_id}"
|
|
4301
3870
|
query_params = {}
|
|
4302
|
-
response = self.
|
|
3871
|
+
response = await self._aget(url, params=query_params)
|
|
4303
3872
|
response.raise_for_status()
|
|
4304
3873
|
return response.json()
|
|
4305
3874
|
|
|
4306
|
-
def delete_tag(self, board_id, tag_id) -> Any:
|
|
3875
|
+
async def delete_tag(self, board_id, tag_id) -> Any:
|
|
4307
3876
|
"""
|
|
4308
3877
|
Deletes a tag from a specific board using the API and returns a successful status message.
|
|
4309
3878
|
|
|
@@ -4323,11 +3892,11 @@ class MiroApp(APIApplication):
|
|
|
4323
3892
|
raise ValueError("Missing required parameter 'tag_id'")
|
|
4324
3893
|
url = f"{self.base_url}/v2/boards/{board_id}/tags/{tag_id}"
|
|
4325
3894
|
query_params = {}
|
|
4326
|
-
response = self.
|
|
3895
|
+
response = await self._adelete(url, params=query_params)
|
|
4327
3896
|
response.raise_for_status()
|
|
4328
3897
|
return response.json()
|
|
4329
3898
|
|
|
4330
|
-
def update_tag(self, board_id, tag_id, fillColor=None, title=None) -> Any:
|
|
3899
|
+
async def update_tag(self, board_id, tag_id, fillColor=None, title=None) -> Any:
|
|
4331
3900
|
"""
|
|
4332
3901
|
Updates a tag associated with a specific board by modifying its details using the specified `board_id` and `tag_id`.
|
|
4333
3902
|
|
|
@@ -4354,10 +3923,7 @@ class MiroApp(APIApplication):
|
|
|
4354
3923
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4355
3924
|
if tag_id is None:
|
|
4356
3925
|
raise ValueError("Missing required parameter 'tag_id'")
|
|
4357
|
-
request_body = {
|
|
4358
|
-
"fillColor": fillColor,
|
|
4359
|
-
"title": title,
|
|
4360
|
-
}
|
|
3926
|
+
request_body = {"fillColor": fillColor, "title": title}
|
|
4361
3927
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4362
3928
|
url = f"{self.base_url}/v2/boards/{board_id}/tags/{tag_id}"
|
|
4363
3929
|
query_params = {}
|
|
@@ -4365,9 +3931,7 @@ class MiroApp(APIApplication):
|
|
|
4365
3931
|
response.raise_for_status()
|
|
4366
3932
|
return response.json()
|
|
4367
3933
|
|
|
4368
|
-
def get_items_by_tag(
|
|
4369
|
-
self, board_id_PlatformTags, limit=None, offset=None, tag_id=None
|
|
4370
|
-
) -> Any:
|
|
3934
|
+
async def get_items_by_tag(self, board_id_PlatformTags, limit=None, offset=None, tag_id=None) -> Any:
|
|
4371
3935
|
"""
|
|
4372
3936
|
Retrieves paginated items from a specific board's platform tags, optionally filtered by tag ID.
|
|
4373
3937
|
|
|
@@ -4386,16 +3950,12 @@ class MiroApp(APIApplication):
|
|
|
4386
3950
|
if board_id_PlatformTags is None:
|
|
4387
3951
|
raise ValueError("Missing required parameter 'board_id_PlatformTags'")
|
|
4388
3952
|
url = f"{self.base_url}/v2/boards/{board_id_PlatformTags}/items"
|
|
4389
|
-
query_params = {
|
|
4390
|
-
|
|
4391
|
-
for k, v in [("limit", limit), ("offset", offset), ("tag_id", tag_id)]
|
|
4392
|
-
if v is not None
|
|
4393
|
-
}
|
|
4394
|
-
response = self._get(url, params=query_params)
|
|
3953
|
+
query_params = {k: v for k, v in [("limit", limit), ("offset", offset), ("tag_id", tag_id)] if v is not None}
|
|
3954
|
+
response = await self._aget(url, params=query_params)
|
|
4395
3955
|
response.raise_for_status()
|
|
4396
3956
|
return response.json()
|
|
4397
3957
|
|
|
4398
|
-
def attach_tag_to_item(self, board_id_PlatformTags, item_id, tag_id=None) -> Any:
|
|
3958
|
+
async def attach_tag_to_item(self, board_id_PlatformTags, item_id, tag_id=None) -> Any:
|
|
4399
3959
|
"""
|
|
4400
3960
|
Adds an item to a board with specific platform tags using the POST method, optionally specifying a tag ID in the query parameters.
|
|
4401
3961
|
|
|
@@ -4416,11 +3976,11 @@ class MiroApp(APIApplication):
|
|
|
4416
3976
|
raise ValueError("Missing required parameter 'item_id'")
|
|
4417
3977
|
url = f"{self.base_url}/v2/boards/{board_id_PlatformTags}/items/{item_id}"
|
|
4418
3978
|
query_params = {k: v for k, v in [("tag_id", tag_id)] if v is not None}
|
|
4419
|
-
response = self.
|
|
3979
|
+
response = await self._apost(url, data={}, params=query_params)
|
|
4420
3980
|
response.raise_for_status()
|
|
4421
3981
|
return response.json()
|
|
4422
3982
|
|
|
4423
|
-
def remove_tag_from_item(self, board_id_PlatformTags, item_id, tag_id=None) -> Any:
|
|
3983
|
+
async def remove_tag_from_item(self, board_id_PlatformTags, item_id, tag_id=None) -> Any:
|
|
4424
3984
|
"""
|
|
4425
3985
|
Deletes a specific item from a board's PlatformTags collection, requiring a tag_id parameter for identification.
|
|
4426
3986
|
|
|
@@ -4441,11 +4001,11 @@ class MiroApp(APIApplication):
|
|
|
4441
4001
|
raise ValueError("Missing required parameter 'item_id'")
|
|
4442
4002
|
url = f"{self.base_url}/v2/boards/{board_id_PlatformTags}/items/{item_id}"
|
|
4443
4003
|
query_params = {k: v for k, v in [("tag_id", tag_id)] if v is not None}
|
|
4444
|
-
response = self.
|
|
4004
|
+
response = await self._adelete(url, params=query_params)
|
|
4445
4005
|
response.raise_for_status()
|
|
4446
4006
|
return response.json()
|
|
4447
4007
|
|
|
4448
|
-
def list_of_projects(self, org_id, team_id, limit=None, cursor=None) -> Any:
|
|
4008
|
+
async def list_of_projects(self, org_id, team_id, limit=None, cursor=None) -> Any:
|
|
4449
4009
|
"""
|
|
4450
4010
|
Retrieves a list of projects for a specified team within an organization, allowing pagination via limit and cursor parameters.
|
|
4451
4011
|
|
|
@@ -4466,14 +4026,12 @@ class MiroApp(APIApplication):
|
|
|
4466
4026
|
if team_id is None:
|
|
4467
4027
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4468
4028
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects"
|
|
4469
|
-
query_params = {
|
|
4470
|
-
|
|
4471
|
-
}
|
|
4472
|
-
response = self._get(url, params=query_params)
|
|
4029
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
4030
|
+
response = await self._aget(url, params=query_params)
|
|
4473
4031
|
response.raise_for_status()
|
|
4474
4032
|
return response.json()
|
|
4475
4033
|
|
|
4476
|
-
def create_project(self, org_id, team_id, name=None) -> Any:
|
|
4034
|
+
async def create_project(self, org_id, team_id, name=None) -> Any:
|
|
4477
4035
|
"""
|
|
4478
4036
|
Assigns a project to a team within an organization using a POST request and returns a success status upon completion.
|
|
4479
4037
|
|
|
@@ -4498,17 +4056,15 @@ class MiroApp(APIApplication):
|
|
|
4498
4056
|
raise ValueError("Missing required parameter 'org_id'")
|
|
4499
4057
|
if team_id is None:
|
|
4500
4058
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4501
|
-
request_body = {
|
|
4502
|
-
"name": name,
|
|
4503
|
-
}
|
|
4059
|
+
request_body = {"name": name}
|
|
4504
4060
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4505
4061
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects"
|
|
4506
4062
|
query_params = {}
|
|
4507
|
-
response = self.
|
|
4063
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
4508
4064
|
response.raise_for_status()
|
|
4509
4065
|
return response.json()
|
|
4510
4066
|
|
|
4511
|
-
def get_project(self, org_id, team_id, project_id) -> Any:
|
|
4067
|
+
async def get_project(self, org_id, team_id, project_id) -> Any:
|
|
4512
4068
|
"""
|
|
4513
4069
|
Retrieves project details for a specific team within an organization.
|
|
4514
4070
|
|
|
@@ -4531,11 +4087,11 @@ class MiroApp(APIApplication):
|
|
|
4531
4087
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4532
4088
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}"
|
|
4533
4089
|
query_params = {}
|
|
4534
|
-
response = self.
|
|
4090
|
+
response = await self._aget(url, params=query_params)
|
|
4535
4091
|
response.raise_for_status()
|
|
4536
4092
|
return response.json()
|
|
4537
4093
|
|
|
4538
|
-
def delete_project(self, org_id, team_id, project_id) -> Any:
|
|
4094
|
+
async def delete_project(self, org_id, team_id, project_id) -> Any:
|
|
4539
4095
|
"""
|
|
4540
4096
|
Deletes a specific organization's team project and returns a success message upon removal.
|
|
4541
4097
|
|
|
@@ -4558,11 +4114,11 @@ class MiroApp(APIApplication):
|
|
|
4558
4114
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4559
4115
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}"
|
|
4560
4116
|
query_params = {}
|
|
4561
|
-
response = self.
|
|
4117
|
+
response = await self._adelete(url, params=query_params)
|
|
4562
4118
|
response.raise_for_status()
|
|
4563
4119
|
return response.json()
|
|
4564
4120
|
|
|
4565
|
-
def update_project(self, org_id, team_id, project_id, name=None) -> Any:
|
|
4121
|
+
async def update_project(self, org_id, team_id, project_id, name=None) -> Any:
|
|
4566
4122
|
"""
|
|
4567
4123
|
Updates project details within the specified team and organization using the PATCH method and returns a successful response upon completion.
|
|
4568
4124
|
|
|
@@ -4590,9 +4146,7 @@ class MiroApp(APIApplication):
|
|
|
4590
4146
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4591
4147
|
if project_id is None:
|
|
4592
4148
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4593
|
-
request_body = {
|
|
4594
|
-
"name": name,
|
|
4595
|
-
}
|
|
4149
|
+
request_body = {"name": name}
|
|
4596
4150
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4597
4151
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}"
|
|
4598
4152
|
query_params = {}
|
|
@@ -4600,7 +4154,7 @@ class MiroApp(APIApplication):
|
|
|
4600
4154
|
response.raise_for_status()
|
|
4601
4155
|
return response.json()
|
|
4602
4156
|
|
|
4603
|
-
def get_project_settings(self, org_id, team_id, project_id) -> Any:
|
|
4157
|
+
async def get_project_settings(self, org_id, team_id, project_id) -> Any:
|
|
4604
4158
|
"""
|
|
4605
4159
|
Retrieves the settings for a specified organization's team project.
|
|
4606
4160
|
|
|
@@ -4623,13 +4177,11 @@ class MiroApp(APIApplication):
|
|
|
4623
4177
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4624
4178
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings"
|
|
4625
4179
|
query_params = {}
|
|
4626
|
-
response = self.
|
|
4180
|
+
response = await self._aget(url, params=query_params)
|
|
4627
4181
|
response.raise_for_status()
|
|
4628
4182
|
return response.json()
|
|
4629
4183
|
|
|
4630
|
-
def update_project_settings(
|
|
4631
|
-
self, org_id, team_id, project_id, sharingPolicySettings=None
|
|
4632
|
-
) -> Any:
|
|
4184
|
+
async def update_project_settings(self, org_id, team_id, project_id, sharingPolicySettings=None) -> Any:
|
|
4633
4185
|
"""
|
|
4634
4186
|
Updates organization, team, and project settings for the specified project.
|
|
4635
4187
|
|
|
@@ -4659,9 +4211,7 @@ class MiroApp(APIApplication):
|
|
|
4659
4211
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4660
4212
|
if project_id is None:
|
|
4661
4213
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4662
|
-
request_body = {
|
|
4663
|
-
"sharingPolicySettings": sharingPolicySettings,
|
|
4664
|
-
}
|
|
4214
|
+
request_body = {"sharingPolicySettings": sharingPolicySettings}
|
|
4665
4215
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4666
4216
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings"
|
|
4667
4217
|
query_params = {}
|
|
@@ -4669,9 +4219,7 @@ class MiroApp(APIApplication):
|
|
|
4669
4219
|
response.raise_for_status()
|
|
4670
4220
|
return response.json()
|
|
4671
4221
|
|
|
4672
|
-
def list_of_project_members(
|
|
4673
|
-
self, org_id, team_id, project_id, limit=None, cursor=None
|
|
4674
|
-
) -> Any:
|
|
4222
|
+
async def list_of_project_members(self, org_id, team_id, project_id, limit=None, cursor=None) -> Any:
|
|
4675
4223
|
"""
|
|
4676
4224
|
Retrieves a list of members in a specific project within a team for an organization using the provided limit and cursor query parameters.
|
|
4677
4225
|
|
|
@@ -4695,16 +4243,12 @@ class MiroApp(APIApplication):
|
|
|
4695
4243
|
if project_id is None:
|
|
4696
4244
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4697
4245
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members"
|
|
4698
|
-
query_params = {
|
|
4699
|
-
|
|
4700
|
-
}
|
|
4701
|
-
response = self._get(url, params=query_params)
|
|
4246
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
4247
|
+
response = await self._aget(url, params=query_params)
|
|
4702
4248
|
response.raise_for_status()
|
|
4703
4249
|
return response.json()
|
|
4704
4250
|
|
|
4705
|
-
def add_member_in_aproject(
|
|
4706
|
-
self, org_id, team_id, project_id, email=None, role=None
|
|
4707
|
-
) -> Any:
|
|
4251
|
+
async def add_member_in_aproject(self, org_id, team_id, project_id, email=None, role=None) -> Any:
|
|
4708
4252
|
"""
|
|
4709
4253
|
Adds a member to a specified project within a team and organization.
|
|
4710
4254
|
|
|
@@ -4734,18 +4278,15 @@ class MiroApp(APIApplication):
|
|
|
4734
4278
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4735
4279
|
if project_id is None:
|
|
4736
4280
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4737
|
-
request_body = {
|
|
4738
|
-
"email": email,
|
|
4739
|
-
"role": role,
|
|
4740
|
-
}
|
|
4281
|
+
request_body = {"email": email, "role": role}
|
|
4741
4282
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4742
4283
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members"
|
|
4743
4284
|
query_params = {}
|
|
4744
|
-
response = self.
|
|
4285
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
4745
4286
|
response.raise_for_status()
|
|
4746
4287
|
return response.json()
|
|
4747
4288
|
|
|
4748
|
-
def get_project_member(self, org_id, team_id, project_id, member_id) -> Any:
|
|
4289
|
+
async def get_project_member(self, org_id, team_id, project_id, member_id) -> Any:
|
|
4749
4290
|
"""
|
|
4750
4291
|
Retrieves a specific member's details from a project team within an organization.
|
|
4751
4292
|
|
|
@@ -4771,11 +4312,11 @@ class MiroApp(APIApplication):
|
|
|
4771
4312
|
raise ValueError("Missing required parameter 'member_id'")
|
|
4772
4313
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}"
|
|
4773
4314
|
query_params = {}
|
|
4774
|
-
response = self.
|
|
4315
|
+
response = await self._aget(url, params=query_params)
|
|
4775
4316
|
response.raise_for_status()
|
|
4776
4317
|
return response.json()
|
|
4777
4318
|
|
|
4778
|
-
def remove_project_member(self, org_id, team_id, project_id, member_id) -> Any:
|
|
4319
|
+
async def remove_project_member(self, org_id, team_id, project_id, member_id) -> Any:
|
|
4779
4320
|
"""
|
|
4780
4321
|
Deletes a member from a specific project within a team in an organization using the provided member ID.
|
|
4781
4322
|
|
|
@@ -4801,13 +4342,11 @@ class MiroApp(APIApplication):
|
|
|
4801
4342
|
raise ValueError("Missing required parameter 'member_id'")
|
|
4802
4343
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}"
|
|
4803
4344
|
query_params = {}
|
|
4804
|
-
response = self.
|
|
4345
|
+
response = await self._adelete(url, params=query_params)
|
|
4805
4346
|
response.raise_for_status()
|
|
4806
4347
|
return response.json()
|
|
4807
4348
|
|
|
4808
|
-
def update_project_member(
|
|
4809
|
-
self, org_id, team_id, project_id, member_id, role=None
|
|
4810
|
-
) -> Any:
|
|
4349
|
+
async def update_project_member(self, org_id, team_id, project_id, member_id, role=None) -> Any:
|
|
4811
4350
|
"""
|
|
4812
4351
|
Updates team member information in an organization project using the "PATCH" method and returns a successful status response.
|
|
4813
4352
|
|
|
@@ -4838,9 +4377,7 @@ class MiroApp(APIApplication):
|
|
|
4838
4377
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4839
4378
|
if member_id is None:
|
|
4840
4379
|
raise ValueError("Missing required parameter 'member_id'")
|
|
4841
|
-
request_body = {
|
|
4842
|
-
"role": role,
|
|
4843
|
-
}
|
|
4380
|
+
request_body = {"role": role}
|
|
4844
4381
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4845
4382
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}"
|
|
4846
4383
|
query_params = {}
|
|
@@ -4848,7 +4385,7 @@ class MiroApp(APIApplication):
|
|
|
4848
4385
|
response.raise_for_status()
|
|
4849
4386
|
return response.json()
|
|
4850
4387
|
|
|
4851
|
-
def list_teams(self, org_id, limit=None, cursor=None, name=None) -> Any:
|
|
4388
|
+
async def list_teams(self, org_id, limit=None, cursor=None, name=None) -> Any:
|
|
4852
4389
|
"""
|
|
4853
4390
|
Retrieves a paginated list of teams for a specified organization with optional filtering by name.
|
|
4854
4391
|
|
|
@@ -4867,16 +4404,12 @@ class MiroApp(APIApplication):
|
|
|
4867
4404
|
if org_id is None:
|
|
4868
4405
|
raise ValueError("Missing required parameter 'org_id'")
|
|
4869
4406
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams"
|
|
4870
|
-
query_params = {
|
|
4871
|
-
|
|
4872
|
-
for k, v in [("limit", limit), ("cursor", cursor), ("name", name)]
|
|
4873
|
-
if v is not None
|
|
4874
|
-
}
|
|
4875
|
-
response = self._get(url, params=query_params)
|
|
4407
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor), ("name", name)] if v is not None}
|
|
4408
|
+
response = await self._aget(url, params=query_params)
|
|
4876
4409
|
response.raise_for_status()
|
|
4877
4410
|
return response.json()
|
|
4878
4411
|
|
|
4879
|
-
def create_team(self, org_id, name=None) -> Any:
|
|
4412
|
+
async def create_team(self, org_id, name=None) -> Any:
|
|
4880
4413
|
"""
|
|
4881
4414
|
Creates a new team within the specified organization using the POST method.
|
|
4882
4415
|
|
|
@@ -4898,17 +4431,15 @@ class MiroApp(APIApplication):
|
|
|
4898
4431
|
"""
|
|
4899
4432
|
if org_id is None:
|
|
4900
4433
|
raise ValueError("Missing required parameter 'org_id'")
|
|
4901
|
-
request_body = {
|
|
4902
|
-
"name": name,
|
|
4903
|
-
}
|
|
4434
|
+
request_body = {"name": name}
|
|
4904
4435
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4905
4436
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams"
|
|
4906
4437
|
query_params = {}
|
|
4907
|
-
response = self.
|
|
4438
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
4908
4439
|
response.raise_for_status()
|
|
4909
4440
|
return response.json()
|
|
4910
4441
|
|
|
4911
|
-
def get_team(self, org_id, team_id) -> Any:
|
|
4442
|
+
async def get_team(self, org_id, team_id) -> Any:
|
|
4912
4443
|
"""
|
|
4913
4444
|
Retrieves team details for the specified organization and team ID.
|
|
4914
4445
|
|
|
@@ -4928,11 +4459,11 @@ class MiroApp(APIApplication):
|
|
|
4928
4459
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4929
4460
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}"
|
|
4930
4461
|
query_params = {}
|
|
4931
|
-
response = self.
|
|
4462
|
+
response = await self._aget(url, params=query_params)
|
|
4932
4463
|
response.raise_for_status()
|
|
4933
4464
|
return response.json()
|
|
4934
4465
|
|
|
4935
|
-
def delete_team(self, org_id, team_id) -> Any:
|
|
4466
|
+
async def delete_team(self, org_id, team_id) -> Any:
|
|
4936
4467
|
"""
|
|
4937
4468
|
Deletes a team within an organization using the specified organization and team IDs.
|
|
4938
4469
|
|
|
@@ -4952,11 +4483,11 @@ class MiroApp(APIApplication):
|
|
|
4952
4483
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4953
4484
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}"
|
|
4954
4485
|
query_params = {}
|
|
4955
|
-
response = self.
|
|
4486
|
+
response = await self._adelete(url, params=query_params)
|
|
4956
4487
|
response.raise_for_status()
|
|
4957
4488
|
return response.json()
|
|
4958
4489
|
|
|
4959
|
-
def update_team(self, org_id, team_id, name=None) -> Any:
|
|
4490
|
+
async def update_team(self, org_id, team_id, name=None) -> Any:
|
|
4960
4491
|
"""
|
|
4961
4492
|
Updates specific properties of a team within an organization using partial modifications.
|
|
4962
4493
|
|
|
@@ -4981,9 +4512,7 @@ class MiroApp(APIApplication):
|
|
|
4981
4512
|
raise ValueError("Missing required parameter 'org_id'")
|
|
4982
4513
|
if team_id is None:
|
|
4983
4514
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4984
|
-
request_body = {
|
|
4985
|
-
"name": name,
|
|
4986
|
-
}
|
|
4515
|
+
request_body = {"name": name}
|
|
4987
4516
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4988
4517
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}"
|
|
4989
4518
|
query_params = {}
|
|
@@ -4991,9 +4520,7 @@ class MiroApp(APIApplication):
|
|
|
4991
4520
|
response.raise_for_status()
|
|
4992
4521
|
return response.json()
|
|
4993
4522
|
|
|
4994
|
-
def list_team_members(
|
|
4995
|
-
self, org_id, team_id, limit=None, cursor=None, role=None
|
|
4996
|
-
) -> Any:
|
|
4523
|
+
async def list_team_members(self, org_id, team_id, limit=None, cursor=None, role=None) -> Any:
|
|
4997
4524
|
"""
|
|
4998
4525
|
Retrieves a paginated list of members for a specified team within an organization, optionally filtered by role.
|
|
4999
4526
|
|
|
@@ -5019,16 +4546,12 @@ class MiroApp(APIApplication):
|
|
|
5019
4546
|
if team_id is None:
|
|
5020
4547
|
raise ValueError("Missing required parameter 'team_id'")
|
|
5021
4548
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/members"
|
|
5022
|
-
query_params = {
|
|
5023
|
-
|
|
5024
|
-
for k, v in [("limit", limit), ("cursor", cursor), ("role", role)]
|
|
5025
|
-
if v is not None
|
|
5026
|
-
}
|
|
5027
|
-
response = self._get(url, params=query_params)
|
|
4549
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor), ("role", role)] if v is not None}
|
|
4550
|
+
response = await self._aget(url, params=query_params)
|
|
5028
4551
|
response.raise_for_status()
|
|
5029
4552
|
return response.json()
|
|
5030
4553
|
|
|
5031
|
-
def invite_team_members(self, org_id, team_id, email=None, role=None) -> Any:
|
|
4554
|
+
async def invite_team_members(self, org_id, team_id, email=None, role=None) -> Any:
|
|
5032
4555
|
"""
|
|
5033
4556
|
Adds a member to a specific team within an organization using the API endpoint at "/v2/orgs/{org_id}/teams/{team_id}/members".
|
|
5034
4557
|
|
|
@@ -5055,18 +4578,15 @@ class MiroApp(APIApplication):
|
|
|
5055
4578
|
raise ValueError("Missing required parameter 'org_id'")
|
|
5056
4579
|
if team_id is None:
|
|
5057
4580
|
raise ValueError("Missing required parameter 'team_id'")
|
|
5058
|
-
request_body = {
|
|
5059
|
-
"email": email,
|
|
5060
|
-
"role": role,
|
|
5061
|
-
}
|
|
4581
|
+
request_body = {"email": email, "role": role}
|
|
5062
4582
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5063
4583
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/members"
|
|
5064
4584
|
query_params = {}
|
|
5065
|
-
response = self.
|
|
4585
|
+
response = await self._apost(url, data=request_body, params=query_params)
|
|
5066
4586
|
response.raise_for_status()
|
|
5067
4587
|
return response.json()
|
|
5068
4588
|
|
|
5069
|
-
def get_team_member(self, org_id, team_id, member_id) -> Any:
|
|
4589
|
+
async def get_team_member(self, org_id, team_id, member_id) -> Any:
|
|
5070
4590
|
"""
|
|
5071
4591
|
Retrieves information about a specific team member using the provided organization, team, and member identifiers.
|
|
5072
4592
|
|
|
@@ -5089,11 +4609,11 @@ class MiroApp(APIApplication):
|
|
|
5089
4609
|
raise ValueError("Missing required parameter 'member_id'")
|
|
5090
4610
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}"
|
|
5091
4611
|
query_params = {}
|
|
5092
|
-
response = self.
|
|
4612
|
+
response = await self._aget(url, params=query_params)
|
|
5093
4613
|
response.raise_for_status()
|
|
5094
4614
|
return response.json()
|
|
5095
4615
|
|
|
5096
|
-
def delete_team_member_from_team(self, org_id, team_id, member_id) -> Any:
|
|
4616
|
+
async def delete_team_member_from_team(self, org_id, team_id, member_id) -> Any:
|
|
5097
4617
|
"""
|
|
5098
4618
|
Removes a member from a specified team in an organization using the GitHub API.
|
|
5099
4619
|
|
|
@@ -5116,11 +4636,11 @@ class MiroApp(APIApplication):
|
|
|
5116
4636
|
raise ValueError("Missing required parameter 'member_id'")
|
|
5117
4637
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}"
|
|
5118
4638
|
query_params = {}
|
|
5119
|
-
response = self.
|
|
4639
|
+
response = await self._adelete(url, params=query_params)
|
|
5120
4640
|
response.raise_for_status()
|
|
5121
4641
|
return response.json()
|
|
5122
4642
|
|
|
5123
|
-
def update_team_member(self, org_id, team_id, member_id, role=None) -> Any:
|
|
4643
|
+
async def update_team_member(self, org_id, team_id, member_id, role=None) -> Any:
|
|
5124
4644
|
"""
|
|
5125
4645
|
Updates the membership details of a team member in an organization using the GitHub API.
|
|
5126
4646
|
|
|
@@ -5148,9 +4668,7 @@ class MiroApp(APIApplication):
|
|
|
5148
4668
|
raise ValueError("Missing required parameter 'team_id'")
|
|
5149
4669
|
if member_id is None:
|
|
5150
4670
|
raise ValueError("Missing required parameter 'member_id'")
|
|
5151
|
-
request_body = {
|
|
5152
|
-
"role": role,
|
|
5153
|
-
}
|
|
4671
|
+
request_body = {"role": role}
|
|
5154
4672
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5155
4673
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}"
|
|
5156
4674
|
query_params = {}
|
|
@@ -5158,7 +4676,7 @@ class MiroApp(APIApplication):
|
|
|
5158
4676
|
response.raise_for_status()
|
|
5159
4677
|
return response.json()
|
|
5160
4678
|
|
|
5161
|
-
def get_default_team_settings(self, org_id) -> Any:
|
|
4679
|
+
async def get_default_team_settings(self, org_id) -> Any:
|
|
5162
4680
|
"""
|
|
5163
4681
|
Retrieves the default team settings for an organization via the GitHub API.
|
|
5164
4682
|
|
|
@@ -5175,11 +4693,11 @@ class MiroApp(APIApplication):
|
|
|
5175
4693
|
raise ValueError("Missing required parameter 'org_id'")
|
|
5176
4694
|
url = f"{self.base_url}/v2/orgs/{org_id}/default_teams_settings"
|
|
5177
4695
|
query_params = {}
|
|
5178
|
-
response = self.
|
|
4696
|
+
response = await self._aget(url, params=query_params)
|
|
5179
4697
|
response.raise_for_status()
|
|
5180
4698
|
return response.json()
|
|
5181
4699
|
|
|
5182
|
-
def get_team_settings1(self, org_id, team_id) -> Any:
|
|
4700
|
+
async def get_team_settings1(self, org_id, team_id) -> Any:
|
|
5183
4701
|
"""
|
|
5184
4702
|
Retrieves team settings for a specified team within an organization using the "GET" method.
|
|
5185
4703
|
|
|
@@ -5199,11 +4717,11 @@ class MiroApp(APIApplication):
|
|
|
5199
4717
|
raise ValueError("Missing required parameter 'team_id'")
|
|
5200
4718
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/settings"
|
|
5201
4719
|
query_params = {}
|
|
5202
|
-
response = self.
|
|
4720
|
+
response = await self._aget(url, params=query_params)
|
|
5203
4721
|
response.raise_for_status()
|
|
5204
4722
|
return response.json()
|
|
5205
4723
|
|
|
5206
|
-
def update_team_settings1(
|
|
4724
|
+
async def update_team_settings1(
|
|
5207
4725
|
self,
|
|
5208
4726
|
org_id,
|
|
5209
4727
|
team_id,
|