reintroduce microsoft login. upgrade a bunch of stuff.

This commit is contained in:
2023-01-19 16:20:41 -06:00
parent 2a423bcb93
commit 1d0beaf69f
29 changed files with 601 additions and 483 deletions

View File

@@ -7,41 +7,46 @@ namespace Shogi.Api.Repositories;
public class UserRepository : IUserRepository
{
private readonly string connectionString;
private readonly string connectionString;
public UserRepository(IConfiguration configuration)
{
connectionString = configuration.GetConnectionString("ShogiDatabase");
}
public UserRepository(IConfiguration configuration)
{
var connectionString = configuration.GetConnectionString("ShogiDatabase");
if (string.IsNullOrEmpty(connectionString))
{
throw new InvalidOperationException("Connection string for database is empty.");
}
this.connectionString = connectionString;
}
public async Task CreateUser(User user)
{
using var connection = new SqlConnection(connectionString);
await connection.ExecuteAsync(
"user.CreateUser",
new
{
Name = user.Id,
DisplayName = user.DisplayName,
Platform = user.LoginPlatform.ToString()
},
commandType: CommandType.StoredProcedure);
}
public async Task CreateUser(User user)
{
using var connection = new SqlConnection(connectionString);
await connection.ExecuteAsync(
"user.CreateUser",
new
{
Name = user.Id,
DisplayName = user.DisplayName,
Platform = user.LoginPlatform.ToString()
},
commandType: CommandType.StoredProcedure);
}
public async Task<User?> ReadUser(string id)
{
using var connection = new SqlConnection(connectionString);
var results = await connection.QueryAsync<User>(
"user.ReadUser",
new { Name = id },
commandType: CommandType.StoredProcedure);
public async Task<User?> ReadUser(string id)
{
using var connection = new SqlConnection(connectionString);
var results = await connection.QueryAsync<User>(
"user.ReadUser",
new { Name = id },
commandType: CommandType.StoredProcedure);
return results.FirstOrDefault();
}
return results.FirstOrDefault();
}
}
public interface IUserRepository
{
Task CreateUser(User user);
Task<User?> ReadUser(string id);
Task CreateUser(User user);
Task<User?> ReadUser(string id);
}