aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Models/Database
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-12-09 05:38:25 +0100
committerivarlovlie <git@ivarlovlie.no>2022-12-09 05:38:25 +0100
commit8da37c77cae0c7f712a775e3996afd9d84b0f9af (patch)
tree98bc4898d9800f91387e075bac0fcf97be9969ab /code/api/src/Models/Database
parent59055b8056bd92ea56e97e86d9ec255daf0d3129 (diff)
downloadgreatoffice-8da37c77cae0c7f712a775e3996afd9d84b0f9af.tar.xz
greatoffice-8da37c77cae0c7f712a775e3996afd9d84b0f9af.zip
feat: !WIP implement email validation
Diffstat (limited to 'code/api/src/Models/Database')
-rw-r--r--code/api/src/Models/Database/Internal/User.cs1
-rw-r--r--code/api/src/Models/Database/MainAppDatabase.cs3
-rw-r--r--code/api/src/Models/Database/Queues/ValidationEmail.cs8
3 files changed, 12 insertions, 0 deletions
diff --git a/code/api/src/Models/Database/Internal/User.cs b/code/api/src/Models/Database/Internal/User.cs
index 9db5d35..b046974 100644
--- a/code/api/src/Models/Database/Internal/User.cs
+++ b/code/api/src/Models/Database/Internal/User.cs
@@ -13,6 +13,7 @@ public class User : Base
public string Email { get; set; }
public string Username { get; set; }
public string Password { get; set; }
+ public DateTime EmailLastValidated { get; set; }
public ICollection<Tenant> Tenants { get; set; }
public string DisplayName() {
diff --git a/code/api/src/Models/Database/MainAppDatabase.cs b/code/api/src/Models/Database/MainAppDatabase.cs
index eaf7781..33e5dcd 100644
--- a/code/api/src/Models/Database/MainAppDatabase.cs
+++ b/code/api/src/Models/Database/MainAppDatabase.cs
@@ -1,3 +1,4 @@
+using IOL.GreatOffice.Api.Data.Database.Queues;
using Microsoft.AspNetCore.DataProtection.EntityFrameworkCore;
namespace IOL.GreatOffice.Api.Data.Database;
@@ -21,6 +22,7 @@ public class MainAppDatabase : DbContext, IDataProtectionKeyContext
public DbSet<TodoCollection> TodoProjects { get; set; }
public DbSet<TodoComment> TodoComments { get; set; }
public DbSet<Todo> Todos { get; set; }
+ public DbSet<ValidationEmail> ValidationEmails { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder) {
modelBuilder.Entity<User>(e => {
@@ -99,6 +101,7 @@ public class MainAppDatabase : DbContext, IDataProtectionKeyContext
e.HasOne(n => n.Collection);
e.ToTable("todo_collection_access_controls");
});
+ modelBuilder.Entity<ValidationEmail>(e => { e.ToTable("validation_emails"); });
base.OnModelCreating(modelBuilder);
}
diff --git a/code/api/src/Models/Database/Queues/ValidationEmail.cs b/code/api/src/Models/Database/Queues/ValidationEmail.cs
new file mode 100644
index 0000000..8ca8c5d
--- /dev/null
+++ b/code/api/src/Models/Database/Queues/ValidationEmail.cs
@@ -0,0 +1,8 @@
+namespace IOL.GreatOffice.Api.Data.Database.Queues;
+
+public class ValidationEmail
+{
+ public Guid Id { get; set; }
+ public DateTime EmailSentAt { get; set; }
+ public Guid UserId { get; set; }
+} \ No newline at end of file