fix create_folder: re-fetch full folder details after POST (was returning only id)
This commit is contained in:
+14
-2
@@ -77,7 +77,7 @@ class AyonClient:
|
|||||||
parent_id: str,
|
parent_id: str,
|
||||||
folder_type: str = "Asset",
|
folder_type: str = "Asset",
|
||||||
) -> dict:
|
) -> dict:
|
||||||
"""Create a new folder under a parent."""
|
"""Create a new folder under a parent. Returns full folder dict."""
|
||||||
r = self._client.post(
|
r = self._client.post(
|
||||||
f"/api/projects/{project}/folders",
|
f"/api/projects/{project}/folders",
|
||||||
json={
|
json={
|
||||||
@@ -87,7 +87,19 @@ class AyonClient:
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
r.raise_for_status()
|
r.raise_for_status()
|
||||||
return r.json()
|
folder_id = r.json()["id"]
|
||||||
|
# Re-fetch to get full folder details (including name/path)
|
||||||
|
return self._get_folder(project, folder_id)
|
||||||
|
|
||||||
|
def _get_folder(self, project: str, folder_id: str) -> dict:
|
||||||
|
"""Get a single folder by ID via GraphQL."""
|
||||||
|
query = (
|
||||||
|
'{project(name:"' + project + '")'
|
||||||
|
'{folder(id:"' + folder_id + '")'
|
||||||
|
"{id name path parentId folderType}}}"
|
||||||
|
)
|
||||||
|
data = self._graphql(query)
|
||||||
|
return data["project"]["folder"]
|
||||||
|
|
||||||
def find_or_create_folder(
|
def find_or_create_folder(
|
||||||
self, project: str, path: str, folder_type: str = "Asset"
|
self, project: str, path: str, folder_type: str = "Asset"
|
||||||
|
|||||||
Reference in New Issue
Block a user