Rename activity filter configuration to ticket filters

This commit is contained in:
Drechsler, Meik
2026-07-23 12:46:46 +02:00
parent 275d884bfe
commit 52e74deb57
9 changed files with 64 additions and 60 deletions

View File

@@ -694,18 +694,18 @@ namespace C4IT.DataHistoryProvider
var objSid = new SecurityIdentifier(UserId.sid, 0);
var strSid = objSid.ToString();
var _wc = await GetWebClient(requestInfo, Token);
var request = new cTicketActivityListRequest
var request = new cTicketListFilterRequest
{
Sid = strSid,
Hours = Collector.InfrastructureConfig.M42Wpm.ClosedTicketHistory,
Filters = GetActivityFilters()
Filters = GetTicketFilters()
};
var res = await PostJsonAsync(_wc, constUrlGetTicketsV2, request, Token);
if (res?.StatusCode == HttpStatusCode.NotFound)
{
if (!TryGetLegacyQueueFilter(out var queueOption, out var encodedQueues))
{
LogEntry("The activity filter policy requires the v2 ticket API; legacy fallback was rejected (fail closed).", LogLevels.Warning);
LogEntry("The ticket filter policy requires the v2 ticket API; legacy fallback was rejected (fail closed).", LogLevels.Warning);
return null;
}
var strUrl = string.Format(
@@ -1111,17 +1111,17 @@ namespace C4IT.DataHistoryProvider
return (int)Collector.InfrastructureConfig.M42Wpm.ActivityQueueFilterOption;
}
private cActivityFilterPolicy GetActivityFilters()
private cTicketFilterPolicy GetTicketFilters()
{
return Collector?.GetGlobalConfig()?.TicketConfiguration?.ActivityFilters
?? new cActivityFilterPolicy();
return Collector?.GetGlobalConfig()?.TicketConfiguration?.TicketFilters
?? new cTicketFilterPolicy();
}
private bool TryGetLegacyQueueFilter(out int queueOption, out string encodedQueues)
{
queueOption = 0;
encodedQueues = null;
var activeFilters = (GetActivityFilters()?.Filters ?? new List<cActivityFilter>())
var activeFilters = (GetTicketFilters()?.Filters ?? new List<cTicketFilter>())
.Where(entry => entry?.Enabled == true)
.ToList();
if (activeFilters.Count == 0)
@@ -1129,17 +1129,17 @@ namespace C4IT.DataHistoryProvider
if (activeFilters.Count != 1)
return false;
var activityFilter = activeFilters[0];
if (!string.Equals(activityFilter.Provider, "Matrix42", StringComparison.OrdinalIgnoreCase)
|| !string.Equals(activityFilter.Field, "Queue", StringComparison.OrdinalIgnoreCase)
|| activityFilter.Match != enumActivityFilterMatch.include
|| activityFilter.EmptyHandling == enumActivityFilterEmptyHandling.only)
var ticketFilter = activeFilters[0];
if (!string.Equals(ticketFilter.Provider, "Matrix42", StringComparison.OrdinalIgnoreCase)
|| !string.Equals(ticketFilter.Field, "Queue", StringComparison.OrdinalIgnoreCase)
|| ticketFilter.Match != enumTicketFilterMatch.include
|| ticketFilter.EmptyHandling == enumTicketFilterEmptyHandling.only)
{
return false;
}
queueOption = activityFilter.EmptyHandling == enumActivityFilterEmptyHandling.include ? 1 : 2;
var values = (activityFilter.Values ?? new List<cActivityFilterValue>())
queueOption = ticketFilter.EmptyHandling == enumTicketFilterEmptyHandling.include ? 1 : 2;
var values = (ticketFilter.Values ?? new List<cTicketFilterValue>())
.Where(value => value != null)
.Select(value =>
{
@@ -1227,14 +1227,14 @@ namespace C4IT.DataHistoryProvider
Sid = sid,
Scope = scope,
Keys = requestedKeys?.ToList() ?? new List<string>(),
Filters = GetActivityFilters()
Filters = GetTicketFilters()
};
var res = await PostJsonAsync(wc, constUrlGetTicketOverviewCountsV2, request, token);
if (res?.StatusCode == HttpStatusCode.NotFound)
{
if (!TryGetLegacyQueueFilter(out var queueOption, out var encodedQueues))
{
LogEntry("The activity filter policy requires the v2 overview API; legacy fallback was rejected (fail closed).", LogLevels.Warning);
LogEntry("The ticket filter policy requires the v2 overview API; legacy fallback was rejected (fail closed).", LogLevels.Warning);
return new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
}
var urlBuilder = new StringBuilder(constUrlGetTicketOverviewCounts);
@@ -1358,14 +1358,14 @@ namespace C4IT.DataHistoryProvider
Scope = scope,
Key = key,
Count = Math.Max(0, count),
Filters = GetActivityFilters()
Filters = GetTicketFilters()
};
var res = await PostJsonAsync(wc, constUrlGetTicketOverviewRelationsV2, request, Token);
if (res?.StatusCode == HttpStatusCode.NotFound)
{
if (!TryGetLegacyQueueFilter(out var queueOption, out var encodedQueues))
{
LogEntry("The activity filter policy requires the v2 relation API; legacy fallback was rejected (fail closed).", LogLevels.Warning);
LogEntry("The ticket filter policy requires the v2 relation API; legacy fallback was rejected (fail closed).", LogLevels.Warning);
return new List<cF4sdApiSearchResultRelation>();
}
var urlBuilder = new StringBuilder(constUrlGetTicketOverviewRelations);