From 5f604b3052dab1d51dc130df2470bf330b283ec6 Mon Sep 17 00:00:00 2001 From: ivar Date: Tue, 19 Mar 2024 01:02:22 +0100 Subject: Max lenghts on db schema Use latest temporal from cdn Implement majority of translation functionality Major refinements/bugs --- code/api/Database/Models/_Base.cs | 77 +++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 35 deletions(-) (limited to 'code/api/Database/Models/_Base.cs') diff --git a/code/api/Database/Models/_Base.cs b/code/api/Database/Models/_Base.cs index 4fdc6c1..0996cc0 100644 --- a/code/api/Database/Models/_Base.cs +++ b/code/api/Database/Models/_Base.cs @@ -1,38 +1,45 @@ -namespace I2R.Storage.Api.Database.Models; +namespace Quality.Storage.Api.Database.Models; public class Base { - public Base() { - Id = Guid.NewGuid(); - CreatedAt = AppDateTime.UtcNow; - } - - public Base(Guid createdBy) { - Id = Guid.NewGuid(); - CreatedAt = AppDateTime.UtcNow; - CreatedBy = createdBy; - } - - public Guid Id { get; set; } - public DateTime CreatedAt { get; set; } - public DateTime? LastModifiedAt { get; set; } - public DateTime? LastDeletedAt { get; set; } - public Guid? OwningUserId { get; set; } - public Guid? LastModifiedBy { get; set; } - public Guid? LastDeletedBy { get; set; } - public Guid? CreatedBy { get; set; } - - public void SetDeleted(Guid performingUserId = default) { - LastDeletedAt = AppDateTime.UtcNow; - LastDeletedBy = performingUserId; - } - - public void SetModified(Guid performingUserId = default) { - LastModifiedAt = AppDateTime.UtcNow; - LastModifiedBy = performingUserId; - } - - public void SetOwner(Guid ownerId = default) { - OwningUserId = ownerId; - } -} \ No newline at end of file + protected Base() { + Id = Guid.NewGuid(); + CreatedAt = AppDateTime.UtcNow; + } + + protected Base(Guid createdBy) { + Id = Guid.NewGuid(); + CreatedAt = AppDateTime.UtcNow; + CreatedBy = createdBy; + } + + public Guid Id { get; set; } + public DateTime CreatedAt { get; set; } + public DateTime? LastModifiedAt { get; set; } + public DateTime? LastDeletedAt { get; set; } + public Guid? LastModifiedBy { get; set; } + public Guid? LastDeletedBy { get; set; } + public Guid? CreatedBy { get; set; } + + public void SetDeleted(Guid performingUserId = default) { + LastDeletedAt = AppDateTime.UtcNow; + LastDeletedBy = performingUserId; + } + + public void SetModified(Guid performingUserId = default) { + LastModifiedAt = AppDateTime.UtcNow; + LastModifiedBy = performingUserId; + } + + public abstract class WithOwner : Base + { + protected WithOwner() { } + protected WithOwner(Guid createdBy) : base(createdBy) { } + + public Guid? OwningUserId { get; set; } + + public void SetOwner(Guid ownerId = default) { + OwningUserId = ownerId; + } + } +} -- cgit v1.3