From 4d755549af45d03b17ca7befa077f75c471248ff Mon Sep 17 00:00:00 2001 From: Thomas Fransolet Date: Thu, 14 Aug 2025 21:31:26 +0200 Subject: [PATCH] Updated code for device creation (create appconfig) + misc --- .../ApplicationInstanceController.cs | 6 +++++- ManagerService/Controllers/DeviceController.cs | 17 ++++++++++++++++- ManagerService/DTOs/AppConfigurationLinkDTO.cs | 2 ++ ManagerService/Data/AppConfigurationLink.cs | 2 ++ ManagerService/Startup.cs | 2 +- 5 files changed, 26 insertions(+), 3 deletions(-) diff --git a/ManagerService/Controllers/ApplicationInstanceController.cs b/ManagerService/Controllers/ApplicationInstanceController.cs index 44b4d9f..613f409 100644 --- a/ManagerService/Controllers/ApplicationInstanceController.cs +++ b/ManagerService/Controllers/ApplicationInstanceController.cs @@ -194,7 +194,11 @@ namespace ManagerService.Controllers { try { - List appConfigurationLinks = _myInfoMateDbContext.AppConfigurationLinks.Include(acl => acl.Configuration).Where(acl => acl.ApplicationInstanceId == applicationInstanceId).ToList(); + List appConfigurationLinks = _myInfoMateDbContext.AppConfigurationLinks + .Include(acl => acl.Configuration) + .Include(acl => acl.Device) + .Where(acl => acl.ApplicationInstanceId == applicationInstanceId) + .ToList(); return new OkObjectResult(appConfigurationLinks.Select(acl => acl.ToDTO()).OrderBy(acl => acl.order).ToList()); } catch (Exception ex) diff --git a/ManagerService/Controllers/DeviceController.cs b/ManagerService/Controllers/DeviceController.cs index d22884c..1f9bd41 100644 --- a/ManagerService/Controllers/DeviceController.cs +++ b/ManagerService/Controllers/DeviceController.cs @@ -133,7 +133,7 @@ namespace ManagerService.Controllers device.InstanceId = newDevice.instanceId; device.Name = newDevice.name; - device.ConfigurationId = newDevice.configurationId; + device.ConfigurationId = newDevice.configurationId; // OLD WAY -> AppConfigurationLink device.IpAddressETH = newDevice.ipAddressETH; device.IpAddressWLAN = newDevice.ipAddressWLAN; device.Connected = newDevice.connected; @@ -142,6 +142,8 @@ namespace ManagerService.Controllers device.BatteryLevel = newDevice.batteryLevel; device.LastBatteryLevel = newDevice.lastBatteryLevel; + ApplicationInstance applicationInstance = _myInfoMateDbContext.ApplicationInstances.FirstOrDefault(ai => ai.InstanceId == newDevice.instanceId && ai.AppType == AppType.Tablet); + //OldDevice deviceCreated = _deviceService.IsExistIdentifier(newDevice.identifier) ? _deviceService.Update(device.Id, device) : _deviceService.Create(device); if (deviceDB != null) { @@ -151,6 +153,19 @@ namespace ManagerService.Controllers } _myInfoMateDbContext.SaveChanges(); + if (deviceDB == null) + { + // Create AppConfigurationLink + AppConfigurationLink link = new AppConfigurationLink(); + link.ConfigurationId = newDevice.configurationId; + link.ApplicationInstanceId = applicationInstance.Id; + link.DeviceId = device.Id; + link.Id = idService.GenerateHexId(); + _myInfoMateDbContext.AppConfigurationLinks.Add(link); + } + + _myInfoMateDbContext.SaveChanges(); + return new OkObjectResult(device.ToDTO()); } catch (ArgumentNullException ex) diff --git a/ManagerService/DTOs/AppConfigurationLinkDTO.cs b/ManagerService/DTOs/AppConfigurationLinkDTO.cs index e68f356..4bb747e 100644 --- a/ManagerService/DTOs/AppConfigurationLinkDTO.cs +++ b/ManagerService/DTOs/AppConfigurationLinkDTO.cs @@ -30,6 +30,8 @@ namespace ManagerService.DTOs public string deviceId { get; set; } // Specific Kiosk + public DeviceDTO device { get; set; } // Specific Kiosk + public LayoutMainPageType layoutMainPage { get; set; } // Specific Kiosk public string LoaderImageUrl { get; set; } // Specific Kiosk diff --git a/ManagerService/Data/AppConfigurationLink.cs b/ManagerService/Data/AppConfigurationLink.cs index f149101..6774c5e 100644 --- a/ManagerService/Data/AppConfigurationLink.cs +++ b/ManagerService/Data/AppConfigurationLink.cs @@ -77,6 +77,7 @@ namespace ManagerService.Data screenPercentageSectionsMainPage = ScreenPercentageSectionsMainPage, isSectionImageBackground = IsSectionImageBackground, deviceId = DeviceId, + device = Device?.ToDTO() }; } @@ -92,6 +93,7 @@ namespace ManagerService.Data RoundedValue = appConfigurationLinkDTO.roundedValue; ScreenPercentageSectionsMainPage = appConfigurationLinkDTO.screenPercentageSectionsMainPage; IsSectionImageBackground = appConfigurationLinkDTO.isSectionImageBackground; + DeviceId = appConfigurationLinkDTO.deviceId; return this; } diff --git a/ManagerService/Startup.cs b/ManagerService/Startup.cs index 022db4a..da99d43 100644 --- a/ManagerService/Startup.cs +++ b/ManagerService/Startup.cs @@ -188,7 +188,7 @@ namespace ManagerService app.UseCors( #if DEBUG options => options - .SetIsOriginAllowed(origin => string.IsNullOrEmpty(origin) || origin == "http://localhost:62150") + .SetIsOriginAllowed(origin => string.IsNullOrEmpty(origin) || origin == "http://localhost:55628") .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials()