From 1b72f4082dd8dc9ba0dfd5fb934ed36eab823885 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 3 Nov 2025 15:41:25 +0100 Subject: [PATCH] Fix percorso salvataggio png --- .../Services/ImageCacheService.cs | 69 ++++++++++--------- Lux.API/Services/ExternalMessageProcessor.cs | 2 +- 2 files changed, 36 insertions(+), 35 deletions(-) diff --git a/EgwCoreLib.Lux.Data/Services/ImageCacheService.cs b/EgwCoreLib.Lux.Data/Services/ImageCacheService.cs index 2a32aa1b..1f21ecbe 100644 --- a/EgwCoreLib.Lux.Data/Services/ImageCacheService.cs +++ b/EgwCoreLib.Lux.Data/Services/ImageCacheService.cs @@ -245,6 +245,40 @@ namespace EgwCoreLib.Lux.Data.Services return done; } + /// + /// Salva e invia su channel img redis SVG per il doc richiesto + /// + /// + /// contenuto PNG come string base64 + /// + public bool SavePng(string imgId, EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS env, string pngContent) + { + // salvo img in cache + string currKey = $"{redisBaseKey}:{env}:Img:Png:{imgId.Replace("/", ":")}"; + var done = _redisService.Set(currKey, pngContent); + // invio notifica nuova imgsvg sul canale... viene "reimbustata" + string notifyChannel = $"png-gen:{imgId}"; + long numSent = _redisService.Publish(notifyChannel, pngContent); + return done; + } + + /// + /// Salva e invia su channel img redis PNG per il doc richiesto + /// + /// + /// + /// contenuto PNG come string base64 + public async Task SavePngAsync(string imgId, EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS env, string pngContent) + { + // salvo img in cache + string currKey = $"{redisBaseKey}:{env}:Img:Png:{imgId.Replace("/", ":")}"; + var done = await _redisService.SetAsync(currKey, pngContent); + // invio notifica nuova png generata sul canale... viene inviato solo contenuto con ID nel canale + string notifyChannel = $"{pngChannel}:{imgId}"; + long numSent = await _redisService.PublishAsync(notifyChannel, pngContent); + return done; + } + /// /// Salva e invia su channel profile list gestiti /// @@ -312,39 +346,6 @@ namespace EgwCoreLib.Lux.Data.Services return done; } - /// - /// Salva e invia su channel img redis SVG per il doc richiesto - /// - /// - /// contenuto PNG come string base64 - /// - public bool SavePng(string imgId, EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS env, string pngContent) - { - // salvo img in cache - string currKey = $"{redisBaseKey}:{env}:Img:Png:{imgId.Replace("/", ":")}"; - var done = _redisService.Set(currKey, pngContent); - // invio notifica nuova imgsvg sul canale... viene "reimbustata" - string notifyChannel = $"png-gen:{imgId}"; - long numSent = _redisService.Publish(notifyChannel, pngContent); - return done; - } - /// - /// Salva e invia su channel img redis PNG per il doc richiesto - /// - /// - /// - /// contenuto PNG come string base64 - public async Task SavePngAsync(string imgId, EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS env, string pngContent) - { - // salvo img in cache - string currKey = $"{redisBaseKey}:{env}:Img:Png:{imgId.Replace("/", ":")}"; - var done = await _redisService.SetAsync(currKey, pngContent); - // invio notifica nuova png generata sul canale... viene inviato solo contenuto con ID nel canale - string notifyChannel = $"{pngChannel}:{imgId}"; - long numSent = await _redisService.PublishAsync(notifyChannel, pngContent); - return done; - } - #endregion Public Methods #region Private Fields @@ -362,10 +363,10 @@ namespace EgwCoreLib.Lux.Data.Services private readonly string hwOptChannel = "hw:opt"; private readonly string imgBasePath = ""; private readonly string liveTag = "svg"; + private readonly string pngChannel = "png:img"; private readonly string profListChannel = "prof:list"; private readonly string shapeChannel = "shape:curr"; private readonly string svgChannel = "svg:img"; - private readonly string pngChannel = "png:img"; private readonly string updateChannel = "ui:update"; private IConfiguration _config; diff --git a/Lux.API/Services/ExternalMessageProcessor.cs b/Lux.API/Services/ExternalMessageProcessor.cs index b9aa6f9f..7281c159 100644 --- a/Lux.API/Services/ExternalMessageProcessor.cs +++ b/Lux.API/Services/ExternalMessageProcessor.cs @@ -65,7 +65,7 @@ namespace Lux.API.Services string UID = retData.Args["UID"]; string newSvg = retData.Args["Png"]; // reinvio in redis (cache + channel) - await cacheService.SaveSvgAsync(UID, retData.ExecEnvironment, newSvg); + await cacheService.SavePngAsync(UID, retData.ExecEnvironment, newSvg); }