Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 19 additions & 9 deletions src/storage/src/storage3/_async/file_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,14 +273,23 @@ async def create_signed_urls(
data = SignedUrlsJsonResponse.validate_json(response.content)
signed_urls = []
for item in data:
# Prepare URL
url = self._make_signed_url(item.signedURL, download_query)
signed_item: CreateSignedUrlResponse = {
"error": item.error,
"path": item.path,
"signedURL": url["signedURL"],
"signedUrl": url["signedURL"],
}
signed_url: Optional[str] = item.signedURL
if signed_url:
# Prepare URL
url = self._make_signed_url(signed_url, download_query)
signed_item: CreateSignedUrlResponse = {
"error": item.error,
"path": item.path,
"signedURL": url["signedURL"],
"signedUrl": url["signedURL"],
}
else:
signed_item: CreateSignedUrlResponse = {
"error": item.error,
"path": item.path,
"signedURL": None,
"signedUrl": None,
}
signed_urls.append(signed_item)
return signed_urls

Expand All @@ -307,7 +316,8 @@ async def get_public_url(

path_parts = relative_path_to_parts(path)
url = (
self._base_url.joinpath(*render_path, "public", self.id, *path_parts)
self._base_url
.joinpath(*render_path, "public", self.id, *path_parts)
.with_query(download_query)
.extend_query(transformation)
)
Expand Down
28 changes: 19 additions & 9 deletions src/storage/src/storage3/_sync/file_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,14 +273,23 @@ def create_signed_urls(
data = SignedUrlsJsonResponse.validate_json(response.content)
signed_urls = []
for item in data:
# Prepare URL
url = self._make_signed_url(item.signedURL, download_query)
signed_item: CreateSignedUrlResponse = {
"error": item.error,
"path": item.path,
"signedURL": url["signedURL"],
"signedUrl": url["signedURL"],
}
signed_url: Optional[str] = item.signedURL
if signed_url:
# Prepare URL
url = self._make_signed_url(signed_url, download_query)
signed_item: CreateSignedUrlResponse = {
"error": item.error,
"path": item.path,
"signedURL": url["signedURL"],
"signedUrl": url["signedURL"],
}
else:
signed_item: CreateSignedUrlResponse = {
"error": item.error,
"path": item.path,
"signedURL": None,
"signedUrl": None,
}
signed_urls.append(signed_item)
return signed_urls

Expand All @@ -305,7 +314,8 @@ def get_public_url(self, path: str, options: Optional[URLOptions] = None) -> str

path_parts = relative_path_to_parts(path)
url = (
self._base_url.joinpath(*render_path, "public", self.id, *path_parts)
self._base_url
.joinpath(*render_path, "public", self.id, *path_parts)
.with_query(download_query)
.extend_query(transformation)
)
Expand Down
6 changes: 3 additions & 3 deletions src/storage/src/storage3/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,8 @@ class SignedUrlResponse(TypedDict):
class CreateSignedUrlResponse(TypedDict):
error: Optional[str]
path: str
signedURL: str
signedUrl: str
signedURL: Optional[str]
signedUrl: Optional[str]


class SignedUrlJsonResponse(BaseModel, extra="ignore"):
Expand All @@ -170,7 +170,7 @@ class SignedUrlJsonResponse(BaseModel, extra="ignore"):
class SignedUrlsJsonItem(BaseModel, extra="ignore"):
error: Optional[str]
path: str
signedURL: str
signedURL: Optional[str]


SignedUrlsJsonResponse = TypeAdapter(list[SignedUrlsJsonItem])
Expand Down