Merge origin/main

This commit is contained in:
Mikhail Chusavitin
2026-02-18 10:12:07 +03:00
18 changed files with 1236 additions and 159 deletions

View File

@@ -593,10 +593,12 @@ func setupRouter(cfg *config.Config, configPath string, connMgr *db.ConnectionMa
pricingAdmin.POST("/recalculate-all", pricingHandler.RecalculateAll)
pricingAdmin.GET("/lots", pricingHandler.ListLots)
pricingAdmin.GET("/lots-table", pricingHandler.ListLotsTable)
pricingAdmin.GET("/lots/:lot_name/stats", pricingHandler.GetLotStats)
pricingAdmin.POST("/lots", pricingHandler.CreateLot)
pricingAdmin.POST("/lots/sync-metadata", pricingHandler.SyncLotsMetadata)
pricingAdmin.POST("/stock/import", pricingHandler.ImportStockLog)
pricingAdmin.GET("/stock/mappings", pricingHandler.ListStockMappings)
pricingAdmin.GET("/stock/unmapped-partnumbers", pricingHandler.GetUnmappedPartnumbers)
pricingAdmin.POST("/stock/mappings", pricingHandler.UpsertStockMapping)
pricingAdmin.DELETE("/stock/mappings/:partnumber", pricingHandler.DeleteStockMapping)
pricingAdmin.GET("/stock/ignore-rules", pricingHandler.ListStockIgnoreRules)
@@ -653,6 +655,12 @@ func openBrowser(url string) error {
}
func requestLogger() gin.HandlerFunc {
// Skip logging for frequent polling endpoints
skipPaths := map[string]bool{
"/api/tasks": true,
"/api/db-status": true,
}
return func(c *gin.Context) {
start := time.Now()
path := c.Request.URL.Path
@@ -660,6 +668,11 @@ func requestLogger() gin.HandlerFunc {
c.Next()
// Skip logging for frequent polling endpoints
if skipPaths[path] {
return
}
latency := time.Since(start)
status := c.Writer.Status()