From 842502e82c4ddfea05a5f77c361aaa27f75afc42 Mon Sep 17 00:00:00 2001 From: ivar Date: Sun, 26 Oct 2025 22:57:28 +0100 Subject: Refactor db schema and add audits --- api/WhatApi/Tables/User.cs | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'api/WhatApi/Tables/User.cs') diff --git a/api/WhatApi/Tables/User.cs b/api/WhatApi/Tables/User.cs index 0ebe9b6..5c068b2 100644 --- a/api/WhatApi/Tables/User.cs +++ b/api/WhatApi/Tables/User.cs @@ -1,12 +1,27 @@ namespace WhatApi.Tables; -public class User +public class User : IAuditableEntity { public Guid Id { get; set; } - public string Name { get; set; } - public string Email { get; set; } - public string Password { get; set; } - public DateTime Created { get; set; } - public DateTime? LastSeen { get; set; } - public IEnumerable Places { get; set; } + public required string Name { get; set; } + public required string Email { get; set; } + public required string Password { get; set; } + public DateTimeOffset? LastSeen { get; set; } + public IEnumerable Places { get; set; } = null!; + public DateTimeOffset CreatedAtUtc { get; set; } + public DateTimeOffset? UpdatedAtUtc { get; set; } + public Guid CreatedBy { get; set; } + public Guid? UpdatedBy { get; set; } +} + +public class UserConfiguration : IEntityTypeConfiguration +{ + + public void Configure(EntityTypeBuilder builder) { + builder.HasKey(x => x.Id); + builder.Property(x => x.Name).HasMaxLength(50); + builder.Property(x => x.Email).HasMaxLength(100); + builder.HasMany(x => x.Places); + builder.ToTable("user"); + } } \ No newline at end of file -- cgit v1.3