fix: read optional legacy parameters from query

This commit is contained in:
Meik
2026-07-17 17:49:22 +02:00
parent d97a87c61a
commit cec49319da
8 changed files with 35 additions and 34 deletions

View File

@@ -106,11 +106,10 @@ namespace C4IT.F4SD
public async Task<List<cF4SDTicketSummary>> getTicketList( public async Task<List<cF4SDTicketSummary>> getTicketList(
string sid, string sid,
int hours, int hours,
int queueoption = 0, int queueoption = 0
string queues = ""
) )
{ {
var decodedPairs = ParseQueues(queues); var decodedPairs = ParseQueues(GetQueryValue("queues"));
// Nun weiterreichen an Service // Nun weiterreichen an Service
return await _f4stHelperService.getTicketListByUser( return await _f4stHelperService.getTicketListByUser(
@@ -125,11 +124,10 @@ namespace C4IT.F4SD
public async Task<List<cF4SDTicketSummary>> getTicketListForUser( public async Task<List<cF4SDTicketSummary>> getTicketListForUser(
Guid userId, Guid userId,
int hours, int hours,
int queueoption = 0, int queueoption = 0
string queues = ""
) )
{ {
var decodedPairs = ParseQueues(queues); var decodedPairs = ParseQueues(GetQueryValue("queues"));
// Nun weiterreichen an Service // Nun weiterreichen an Service
return await _f4stHelperService.getTicketListByUser( return await _f4stHelperService.getTicketListByUser(
@@ -163,8 +161,7 @@ namespace C4IT.F4SD
string sid, string sid,
string scope = "personal", string scope = "personal",
string keys = "", string keys = "",
int queueoption = 0, int queueoption = 0
string queues = ""
) )
{ {
var parsedKeys = (keys ?? string.Empty) var parsedKeys = (keys ?? string.Empty)
@@ -173,7 +170,7 @@ namespace C4IT.F4SD
.Where(key => !string.IsNullOrWhiteSpace(key)) .Where(key => !string.IsNullOrWhiteSpace(key))
.ToList(); .ToList();
var decodedQueues = ParseQueues(queues); var decodedQueues = ParseQueues(GetQueryValue("queues"));
return await _f4stHelperService.getTicketOverviewCounts(sid, scope, parsedKeys, queueoption, decodedQueues); return await _f4stHelperService.getTicketOverviewCounts(sid, scope, parsedKeys, queueoption, decodedQueues);
} }
@@ -183,8 +180,7 @@ namespace C4IT.F4SD
Guid userId, Guid userId,
string scope = "personal", string scope = "personal",
string keys = "", string keys = "",
int queueoption = 0, int queueoption = 0
string queues = ""
) )
{ {
var parsedKeys = (keys ?? string.Empty) var parsedKeys = (keys ?? string.Empty)
@@ -193,7 +189,7 @@ namespace C4IT.F4SD
.Where(key => !string.IsNullOrWhiteSpace(key)) .Where(key => !string.IsNullOrWhiteSpace(key))
.ToList(); .ToList();
var decodedQueues = ParseQueues(queues); var decodedQueues = ParseQueues(GetQueryValue("queues"));
return await _f4stHelperService.getTicketOverviewCounts(userId, scope, parsedKeys, queueoption, decodedQueues); return await _f4stHelperService.getTicketOverviewCounts(userId, scope, parsedKeys, queueoption, decodedQueues);
} }
@@ -253,11 +249,10 @@ namespace C4IT.F4SD
string scope = "personal", string scope = "personal",
string key = "", string key = "",
int count = 0, int count = 0,
int queueoption = 0, int queueoption = 0
string queues = ""
) )
{ {
var decodedQueues = ParseQueues(queues); var decodedQueues = ParseQueues(GetQueryValue("queues"));
return await _f4stHelperService.getTicketOverviewRelations(sid, scope, key, count, queueoption, decodedQueues); return await _f4stHelperService.getTicketOverviewRelations(sid, scope, key, count, queueoption, decodedQueues);
} }
@@ -267,11 +262,10 @@ namespace C4IT.F4SD
string scope = "personal", string scope = "personal",
string key = "", string key = "",
int count = 0, int count = 0,
int queueoption = 0, int queueoption = 0
string queues = ""
) )
{ {
var decodedQueues = ParseQueues(queues); var decodedQueues = ParseQueues(GetQueryValue("queues"));
return await _f4stHelperService.getTicketOverviewRelations(userId, scope, key, count, queueoption, decodedQueues); return await _f4stHelperService.getTicketOverviewRelations(userId, scope, key, count, queueoption, decodedQueues);
} }
@@ -385,6 +379,13 @@ namespace C4IT.F4SD
public string Queues { get; set; } public string Queues { get; set; }
} }
private string GetQueryValue(string name)
{
return Request?.GetQueryNameValuePairs()
.FirstOrDefault(pair => string.Equals(pair.Key, name, StringComparison.OrdinalIgnoreCase))
.Value ?? string.Empty;
}
private static List<cApiM42TicketQueueInfo> ParseQueues(string queues) private static List<cApiM42TicketQueueInfo> ParseQueues(string queues)
{ {
return (queues ?? string.Empty) return (queues ?? string.Empty)
@@ -456,11 +457,11 @@ namespace C4IT.F4SD
} }
[Route("log"), HttpGet] [Route("log"), HttpGet]
public HttpResponseMessage getLog(string download = "0", int count = 50, string filter = "") public HttpResponseMessage getLog(string download = "0", int count = 50)
{ {
try try
{ {
return _f4stHelperService.privGetLog(download, count, Request, filter); return _f4stHelperService.privGetLog(download, count, Request, GetQueryValue("filter"));
} }
catch (Exception E) catch (Exception E)
{ {

View File

@@ -136,8 +136,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>f977a1d8-f21c-c1bc-4ea0-08dac09d3c99</ID> <ID>f977a1d8-f21c-c1bc-4ea0-08dac09d3c99</ID>
<RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"download":{"Type":"StringType"},"count":{"Type":"StringType"},"filter":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"download":{"Type":"StringType"},"count":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getLog(download, count, filter)</Name> <Name>getLog(download, count)</Name>
<RouteTemplate>log</RouteTemplate> <RouteTemplate>log</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>

View File

@@ -136,8 +136,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>163e04c2-8b5c-c0e6-0535-08da9bbec2df</ID> <ID>163e04c2-8b5c-c0e6-0535-08da9bbec2df</ID>
<RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"sid":{"Type":"StringType"},"hours":{"Type":"StringType"},"queueoption":{"Type":"StringType"},"queues":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"sid":{"Type":"StringType"},"hours":{"Type":"StringType"},"queueoption":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketList(sid, hours, queueoption, queues)</Name> <Name>getTicketList(sid, hours, queueoption)</Name>
<RouteTemplate>getTicketList</RouteTemplate> <RouteTemplate>getTicketList</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>

View File

@@ -138,8 +138,8 @@
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>8e1a4dc1-4b8d-4f97-9f58-101d95a00401</ID> <ID>8e1a4dc1-4b8d-4f97-9f58-101d95a00401</ID>
<ResponseContract>{"UsedTypes":{},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"System_Collections_Generic_List`1[C4IT_FASD_Base_cF4SDTicketSummary]"}}</ResponseContract> <ResponseContract>{"UsedTypes":{},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"System_Collections_Generic_List`1[C4IT_FASD_Base_cF4SDTicketSummary]"}}</ResponseContract>
<RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"userId":{"Type":"GuidType"},"hours":{"Type":"IntType"},"queueoption":{"Type":"IntType"},"queues":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"userId":{"Type":"GuidType"},"hours":{"Type":"IntType"},"queueoption":{"Type":"IntType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketListForUser(userId,hours,queueoption,queues)</Name> <Name>getTicketListForUser(userId,hours,queueoption)</Name>
<RouteTemplate>getTicketListForUser</RouteTemplate> <RouteTemplate>getTicketListForUser</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>

View File

@@ -138,8 +138,8 @@
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>99eef84e-a303-c248-36c5-08ded882fc6c</ID> <ID>99eef84e-a303-c248-36c5-08ded882fc6c</ID>
<ResponseContract>{"UsedTypes":{"C4IT_F4SD_F4SDHelperService+TicketOverviewCountsResult":{"Descriptor":{"Counts":{"Type":["StringType"]}}}},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"C4IT_F4SD_F4SDHelperService+TicketOverviewCountsResult"}}</ResponseContract> <ResponseContract>{"UsedTypes":{"C4IT_F4SD_F4SDHelperService+TicketOverviewCountsResult":{"Descriptor":{"Counts":{"Type":["StringType"]}}}},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"C4IT_F4SD_F4SDHelperService+TicketOverviewCountsResult"}}</ResponseContract>
<RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"sid":{"Type":"StringType"},"scope":{"Type":"StringType"},"keys":{"Type":"StringType"},"queueoption":{"Type":"IntType"},"queues":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"sid":{"Type":"StringType"},"scope":{"Type":"StringType"},"keys":{"Type":"StringType"},"queueoption":{"Type":"IntType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketOverviewCounts(sid,scope,keys,queueoption,queues)</Name> <Name>getTicketOverviewCounts(sid,scope,keys,queueoption)</Name>
<RouteTemplate>getTicketOverviewCounts</RouteTemplate> <RouteTemplate>getTicketOverviewCounts</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>

View File

@@ -138,8 +138,8 @@
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>8e1a4dc1-4b8d-4f97-9f58-101d95a00402</ID> <ID>8e1a4dc1-4b8d-4f97-9f58-101d95a00402</ID>
<ResponseContract>{"UsedTypes":{"C4IT_F4SD_F4SDHelperService+TicketOverviewCountsResult":{"Descriptor":{"Counts":{"Type":["StringType"]}}}},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"C4IT_F4SD_F4SDHelperService+TicketOverviewCountsResult"}}</ResponseContract> <ResponseContract>{"UsedTypes":{"C4IT_F4SD_F4SDHelperService+TicketOverviewCountsResult":{"Descriptor":{"Counts":{"Type":["StringType"]}}}},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"C4IT_F4SD_F4SDHelperService+TicketOverviewCountsResult"}}</ResponseContract>
<RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"userId":{"Type":"GuidType"},"scope":{"Type":"StringType"},"keys":{"Type":"StringType"},"queueoption":{"Type":"IntType"},"queues":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"userId":{"Type":"GuidType"},"scope":{"Type":"StringType"},"keys":{"Type":"StringType"},"queueoption":{"Type":"IntType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketOverviewCountsForUser(userId,scope,keys,queueoption,queues)</Name> <Name>getTicketOverviewCountsForUser(userId,scope,keys,queueoption)</Name>
<RouteTemplate>getTicketOverviewCountsForUser</RouteTemplate> <RouteTemplate>getTicketOverviewCountsForUser</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>

View File

@@ -138,8 +138,8 @@
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>c5dd653a-54d8-c430-c9df-08ded882fc79</ID> <ID>c5dd653a-54d8-c430-c9df-08ded882fc79</ID>
<ResponseContract>{"UsedTypes":{},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"System_Collections_Generic_List`1[C4IT_F4SD_F4SDHelperService+TicketOverviewRelationDto]"}}</ResponseContract> <ResponseContract>{"UsedTypes":{},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"System_Collections_Generic_List`1[C4IT_F4SD_F4SDHelperService+TicketOverviewRelationDto]"}}</ResponseContract>
<RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"sid":{"Type":"StringType"},"scope":{"Type":"StringType"},"key":{"Type":"StringType"},"count":{"Type":"IntType"},"queueoption":{"Type":"IntType"},"queues":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"sid":{"Type":"StringType"},"scope":{"Type":"StringType"},"key":{"Type":"StringType"},"count":{"Type":"IntType"},"queueoption":{"Type":"IntType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketOverviewRelations(sid,scope,key,count,queueoption,queues)</Name> <Name>getTicketOverviewRelations(sid,scope,key,count,queueoption)</Name>
<RouteTemplate>getTicketOverviewRelations</RouteTemplate> <RouteTemplate>getTicketOverviewRelations</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>

View File

@@ -138,8 +138,8 @@
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>8e1a4dc1-4b8d-4f97-9f58-101d95a00404</ID> <ID>8e1a4dc1-4b8d-4f97-9f58-101d95a00404</ID>
<ResponseContract>{"UsedTypes":{},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"System_Collections_Generic_List`1[C4IT_F4SD_F4SDHelperService+TicketOverviewRelationDto]"}}</ResponseContract> <ResponseContract>{"UsedTypes":{},"ContractDescriptor":{"ReturnCountType":"NotProvided","Documentation":"Return value","Type":"System_Collections_Generic_List`1[C4IT_F4SD_F4SDHelperService+TicketOverviewRelationDto]"}}</ResponseContract>
<RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"userId":{"Type":"GuidType"},"scope":{"Type":"StringType"},"key":{"Type":"StringType"},"count":{"Type":"IntType"},"queueoption":{"Type":"IntType"},"queues":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"userId":{"Type":"GuidType"},"scope":{"Type":"StringType"},"key":{"Type":"StringType"},"count":{"Type":"IntType"},"queueoption":{"Type":"IntType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketOverviewRelationsForUser(userId,scope,key,count,queueoption,queues)</Name> <Name>getTicketOverviewRelationsForUser(userId,scope,key,count,queueoption)</Name>
<RouteTemplate>getTicketOverviewRelationsForUser</RouteTemplate> <RouteTemplate>getTicketOverviewRelationsForUser</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>