1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-05 18:12:48 -05:00

[AC-1943] Add ProviderInvoiceItem table (#4163)

* Add ProviderInvoiceItem table

* Run dotnet format
This commit is contained in:
Alex Morask
2024-06-06 13:25:13 -04:00
committed by GitHub
parent fef34d845f
commit 725fc2eed3
28 changed files with 8765 additions and 0 deletions

View File

@ -0,0 +1,40 @@
using System.Data;
using Bit.Core.Billing.Entities;
using Bit.Core.Billing.Repositories;
using Bit.Core.Settings;
using Bit.Infrastructure.Dapper.Repositories;
using Dapper;
using Microsoft.Data.SqlClient;
namespace Bit.Infrastructure.Dapper.Billing.Repositories;
public class ProviderInvoiceItemRepository(
GlobalSettings globalSettings)
: Repository<ProviderInvoiceItem, Guid>(
globalSettings.SqlServer.ConnectionString,
globalSettings.SqlServer.ReadOnlyConnectionString), IProviderInvoiceItemRepository
{
public async Task<ProviderInvoiceItem> GetByInvoiceId(string invoiceId)
{
var sqlConnection = new SqlConnection(ConnectionString);
var results = await sqlConnection.QueryAsync<ProviderInvoiceItem>(
"[dbo].[ProviderInvoiceItem_ReadByInvoiceId]",
new { InvoiceId = invoiceId },
commandType: CommandType.StoredProcedure);
return results.FirstOrDefault();
}
public async Task<ICollection<ProviderInvoiceItem>> GetByProviderId(Guid providerId)
{
var sqlConnection = new SqlConnection(ConnectionString);
var results = await sqlConnection.QueryAsync<ProviderInvoiceItem>(
"[dbo].[ProviderInvoiceItem_ReadByProviderId]",
new { ProviderId = providerId },
commandType: CommandType.StoredProcedure);
return results.ToArray();
}
}

View File

@ -51,6 +51,7 @@ public static class DapperServiceCollectionExtensions
services.AddSingleton<IOrganizationDomainRepository, OrganizationDomainRepository>();
services.AddSingleton<IWebAuthnCredentialRepository, WebAuthnCredentialRepository>();
services.AddSingleton<IProviderPlanRepository, ProviderPlanRepository>();
services.AddSingleton<IProviderInvoiceItemRepository, ProviderInvoiceItemRepository>();
if (selfHosted)
{