prdb-sdk 0.1.0__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.
- prdb_sdk/__init__.py +31 -0
- prdb_sdk/client.py +178 -0
- prdb_sdk/generated/actors/actors_request_builder.py +163 -0
- prdb_sdk/generated/actors/batch/batch_request_builder.py +90 -0
- prdb_sdk/generated/actors/changes/changes_request_builder.py +112 -0
- prdb_sdk/generated/actors/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/actors/item/actors_item_request_builder.py +82 -0
- prdb_sdk/generated/downloaded_from_indexers/downloaded_from_indexers_request_builder.py +108 -0
- prdb_sdk/generated/downloaded_from_indexers/item/filenames/filenames_request_builder.py +108 -0
- prdb_sdk/generated/downloaded_from_indexers/item/filenames/item/with_filename_item_request_builder.py +129 -0
- prdb_sdk/generated/downloaded_from_indexers/item/with_downloaded_from_indexer_item_request_builder.py +139 -0
- prdb_sdk/generated/favorite_actors/changes/changes_request_builder.py +112 -0
- prdb_sdk/generated/favorite_actors/favorite_actors_request_builder.py +145 -0
- prdb_sdk/generated/favorite_actors/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/favorite_actors/item/with_actor_item_request_builder.py +116 -0
- prdb_sdk/generated/favorite_sites/changes/changes_request_builder.py +112 -0
- prdb_sdk/generated/favorite_sites/favorite_sites_request_builder.py +145 -0
- prdb_sdk/generated/favorite_sites/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/favorite_sites/item/with_site_item_request_builder.py +116 -0
- prdb_sdk/generated/health/health_request_builder.py +75 -0
- prdb_sdk/generated/indexer_filehashes/changes/changes_request_builder.py +121 -0
- prdb_sdk/generated/indexer_filehashes/changes/get_indexer_source_query_parameter_type.py +7 -0
- prdb_sdk/generated/indexer_filehashes/indexer_filehashes_request_builder.py +53 -0
- prdb_sdk/generated/indexer_filehashes/latest/get_indexer_source_query_parameter_type.py +7 -0
- prdb_sdk/generated/indexer_filehashes/latest/get_sort_by_query_parameter_type.py +8 -0
- prdb_sdk/generated/indexer_filehashes/latest/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/indexer_filehashes/latest/latest_request_builder.py +146 -0
- prdb_sdk/generated/indexer_filehashes/lookup/lookup_request_builder.py +90 -0
- prdb_sdk/generated/kiota-lock.json +35 -0
- prdb_sdk/generated/models/active_subscription_dto.py +60 -0
- prdb_sdk/generated/models/actor_alias_dto.py +52 -0
- prdb_sdk/generated/models/actor_bio_dto.py +52 -0
- prdb_sdk/generated/models/actor_change_actor_dto.py +205 -0
- prdb_sdk/generated/models/actor_change_alias_dto.py +52 -0
- prdb_sdk/generated/models/actor_change_bio_dto.py +52 -0
- prdb_sdk/generated/models/actor_change_dto.py +58 -0
- prdb_sdk/generated/models/actor_change_image_dto.py +60 -0
- prdb_sdk/generated/models/actor_change_link_dto.py +55 -0
- prdb_sdk/generated/models/actor_detail_dto.py +197 -0
- prdb_sdk/generated/models/actor_image_detail_dto.py +60 -0
- prdb_sdk/generated/models/actor_link_dto.py +55 -0
- prdb_sdk/generated/models/actor_summary_dto.py +85 -0
- prdb_sdk/generated/models/add_downloaded_from_indexer_filename_request.py +59 -0
- prdb_sdk/generated/models/add_downloaded_from_indexer_request.py +79 -0
- prdb_sdk/generated/models/add_wanted_videos_batch_request.py +48 -0
- prdb_sdk/generated/models/add_wanted_videos_batch_response.py +55 -0
- prdb_sdk/generated/models/downloaded_from_indexer_filename_dto.py +77 -0
- prdb_sdk/generated/models/downloaded_from_indexer_response.py +92 -0
- prdb_sdk/generated/models/favorite_actor_change_dto.py +58 -0
- prdb_sdk/generated/models/favorite_actor_change_favorite_actor_dto.py +85 -0
- prdb_sdk/generated/models/favorite_actor_changes_cursor_dto.py +53 -0
- prdb_sdk/generated/models/favorite_actor_summary_dto.py +73 -0
- prdb_sdk/generated/models/favorite_site_change_dto.py +58 -0
- prdb_sdk/generated/models/favorite_site_change_favorite_site_dto.py +81 -0
- prdb_sdk/generated/models/favorite_site_changes_cursor_dto.py +53 -0
- prdb_sdk/generated/models/favorite_site_summary_dto.py +69 -0
- prdb_sdk/generated/models/get_actor_changes_response.py +72 -0
- prdb_sdk/generated/models/get_actors_by_ids_request.py +48 -0
- prdb_sdk/generated/models/get_favorite_actor_changes_response.py +69 -0
- prdb_sdk/generated/models/get_favorite_site_changes_response.py +69 -0
- prdb_sdk/generated/models/get_health_response.py +52 -0
- prdb_sdk/generated/models/get_indexer_filehash_changes_response.py +69 -0
- prdb_sdk/generated/models/get_rate_limit_response.py +62 -0
- prdb_sdk/generated/models/get_video_filehash_changes_response.py +69 -0
- prdb_sdk/generated/models/get_video_filehashes_by_video_ids_request.py +48 -0
- prdb_sdk/generated/models/get_video_filehashes_by_video_ids_response.py +59 -0
- prdb_sdk/generated/models/get_video_user_image_changes_response.py +69 -0
- prdb_sdk/generated/models/get_videos_by_ids_request.py +48 -0
- prdb_sdk/generated/models/get_wanted_video_changes_response.py +69 -0
- prdb_sdk/generated/models/indexer_filehash_change_dto.py +58 -0
- prdb_sdk/generated/models/indexer_filehash_change_filehash_dto.py +97 -0
- prdb_sdk/generated/models/indexer_filehash_changes_cursor_dto.py +53 -0
- prdb_sdk/generated/models/indexer_filehash_dto.py +89 -0
- prdb_sdk/generated/models/indexer_filehash_lookup_key_dto.py +58 -0
- prdb_sdk/generated/models/indexer_filehash_lookup_key_dto_indexer_source.py +7 -0
- prdb_sdk/generated/models/latest_indexer_filehashes_response.py +74 -0
- prdb_sdk/generated/models/latest_pre_db_item_dto.py +68 -0
- prdb_sdk/generated/models/latest_pre_db_response.py +66 -0
- prdb_sdk/generated/models/latest_pre_db_site_dto.py +52 -0
- prdb_sdk/generated/models/latest_pre_db_video_dto.py +68 -0
- prdb_sdk/generated/models/latest_video_filehashes_response.py +74 -0
- prdb_sdk/generated/models/list_actors_response.py +78 -0
- prdb_sdk/generated/models/list_favorite_actors_response.py +78 -0
- prdb_sdk/generated/models/list_favorite_sites_response.py +78 -0
- prdb_sdk/generated/models/list_pre_db_response.py +74 -0
- prdb_sdk/generated/models/list_sites_response.py +74 -0
- prdb_sdk/generated/models/list_videos_response.py +74 -0
- prdb_sdk/generated/models/list_wanted_videos_response.py +78 -0
- prdb_sdk/generated/models/lookup_indexer_filehashes_request.py +75 -0
- prdb_sdk/generated/models/lookup_indexer_filehashes_response.py +54 -0
- prdb_sdk/generated/models/lookup_video_filehashes_request.py +68 -0
- prdb_sdk/generated/models/lookup_video_filehashes_response.py +54 -0
- prdb_sdk/generated/models/pre_db_item_dto.py +52 -0
- prdb_sdk/generated/models/pre_db_summary_dto.py +69 -0
- prdb_sdk/generated/models/pre_db_video_group_dto.py +71 -0
- prdb_sdk/generated/models/problem_details.py +70 -0
- prdb_sdk/generated/models/rate_limit_window_status.py +59 -0
- prdb_sdk/generated/models/report_video_user_image_request.py +58 -0
- prdb_sdk/generated/models/report_video_user_image_request_reason.py +11 -0
- prdb_sdk/generated/models/report_video_user_image_response.py +60 -0
- prdb_sdk/generated/models/search_pre_db_by_video_response.py +58 -0
- prdb_sdk/generated/models/site_summary_dto.py +64 -0
- prdb_sdk/generated/models/submit_video_user_image_response.py +60 -0
- prdb_sdk/generated/models/unlinked_video_filehashes_response.py +74 -0
- prdb_sdk/generated/models/update_downloaded_from_indexer_filename_request.py +59 -0
- prdb_sdk/generated/models/update_downloaded_from_indexer_request.py +63 -0
- prdb_sdk/generated/models/update_wanted_video_request.py +64 -0
- prdb_sdk/generated/models/update_wanted_video_response.py +77 -0
- prdb_sdk/generated/models/user_identity_response.py +58 -0
- prdb_sdk/generated/models/video_detail_actor_dto.py +76 -0
- prdb_sdk/generated/models/video_detail_actor_image_dto.py +56 -0
- prdb_sdk/generated/models/video_detail_dto.py +97 -0
- prdb_sdk/generated/models/video_detail_image_dto.py +52 -0
- prdb_sdk/generated/models/video_detail_network_dto.py +56 -0
- prdb_sdk/generated/models/video_detail_pre_name_dto.py +52 -0
- prdb_sdk/generated/models/video_detail_site_dto.py +67 -0
- prdb_sdk/generated/models/video_filehash_change_dto.py +58 -0
- prdb_sdk/generated/models/video_filehash_change_filehash_dto.py +93 -0
- prdb_sdk/generated/models/video_filehash_changes_cursor_dto.py +53 -0
- prdb_sdk/generated/models/video_filehash_dto.py +85 -0
- prdb_sdk/generated/models/video_filehashes_by_video_id_dto.py +59 -0
- prdb_sdk/generated/models/video_summary_actor_dto.py +52 -0
- prdb_sdk/generated/models/video_summary_dto.py +80 -0
- prdb_sdk/generated/models/video_user_image_change_item_dto.py +58 -0
- prdb_sdk/generated/models/video_user_image_changes_cursor_dto.py +53 -0
- prdb_sdk/generated/models/video_user_image_dto.py +137 -0
- prdb_sdk/generated/models/wanted_video_change_dto.py +58 -0
- prdb_sdk/generated/models/wanted_video_change_wanted_video_dto.py +105 -0
- prdb_sdk/generated/models/wanted_video_changes_cursor_dto.py +53 -0
- prdb_sdk/generated/models/wanted_video_summary_dto.py +97 -0
- prdb_sdk/generated/prdb_client.py +173 -0
- prdb_sdk/generated/predb/get_category_query_parameter_type.py +7 -0
- prdb_sdk/generated/predb/get_sort_by_query_parameter_type.py +6 -0
- prdb_sdk/generated/predb/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/predb/latest/latest_request_builder.py +120 -0
- prdb_sdk/generated/predb/predb_request_builder.py +154 -0
- prdb_sdk/generated/predb/search_by_video/search_by_video_request_builder.py +107 -0
- prdb_sdk/generated/rate_limit/rate_limit_request_builder.py +81 -0
- prdb_sdk/generated/sites/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/sites/sites_request_builder.py +118 -0
- prdb_sdk/generated/user_identity/user_identity_request_builder.py +81 -0
- prdb_sdk/generated/video_user_images/by_os_hash/by_os_hash_request_builder.py +38 -0
- prdb_sdk/generated/video_user_images/by_os_hash/item/with_based_on_file_with_os_hash_item_request_builder.py +82 -0
- prdb_sdk/generated/video_user_images/changes/changes_request_builder.py +112 -0
- prdb_sdk/generated/video_user_images/item/item_request_builder.py +92 -0
- prdb_sdk/generated/video_user_images/item/report/report_request_builder.py +93 -0
- prdb_sdk/generated/video_user_images/video_user_images_request_builder.py +129 -0
- prdb_sdk/generated/videos/batch/batch_request_builder.py +90 -0
- prdb_sdk/generated/videos/filehashes/batch/batch_request_builder.py +90 -0
- prdb_sdk/generated/videos/filehashes/changes/changes_request_builder.py +120 -0
- prdb_sdk/generated/videos/filehashes/filehashes_request_builder.py +73 -0
- prdb_sdk/generated/videos/filehashes/latest/get_sort_by_query_parameter_type.py +8 -0
- prdb_sdk/generated/videos/filehashes/latest/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/videos/filehashes/latest/latest_request_builder.py +146 -0
- prdb_sdk/generated/videos/filehashes/lookup/lookup_request_builder.py +90 -0
- prdb_sdk/generated/videos/filehashes/unlinked/get_sort_by_query_parameter_type.py +8 -0
- prdb_sdk/generated/videos/filehashes/unlinked/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/videos/filehashes/unlinked/unlinked_request_builder.py +116 -0
- prdb_sdk/generated/videos/get_sort_by_query_parameter_type.py +7 -0
- prdb_sdk/generated/videos/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/videos/item/filehashes/filehashes_request_builder.py +82 -0
- prdb_sdk/generated/videos/item/item_request_builder.py +102 -0
- prdb_sdk/generated/videos/item/user_images/user_images_request_builder.py +82 -0
- prdb_sdk/generated/videos/videos_request_builder.py +173 -0
- prdb_sdk/generated/wanted_videos/batch/batch_request_builder.py +90 -0
- prdb_sdk/generated/wanted_videos/changes/changes_request_builder.py +112 -0
- prdb_sdk/generated/wanted_videos/get_sort_direction_query_parameter_type.py +6 -0
- prdb_sdk/generated/wanted_videos/item/with_video_item_request_builder.py +165 -0
- prdb_sdk/generated/wanted_videos/wanted_videos_request_builder.py +171 -0
- prdb_sdk-0.1.0.dist-info/METADATA +109 -0
- prdb_sdk-0.1.0.dist-info/RECORD +173 -0
- prdb_sdk-0.1.0.dist-info/WHEEL +4 -0
- prdb_sdk-0.1.0.dist-info/licenses/LICENSE +21 -0
prdb_sdk/__init__.py
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Python SDK for the prdb Public API.
|
|
2
|
+
|
|
3
|
+
The request builders under the returned client mirror the API's URL structure::
|
|
4
|
+
|
|
5
|
+
from prdb_sdk import create_client
|
|
6
|
+
|
|
7
|
+
client = create_client(api_key="...")
|
|
8
|
+
page = await client.videos.get()
|
|
9
|
+
video = await client.videos.by_id(video_id).get()
|
|
10
|
+
|
|
11
|
+
Everything under ``prdb_sdk.generated`` is produced by Kiota from
|
|
12
|
+
``spec/openapi.json`` and is overwritten on every regeneration. Do not edit it.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from .client import (
|
|
16
|
+
API_KEY_HEADER,
|
|
17
|
+
DEFAULT_BASE_URL,
|
|
18
|
+
CrossOriginRedirectError,
|
|
19
|
+
PrdbClient,
|
|
20
|
+
create_anonymous_client,
|
|
21
|
+
create_client,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
__all__ = [
|
|
25
|
+
"API_KEY_HEADER",
|
|
26
|
+
"DEFAULT_BASE_URL",
|
|
27
|
+
"CrossOriginRedirectError",
|
|
28
|
+
"PrdbClient",
|
|
29
|
+
"create_anonymous_client",
|
|
30
|
+
"create_client",
|
|
31
|
+
]
|
prdb_sdk/client.py
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"""Client construction for the prdb Public API."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from urllib.parse import urlparse
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
from kiota_abstractions.authentication.anonymous_authentication_provider import (
|
|
10
|
+
AnonymousAuthenticationProvider,
|
|
11
|
+
)
|
|
12
|
+
from kiota_abstractions.authentication.authentication_provider import (
|
|
13
|
+
AuthenticationProvider,
|
|
14
|
+
)
|
|
15
|
+
from kiota_abstractions.authentication.api_key_authentication_provider import (
|
|
16
|
+
ApiKeyAuthenticationProvider,
|
|
17
|
+
KeyLocation,
|
|
18
|
+
)
|
|
19
|
+
from kiota_bundle.default_request_adapter import DefaultRequestAdapter
|
|
20
|
+
from kiota_http.kiota_client_factory import KiotaClientFactory
|
|
21
|
+
from kiota_http.middleware.options import RedirectHandlerOption
|
|
22
|
+
|
|
23
|
+
from .generated.prdb_client import PrdbClient
|
|
24
|
+
|
|
25
|
+
#: Header the API expects the key in.
|
|
26
|
+
API_KEY_HEADER = "X-Api-Key"
|
|
27
|
+
|
|
28
|
+
#: Production base URL, also the default baked into the generated client.
|
|
29
|
+
DEFAULT_BASE_URL = "https://api.prdb.net"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class CrossOriginRedirectError(RuntimeError):
|
|
33
|
+
"""Raised when the API redirects to a different origin.
|
|
34
|
+
|
|
35
|
+
Following such a redirect would hand the API key to whoever answers at the
|
|
36
|
+
new location, so the SDK refuses it. Redirects that stay on the same origin
|
|
37
|
+
are followed normally.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def create_client(
|
|
42
|
+
api_key: str,
|
|
43
|
+
*,
|
|
44
|
+
base_url: str = DEFAULT_BASE_URL,
|
|
45
|
+
http_client: Optional[httpx.AsyncClient] = None,
|
|
46
|
+
) -> PrdbClient:
|
|
47
|
+
"""Create a client authenticated with an API key.
|
|
48
|
+
|
|
49
|
+
Args:
|
|
50
|
+
api_key: The API key, sent in the ``X-Api-Key`` header on every request.
|
|
51
|
+
base_url: Override the API root. Useful for a staging deployment. Must
|
|
52
|
+
use ``https``, so the key never travels in cleartext.
|
|
53
|
+
http_client: Supply your own ``httpx.AsyncClient`` to control timeouts,
|
|
54
|
+
proxies or connection limits. One is created for you when omitted.
|
|
55
|
+
Either way the SDK's middleware is installed on it, which modifies
|
|
56
|
+
the client you pass in place.
|
|
57
|
+
|
|
58
|
+
Returns:
|
|
59
|
+
A client whose request builders mirror the API's URL structure, so
|
|
60
|
+
``GET /videos/{id}`` is ``client.videos.by_id(video_id).get()``.
|
|
61
|
+
|
|
62
|
+
Raises:
|
|
63
|
+
ValueError: If ``api_key`` is empty, or ``base_url`` is not an absolute
|
|
64
|
+
``https`` URL.
|
|
65
|
+
"""
|
|
66
|
+
if not api_key:
|
|
67
|
+
raise ValueError("api_key must not be empty")
|
|
68
|
+
|
|
69
|
+
host = _resolve_host(base_url, require_https=True)
|
|
70
|
+
|
|
71
|
+
auth_provider = ApiKeyAuthenticationProvider(
|
|
72
|
+
key_location=KeyLocation.Header,
|
|
73
|
+
api_key=api_key,
|
|
74
|
+
parameter_name=API_KEY_HEADER,
|
|
75
|
+
allowed_hosts=[host],
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
return _build_client(auth_provider, base_url, http_client)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def create_anonymous_client(
|
|
82
|
+
*,
|
|
83
|
+
base_url: str = DEFAULT_BASE_URL,
|
|
84
|
+
http_client: Optional[httpx.AsyncClient] = None,
|
|
85
|
+
) -> PrdbClient:
|
|
86
|
+
"""Create a client without credentials.
|
|
87
|
+
|
|
88
|
+
Only ``GET /health`` is reachable this way; every other endpoint answers
|
|
89
|
+
401. Provided so health probes do not need an API key.
|
|
90
|
+
|
|
91
|
+
With no key to protect, ``base_url`` may use plain ``http``.
|
|
92
|
+
|
|
93
|
+
Raises:
|
|
94
|
+
ValueError: If ``base_url`` is not an absolute URL.
|
|
95
|
+
"""
|
|
96
|
+
_resolve_host(base_url, require_https=False)
|
|
97
|
+
|
|
98
|
+
return _build_client(AnonymousAuthenticationProvider(), base_url, http_client)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def _build_client(
|
|
102
|
+
auth_provider: AuthenticationProvider,
|
|
103
|
+
base_url: str,
|
|
104
|
+
http_client: Optional[httpx.AsyncClient],
|
|
105
|
+
) -> PrdbClient:
|
|
106
|
+
request_adapter = DefaultRequestAdapter(
|
|
107
|
+
authentication_provider=auth_provider,
|
|
108
|
+
http_client=_build_http_client(http_client),
|
|
109
|
+
)
|
|
110
|
+
request_adapter.base_url = base_url
|
|
111
|
+
|
|
112
|
+
return PrdbClient(request_adapter)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def _build_http_client(http_client: Optional[httpx.AsyncClient]) -> httpx.AsyncClient:
|
|
116
|
+
"""Load the SDK's middleware pipeline onto a client, creating one if needed.
|
|
117
|
+
|
|
118
|
+
A client handed straight to the request adapter carries no middleware at
|
|
119
|
+
all, which loses redirect handling, retries and Kiota's parameter name
|
|
120
|
+
decoding. Routing both paths through this function keeps a caller-supplied
|
|
121
|
+
client behaving like the one we build ourselves.
|
|
122
|
+
"""
|
|
123
|
+
redirect_options = RedirectHandlerOption(
|
|
124
|
+
scrub_sensitive_headers=_refuse_cross_origin_redirect,
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
return KiotaClientFactory.create_with_default_middleware(
|
|
128
|
+
client=http_client,
|
|
129
|
+
options={RedirectHandlerOption.get_key(): redirect_options},
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def _refuse_cross_origin_redirect(
|
|
134
|
+
new_request: httpx.Request,
|
|
135
|
+
original_url: httpx.URL,
|
|
136
|
+
) -> None:
|
|
137
|
+
"""Refuse a redirect that leaves the origin the request started on.
|
|
138
|
+
|
|
139
|
+
This runs in place of Kiota's default header scrubbing, which drops only
|
|
140
|
+
``Authorization`` and ``Cookie``. The prdb API key travels in a custom
|
|
141
|
+
header, and no layer below strips it: neither Kiota's redirect handler nor
|
|
142
|
+
httpx's own touch anything but ``Authorization``. A redirect off the API
|
|
143
|
+
host would therefore hand the credential to whoever answered.
|
|
144
|
+
|
|
145
|
+
The header is removed before raising as well, so the key is gone even if a
|
|
146
|
+
caller catches the error and reuses the request.
|
|
147
|
+
"""
|
|
148
|
+
new_url = new_request.url
|
|
149
|
+
same_origin = (
|
|
150
|
+
original_url.scheme == new_url.scheme
|
|
151
|
+
and original_url.host == new_url.host
|
|
152
|
+
and original_url.port == new_url.port
|
|
153
|
+
)
|
|
154
|
+
if same_origin:
|
|
155
|
+
return
|
|
156
|
+
|
|
157
|
+
new_request.headers.pop(API_KEY_HEADER, None)
|
|
158
|
+
new_request.headers.pop("Authorization", None)
|
|
159
|
+
new_request.headers.pop("Cookie", None)
|
|
160
|
+
|
|
161
|
+
raise CrossOriginRedirectError(
|
|
162
|
+
f"refusing to follow a redirect from {original_url.host} to "
|
|
163
|
+
f"{new_url.host}; the api key is bound to the first host"
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
def _resolve_host(base_url: str, *, require_https: bool) -> str:
|
|
168
|
+
parsed = urlparse(base_url)
|
|
169
|
+
if parsed.scheme not in ("http", "https") or not parsed.hostname:
|
|
170
|
+
raise ValueError(f"base_url must be an absolute URL, got {base_url!r}")
|
|
171
|
+
|
|
172
|
+
if require_https and parsed.scheme != "https":
|
|
173
|
+
raise ValueError(
|
|
174
|
+
f"base_url must use https so the api key is not sent in cleartext, "
|
|
175
|
+
f"got {base_url!r}"
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
return parsed.hostname
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import datetime
|
|
3
|
+
from collections.abc import Callable
|
|
4
|
+
from dataclasses import dataclass, field
|
|
5
|
+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
|
|
6
|
+
from kiota_abstractions.base_request_configuration import RequestConfiguration
|
|
7
|
+
from kiota_abstractions.default_query_parameters import QueryParameters
|
|
8
|
+
from kiota_abstractions.get_path_parameters import get_path_parameters
|
|
9
|
+
from kiota_abstractions.method import Method
|
|
10
|
+
from kiota_abstractions.request_adapter import RequestAdapter
|
|
11
|
+
from kiota_abstractions.request_information import RequestInformation
|
|
12
|
+
from kiota_abstractions.request_option import RequestOption
|
|
13
|
+
from kiota_abstractions.serialization import Parsable, ParsableFactory
|
|
14
|
+
from typing import Any, Optional, TYPE_CHECKING, Union
|
|
15
|
+
from uuid import UUID
|
|
16
|
+
from warnings import warn
|
|
17
|
+
|
|
18
|
+
if TYPE_CHECKING:
|
|
19
|
+
from ..models.list_actors_response import ListActorsResponse
|
|
20
|
+
from ..models.problem_details import ProblemDetails
|
|
21
|
+
from .batch.batch_request_builder import BatchRequestBuilder
|
|
22
|
+
from .changes.changes_request_builder import ChangesRequestBuilder
|
|
23
|
+
from .get_sort_direction_query_parameter_type import GetSortDirectionQueryParameterType
|
|
24
|
+
from .item.actors_item_request_builder import ActorsItemRequestBuilder
|
|
25
|
+
|
|
26
|
+
class ActorsRequestBuilder(BaseRequestBuilder):
|
|
27
|
+
"""
|
|
28
|
+
Builds and executes requests for operations under /actors
|
|
29
|
+
"""
|
|
30
|
+
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, dict[str, Any]]) -> None:
|
|
31
|
+
"""
|
|
32
|
+
Instantiates a new ActorsRequestBuilder and sets the default values.
|
|
33
|
+
param path_parameters: The raw url or the url-template parameters for the request.
|
|
34
|
+
param request_adapter: The request adapter to use to execute the requests.
|
|
35
|
+
Returns: None
|
|
36
|
+
"""
|
|
37
|
+
super().__init__(request_adapter, "{+baseurl}/actors{?CreatedAfter*,CreatedBefore*,Page*,PageSize*,Search*,SortBy*,SortDirection*}", path_parameters)
|
|
38
|
+
|
|
39
|
+
def by_id(self,id: UUID) -> ActorsItemRequestBuilder:
|
|
40
|
+
"""
|
|
41
|
+
Gets an item from the prdb_sdk.generated.actors.item collection
|
|
42
|
+
param id: Unique identifier of the item
|
|
43
|
+
Returns: ActorsItemRequestBuilder
|
|
44
|
+
"""
|
|
45
|
+
if id is None:
|
|
46
|
+
raise TypeError("id cannot be null.")
|
|
47
|
+
from .item.actors_item_request_builder import ActorsItemRequestBuilder
|
|
48
|
+
|
|
49
|
+
url_tpl_params = get_path_parameters(self.path_parameters)
|
|
50
|
+
url_tpl_params["id"] = id
|
|
51
|
+
return ActorsItemRequestBuilder(self.request_adapter, url_tpl_params)
|
|
52
|
+
|
|
53
|
+
async def get(self,request_configuration: Optional[RequestConfiguration[ActorsRequestBuilderGetQueryParameters]] = None) -> Optional[ListActorsResponse]:
|
|
54
|
+
"""
|
|
55
|
+
Returns a paged list of actors. Supports free-text search by name or alias, and sorting by name or creation date. Default page size is 100, maximum is 500. Requires API key authentication.
|
|
56
|
+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
|
|
57
|
+
Returns: Optional[ListActorsResponse]
|
|
58
|
+
"""
|
|
59
|
+
request_info = self.to_get_request_information(
|
|
60
|
+
request_configuration
|
|
61
|
+
)
|
|
62
|
+
from ..models.problem_details import ProblemDetails
|
|
63
|
+
|
|
64
|
+
error_mapping: dict[str, type[ParsableFactory]] = {
|
|
65
|
+
"401": ProblemDetails,
|
|
66
|
+
}
|
|
67
|
+
if not self.request_adapter:
|
|
68
|
+
raise Exception("Http core is null")
|
|
69
|
+
from ..models.list_actors_response import ListActorsResponse
|
|
70
|
+
|
|
71
|
+
return await self.request_adapter.send_async(request_info, ListActorsResponse, error_mapping)
|
|
72
|
+
|
|
73
|
+
def to_get_request_information(self,request_configuration: Optional[RequestConfiguration[ActorsRequestBuilderGetQueryParameters]] = None) -> RequestInformation:
|
|
74
|
+
"""
|
|
75
|
+
Returns a paged list of actors. Supports free-text search by name or alias, and sorting by name or creation date. Default page size is 100, maximum is 500. Requires API key authentication.
|
|
76
|
+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
|
|
77
|
+
Returns: RequestInformation
|
|
78
|
+
"""
|
|
79
|
+
request_info = RequestInformation(Method.GET, self.url_template, self.path_parameters)
|
|
80
|
+
request_info.configure(request_configuration)
|
|
81
|
+
request_info.headers.try_add("Accept", "application/json")
|
|
82
|
+
return request_info
|
|
83
|
+
|
|
84
|
+
def with_url(self,raw_url: str) -> ActorsRequestBuilder:
|
|
85
|
+
"""
|
|
86
|
+
Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
|
|
87
|
+
param raw_url: The raw URL to use for the request builder.
|
|
88
|
+
Returns: ActorsRequestBuilder
|
|
89
|
+
"""
|
|
90
|
+
if raw_url is None:
|
|
91
|
+
raise TypeError("raw_url cannot be null.")
|
|
92
|
+
return ActorsRequestBuilder(self.request_adapter, raw_url)
|
|
93
|
+
|
|
94
|
+
@property
|
|
95
|
+
def batch(self) -> BatchRequestBuilder:
|
|
96
|
+
"""
|
|
97
|
+
The batch property
|
|
98
|
+
"""
|
|
99
|
+
from .batch.batch_request_builder import BatchRequestBuilder
|
|
100
|
+
|
|
101
|
+
return BatchRequestBuilder(self.request_adapter, self.path_parameters)
|
|
102
|
+
|
|
103
|
+
@property
|
|
104
|
+
def changes(self) -> ChangesRequestBuilder:
|
|
105
|
+
"""
|
|
106
|
+
The changes property
|
|
107
|
+
"""
|
|
108
|
+
from .changes.changes_request_builder import ChangesRequestBuilder
|
|
109
|
+
|
|
110
|
+
return ChangesRequestBuilder(self.request_adapter, self.path_parameters)
|
|
111
|
+
|
|
112
|
+
@dataclass
|
|
113
|
+
class ActorsRequestBuilderGetQueryParameters():
|
|
114
|
+
"""
|
|
115
|
+
Returns a paged list of actors. Supports free-text search by name or alias, and sorting by name or creation date. Default page size is 100, maximum is 500. Requires API key authentication.
|
|
116
|
+
"""
|
|
117
|
+
def get_query_parameter(self,original_name: str) -> str:
|
|
118
|
+
"""
|
|
119
|
+
Maps the query parameters names to their encoded names for the URI template parsing.
|
|
120
|
+
param original_name: The original query parameter name in the class.
|
|
121
|
+
Returns: str
|
|
122
|
+
"""
|
|
123
|
+
if original_name is None:
|
|
124
|
+
raise TypeError("original_name cannot be null.")
|
|
125
|
+
if original_name == "created_after":
|
|
126
|
+
return "CreatedAfter"
|
|
127
|
+
if original_name == "created_before":
|
|
128
|
+
return "CreatedBefore"
|
|
129
|
+
if original_name == "page":
|
|
130
|
+
return "Page"
|
|
131
|
+
if original_name == "page_size":
|
|
132
|
+
return "PageSize"
|
|
133
|
+
if original_name == "search":
|
|
134
|
+
return "Search"
|
|
135
|
+
if original_name == "sort_by":
|
|
136
|
+
return "SortBy"
|
|
137
|
+
if original_name == "sort_direction":
|
|
138
|
+
return "SortDirection"
|
|
139
|
+
return original_name
|
|
140
|
+
|
|
141
|
+
created_after: Optional[datetime.datetime] = None
|
|
142
|
+
|
|
143
|
+
created_before: Optional[datetime.datetime] = None
|
|
144
|
+
|
|
145
|
+
page: Optional[int] = None
|
|
146
|
+
|
|
147
|
+
page_size: Optional[int] = None
|
|
148
|
+
|
|
149
|
+
search: Optional[str] = None
|
|
150
|
+
|
|
151
|
+
sort_by: Optional[str] = None
|
|
152
|
+
|
|
153
|
+
sort_direction: Optional[GetSortDirectionQueryParameterType] = None
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
@dataclass
|
|
157
|
+
class ActorsRequestBuilderGetRequestConfiguration(RequestConfiguration[ActorsRequestBuilderGetQueryParameters]):
|
|
158
|
+
"""
|
|
159
|
+
Configuration for the request such as headers, query parameters, and middleware options.
|
|
160
|
+
"""
|
|
161
|
+
warn("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.", DeprecationWarning)
|
|
162
|
+
|
|
163
|
+
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from dataclasses import dataclass, field
|
|
4
|
+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
|
|
5
|
+
from kiota_abstractions.base_request_configuration import RequestConfiguration
|
|
6
|
+
from kiota_abstractions.default_query_parameters import QueryParameters
|
|
7
|
+
from kiota_abstractions.get_path_parameters import get_path_parameters
|
|
8
|
+
from kiota_abstractions.method import Method
|
|
9
|
+
from kiota_abstractions.request_adapter import RequestAdapter
|
|
10
|
+
from kiota_abstractions.request_information import RequestInformation
|
|
11
|
+
from kiota_abstractions.request_option import RequestOption
|
|
12
|
+
from kiota_abstractions.serialization import Parsable, ParsableFactory
|
|
13
|
+
from typing import Any, Optional, TYPE_CHECKING, Union
|
|
14
|
+
from warnings import warn
|
|
15
|
+
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from ...models.actor_detail_dto import ActorDetailDto
|
|
18
|
+
from ...models.get_actors_by_ids_request import GetActorsByIdsRequest
|
|
19
|
+
from ...models.problem_details import ProblemDetails
|
|
20
|
+
|
|
21
|
+
class BatchRequestBuilder(BaseRequestBuilder):
|
|
22
|
+
"""
|
|
23
|
+
Builds and executes requests for operations under /actors/batch
|
|
24
|
+
"""
|
|
25
|
+
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, dict[str, Any]]) -> None:
|
|
26
|
+
"""
|
|
27
|
+
Instantiates a new BatchRequestBuilder and sets the default values.
|
|
28
|
+
param path_parameters: The raw url or the url-template parameters for the request.
|
|
29
|
+
param request_adapter: The request adapter to use to execute the requests.
|
|
30
|
+
Returns: None
|
|
31
|
+
"""
|
|
32
|
+
super().__init__(request_adapter, "{+baseurl}/actors/batch", path_parameters)
|
|
33
|
+
|
|
34
|
+
async def post(self,body: GetActorsByIdsRequest, request_configuration: Optional[RequestConfiguration[QueryParameters]] = None) -> Optional[list[ActorDetailDto]]:
|
|
35
|
+
"""
|
|
36
|
+
Returns full details for up to 50 actors by their IDs. IDs that do not exist are silently omitted from the response. Requires API key authentication.
|
|
37
|
+
param body: The request body
|
|
38
|
+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
|
|
39
|
+
Returns: Optional[list[ActorDetailDto]]
|
|
40
|
+
"""
|
|
41
|
+
if body is None:
|
|
42
|
+
raise TypeError("body cannot be null.")
|
|
43
|
+
request_info = self.to_post_request_information(
|
|
44
|
+
body, request_configuration
|
|
45
|
+
)
|
|
46
|
+
from ...models.problem_details import ProblemDetails
|
|
47
|
+
|
|
48
|
+
error_mapping: dict[str, type[ParsableFactory]] = {
|
|
49
|
+
"400": ProblemDetails,
|
|
50
|
+
"401": ProblemDetails,
|
|
51
|
+
}
|
|
52
|
+
if not self.request_adapter:
|
|
53
|
+
raise Exception("Http core is null")
|
|
54
|
+
from ...models.actor_detail_dto import ActorDetailDto
|
|
55
|
+
|
|
56
|
+
return await self.request_adapter.send_collection_async(request_info, ActorDetailDto, error_mapping)
|
|
57
|
+
|
|
58
|
+
def to_post_request_information(self,body: GetActorsByIdsRequest, request_configuration: Optional[RequestConfiguration[QueryParameters]] = None) -> RequestInformation:
|
|
59
|
+
"""
|
|
60
|
+
Returns full details for up to 50 actors by their IDs. IDs that do not exist are silently omitted from the response. Requires API key authentication.
|
|
61
|
+
param body: The request body
|
|
62
|
+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
|
|
63
|
+
Returns: RequestInformation
|
|
64
|
+
"""
|
|
65
|
+
if body is None:
|
|
66
|
+
raise TypeError("body cannot be null.")
|
|
67
|
+
request_info = RequestInformation(Method.POST, self.url_template, self.path_parameters)
|
|
68
|
+
request_info.configure(request_configuration)
|
|
69
|
+
request_info.headers.try_add("Accept", "application/json")
|
|
70
|
+
request_info.set_content_from_parsable(self.request_adapter, "application/json", body)
|
|
71
|
+
return request_info
|
|
72
|
+
|
|
73
|
+
def with_url(self,raw_url: str) -> BatchRequestBuilder:
|
|
74
|
+
"""
|
|
75
|
+
Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
|
|
76
|
+
param raw_url: The raw URL to use for the request builder.
|
|
77
|
+
Returns: BatchRequestBuilder
|
|
78
|
+
"""
|
|
79
|
+
if raw_url is None:
|
|
80
|
+
raise TypeError("raw_url cannot be null.")
|
|
81
|
+
return BatchRequestBuilder(self.request_adapter, raw_url)
|
|
82
|
+
|
|
83
|
+
@dataclass
|
|
84
|
+
class BatchRequestBuilderPostRequestConfiguration(RequestConfiguration[QueryParameters]):
|
|
85
|
+
"""
|
|
86
|
+
Configuration for the request such as headers, query parameters, and middleware options.
|
|
87
|
+
"""
|
|
88
|
+
warn("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.", DeprecationWarning)
|
|
89
|
+
|
|
90
|
+
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import datetime
|
|
3
|
+
from collections.abc import Callable
|
|
4
|
+
from dataclasses import dataclass, field
|
|
5
|
+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
|
|
6
|
+
from kiota_abstractions.base_request_configuration import RequestConfiguration
|
|
7
|
+
from kiota_abstractions.default_query_parameters import QueryParameters
|
|
8
|
+
from kiota_abstractions.get_path_parameters import get_path_parameters
|
|
9
|
+
from kiota_abstractions.method import Method
|
|
10
|
+
from kiota_abstractions.request_adapter import RequestAdapter
|
|
11
|
+
from kiota_abstractions.request_information import RequestInformation
|
|
12
|
+
from kiota_abstractions.request_option import RequestOption
|
|
13
|
+
from kiota_abstractions.serialization import Parsable, ParsableFactory
|
|
14
|
+
from typing import Any, Optional, TYPE_CHECKING, Union
|
|
15
|
+
from uuid import UUID
|
|
16
|
+
from warnings import warn
|
|
17
|
+
|
|
18
|
+
if TYPE_CHECKING:
|
|
19
|
+
from ...models.get_actor_changes_response import GetActorChangesResponse
|
|
20
|
+
from ...models.problem_details import ProblemDetails
|
|
21
|
+
|
|
22
|
+
class ChangesRequestBuilder(BaseRequestBuilder):
|
|
23
|
+
"""
|
|
24
|
+
Builds and executes requests for operations under /actors/changes
|
|
25
|
+
"""
|
|
26
|
+
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, dict[str, Any]]) -> None:
|
|
27
|
+
"""
|
|
28
|
+
Instantiates a new ChangesRequestBuilder and sets the default values.
|
|
29
|
+
param path_parameters: The raw url or the url-template parameters for the request.
|
|
30
|
+
param request_adapter: The request adapter to use to execute the requests.
|
|
31
|
+
Returns: None
|
|
32
|
+
"""
|
|
33
|
+
super().__init__(request_adapter, "{+baseurl}/actors/changes{?PageSize*,SinceId*,SinceUtc*}", path_parameters)
|
|
34
|
+
|
|
35
|
+
async def get(self,request_configuration: Optional[RequestConfiguration[ChangesRequestBuilderGetQueryParameters]] = None) -> Optional[GetActorChangesResponse]:
|
|
36
|
+
"""
|
|
37
|
+
Returns created, updated, and deleted actors ordered by updatedAtUtc ascending and actor ID ascending. Continue with nextCursorUtc and nextCursorId. Page size defaults to 100 and is limited to 500. Requires API key authentication.
|
|
38
|
+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
|
|
39
|
+
Returns: Optional[GetActorChangesResponse]
|
|
40
|
+
"""
|
|
41
|
+
request_info = self.to_get_request_information(
|
|
42
|
+
request_configuration
|
|
43
|
+
)
|
|
44
|
+
from ...models.problem_details import ProblemDetails
|
|
45
|
+
|
|
46
|
+
error_mapping: dict[str, type[ParsableFactory]] = {
|
|
47
|
+
"400": ProblemDetails,
|
|
48
|
+
"401": ProblemDetails,
|
|
49
|
+
}
|
|
50
|
+
if not self.request_adapter:
|
|
51
|
+
raise Exception("Http core is null")
|
|
52
|
+
from ...models.get_actor_changes_response import GetActorChangesResponse
|
|
53
|
+
|
|
54
|
+
return await self.request_adapter.send_async(request_info, GetActorChangesResponse, error_mapping)
|
|
55
|
+
|
|
56
|
+
def to_get_request_information(self,request_configuration: Optional[RequestConfiguration[ChangesRequestBuilderGetQueryParameters]] = None) -> RequestInformation:
|
|
57
|
+
"""
|
|
58
|
+
Returns created, updated, and deleted actors ordered by updatedAtUtc ascending and actor ID ascending. Continue with nextCursorUtc and nextCursorId. Page size defaults to 100 and is limited to 500. Requires API key authentication.
|
|
59
|
+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
|
|
60
|
+
Returns: RequestInformation
|
|
61
|
+
"""
|
|
62
|
+
request_info = RequestInformation(Method.GET, self.url_template, self.path_parameters)
|
|
63
|
+
request_info.configure(request_configuration)
|
|
64
|
+
request_info.headers.try_add("Accept", "application/json")
|
|
65
|
+
return request_info
|
|
66
|
+
|
|
67
|
+
def with_url(self,raw_url: str) -> ChangesRequestBuilder:
|
|
68
|
+
"""
|
|
69
|
+
Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
|
|
70
|
+
param raw_url: The raw URL to use for the request builder.
|
|
71
|
+
Returns: ChangesRequestBuilder
|
|
72
|
+
"""
|
|
73
|
+
if raw_url is None:
|
|
74
|
+
raise TypeError("raw_url cannot be null.")
|
|
75
|
+
return ChangesRequestBuilder(self.request_adapter, raw_url)
|
|
76
|
+
|
|
77
|
+
@dataclass
|
|
78
|
+
class ChangesRequestBuilderGetQueryParameters():
|
|
79
|
+
"""
|
|
80
|
+
Returns created, updated, and deleted actors ordered by updatedAtUtc ascending and actor ID ascending. Continue with nextCursorUtc and nextCursorId. Page size defaults to 100 and is limited to 500. Requires API key authentication.
|
|
81
|
+
"""
|
|
82
|
+
def get_query_parameter(self,original_name: str) -> str:
|
|
83
|
+
"""
|
|
84
|
+
Maps the query parameters names to their encoded names for the URI template parsing.
|
|
85
|
+
param original_name: The original query parameter name in the class.
|
|
86
|
+
Returns: str
|
|
87
|
+
"""
|
|
88
|
+
if original_name is None:
|
|
89
|
+
raise TypeError("original_name cannot be null.")
|
|
90
|
+
if original_name == "page_size":
|
|
91
|
+
return "PageSize"
|
|
92
|
+
if original_name == "since_id":
|
|
93
|
+
return "SinceId"
|
|
94
|
+
if original_name == "since_utc":
|
|
95
|
+
return "SinceUtc"
|
|
96
|
+
return original_name
|
|
97
|
+
|
|
98
|
+
page_size: Optional[int] = None
|
|
99
|
+
|
|
100
|
+
since_id: Optional[UUID] = None
|
|
101
|
+
|
|
102
|
+
since_utc: Optional[datetime.datetime] = None
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@dataclass
|
|
106
|
+
class ChangesRequestBuilderGetRequestConfiguration(RequestConfiguration[ChangesRequestBuilderGetQueryParameters]):
|
|
107
|
+
"""
|
|
108
|
+
Configuration for the request such as headers, query parameters, and middleware options.
|
|
109
|
+
"""
|
|
110
|
+
warn("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.", DeprecationWarning)
|
|
111
|
+
|
|
112
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from dataclasses import dataclass, field
|
|
4
|
+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
|
|
5
|
+
from kiota_abstractions.base_request_configuration import RequestConfiguration
|
|
6
|
+
from kiota_abstractions.default_query_parameters import QueryParameters
|
|
7
|
+
from kiota_abstractions.get_path_parameters import get_path_parameters
|
|
8
|
+
from kiota_abstractions.method import Method
|
|
9
|
+
from kiota_abstractions.request_adapter import RequestAdapter
|
|
10
|
+
from kiota_abstractions.request_information import RequestInformation
|
|
11
|
+
from kiota_abstractions.request_option import RequestOption
|
|
12
|
+
from kiota_abstractions.serialization import Parsable, ParsableFactory
|
|
13
|
+
from typing import Any, Optional, TYPE_CHECKING, Union
|
|
14
|
+
from warnings import warn
|
|
15
|
+
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from ...models.actor_detail_dto import ActorDetailDto
|
|
18
|
+
from ...models.problem_details import ProblemDetails
|
|
19
|
+
|
|
20
|
+
class ActorsItemRequestBuilder(BaseRequestBuilder):
|
|
21
|
+
"""
|
|
22
|
+
Builds and executes requests for operations under /actors/{id}
|
|
23
|
+
"""
|
|
24
|
+
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, dict[str, Any]]) -> None:
|
|
25
|
+
"""
|
|
26
|
+
Instantiates a new ActorsItemRequestBuilder and sets the default values.
|
|
27
|
+
param path_parameters: The raw url or the url-template parameters for the request.
|
|
28
|
+
param request_adapter: The request adapter to use to execute the requests.
|
|
29
|
+
Returns: None
|
|
30
|
+
"""
|
|
31
|
+
super().__init__(request_adapter, "{+baseurl}/actors/{id}", path_parameters)
|
|
32
|
+
|
|
33
|
+
async def get(self,request_configuration: Optional[RequestConfiguration[QueryParameters]] = None) -> Optional[ActorDetailDto]:
|
|
34
|
+
"""
|
|
35
|
+
Returns full details for a single actor including all attributes, images, aliases, external links, and bios. Requires API key authentication.
|
|
36
|
+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
|
|
37
|
+
Returns: Optional[ActorDetailDto]
|
|
38
|
+
"""
|
|
39
|
+
request_info = self.to_get_request_information(
|
|
40
|
+
request_configuration
|
|
41
|
+
)
|
|
42
|
+
from ...models.problem_details import ProblemDetails
|
|
43
|
+
|
|
44
|
+
error_mapping: dict[str, type[ParsableFactory]] = {
|
|
45
|
+
"401": ProblemDetails,
|
|
46
|
+
"404": ProblemDetails,
|
|
47
|
+
}
|
|
48
|
+
if not self.request_adapter:
|
|
49
|
+
raise Exception("Http core is null")
|
|
50
|
+
from ...models.actor_detail_dto import ActorDetailDto
|
|
51
|
+
|
|
52
|
+
return await self.request_adapter.send_async(request_info, ActorDetailDto, error_mapping)
|
|
53
|
+
|
|
54
|
+
def to_get_request_information(self,request_configuration: Optional[RequestConfiguration[QueryParameters]] = None) -> RequestInformation:
|
|
55
|
+
"""
|
|
56
|
+
Returns full details for a single actor including all attributes, images, aliases, external links, and bios. Requires API key authentication.
|
|
57
|
+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
|
|
58
|
+
Returns: RequestInformation
|
|
59
|
+
"""
|
|
60
|
+
request_info = RequestInformation(Method.GET, self.url_template, self.path_parameters)
|
|
61
|
+
request_info.configure(request_configuration)
|
|
62
|
+
request_info.headers.try_add("Accept", "application/json")
|
|
63
|
+
return request_info
|
|
64
|
+
|
|
65
|
+
def with_url(self,raw_url: str) -> ActorsItemRequestBuilder:
|
|
66
|
+
"""
|
|
67
|
+
Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
|
|
68
|
+
param raw_url: The raw URL to use for the request builder.
|
|
69
|
+
Returns: ActorsItemRequestBuilder
|
|
70
|
+
"""
|
|
71
|
+
if raw_url is None:
|
|
72
|
+
raise TypeError("raw_url cannot be null.")
|
|
73
|
+
return ActorsItemRequestBuilder(self.request_adapter, raw_url)
|
|
74
|
+
|
|
75
|
+
@dataclass
|
|
76
|
+
class ActorsItemRequestBuilderGetRequestConfiguration(RequestConfiguration[QueryParameters]):
|
|
77
|
+
"""
|
|
78
|
+
Configuration for the request such as headers, query parameters, and middleware options.
|
|
79
|
+
"""
|
|
80
|
+
warn("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.", DeprecationWarning)
|
|
81
|
+
|
|
82
|
+
|