blitz_api/app/api/models.py

40 lines
1 KiB
Python
Raw Normal View History

from enum import Enum
from typing import Optional
from pydantic import BaseModel
class StartupState(str, Enum):
OFFLINE = "offline"
BOOTSTRAPPING = "bootstrapping"
LOCKED = "locked"
DONE = "done"
DISABLED = "disabled"
class ApiStartupStatus(BaseModel):
def __init__(
__pydantic_self__,
bitcoin: StartupState = StartupState.OFFLINE,
bitcoin_msg: Optional[str] = "",
lightning: StartupState = StartupState.OFFLINE,
lightning_msg: Optional[str] = "",
) -> "ApiStartupStatus":
super().__init__(
bitcoin=bitcoin,
bitcoin_msg=bitcoin_msg,
lightning=lightning,
lightning_msg=lightning_msg,
)
bitcoin: StartupState
bitcoin_msg: Optional[str]
lightning: StartupState
lightning_msg: Optional[str]
def is_fully_initialized(self):
return self.bitcoin == StartupState.DONE and (
self.lightning == StartupState.DONE
or self.lightning == StartupState.DISABLED
)