From 47fed7ab8060a4956538f801d015f863c96a5287 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Tue, 1 Oct 2019 09:02:36 -0400 Subject: [PATCH] date range search on logs --- src/Admin/Controllers/LogsController.cs | 12 +++++++++++- src/Admin/Models/LogsModel.cs | 5 ++++- src/Admin/Views/Logs/Index.cshtml | 2 ++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/Admin/Controllers/LogsController.cs b/src/Admin/Controllers/LogsController.cs index db1f7efc71..0e40ae3eef 100644 --- a/src/Admin/Controllers/LogsController.cs +++ b/src/Admin/Controllers/LogsController.cs @@ -27,7 +27,7 @@ namespace Bit.Admin.Controllers } public async Task Index(string cursor = null, int count = 50, - LogEventLevel? level = null, string project = null) + LogEventLevel? level = null, string project = null, DateTime? start = null, DateTime? end = null) { var collectionLink = UriFactory.CreateDocumentCollectionUri(Database, Collection); using(var client = new DocumentClient(new Uri(_globalSettings.DocumentDb.Uri), @@ -48,6 +48,14 @@ namespace Bit.Admin.Controllers { query = query.Where(l => l.Properties != null && l.Properties["Project"] == (object)project); } + if(start.HasValue) + { + query = query.Where(l => l.Timestamp >= start.Value); + } + if(end.HasValue) + { + query = query.Where(l => l.Timestamp <= end.Value); + } var docQuery = query.OrderByDescending(l => l.Timestamp).AsDocumentQuery(); var response = await docQuery.ExecuteNextAsync(); @@ -56,6 +64,8 @@ namespace Bit.Admin.Controllers { Level = level, Project = project, + Start = start, + End = end, Items = response.ToList(), Count = count, Cursor = cursor, diff --git a/src/Admin/Models/LogsModel.cs b/src/Admin/Models/LogsModel.cs index 40bb953283..f21874bfa7 100644 --- a/src/Admin/Models/LogsModel.cs +++ b/src/Admin/Models/LogsModel.cs @@ -1,4 +1,5 @@ -using Serilog.Events; +using System; +using Serilog.Events; namespace Bit.Admin.Models { @@ -6,5 +7,7 @@ namespace Bit.Admin.Models { public LogEventLevel? Level { get; set; } public string Project { get; set; } + public DateTime? Start { get; set; } + public DateTime? End { get; set; } } } diff --git a/src/Admin/Views/Logs/Index.cshtml b/src/Admin/Views/Logs/Index.cshtml index 02a80d9967..da05878028 100644 --- a/src/Admin/Views/Logs/Index.cshtml +++ b/src/Admin/Views/Logs/Index.cshtml @@ -25,6 +25,8 @@ + +