Switch to ForeignKeys and dependency injection for EF

This commit is contained in:
jvyden 2021-10-16 19:10:55 -04:00
parent b366a41f90
commit d8e34bcf8c
No known key found for this signature in database
GPG key ID: 18BCF2BE0262B278
13 changed files with 90 additions and 76 deletions

View file

@ -13,12 +13,12 @@ namespace ProjectLighthouse {
public DbSet<Slot> Slots { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<Token> Tokens { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseMySql(
ServerSettings.DbConnectionString,
MySqlServerVersion.LatestSupportedServerVersion
);
public async Task<User> CreateUser(string username) {
Location l = new(); // store to get id after submitting
this.Locations.Add(l); // add to table
@ -60,7 +60,9 @@ namespace ProjectLighthouse {
public async Task<User?> UserFromAuthToken(string authToken) {
Token? token = await Tokens.FirstOrDefaultAsync(t => t.UserToken == authToken);
if(token == null) return null;
return await Users.FirstOrDefaultAsync(u => u.UserId == token.UserId);
return await Users
.Include(u => u.Location)
.FirstOrDefaultAsync(u => u.UserId == token.UserId);
}
public async Task<User?> UserFromRequest(HttpRequest request) {