main
py 27 lines 837 Bytes
Raw
1 from helpers.api import ApiHandler, Request, Response
2
3 from helpers import runtime
4 from helpers import self_update
5
6
7 class SelfUpdateGet(ApiHandler):
8 @classmethod
9 def get_methods(cls) -> list[str]:
10 return ["GET", "POST"]
11
12 async def process(self, input: dict, request: Request) -> dict | Response:
13 try:
14 info = self_update.get_update_info()
15 return {
16 "success": True,
17 "supported": runtime.is_dockerized(),
18 **info,
19 }
20 except Exception as e:
21 return {
22 "success": False,
23 "supported": runtime.is_dockerized(),
24 "error": str(e),
25 "pending": self_update.load_pending_update(),
26 "last_status": self_update.load_last_status(),
27 }