summaryrefslogtreecommitdiffstats
path: root/server/src/Endpoints
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-06-12 14:24:10 +0200
committerivarlovlie <git@ivarlovlie.no>2022-06-12 14:24:10 +0200
commit9b6666e70829e3c341e709b1b0578603566d852b (patch)
tree3e84d9fc0dccb85b35f1001c40ac2a49b0b16e17 /server/src/Endpoints
parent7fa6822da7cfe5629275b3e2de26dd89556c960e (diff)
downloadgreatoffice-9b6666e70829e3c341e709b1b0578603566d852b.tar.xz
greatoffice-9b6666e70829e3c341e709b1b0578603566d852b.zip
refactor: Introduce AppDateTime and use it whenever we need to get current DateTime
This changes enables us to change timezones in testing
Diffstat (limited to 'server/src/Endpoints')
-rw-r--r--server/src/Endpoints/Internal/Account/GetArchiveRoute.cs2
-rw-r--r--server/src/Endpoints/Internal/PasswordResetRequests/CreateResetRequestRoute.cs4
-rw-r--r--server/src/Endpoints/V1/Entries/EntryQueryRoute.cs16
3 files changed, 11 insertions, 11 deletions
diff --git a/server/src/Endpoints/Internal/Account/GetArchiveRoute.cs b/server/src/Endpoints/Internal/Account/GetArchiveRoute.cs
index 951dee0..f1b70f3 100644
--- a/server/src/Endpoints/Internal/Account/GetArchiveRoute.cs
+++ b/server/src/Endpoints/Internal/Account/GetArchiveRoute.cs
@@ -57,6 +57,6 @@ public class GetAccountArchiveRoute : RouteBaseAsync.WithoutRequest.WithActionRe
return File(entriesSerialized,
"application/json",
- user.Username + "-time-tracker-archive-" + DateTime.UtcNow.ToString("yyyyMMddTHHmmss") + ".json");
+ user.Username + "-time-tracker-archive-" + AppDateTime.UtcNow.ToString("yyyyMMddTHHmmss") + ".json");
}
}
diff --git a/server/src/Endpoints/Internal/PasswordResetRequests/CreateResetRequestRoute.cs b/server/src/Endpoints/Internal/PasswordResetRequests/CreateResetRequestRoute.cs
index 3e086f6..1c2a51b 100644
--- a/server/src/Endpoints/Internal/PasswordResetRequests/CreateResetRequestRoute.cs
+++ b/server/src/Endpoints/Internal/PasswordResetRequests/CreateResetRequestRoute.cs
@@ -34,12 +34,12 @@ public class CreateResetRequestRoute : RouteBaseAsync.WithRequest<string>.WithAc
// this is fine as long as the client is not connecting from Australia: Lord Howe Island
// according to https://en.wikipedia.org/wiki/Daylight_saving_time_by_country
- if (tz.IsDaylightSavingTime(DateTime.UtcNow)) {
+ if (tz.IsDaylightSavingTime(AppDateTime.UtcNow)) {
offset++;
}
_logger.LogInformation("Request time zone (" + tz.Id + ") offset is: " + offset + " hours");
- var requestDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tz);
+ var requestDateTime = TimeZoneInfo.ConvertTimeFromUtc(AppDateTime.UtcNow, tz);
_logger.LogInformation("Creating forgot password request with date time: " + requestDateTime.ToString("u"));
try {
diff --git a/server/src/Endpoints/V1/Entries/EntryQueryRoute.cs b/server/src/Endpoints/V1/Entries/EntryQueryRoute.cs
index c037b72..d431ac5 100644
--- a/server/src/Endpoints/V1/Entries/EntryQueryRoute.cs
+++ b/server/src/Endpoints/V1/Entries/EntryQueryRoute.cs
@@ -31,12 +31,12 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest<EntryQueryPayload>.With
// this is fine as long as the client is not connecting from Australia: Lord Howe Island
// according to https://en.wikipedia.org/wiki/Daylight_saving_time_by_country
- if (tz.IsDaylightSavingTime(DateTime.UtcNow)) {
+ if (tz.IsDaylightSavingTime(AppDateTime.UtcNow)) {
offsetInHours++;
}
_logger.LogInformation("Request time zone (" + tz.Id + ") offset is: " + offsetInHours + " hours");
- var requestDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tz);
+ var requestDateTime = TimeZoneInfo.ConvertTimeFromUtc(AppDateTime.UtcNow, tz);
_logger.LogInformation("Querying data with date time: " + requestDateTime.ToString("u"));
var skipCount = 0;
@@ -59,7 +59,7 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest<EntryQueryPayload>.With
switch (entryQuery.Duration) {
case TimeEntryQueryDuration.TODAY:
var baseTodaysEntries = baseQuery
- .Where(c => DateTime.Compare(c.Start.AddHours(offsetInHours).Date, DateTime.UtcNow.Date) == 0);
+ .Where(c => DateTime.Compare(c.Start.AddHours(offsetInHours).Date, AppDateTime.UtcNow.Date) == 0);
var baseTodaysEntriesCount = baseTodaysEntries.Count();
if (baseTodaysEntriesCount == 0) {
@@ -74,10 +74,10 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest<EntryQueryPayload>.With
result.Results.AddRange(pagedTodaysEntries.Select(c => c.AsDto));
break;
case TimeEntryQueryDuration.THIS_WEEK:
- var lastMonday = DateTime.UtcNow.StartOfWeek(DayOfWeek.Monday);
+ var lastMonday = AppDateTime.UtcNow.StartOfWeek(DayOfWeek.Monday);
var baseEntriesThisWeek = baseQuery
- .Where(c => c.Start.AddHours(offsetInHours).Date >= lastMonday.Date && c.Start.AddHours(offsetInHours).Date <= DateTime.UtcNow.Date);
+ .Where(c => c.Start.AddHours(offsetInHours).Date >= lastMonday.Date && c.Start.AddHours(offsetInHours).Date <= AppDateTime.UtcNow.Date);
var baseEntriesThisWeekCount = baseEntriesThisWeek.Count();
@@ -94,8 +94,8 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest<EntryQueryPayload>.With
break;
case TimeEntryQueryDuration.THIS_MONTH:
var baseEntriesThisMonth = baseQuery
- .Where(c => c.Start.AddHours(offsetInHours).Month == DateTime.UtcNow.Month
- && c.Start.AddHours(offsetInHours).Year == DateTime.UtcNow.Year);
+ .Where(c => c.Start.AddHours(offsetInHours).Month == AppDateTime.UtcNow.Month
+ && c.Start.AddHours(offsetInHours).Year == AppDateTime.UtcNow.Year);
var baseEntriesThisMonthCount = baseEntriesThisMonth.Count();
if (baseEntriesThisMonthCount == 0) {
return NoContent();
@@ -110,7 +110,7 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest<EntryQueryPayload>.With
break;
case TimeEntryQueryDuration.THIS_YEAR:
var baseEntriesThisYear = baseQuery
- .Where(c => c.Start.AddHours(offsetInHours).Year == DateTime.UtcNow.Year);
+ .Where(c => c.Start.AddHours(offsetInHours).Year == AppDateTime.UtcNow.Year);
var baseEntriesThisYearCount = baseEntriesThisYear.Count();
if (baseEntriesThisYearCount == 0) {