fix: avoid loading service manager module

This commit is contained in:
Meik
2026-06-26 20:32:50 +02:00
parent af9d730d1d
commit be1e8533b4
3 changed files with 21 additions and 3 deletions

View File

@@ -2,7 +2,6 @@
<host xmlns="urn:m42/host.config">
<modules>
<module assembly="Matrix42.DataLayer.Persistence" />
<module assembly="Matrix42.ServiceManager.BizLogic" />
</modules>
<sections></sections>
</host>

View File

@@ -13,7 +13,7 @@
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<M42ExtensionId>6673a25d-33d6-4072-91d9-abed4be1a966</M42ExtensionId>
<M42AssemblyPattern>C4ITF4SD*.*</M42AssemblyPattern>
<M42PackageVersion>1.4.0.9</M42PackageVersion>
<M42PackageVersion>1.4.0.10</M42PackageVersion>
<M42BuildPackage>true</M42BuildPackage>
</PropertyGroup>

View File

@@ -296,7 +296,11 @@ namespace C4IT.F4SD
public async Task<HttpResponseMessage> getPickup(string name, [FromUri] EntityEnumerationVisibilityMode mode = EntityEnumerationVisibilityMode.None, [FromUri] Int32 group = -1)
{
await Task.Delay(0);
EntityEnumeration enumerationTemp = GetEnumeration(name, mode);
var pickupName = ResolvePickupName(name);
if (string.IsNullOrWhiteSpace(pickupName))
return HttpResponseExtensions.CreateResponse(Request, HttpStatusCode.BadRequest, "Pickup name is required.");
EntityEnumeration enumerationTemp = GetEnumeration(pickupName, mode);
var vals = enumerationTemp.Values;
if (group > -1)
@@ -395,6 +399,7 @@ namespace C4IT.F4SD
private EntityEnumeration GetEnumeration(string name, EntityEnumerationVisibilityMode mode)
{
name = name?.Trim();
var dataTable = GetEnumerationProvider().GetEnumeration(name, GetVisibilityFilter(mode));
if (dataTable == null)
throw new InvalidOperationException($"Enumeration '{name}' was not found.");
@@ -427,6 +432,20 @@ namespace C4IT.F4SD
};
}
private string ResolvePickupName(string routeName)
{
if (!string.IsNullOrWhiteSpace(routeName))
return routeName.Trim();
var pathSegment = Request?.RequestUri?.Segments?
.LastOrDefault(segment => !string.IsNullOrWhiteSpace(segment) && segment != "/");
if (string.IsNullOrWhiteSpace(pathSegment))
return null;
return Uri.UnescapeDataString(pathSegment.Trim('/'));
}
private static bool? GetVisibilityFilter(EntityEnumerationVisibilityMode mode)
{
switch (mode)