diff --git a/root/app/models.py b/root/app/models.py index 690d740..840b837 100644 --- a/root/app/models.py +++ b/root/app/models.py @@ -73,27 +73,14 @@ class MacAddress(BaseModel): desc: str optional: bool -class Image(BaseModel): - name: str - github_url: str - project_url: str | None - project_logo: str | None +class Config(BaseModel): application_setup: str - description: str - version: str - version_timestamp: str - category: str - stable: bool - deprecated: bool | None - stars: int readonly_supported: bool | None nonroot_supported: bool | None privileged: bool | None networking: str | None hostname: Hostname | None mac_address: MacAddress | None - tags: list[Tag] - architectures: list[Architecture] env_vars: list[EnvVar] | None volumes: list[Volume] | None ports: list[Port] | None @@ -101,7 +88,23 @@ class Image(BaseModel): security_opt: list[SecurityOpt] | None devices: list[Device] | None caps: list[Cap] | None + +class Image(BaseModel): + name: str + github_url: str + project_url: str | None + project_logo: str | None + description: str + version: str + version_timestamp: str + category: str + stable: bool + deprecated: bool | None + stars: int + tags: list[Tag] + architectures: list[Architecture] changelog: list[Changelog] | None + config: Config class Repository(BaseModel): linuxserver: list[Image] diff --git a/root/app/updater.py b/root/app/updater.py index bf43cc4..85d9b0f 100644 --- a/root/app/updater.py +++ b/root/app/updater.py @@ -1,6 +1,6 @@ import lsio_github as gh from keyvaluestore import KeyValueStore, set_db_schema -from models import Architecture, Changelog, Tag, EnvVar, Volume, Port +from models import Architecture, Changelog, Tag, EnvVar, Volume, Port, Config from models import Custom, SecurityOpt, Device, Cap, Hostname, MacAddress, Image from models import Repository, ImagesData, ImagesResponse, IMAGES_SCHEMA_VERSION @@ -154,22 +154,8 @@ def get_image(repo): tags, stable = get_tags(readme_vars) deprecated = readme_vars.get("project_deprecation_status", None) version, version_timestamp = gh.get_last_stable_release(repo) - return Image( - name=repo.name.replace("docker-", ""), - github_url=repo.html_url, - stars=repo.stargazers_count, - project_url=readme_vars.get("project_url", None), - project_logo=readme_vars.get("project_logo", None), + config = Config( application_setup=f"{repo.html_url}?tab=readme-ov-file#application-setup", - description=get_description(readme_vars), - version=version, - version_timestamp=version_timestamp, - changelog=get_changelogs(readme_vars), - category=categories, - stable=stable, - deprecated=deprecated, - tags=tags, - architectures=get_architectures(readme_vars), readonly_supported=readme_vars.get("readonly_supported", None), nonroot_supported=readme_vars.get("nonroot_supported", None), privileged=readme_vars.get("privileged", None), @@ -184,6 +170,23 @@ def get_image(repo): devices=get_devices(readme_vars), caps=get_caps(readme_vars), ) + return Image( + name=repo.name.replace("docker-", ""), + github_url=repo.html_url, + stars=repo.stargazers_count, + project_url=readme_vars.get("project_url", None), + project_logo=readme_vars.get("project_logo", None), + description=get_description(readme_vars), + version=version, + version_timestamp=version_timestamp, + category=categories, + stable=stable, + deprecated=deprecated, + tags=tags, + architectures=get_architectures(readme_vars), + changelog=get_changelogs(readme_vars), + config=config, + ) def update_images(): with KeyValueStore(invalidate_hours=INVALIDATE_HOURS, readonly=False) as kv: