diff --git a/lnbits/extension_manager.py b/lnbits/extension_manager.py index 0db843c7e..9628f505d 100644 --- a/lnbits/extension_manager.py +++ b/lnbits/extension_manager.py @@ -138,11 +138,9 @@ class ExtensionRelease(BaseModel): return [] -class GitHubRepoRelease(BaseModel): - name: str - tag_name: str - zipball_url: str - html_url: str +class Manifest(BaseModel): + extensions: List["ExplicitRelease"] = [] + repos: List["GitHubRelease"] = [] class ExplicitRelease(BaseModel): @@ -166,6 +164,25 @@ class GitHubRelease(BaseModel): repository: str +class GitHubRepoRelease(BaseModel): + name: str + tag_name: str + zipball_url: str + html_url: str + + +class GitHubRepo(BaseModel): + stargazers_count: str + html_url: str + default_branch: str + + +class ExtensionConfig(BaseModel): + name: str + short_description: str + tile: str + + class InstallableExtension(BaseModel): id: str name: str @@ -431,18 +448,6 @@ class InstallableExtension(BaseModel): return selected_release[0] if len(selected_release) != 0 else None -class GitHubRepo(BaseModel): - stargazers_count: str - html_url: str - default_branch: str - - -class ExtensionConfig(BaseModel): - name: str - short_description: str - tile: str - - class InstalledExtensionMiddleware: # This middleware class intercepts calls made to the extensions API and: # - it blocks the calls if the extension has been disabled or uninstalled. @@ -494,11 +499,6 @@ class CreateExtension(BaseModel): source_repo: str -class Manifest(BaseModel): - extensions: List[ExplicitRelease] = [] - repos: List[GitHubRelease] = [] - - def get_valid_extensions() -> List[Extension]: return [ extension for extension in ExtensionManager().extensions if extension.is_valid