Update a persona folder.
(
self,
folder_id: str,
name: str | None = None,
parent_id: T.Any = NOT_GIVEN,
description: T.Any = NOT_GIVEN,
sort_order: int | None = None,
)
| 1076 | return list(result.scalars().all()) |
| 1077 | |
| 1078 | async def update_persona_folder( |
| 1079 | self, |
| 1080 | folder_id: str, |
| 1081 | name: str | None = None, |
| 1082 | parent_id: T.Any = NOT_GIVEN, |
| 1083 | description: T.Any = NOT_GIVEN, |
| 1084 | sort_order: int | None = None, |
| 1085 | ) -> PersonaFolder | None: |
| 1086 | """Update a persona folder.""" |
| 1087 | async with self.get_db() as session: |
| 1088 | session: AsyncSession |
| 1089 | async with session.begin(): |
| 1090 | query = update(PersonaFolder).where( |
| 1091 | col(PersonaFolder.folder_id) == folder_id |
| 1092 | ) |
| 1093 | values: dict[str, T.Any] = {} |
| 1094 | if name is not None: |
| 1095 | values["name"] = name |
| 1096 | if parent_id is not NOT_GIVEN: |
| 1097 | values["parent_id"] = parent_id |
| 1098 | if description is not NOT_GIVEN: |
| 1099 | values["description"] = description |
| 1100 | if sort_order is not None: |
| 1101 | values["sort_order"] = sort_order |
| 1102 | if not values: |
| 1103 | return None |
| 1104 | query = query.values(**values) |
| 1105 | await session.execute(query) |
| 1106 | return await self.get_persona_folder_by_id(folder_id) |
| 1107 | |
| 1108 | async def delete_persona_folder(self, folder_id: str) -> None: |
| 1109 | """Delete a persona folder by its folder_id. |
nothing calls this directly
no test coverage detected