From 1b609a9e5e3460f8abdcdf4e065eca82caa7cfc1 Mon Sep 17 00:00:00 2001 From: SimplifiedPrivacy Date: Thu, 6 Aug 2026 10:58:44 -0400 Subject: [PATCH] Fixed application_versions insert on sync --- core/controllers/SyncController.py | 58 ++++----------------- core/services/networking/httpx/endpoints.py | 5 +- 2 files changed, 10 insertions(+), 53 deletions(-) diff --git a/core/controllers/SyncController.py b/core/controllers/SyncController.py index 63ae333..6d0719d 100644 --- a/core/controllers/SyncController.py +++ b/core/controllers/SyncController.py @@ -1,8 +1,10 @@ - +from core.services.sync import legacy_insert from core.models.manage.session_management import init_session, close_session from core.services.sync.sync_service import coordinate_cache_sync, save_metadata from core.services.sync.insert_for_orm import insert_one_orm_model from core.services.networking.httpx import connect + +# return objects from core.services.networking.api_requests.ApiResponseModel import ApiResponse, ErrorType from core.models.DatabaseOperation import DatabaseOperation, DBErrorType from core.models.Result import Result, ResultError @@ -15,8 +17,6 @@ from core.models.orm_models.Location import Location from core.models.orm_models.Operator import Operator from core.Constants import Constants -from core.services.sync import legacy_insert - from core.controllers.ApplicationController import ApplicationController from core.controllers.ApplicationVersionController import ApplicationVersionController from core.controllers.ClientVersionController import ClientVersionController @@ -26,7 +26,7 @@ from core.observers.ClientObserver import ClientObserver from core.observers.ConnectionObserver import ConnectionObserver from core.models.orm_models.ApplicationVersion import ApplicationVersion - +# generic import sys import json @@ -90,15 +90,6 @@ def new_sync(client_observer: ClientObserver, connection_observer: ConnectionObs # We only make it past this point if there's New Data - #################################### - # MAKE SURE TO GET NEW APPS (subgroups) - #################################### - if 'application_versions' in changed_tables: - logger.info("Adding the application_versions to changed tables!") - changed_tables.extend(APP_CODES.keys()) - print(f"changed_tables is {changed_tables}") - - #################################### # API CALLS: GET NEW DATA IN BULK #################################### @@ -116,33 +107,28 @@ def new_sync(client_observer: ClientObserver, connection_observer: ConnectionObs quantity_of_entries = len(results.data) logger.info(f"We have valid API call results. There are {quantity_of_entries} entries") + all_results = results.data #################################### # LOOP INSERT INTO DATABASE #################################### client_observer.notify('synchronizing', f'Inserting into Database..') skipped = [] - FIRST_APP_VERSION_LOOP_ITERATION = True - for key, each_api_result in results.data.items(): - # logger.info(f"We are inserting {key}") + for key, each_api_result in all_results.items(): if not each_api_result.valid: logger.info(f"Skipping invalid api response for {key}") skipped.append(key) continue - - logger.info(f"Inserting valid api data for {key} into the Database, and FIRST_APP_VERSION_LOOP_ITERATION is {FIRST_APP_VERSION_LOOP_ITERATION}") + + logger.info(f"Inserting valid api data for {key} into the Database") each_insert = insert_data( key=key, each_api_calls_data=each_api_result.data, - client_observer=client_observer, - FIRST_APP_VERSION_LOOP_ITERATION=FIRST_APP_VERSION_LOOP_ITERATION, + client_observer=client_observer ) logger.info(f"Exited the insert data function with a result of {each_insert.valid}") - if each_insert.which_table == "application_versions": - FIRST_APP_VERSION_LOOP_ITERATION = False - if each_insert.valid: logger.info(f"Success with insert of {key}") client_observer.notify('synchronizing', f'Inserted {key}') @@ -188,7 +174,6 @@ def insert_data( key: str, each_api_calls_data: dict, client_observer: ClientObserver, - FIRST_APP_VERSION_LOOP_ITERATION: bool ) -> DatabaseOperation: #################################### @@ -205,20 +190,6 @@ def insert_data( ) return db_result - # application versions - if key in APP_CODES: - logger.info(f"{key} counts as a new ORM but uses 'application_versions' and FIRST_APP_VERSION_LOOP_ITERATION is {FIRST_APP_VERSION_LOOP_ITERATION}") - new_orm_model = get_orm_model("application_versions") - - db_result = insert_one_orm_model( - which_key="application_versions", - which_model=new_orm_model, - new_data=each_api_calls_data, - override=FIRST_APP_VERSION_LOOP_ITERATION, - ) - db_result.which_table = "application_versions" - return db_result - #################################### # LEGACY MANUAL SQL #################################### @@ -228,14 +199,3 @@ def insert_data( # UNKNOWN MODEL #################################### return DatabaseOperation(valid=False, error_type=DBErrorType.UNKNOWN_MODEL) - - - -# Legacy version: -# "firefox": legacy_insert.for_application_versions, -# "chromium": legacy_insert.for_application_versions, -# "brave": legacy_insert.for_application_versions, -# "librewolf": legacy_insert.for_application_versions, - -# ISOLATION TESTS: -# changed_tables = ["locations", "operators", "applications", "client_version", "subscriptions", "applications", "firefox", "chromium", "brave", "librewolf"] diff --git a/core/services/networking/httpx/endpoints.py b/core/services/networking/httpx/endpoints.py index 27f2ad2..711c610 100644 --- a/core/services/networking/httpx/endpoints.py +++ b/core/services/networking/httpx/endpoints.py @@ -9,10 +9,7 @@ def switch_endpoint_domain(domain: str) -> dict: "client_version": f"https://{domain}/api/v1/platforms/linux-x86_64/appimage/client-versions", "subscriptions": f"https://{domain}/api/v1/subscription-plans", "applications": f"https://{domain}/api/v1/platforms/linux-x86_64/applications", - "firefox": f"https://{domain}/api/v1/platforms/linux-x86_64/applications/firefox/application-versions", - "chromium": f"https://{domain}/api/v1/platforms/linux-x86_64/applications/chromium/application-versions", - "brave": f"https://{domain}/api/v1/platforms/linux-x86_64/applications/brave/application-versions", - "librewolf": f"https://{domain}/api/v1/platforms/linux-x86_64/applications/librewolf/application-versions" + "application_versions": f"https://{domain}/api/v1/platforms/linux-x86_64/application-versions", }