aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Utilities
diff options
context:
space:
mode:
Diffstat (limited to 'code/api/src/Utilities')
-rw-r--r--code/api/src/Utilities/BasicAuthenticationHandler.cs4
-rw-r--r--code/api/src/Utilities/DateTimeExtensions.cs8
-rw-r--r--code/api/src/Utilities/QueryableExtensions.cs12
-rw-r--r--code/api/src/Utilities/Validators.cs12
4 files changed, 34 insertions, 2 deletions
diff --git a/code/api/src/Utilities/BasicAuthenticationHandler.cs b/code/api/src/Utilities/BasicAuthenticationHandler.cs
index 6138193..b0a2d1a 100644
--- a/code/api/src/Utilities/BasicAuthenticationHandler.cs
+++ b/code/api/src/Utilities/BasicAuthenticationHandler.cs
@@ -7,7 +7,7 @@ namespace IOL.GreatOffice.Api.Utilities;
public class BasicAuthenticationHandler : AuthenticationHandler<AuthenticationSchemeOptions>
{
- private readonly AppDbContext _context;
+ private readonly MainAppDatabase _context;
private readonly AppConfiguration _configuration;
private readonly ILogger<BasicAuthenticationHandler> _logger;
@@ -16,7 +16,7 @@ public class BasicAuthenticationHandler : AuthenticationHandler<AuthenticationSc
ILoggerFactory logger,
UrlEncoder encoder,
ISystemClock clock,
- AppDbContext context,
+ MainAppDatabase context,
VaultService vaultService
) :
base(options, logger, encoder, clock) {
diff --git a/code/api/src/Utilities/DateTimeExtensions.cs b/code/api/src/Utilities/DateTimeExtensions.cs
new file mode 100644
index 0000000..d25e9a8
--- /dev/null
+++ b/code/api/src/Utilities/DateTimeExtensions.cs
@@ -0,0 +1,8 @@
+namespace IOL.GreatOffice.Api.Utilities;
+
+public static class DateTimeExtensions
+{
+ public static bool IsNullOrEmpty(this DateTime dateTime) {
+ return (dateTime == default);
+ }
+} \ No newline at end of file
diff --git a/code/api/src/Utilities/QueryableExtensions.cs b/code/api/src/Utilities/QueryableExtensions.cs
new file mode 100644
index 0000000..bf2bf3b
--- /dev/null
+++ b/code/api/src/Utilities/QueryableExtensions.cs
@@ -0,0 +1,12 @@
+namespace IOL.GreatOffice.Api.Utilities;
+
+public static class QueryableExtensions
+{
+ public static IQueryable<T> ForTenant<T>(this IQueryable<T> queryable, LoggedInUserModel loggedInUserModel) where T : BaseWithOwner {
+ return queryable.Where(c => c.TenantId == loggedInUserModel.TenantId);
+ }
+
+ public static IQueryable<T> ForUser<T>(this IQueryable<T> queryable, LoggedInUserModel loggedInUserModel) where T : BaseWithOwner {
+ return queryable.Where(c => c.UserId == loggedInUserModel.Id);
+ }
+} \ No newline at end of file
diff --git a/code/api/src/Utilities/Validators.cs b/code/api/src/Utilities/Validators.cs
new file mode 100644
index 0000000..fa3a144
--- /dev/null
+++ b/code/api/src/Utilities/Validators.cs
@@ -0,0 +1,12 @@
+using System.Text.RegularExpressions;
+
+namespace IOL.GreatOffice.Api.Utilities;
+
+public static class Validators
+{
+ private static readonly Regex EMAIL_REGEX = new("");
+
+ public static bool IsValidEmail(this string email) {
+ return EMAIL_REGEX.IsMatch(email);
+ }
+} \ No newline at end of file