Replace stored-procedure repositories with Dapper-based repositories

Removes the USP_* stored procedures for Auth, Location, and Brewery
data access in favour of services built with Dapper.

Adds a new Features.Locations slice and optimistic concurrency support
for the Brewery slice.
This commit is contained in:
Aaron Po
2026-08-17 20:50:44 -04:00
parent e8499181cb
commit cac6d7f193
81 changed files with 1656 additions and 1401 deletions

View File

@@ -9,6 +9,5 @@ public class BreweryPost
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public byte[]? Timer { get; set; }
public UserAccount PostedBy { get; set; } = null!;
public BreweryPostLocation? Location { get; set; }
}

View File

@@ -10,5 +10,4 @@ public class BreweryPostLocation
public Guid CityId { get; set; }
public byte[]? Coordinates { get; set; }
public byte[]? Timer { get; set; }
public BreweryPost BreweryPost { get; set; } = null!;
}

View File

@@ -0,0 +1,8 @@
namespace Domain.Entities;
public class City
{
public Guid CityId { get; set; }
public string CityName { get; set; } = string.Empty;
public Guid StateProvinceId { get; set; }
}

View File

@@ -11,7 +11,4 @@ public class UserAccount
public DateTime? UpdatedAt { get; set; }
public DateTime DateOfBirth { get; set; }
public byte[]? Timer { get; set; }
public ICollection<BreweryPost> BreweryPosts { get; set; } = [];
public ICollection<UserCredential> UserCredentials { get; set; } = [];
public UserVerification? Verification { get; set; }
}

View File

@@ -8,5 +8,4 @@ public class UserCredential
public DateTime Expiry { get; set; }
public string Hash { get; set; } = string.Empty;
public byte[]? Timer { get; set; }
public UserAccount UserAccount { get; set; } = null!;
}

View File

@@ -6,5 +6,4 @@ public class UserVerification
public Guid UserAccountId { get; set; }
public DateTime VerificationDateTime { get; set; }
public byte[]? Timer { get; set; }
public UserAccount UserAccount { get; set; } = null!;
}