fix: read missing parameters from query
This commit is contained in:
@@ -94,16 +94,52 @@ namespace C4IT.F4SD
|
|||||||
return GetRequiredService<IJournalService>();
|
return GetRequiredService<IJournalService>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string GetQueryValue(string name)
|
||||||
|
{
|
||||||
|
return Request?.GetQueryNameValuePairs()
|
||||||
|
.FirstOrDefault(pair => string.Equals(pair.Key, name, StringComparison.OrdinalIgnoreCase))
|
||||||
|
.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string QueryValue(string value, string name)
|
||||||
|
{
|
||||||
|
return GetQueryValue(name) ?? value ?? string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int QueryValue(int value, string name)
|
||||||
|
{
|
||||||
|
return int.TryParse(GetQueryValue(name), out var parsed) ? parsed : value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Guid QueryValue(Guid value, string name)
|
||||||
|
{
|
||||||
|
return Guid.TryParse(GetQueryValue(name), out var parsed) ? parsed : value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Guid? QueryValue(Guid? value, string name)
|
||||||
|
{
|
||||||
|
return Guid.TryParse(GetQueryValue(name), out var parsed) ? parsed : value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private TEnum QueryValue<TEnum>(TEnum value, string name) where TEnum : struct
|
||||||
|
{
|
||||||
|
return Enum.TryParse<TEnum>(GetQueryValue(name), true, out var parsed) ? parsed : value;
|
||||||
|
}
|
||||||
|
|
||||||
[Route("getDirectLinkCreateTicket"), HttpGet]
|
[Route("getDirectLinkCreateTicket"), HttpGet]
|
||||||
public async Task<F4SDHelperService.DirectLink> getDirectLinkCreateTicket([FromUri] string sid = "", [FromUri] string assetname = "")
|
public async Task<F4SDHelperService.DirectLink> getDirectLinkCreateTicket([FromUri] string sid = "", [FromUri] string assetname = "")
|
||||||
{
|
{
|
||||||
await Task.Delay(0);
|
await Task.Delay(0);
|
||||||
|
sid = QueryValue(sid, nameof(sid));
|
||||||
|
assetname = QueryValue(assetname, nameof(assetname));
|
||||||
return await _f4stHelperService.getDirectLinkCreateTicket(sid, assetname)
|
return await _f4stHelperService.getDirectLinkCreateTicket(sid, assetname)
|
||||||
?? new F4SDHelperService.DirectLink();
|
?? new F4SDHelperService.DirectLink();
|
||||||
}
|
}
|
||||||
[Route("getDirectLinkF4SD"), HttpGet]
|
[Route("getDirectLinkF4SD"), HttpGet]
|
||||||
public async Task<string> getDirectLinkF4SD([FromUri] Guid eoid, [FromUri] string type)
|
public async Task<string> getDirectLinkF4SD([FromUri] Guid eoid, [FromUri] string type)
|
||||||
{
|
{
|
||||||
|
eoid = QueryValue(eoid, nameof(eoid));
|
||||||
|
type = QueryValue(type, nameof(type));
|
||||||
return await _f4stHelperService.getDirectLinkF4SD(eoid, type) ?? string.Empty;
|
return await _f4stHelperService.getDirectLinkF4SD(eoid, type) ?? string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,6 +151,10 @@ namespace C4IT.F4SD
|
|||||||
[FromUri] string queues = ""
|
[FromUri] string queues = ""
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
sid = QueryValue(sid, nameof(sid));
|
||||||
|
hours = QueryValue(hours, nameof(hours));
|
||||||
|
queueoption = QueryValue(queueoption, nameof(queueoption));
|
||||||
|
queues = QueryValue(queues, nameof(queues));
|
||||||
var decodedPairs = ParseQueues(queues);
|
var decodedPairs = ParseQueues(queues);
|
||||||
|
|
||||||
// Nun weiterreichen an Service
|
// Nun weiterreichen an Service
|
||||||
@@ -130,6 +170,7 @@ namespace C4IT.F4SD
|
|||||||
[Route("getTicketDetails"), HttpGet]
|
[Route("getTicketDetails"), HttpGet]
|
||||||
public async Task<cF4SDTicket> getTicketDetails([FromUri] Guid objectId)
|
public async Task<cF4SDTicket> getTicketDetails([FromUri] Guid objectId)
|
||||||
{
|
{
|
||||||
|
objectId = QueryValue(objectId, nameof(objectId));
|
||||||
var tickets = await _f4stHelperService.getTicketDetails(new List<Guid>() { objectId });
|
var tickets = await _f4stHelperService.getTicketDetails(new List<Guid>() { objectId });
|
||||||
if (tickets?.Count > 0)
|
if (tickets?.Count > 0)
|
||||||
return tickets[0];
|
return tickets[0];
|
||||||
@@ -140,6 +181,7 @@ namespace C4IT.F4SD
|
|||||||
[Route("getTicketHistory"), HttpGet]
|
[Route("getTicketHistory"), HttpGet]
|
||||||
public async Task<List<cTicketJournalItem>> getTicketHistory([FromUri] Guid objectId)
|
public async Task<List<cTicketJournalItem>> getTicketHistory([FromUri] Guid objectId)
|
||||||
{
|
{
|
||||||
|
objectId = QueryValue(objectId, nameof(objectId));
|
||||||
return await _f4stHelperService.GetJournalEntries(objectId) ?? new List<cTicketJournalItem>();
|
return await _f4stHelperService.GetJournalEntries(objectId) ?? new List<cTicketJournalItem>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,6 +194,11 @@ namespace C4IT.F4SD
|
|||||||
[FromUri] string queues = ""
|
[FromUri] string queues = ""
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
sid = QueryValue(sid, nameof(sid));
|
||||||
|
scope = QueryValue(scope, nameof(scope));
|
||||||
|
keys = QueryValue(keys, nameof(keys));
|
||||||
|
queueoption = QueryValue(queueoption, nameof(queueoption));
|
||||||
|
queues = QueryValue(queues, nameof(queues));
|
||||||
var parsedKeys = (keys ?? string.Empty)
|
var parsedKeys = (keys ?? string.Empty)
|
||||||
.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
|
.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
|
||||||
.Select(key => key.Trim())
|
.Select(key => key.Trim())
|
||||||
@@ -197,6 +244,12 @@ namespace C4IT.F4SD
|
|||||||
[FromUri] string queues = ""
|
[FromUri] string queues = ""
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
sid = QueryValue(sid, nameof(sid));
|
||||||
|
scope = QueryValue(scope, nameof(scope));
|
||||||
|
key = QueryValue(key, nameof(key));
|
||||||
|
count = QueryValue(count, nameof(count));
|
||||||
|
queueoption = QueryValue(queueoption, nameof(queueoption));
|
||||||
|
queues = QueryValue(queues, nameof(queues));
|
||||||
var decodedQueues = ParseQueues(queues);
|
var decodedQueues = ParseQueues(queues);
|
||||||
return await _f4stHelperService.getTicketOverviewRelations(sid, scope, key, count, queueoption, decodedQueues)
|
return await _f4stHelperService.getTicketOverviewRelations(sid, scope, key, count, queueoption, decodedQueues)
|
||||||
?? new List<F4SDHelperService.TicketOverviewRelationDto>();
|
?? new List<F4SDHelperService.TicketOverviewRelationDto>();
|
||||||
@@ -216,6 +269,9 @@ namespace C4IT.F4SD
|
|||||||
public async Task<EntityEnumeration> getPickup([FromUri] string name, [FromUri] EntityEnumerationVisibilityMode mode = EntityEnumerationVisibilityMode.None, [FromUri] Int32 group = -1)
|
public async Task<EntityEnumeration> getPickup([FromUri] string name, [FromUri] EntityEnumerationVisibilityMode mode = EntityEnumerationVisibilityMode.None, [FromUri] Int32 group = -1)
|
||||||
{
|
{
|
||||||
await Task.Delay(0);
|
await Task.Delay(0);
|
||||||
|
name = QueryValue(name, nameof(name));
|
||||||
|
mode = QueryValue(mode, nameof(mode));
|
||||||
|
group = QueryValue(group, nameof(group));
|
||||||
EntityEnumeration enumerationTemp = GetEnumeration(name, mode);
|
EntityEnumeration enumerationTemp = GetEnumeration(name, mode);
|
||||||
var vals = enumerationTemp.Values;
|
var vals = enumerationTemp.Values;
|
||||||
|
|
||||||
@@ -253,6 +309,9 @@ namespace C4IT.F4SD
|
|||||||
[Route("getRoleMemberships")]
|
[Route("getRoleMemberships")]
|
||||||
public async Task<object> getRoleMemberships([FromUri] string sid = "", [FromUri] string upn = "", [FromUri] Guid? id = null)
|
public async Task<object> getRoleMemberships([FromUri] string sid = "", [FromUri] string upn = "", [FromUri] Guid? id = null)
|
||||||
{
|
{
|
||||||
|
sid = QueryValue(sid, nameof(sid));
|
||||||
|
upn = QueryValue(upn, nameof(upn));
|
||||||
|
id = QueryValue(id, nameof(id));
|
||||||
var filter = "";
|
var filter = "";
|
||||||
|
|
||||||
if (id != null && id.Value != Guid.Empty)
|
if (id != null && id.Value != Guid.Empty)
|
||||||
@@ -415,6 +474,7 @@ namespace C4IT.F4SD
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
await Task.Delay(0);
|
await Task.Delay(0);
|
||||||
|
debug = QueryValue(debug, nameof(debug));
|
||||||
DefaultLogger.Manager.Level = debug == "1" || debug.Equals("true", StringComparison.OrdinalIgnoreCase) ? LogLevels.Debug : LogLevels.Info;
|
DefaultLogger.Manager.Level = debug == "1" || debug.Equals("true", StringComparison.OrdinalIgnoreCase) ? LogLevels.Debug : LogLevels.Info;
|
||||||
return DefaultLogger.Manager.Level.ToString();
|
return DefaultLogger.Manager.Level.ToString();
|
||||||
}
|
}
|
||||||
@@ -434,6 +494,9 @@ namespace C4IT.F4SD
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
download = QueryValue(download, nameof(download));
|
||||||
|
count = QueryValue(count, nameof(count));
|
||||||
|
filter = QueryValue(filter, nameof(filter));
|
||||||
var response = _f4stHelperService.privGetLog(download, count, Request, filter);
|
var response = _f4stHelperService.privGetLog(download, count, Request, filter);
|
||||||
if (response == null)
|
if (response == null)
|
||||||
return new StatusCodeResult(HttpStatusCode.NoContent);
|
return new StatusCodeResult(HttpStatusCode.NoContent);
|
||||||
|
|||||||
Reference in New Issue
Block a user