1
0
mirror of https://github.com/bitwarden/server.git synced 2024-11-23 12:25:16 +01:00

format pg params object

This commit is contained in:
Kyle Spearrin 2019-09-11 13:32:55 -04:00
parent e8375335ac
commit 12c8e4b124
3 changed files with 24 additions and 13 deletions

View File

@ -24,5 +24,16 @@ namespace Bit.Core.Repositories.PostgreSql
var startUnderscores = Regex.Match(input, @"^_+"); var startUnderscores = Regex.Match(input, @"^_+");
return startUnderscores + Regex.Replace(input, @"([a-z0-9])([A-Z])", "$1_$2").ToLowerInvariant(); return startUnderscores + Regex.Replace(input, @"([a-z0-9])([A-Z])", "$1_$2").ToLowerInvariant();
} }
protected static DynamicParameters ToParam<T>(T obj)
{
var dp = new DynamicParameters();
var properties = typeof(T).GetProperties();
foreach(var property in properties)
{
dp.Add($"_{SnakeCase(property.Name)}", property.GetValue(obj));
}
return dp;
}
} }
} }

View File

@ -33,7 +33,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.QueryAsync<T>( var results = await connection.QueryAsync<T>(
$"{Table}_read_by_id", $"{Table}_read_by_id",
new { id = id }, ToParam(new { Id = id }),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
return results.SingleOrDefault(); return results.SingleOrDefault();
@ -47,7 +47,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.ExecuteAsync( var results = await connection.ExecuteAsync(
$"{Table}_create", $"{Table}_create",
obj, ToParam(obj),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
} }
} }
@ -58,7 +58,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.ExecuteAsync( var results = await connection.ExecuteAsync(
$"{Table}_update", $"{Table}_update",
obj, ToParam(obj),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
} }
} }
@ -81,7 +81,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
await connection.ExecuteAsync( await connection.ExecuteAsync(
$"{Table}_delete_by_id", $"{Table}_delete_by_id",
new { id = obj.Id }, ToParam(new { Id = obj.Id }),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
} }
} }

View File

@ -31,7 +31,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.QueryAsync<User>( var results = await connection.QueryAsync<User>(
"user_read_by_email", "user_read_by_email",
new { email = email }, ToParam(new { Email = email }),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
return results.SingleOrDefault(); return results.SingleOrDefault();
@ -44,7 +44,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.QueryAsync<UserKdfInformation>( var results = await connection.QueryAsync<UserKdfInformation>(
"user_read_kdf_by_email", "user_read_kdf_by_email",
new { email = email }, ToParam(new { Email = email }),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
return results.SingleOrDefault(); return results.SingleOrDefault();
@ -57,7 +57,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.QueryAsync<User>( var results = await connection.QueryAsync<User>(
"user_search", "user_search",
new { email = email, skip = skip, take = take }, ToParam(new { Email = email, Skip = skip, Take = take }),
commandType: CommandType.StoredProcedure, commandType: CommandType.StoredProcedure,
commandTimeout: 120); commandTimeout: 120);
@ -71,7 +71,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.QueryAsync<User>( var results = await connection.QueryAsync<User>(
"user_read_by_premium", "user_read_by_premium",
new { premium = premium }, ToParam(new { Premium = premium }),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
return results.ToList(); return results.ToList();
@ -96,7 +96,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.QueryAsync<string>( var results = await connection.QueryAsync<string>(
"user_read_public_key_by_id", "user_read_public_key_by_id",
new { id = id }, ToParam(new { Id = id }),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
return results.SingleOrDefault(); return results.SingleOrDefault();
@ -109,7 +109,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
var results = await connection.QueryAsync<DateTime>( var results = await connection.QueryAsync<DateTime>(
"user_read_account_revision_date_by_id", "user_read_account_revision_date_by_id",
new { id = id }, ToParam(new { Id = id }),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
return results.SingleOrDefault(); return results.SingleOrDefault();
@ -127,7 +127,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
await connection.ExecuteAsync( await connection.ExecuteAsync(
$"user_delete_by_id", $"user_delete_by_id",
new { id = user.Id }, ToParam(new { Id = user.Id }),
commandType: CommandType.StoredProcedure, commandType: CommandType.StoredProcedure,
commandTimeout: 180); commandTimeout: 180);
} }
@ -139,7 +139,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
await connection.ExecuteAsync( await connection.ExecuteAsync(
"user_update_storage", "user_update_storage",
new { id = id }, ToParam(new { Id = id }),
commandType: CommandType.StoredProcedure, commandType: CommandType.StoredProcedure,
commandTimeout: 180); commandTimeout: 180);
} }
@ -151,7 +151,7 @@ namespace Bit.Core.Repositories.PostgreSql
{ {
await connection.ExecuteAsync( await connection.ExecuteAsync(
"user_update_renewal_reminder_date", "user_update_renewal_reminder_date",
new { id = id, renewal_reminder_date = renewalReminderDate }, ToParam(new { Id = id, RenewalReminderDate = renewalReminderDate }),
commandType: CommandType.StoredProcedure); commandType: CommandType.StoredProcedure);
} }
} }