|
1 | 1 | from __future__ import annotations |
2 | 2 |
|
3 | | -from datetime import datetime, timezone |
| 3 | +from datetime import datetime |
4 | 4 | from typing import TYPE_CHECKING, Any |
5 | 5 |
|
6 | 6 | from sift_client._internal.low_level_wrappers.calculated_channels import ( |
@@ -247,12 +247,31 @@ async def update( |
247 | 247 |
|
248 | 248 | return self._apply_client_to_instance(updated_calculated_channel) |
249 | 249 |
|
250 | | - async def archive(self, calculated_channel: str | CalculatedChannel) -> None: |
251 | | - """Archive a Calculated Channel.""" |
252 | | - update = CalculatedChannelUpdate( |
253 | | - archived_date=datetime.now(tz=timezone.utc), |
254 | | - ) |
255 | | - await self.update(calculated_channel=calculated_channel, update=update) |
| 250 | + async def archive(self, calculated_channel: str | CalculatedChannel) -> CalculatedChannel: |
| 251 | + """Archive a calculated channel. |
| 252 | +
|
| 253 | + Args: |
| 254 | + calculated_channel: The id or CalculatedChannel object of the calculated channel to archive. |
| 255 | +
|
| 256 | + Returns: |
| 257 | + The archived CalculatedChannel. |
| 258 | + """ |
| 259 | + return await self.update(calculated_channel=calculated_channel, update=CalculatedChannelUpdate( |
| 260 | + is_archived=True |
| 261 | + )) |
| 262 | + |
| 263 | + async def unarchive(self, calculated_channel: str | CalculatedChannel) -> CalculatedChannel: |
| 264 | + """Unarchive a calculated channel. |
| 265 | +
|
| 266 | + Args: |
| 267 | + calculated_channel: The id or CalculatedChannel object of the calculated channel to unarchive. |
| 268 | +
|
| 269 | + Returns: |
| 270 | + The unarchived CalculatedChannel. |
| 271 | + """ |
| 272 | + return await self.update(calculated_channel=calculated_channel, update=CalculatedChannelUpdate( |
| 273 | + is_archived=False |
| 274 | + )) |
256 | 275 |
|
257 | 276 | async def list_versions( |
258 | 277 | self, |
|
0 commit comments