refactor: убрать qt_pricelist_sync_status, lot_log и лишние права БД
- Удалить все записи в qt_pricelist_sync_status (RecordSyncHeartbeat и ensureUserSyncStatusTable); ListUserSyncStatuses переведён на qt_client_schema_state - Подавлять устаревший OFFLINE_UNVERIFIED_SCHEMA в UI когда соединение уже восстановлено - Удалить все обращения к lot_log: repository/price.go, сортировка quote_count в component.go, UpdatePopularityScores в stats.go, модель LotLog Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -238,7 +238,6 @@ func (h *SyncHandler) SyncPricelists(c *gin.Context) {
|
||||
Synced: synced,
|
||||
Duration: time.Since(startTime).String(),
|
||||
})
|
||||
h.syncService.RecordSyncHeartbeat()
|
||||
}
|
||||
|
||||
// SyncPartnumberBooks syncs partnumber book snapshots from MariaDB to local SQLite.
|
||||
@@ -266,7 +265,6 @@ func (h *SyncHandler) SyncPartnumberBooks(c *gin.Context) {
|
||||
Synced: pulled,
|
||||
Duration: time.Since(startTime).String(),
|
||||
})
|
||||
h.syncService.RecordSyncHeartbeat()
|
||||
}
|
||||
|
||||
// SyncAllResponse represents result of full sync
|
||||
@@ -399,7 +397,6 @@ func (h *SyncHandler) SyncAll(c *gin.Context) {
|
||||
ConfigurationsSkipped: configsResult.Skipped,
|
||||
Duration: time.Since(startTime).String(),
|
||||
})
|
||||
h.syncService.RecordSyncHeartbeat()
|
||||
}
|
||||
|
||||
// checkOnline checks if MariaDB is accessible
|
||||
@@ -432,7 +429,6 @@ func (h *SyncHandler) PushPendingChanges(c *gin.Context) {
|
||||
Synced: pushed,
|
||||
Duration: time.Since(startTime).String(),
|
||||
})
|
||||
h.syncService.RecordSyncHeartbeat()
|
||||
}
|
||||
|
||||
// GetPendingCount returns the number of pending changes
|
||||
@@ -621,9 +617,6 @@ func (h *SyncHandler) GetUsersStatus(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// Keep current client heartbeat fresh so app version is available in the table.
|
||||
h.syncService.RecordSyncHeartbeat()
|
||||
|
||||
users, err := h.syncService.ListUserSyncStatuses(threshold)
|
||||
if err != nil {
|
||||
RespondError(c, http.StatusInternalServerError, "internal server error", err)
|
||||
@@ -712,6 +705,13 @@ func (h *SyncHandler) getReadinessLocal() *sync.SyncReadiness {
|
||||
return nil
|
||||
}
|
||||
|
||||
// OFFLINE_UNVERIFIED_SCHEMA is only valid while actually offline.
|
||||
// Suppress it when the connection manager reports online so the stale
|
||||
// blocked state from a previous disconnection doesn't linger in the UI.
|
||||
if state.ReasonCode == "OFFLINE_UNVERIFIED_SCHEMA" && h.checkOnline() {
|
||||
return nil
|
||||
}
|
||||
|
||||
readiness := &sync.SyncReadiness{
|
||||
Status: state.Status,
|
||||
Blocked: state.Status == sync.ReadinessBlocked,
|
||||
|
||||
Reference in New Issue
Block a user