Compare commits
No commits in common. "b81d0cf0bdacbaa6543e19281c103ee5e4503696" and "110e635a023368ff8333c81f267be4110ddf634a" have entirely different histories.
b81d0cf0bd
...
110e635a02
@ -1,7 +0,0 @@
|
||||
ActiveAllocator__Database__Host=database
|
||||
ActiveAllocator__Database__Port=5432
|
||||
|
||||
|
||||
POSTGRES_PASSWORD=nqA3UV3CliLLHpLL
|
||||
PGADMIN_DEFAULT_EMAIL=admin@admin.com
|
||||
PGADMIN_DEFAULT_PASSWORD=3254
|
232
AAIntegration.SimmonsBank.API/.gitignore
vendored
232
AAIntegration.SimmonsBank.API/.gitignore
vendored
@ -1,232 +0,0 @@
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
build/
|
||||
bld/
|
||||
bin/
|
||||
Bin/
|
||||
obj/
|
||||
Obj/
|
||||
|
||||
# Visual Studio 2015 cache/options directory
|
||||
.vs/
|
||||
/wwwroot/dist/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_i.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# TODO: Comment the next line if you want to checkin your web deploy settings
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/packages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/packages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/packages/repositories.config
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Microsoft Azure ApplicationInsights config file
|
||||
ApplicationInsights.config
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
/node_modules
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
@ -1,37 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>AAIntegration.SimmonsBank.API</RootNamespace>
|
||||
<IsPackable>false</IsPackable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ContainerImageName>ActiveAllocator-Integration-SimmonsBank</ContainerImageName>
|
||||
<PublishProfile>DefaultContainer</PublishProfile>
|
||||
<ContainerImageTags>1.0.0;latest</ContainerImageTags>
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AutoMapper" Version="12.0.1" />
|
||||
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
|
||||
<PackageReference Include="BCrypt.Net" Version="0.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.16" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.35.0" />
|
||||
<PackageReference Include="Microsoft.NET.Build.Containers" Version="7.0.400" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="7.0.8" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.4" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SpaProxy" Version="7.0.13" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
|
||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.35.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
@ -1,8 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Configs;
|
||||
|
||||
public class ActiveAllocatorConfig
|
||||
{
|
||||
DatabaseConfig Database { get; set; }
|
||||
List<string> AllowedHosts { get; set; }
|
||||
string APIUrl { get; set; }
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Configs;
|
||||
|
||||
using Microsoft.AspNetCore.Authentication;
|
||||
|
||||
public class ApiKeyAuthenticationOptions : AuthenticationSchemeOptions
|
||||
{
|
||||
public const string DefaultScheme = "ClientKey";
|
||||
public const string HeaderName = "x-api-key";
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Config;
|
||||
|
||||
public class AppSettings
|
||||
{
|
||||
public required string Secret { get; set; }
|
||||
public required string APIUrl { get; set; }
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Configs;
|
||||
|
||||
public class DatabaseConfig
|
||||
{
|
||||
public string Host { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string User { get; set; }
|
||||
public string Password { get; set; }
|
||||
public uint Port { get; set; }
|
||||
|
||||
public string GetConnectionString()
|
||||
{
|
||||
//Server=localhost;Port=15432;Database=aadb;User Id=postgres;Password=nqA3UV3CliLLHpLL"
|
||||
return $"Server={Host};Port={Port};Database={Name};User Id={User};Password={Password}";
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Configs;
|
||||
|
||||
public class EnvelopeFundConfig
|
||||
{
|
||||
public int CheckIntervalInMinutes { get; set; }
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Controllers;
|
||||
|
||||
using AutoMapper;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Options;
|
||||
using AAIntegration.SimmonsBank.API.Models.Accounts;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using System.Collections.Generic;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
[Authorize]
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class AccountsController : ControllerBase
|
||||
{
|
||||
private IAccountService _accountService;
|
||||
private IMapper _mapper;
|
||||
private readonly AppSettings _appSettings;
|
||||
|
||||
public AccountsController(
|
||||
IAccountService accountService,
|
||||
IMapper mapper,
|
||||
IOptions<AppSettings> appSettings)
|
||||
{
|
||||
_accountService = accountService;
|
||||
_mapper = mapper;
|
||||
_appSettings = appSettings.Value;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult GetAll()
|
||||
{
|
||||
List<AccountDTO> accountDtos = new List<AccountDTO>();
|
||||
|
||||
foreach (Account acc in _accountService.GetAll())
|
||||
accountDtos.Add(_mapper.Map<Account, AccountDTO>(acc));
|
||||
|
||||
return Ok(accountDtos);
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetById(int id)
|
||||
{
|
||||
Account account = _accountService.GetById(id);
|
||||
return Ok(_mapper.Map<Account, AccountDTO>(account));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Create([FromBody]AccountCreateRequest model)
|
||||
{
|
||||
_accountService.Create(model);
|
||||
return Ok(new { message = "account created" });
|
||||
}
|
||||
|
||||
[HttpPut("{id}")]
|
||||
public IActionResult Update(int id, [FromBody]AccountUpdateRequest model)
|
||||
{
|
||||
_accountService.Update(id, model);
|
||||
return Ok(new { message = "account updated" });
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult Delete(int id)
|
||||
{
|
||||
_accountService.Delete(id);
|
||||
return Ok(new { message = "account deleted" });
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Controllers;
|
||||
|
||||
using AutoMapper;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Options;
|
||||
using AAIntegration.SimmonsBank.API.Models.Users;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using System;
|
||||
using System.Security.Claims;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class AppInfoController : ControllerBase
|
||||
{
|
||||
private IVersionService _versionService;
|
||||
|
||||
public AppInfoController(
|
||||
IVersionService versionService)
|
||||
{
|
||||
_versionService = versionService;
|
||||
}
|
||||
|
||||
[HttpGet("ApplicationVersion")]
|
||||
public IActionResult GetApplicationVersion()
|
||||
{
|
||||
string appVersion = _versionService.GetVersion();
|
||||
|
||||
return Ok(new { version = appVersion });
|
||||
}
|
||||
}
|
@ -1,88 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Controllers;
|
||||
|
||||
using AutoMapper;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Options;
|
||||
using AAIntegration.SimmonsBank.API.Models.Transactions;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using System.Runtime.InteropServices;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
[Authorize]
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class TransactionsController : ControllerBase
|
||||
{
|
||||
private ITransactionService _transactionService;
|
||||
private IMapper _mapper;
|
||||
private readonly AppSettings _appSettings;
|
||||
|
||||
public TransactionsController(
|
||||
ITransactionService transactionService,
|
||||
IMapper mapper,
|
||||
IOptions<AppSettings> appSettings)
|
||||
{
|
||||
_transactionService = transactionService;
|
||||
_mapper = mapper;
|
||||
_appSettings = appSettings.Value;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult GetAll(int? accountId = null)
|
||||
{
|
||||
List<TransactionDto> transactionDtos = new List<TransactionDto>();
|
||||
|
||||
foreach (Transaction tran in _transactionService.GetAll())
|
||||
{
|
||||
if (accountId.HasValue
|
||||
&& (tran.DebitAccount == null || tran.DebitAccount.Id != accountId)
|
||||
&& (tran.CreditAccount == null || tran.CreditAccount.Id != accountId))
|
||||
continue;
|
||||
|
||||
transactionDtos.Add(_mapper.Map<Transaction, TransactionDto>(tran));
|
||||
}
|
||||
|
||||
// Sort by Date
|
||||
transactionDtos.Sort((t1, t2) => t2.Date.CompareTo(t1.Date));
|
||||
|
||||
return Ok(transactionDtos);
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetById(int id)
|
||||
{
|
||||
Transaction tran = _transactionService.GetById(id);
|
||||
return Ok(_mapper.Map<Transaction, TransactionDto>(tran));
|
||||
}
|
||||
|
||||
[HttpPost("BulkAdd")]
|
||||
public IActionResult BulkCreate([FromBody]List<TransactionCreate> model)
|
||||
{
|
||||
List<Transaction> trans = _transactionService.BulkCreate(model).ToList();
|
||||
return Ok(new { message = $"{trans.Count()} transaction(s) created." });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Create([FromBody]TransactionCreate model)
|
||||
{
|
||||
Transaction tran = _transactionService.Create(model);
|
||||
return Ok(new { message = $"transaction '{tran.Description}' created with id '{tran.Id}'." });
|
||||
}
|
||||
|
||||
[HttpPut("{id}")]
|
||||
public IActionResult Update(int id, [FromBody]TransactionUpdateRequest model)
|
||||
{
|
||||
_transactionService.Update(id, model);
|
||||
return Ok(new { message = $"transaction with id '{id}' updated" });
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult Delete(int id)
|
||||
{
|
||||
_transactionService.Delete(id);
|
||||
return Ok(new { message = "transaction deleted" });
|
||||
}
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Controllers;
|
||||
|
||||
using AutoMapper;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Options;
|
||||
using AAIntegration.SimmonsBank.API.Models.Users;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using System;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using System.Security.Claims;
|
||||
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class UsersController : ControllerBase
|
||||
{
|
||||
private IUserService _userService;
|
||||
private IMapper _mapper;
|
||||
private readonly AppSettings _appSettings;
|
||||
private readonly ILogger<UsersController> _logger;
|
||||
|
||||
public UsersController(
|
||||
IUserService userService,
|
||||
IMapper mapper,
|
||||
IOptions<AppSettings> appSettings,
|
||||
ILogger<UsersController> logger)
|
||||
{
|
||||
_userService = userService;
|
||||
_mapper = mapper;
|
||||
_appSettings = appSettings.Value;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
[HttpPost("register")]
|
||||
public IActionResult Register(UserCreateRequest model)
|
||||
{
|
||||
string apiKey = _userService.Create(model);
|
||||
return Ok(new { ApiKey = apiKey });
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
[HttpPut("{id}")]
|
||||
public IActionResult Update([FromBody]UserUpdateRequest model)
|
||||
{
|
||||
_userService.Update(this.GetCurrentUserApiKey(), model);
|
||||
return Ok(new { message = "User updated" });
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult Delete(int id)
|
||||
{
|
||||
_userService.Delete(this.GetCurrentUserApiKey());
|
||||
return Ok(new { message = "User deleted" });
|
||||
}
|
||||
|
||||
// Helpers
|
||||
|
||||
private string GetCurrentUserApiKey()
|
||||
{
|
||||
string apiKey = User.FindFirstValue(ClaimTypes.NameIdentifier);
|
||||
|
||||
if (apiKey is null)
|
||||
_logger.LogInformation($"ApiKey: is null");
|
||||
|
||||
_logger.LogInformation($"apiKey: {apiKey}");
|
||||
Console.WriteLine($"User Id: " + apiKey);
|
||||
|
||||
return apiKey;
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Entities;
|
||||
|
||||
public class Account
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public decimal Balance { get; set; }
|
||||
public string ExternalAccountNumber { get; set; }
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Entities;
|
||||
|
||||
public class Transaction
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public DateTime Date { get; set; }
|
||||
public DateTime CreatedOn { get; set; }
|
||||
public DateTime UpdatedOn { get; set; }
|
||||
public string ExternalId { get; set; }
|
||||
public string Description { get; set; }
|
||||
public Account? DebitAccount { get; set; }
|
||||
public Account? CreditAccount { get; set; }
|
||||
public decimal Amount { get; set; }
|
||||
public bool IsPending { get; set; }
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Entities;
|
||||
|
||||
public class User
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string ApiKey { get; set; }
|
||||
public string SimmonsBankUsername { get; set; }
|
||||
public string SimmonsBankPassword { get; set; }
|
||||
public string MFAKey { get; set; }
|
||||
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Enums;
|
||||
|
||||
public enum HistoricStatistic
|
||||
{
|
||||
Mean,
|
||||
Median,
|
||||
Mode,
|
||||
Minimum,
|
||||
Maximum,
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Enums;
|
||||
|
||||
public enum OperationMode
|
||||
{
|
||||
Historic,
|
||||
Absolute,
|
||||
Percentage,
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Handlers;
|
||||
|
||||
using System.Security.Claims;
|
||||
using System.Text.Encodings.Web;
|
||||
using AAIntegration.SimmonsBank.API.Configs;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
using Microsoft.AspNetCore.Authentication;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
public class ApiKeyAuthenticationHandler : AuthenticationHandler<ApiKeyAuthenticationOptions>
|
||||
{
|
||||
private readonly ICacheService _cacheService;
|
||||
private readonly ILogger<ApiKeyAuthenticationHandler> _logger;
|
||||
|
||||
public ApiKeyAuthenticationHandler (
|
||||
IOptionsMonitor<ApiKeyAuthenticationOptions> options,
|
||||
ILoggerFactory loggerFactory,
|
||||
UrlEncoder encoder,
|
||||
ISystemClock clock,
|
||||
ICacheService cacheService,
|
||||
ILogger<ApiKeyAuthenticationHandler> logger
|
||||
) : base(options, loggerFactory, encoder, clock)
|
||||
{
|
||||
_cacheService = cacheService;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
protected override async Task<AuthenticateResult> HandleAuthenticateAsync()
|
||||
{
|
||||
if (!Request.Headers.TryGetValue(ApiKeyAuthenticationOptions.HeaderName, out var apiKey) || apiKey.Count != 1)
|
||||
{
|
||||
//_logger.LogWarning("An API request was received without the x-api-key header");
|
||||
return AuthenticateResult.Fail("Invalid parameters");
|
||||
}
|
||||
|
||||
var clientId = _cacheService.GetClientIdFromApiKey(apiKey);
|
||||
|
||||
if (clientId <= 0)
|
||||
{
|
||||
_logger.LogWarning($"An API request was received with an invalid API key: {apiKey}");
|
||||
return AuthenticateResult.Fail("Invalid parameters");
|
||||
}
|
||||
|
||||
_logger.BeginScope("{ClientId}", clientId);
|
||||
|
||||
var claims = new[] { new Claim(ClaimTypes.NameIdentifier, apiKey.ToString()) };
|
||||
var identity = new ClaimsIdentity(claims, ApiKeyAuthenticationOptions.DefaultScheme);
|
||||
var identities = new List<ClaimsIdentity> { identity };
|
||||
var principal = new ClaimsPrincipal(identities);
|
||||
var ticket = new AuthenticationTicket(principal, ApiKeyAuthenticationOptions.DefaultScheme);
|
||||
|
||||
return AuthenticateResult.Success(ticket);
|
||||
}
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Config;
|
||||
|
||||
using System.Globalization;
|
||||
|
||||
// custom exception class for throwing application specific exceptions (e.g. for validation)
|
||||
// that can be caught and handled within the application
|
||||
public class AppException : Exception
|
||||
{
|
||||
public AppException() : base() {}
|
||||
|
||||
public AppException(string message) : base(message) { }
|
||||
|
||||
public AppException(string message, params object[] args)
|
||||
: base(String.Format(CultureInfo.CurrentCulture, message, args))
|
||||
{
|
||||
}
|
||||
}
|
@ -1,80 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Config;
|
||||
|
||||
using AutoMapper;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
using AAIntegration.SimmonsBank.API.Models.Users;
|
||||
using AAIntegration.SimmonsBank.API.Models.Accounts;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
using System.Runtime.Serialization;
|
||||
using AAIntegration.SimmonsBank.API.Models.Transactions;
|
||||
|
||||
public class AutoMapperProfile : Profile
|
||||
{
|
||||
|
||||
public AutoMapperProfile()
|
||||
{ // UserUpdateRequest -> User
|
||||
CreateMap<UserUpdateRequest, User>()
|
||||
.ForAllMembers(x => x.Condition(
|
||||
(src, dest, prop) =>
|
||||
{
|
||||
// ignore both null & empty string properties
|
||||
if (prop == null) return false;
|
||||
if (prop.GetType() == typeof(string) && string.IsNullOrEmpty((string)prop)) return false;
|
||||
// ignore null password
|
||||
if (x.DestinationMember.Name == "Password" && src.Password == null) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
));
|
||||
|
||||
// AccountUpdateRequest -> Account
|
||||
CreateMap<AccountUpdateRequest, Account>();
|
||||
|
||||
// AccountCreateRequest -> Account
|
||||
CreateMap<AccountCreateRequest, Account>();
|
||||
/*.ForMember(
|
||||
dest => dest.OwnerId,
|
||||
opt => opt.MapFrom(src => src.Owner)
|
||||
);
|
||||
/*.ForAllMembers(x => x.Condition(
|
||||
(src, dest, prop) =>
|
||||
{
|
||||
// ignore both null & empty string properties
|
||||
if (prop == null) return false;
|
||||
if (prop.GetType() == typeof(string) && string.IsNullOrEmpty((string)prop)) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
))*/
|
||||
|
||||
// Account -> AccountGet
|
||||
CreateMap<Account, AccountDTO>()
|
||||
.ForAllMembers(x => x.Condition(
|
||||
(src, dest, prop) =>
|
||||
{
|
||||
// ignore both null & empty string properties
|
||||
if (prop == null) return false;
|
||||
if (prop.GetType() == typeof(string) && string.IsNullOrEmpty((string)prop)) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
));
|
||||
|
||||
|
||||
// Transaction -> TransactionDto
|
||||
CreateMap<Transaction, TransactionDto>()
|
||||
.ForMember(dest => dest.DebitAccountId, opt => opt.MapFrom(src => src.DebitAccount.Id))
|
||||
.ForMember(dest => dest.CreditAccountId, opt => opt.MapFrom(src => src.CreditAccount.Id))
|
||||
.ForAllMembers(x => x.Condition(
|
||||
(src, dest, prop) =>
|
||||
{
|
||||
// ignore both null & empty string properties
|
||||
if (prop == null) return false;
|
||||
if (prop.GetType() == typeof(string) && string.IsNullOrEmpty((string)prop)) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
));
|
||||
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Config;
|
||||
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
using System.Diagnostics;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Internal;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
public class DataContext : DbContext
|
||||
{
|
||||
//protected readonly IConfiguration Configuration;
|
||||
readonly ILogger<DataContext> _logger;
|
||||
|
||||
public DataContext(
|
||||
DbContextOptions<DataContext> options,
|
||||
ILogger<DataContext> logger)
|
||||
: base(options)
|
||||
{
|
||||
_logger = logger;
|
||||
//Configuration = configuration;
|
||||
}
|
||||
|
||||
/*protected override void OnConfiguring(DbContextOptionsBuilder options)
|
||||
{
|
||||
// in memory database used for simplicity, change to a real db for production applications
|
||||
options.UseInMemoryDatabase("TestDb");
|
||||
}*/
|
||||
|
||||
public DbSet<User> Users { get; set; }
|
||||
public DbSet<Account> Accounts { get; set; }
|
||||
public DbSet<Transaction> Transactions { get; set; }
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Config;
|
||||
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class ErrorHandlerMiddleware
|
||||
{
|
||||
private readonly RequestDelegate _next;
|
||||
private readonly ILogger _logger;
|
||||
|
||||
public ErrorHandlerMiddleware(RequestDelegate next, ILogger<ErrorHandlerMiddleware> logger)
|
||||
{
|
||||
_next = next;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task Invoke(HttpContext context)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _next(context);
|
||||
}
|
||||
catch (Exception error)
|
||||
{
|
||||
var response = context.Response;
|
||||
response.ContentType = "application/json";
|
||||
|
||||
switch (error)
|
||||
{
|
||||
case AppException e:
|
||||
// custom application error
|
||||
response.StatusCode = (int)HttpStatusCode.BadRequest;
|
||||
break;
|
||||
case KeyNotFoundException e:
|
||||
// not found error
|
||||
response.StatusCode = (int)HttpStatusCode.NotFound;
|
||||
break;
|
||||
default:
|
||||
// unhandled error
|
||||
_logger.LogError(error, error.Message);
|
||||
response.StatusCode = (int)HttpStatusCode.InternalServerError;
|
||||
break;
|
||||
}
|
||||
|
||||
var result = JsonSerializer.Serialize(new { message = error?.Message });
|
||||
await response.WriteAsync(result);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,144 +0,0 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Migrations
|
||||
{
|
||||
[DbContext(typeof(DataContext))]
|
||||
[Migration("20240320021418_InitialCreate")]
|
||||
partial class InitialCreate
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.9")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("AAIntegration.SimmonsBank.API.Entities.Account", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<decimal>("Balance")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<string>("ExternalAccountNumber")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Accounts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("AAIntegration.SimmonsBank.API.Entities.Transaction", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<decimal>("Amount")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<DateTime>("CreatedOn")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("CreditAccountId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<DateTime>("Date")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("DebitAccountId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("ExternalId")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("IsPending")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime>("UpdatedOn")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("CreditAccountId");
|
||||
|
||||
b.HasIndex("DebitAccountId");
|
||||
|
||||
b.ToTable("Transactions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("AAIntegration.SimmonsBank.API.Entities.User", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<string>("ApiKey")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("MFAKey")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SimmonsBankPassword")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SimmonsBankUsername")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("AAIntegration.SimmonsBank.API.Entities.Transaction", b =>
|
||||
{
|
||||
b.HasOne("AAIntegration.SimmonsBank.API.Entities.Account", "CreditAccount")
|
||||
.WithMany()
|
||||
.HasForeignKey("CreditAccountId");
|
||||
|
||||
b.HasOne("AAIntegration.SimmonsBank.API.Entities.Account", "DebitAccount")
|
||||
.WithMany()
|
||||
.HasForeignKey("DebitAccountId");
|
||||
|
||||
b.Navigation("CreditAccount");
|
||||
|
||||
b.Navigation("DebitAccount");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
@ -1,101 +0,0 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class InitialCreate : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Accounts",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
Name = table.Column<string>(type: "text", nullable: false),
|
||||
Balance = table.Column<decimal>(type: "numeric", nullable: false),
|
||||
ExternalAccountNumber = table.Column<string>(type: "text", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Accounts", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Users",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
ApiKey = table.Column<string>(type: "text", nullable: false),
|
||||
SimmonsBankUsername = table.Column<string>(type: "text", nullable: false),
|
||||
SimmonsBankPassword = table.Column<string>(type: "text", nullable: false),
|
||||
MFAKey = table.Column<string>(type: "text", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Users", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Transactions",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
Date = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
CreatedOn = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
UpdatedOn = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
ExternalId = table.Column<string>(type: "text", nullable: false),
|
||||
Description = table.Column<string>(type: "text", nullable: false),
|
||||
DebitAccountId = table.Column<int>(type: "integer", nullable: true),
|
||||
CreditAccountId = table.Column<int>(type: "integer", nullable: true),
|
||||
Amount = table.Column<decimal>(type: "numeric", nullable: false),
|
||||
IsPending = table.Column<bool>(type: "boolean", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Transactions", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Transactions_Accounts_CreditAccountId",
|
||||
column: x => x.CreditAccountId,
|
||||
principalTable: "Accounts",
|
||||
principalColumn: "Id");
|
||||
table.ForeignKey(
|
||||
name: "FK_Transactions_Accounts_DebitAccountId",
|
||||
column: x => x.DebitAccountId,
|
||||
principalTable: "Accounts",
|
||||
principalColumn: "Id");
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Transactions_CreditAccountId",
|
||||
table: "Transactions",
|
||||
column: "CreditAccountId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Transactions_DebitAccountId",
|
||||
table: "Transactions",
|
||||
column: "DebitAccountId");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Transactions");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Users");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Accounts");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,141 +0,0 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Migrations
|
||||
{
|
||||
[DbContext(typeof(DataContext))]
|
||||
partial class DataContextModelSnapshot : ModelSnapshot
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.9")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("AAIntegration.SimmonsBank.API.Entities.Account", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<decimal>("Balance")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<string>("ExternalAccountNumber")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Accounts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("AAIntegration.SimmonsBank.API.Entities.Transaction", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<decimal>("Amount")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<DateTime>("CreatedOn")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("CreditAccountId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<DateTime>("Date")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("DebitAccountId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("ExternalId")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("IsPending")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime>("UpdatedOn")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("CreditAccountId");
|
||||
|
||||
b.HasIndex("DebitAccountId");
|
||||
|
||||
b.ToTable("Transactions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("AAIntegration.SimmonsBank.API.Entities.User", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<string>("ApiKey")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("MFAKey")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SimmonsBankPassword")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SimmonsBankUsername")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("AAIntegration.SimmonsBank.API.Entities.Transaction", b =>
|
||||
{
|
||||
b.HasOne("AAIntegration.SimmonsBank.API.Entities.Account", "CreditAccount")
|
||||
.WithMany()
|
||||
.HasForeignKey("CreditAccountId");
|
||||
|
||||
b.HasOne("AAIntegration.SimmonsBank.API.Entities.Account", "DebitAccount")
|
||||
.WithMany()
|
||||
.HasForeignKey("DebitAccountId");
|
||||
|
||||
b.Navigation("CreditAccount");
|
||||
|
||||
b.Navigation("DebitAccount");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Models.Accounts;
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Runtime.InteropServices;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
|
||||
public class AccountCreateRequest
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string InitialBalance { get; set; }
|
||||
public int Currency { get; set; }
|
||||
public string ExternalAccountNumber { get; set; }
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json.Serialization;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Models.Accounts;
|
||||
|
||||
public class AccountDTO
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public decimal Balance { get; set; }
|
||||
public string ExternalAccountNumber { get; set; }
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Models.Accounts;
|
||||
|
||||
public class AccountUpdateRequest
|
||||
{
|
||||
public string? Name { get; set; } = null;
|
||||
public string? Balance { get; set; } = null;
|
||||
public string? ExternalAccountNumber { get; set; } = null;
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Models.Transactions;
|
||||
|
||||
public class TransactionCreate
|
||||
{
|
||||
public DateTime Date { get; set; }
|
||||
public string ExternalId { get; set; }
|
||||
public string Description { get; set; }
|
||||
public int? DebitAccount { get; set; }
|
||||
public int? CreditAccount { get; set; }
|
||||
public decimal Amount { get; set; }
|
||||
public bool IsPending { get; set; }
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime;
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Models.Transactions;
|
||||
|
||||
public class TransactionDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public DateTime Date { get; set; }
|
||||
public DateTime CreatedOn { get; set; }
|
||||
public DateTime UpdatedOn { get; set; }
|
||||
public string ExternalId { get; set; }
|
||||
public string Description { get; set; }
|
||||
public int DebitAccountId { get; set; }
|
||||
public int CreditAccountId { get; set; }
|
||||
public decimal Amount { get; set; }
|
||||
public bool IsPending { get; set; }
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
|
||||
namespace AAIntegration.SimmonsBank.API.Models.Transactions;
|
||||
|
||||
public class TransactionUpdateRequest
|
||||
{
|
||||
public DateTime? Date { get; set; } = null;
|
||||
public string? ExternalId { get; set; } = null;
|
||||
public string? Description { get; set; } = null;
|
||||
public int? DebitAccount { get; set; } = null;
|
||||
public int? CreditAccount { get; set; } = null;
|
||||
public decimal? Amount { get; set; } = null;
|
||||
public bool? IsPending { get; set; } = null;
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Models.Users;
|
||||
|
||||
public class UserCreateRequest
|
||||
{
|
||||
public string Username { get; set; }
|
||||
public string Password { get; set; }
|
||||
public string MFAKey { get; set; }
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Models.Users;
|
||||
|
||||
public class UserUpdateRequest
|
||||
{
|
||||
public string? Username { get; set; } = null;
|
||||
public string? Password { get; set; } = null;
|
||||
public string? MFAKey { get; set; } = null;
|
||||
|
||||
}
|
@ -1,124 +0,0 @@
|
||||
//using AAIntegration.SimmonsBank.API.Authorization;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
using AAIntegration.SimmonsBank.API.Services;
|
||||
using Microsoft.OpenApi.Models;
|
||||
using System.Text.Json.Serialization;
|
||||
using AAIntegration.SimmonsBank.API.Configs;
|
||||
using AAIntegration.SimmonsBank.API.Handlers;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using System.Text;
|
||||
//using Microsoft.Build.Framework;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
internal class Program
|
||||
{
|
||||
private static void Main(string[] args)
|
||||
{
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
var MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
|
||||
|
||||
builder.Services.AddCors(options =>
|
||||
{
|
||||
options.AddPolicy("ClientPermission", policy =>
|
||||
{
|
||||
policy.AllowAnyHeader()
|
||||
.AllowAnyMethod()
|
||||
.SetIsOriginAllowed(_ => true)
|
||||
.AllowCredentials();
|
||||
});
|
||||
|
||||
options.AddPolicy(name: MyAllowSpecificOrigins, policy =>
|
||||
{
|
||||
policy.WithOrigins(builder.Configuration.GetSection("ActiveAllocator:AllowedHosts").Get<string[]>());
|
||||
});
|
||||
});
|
||||
|
||||
// Authentication
|
||||
builder.Services.AddAuthentication()
|
||||
.AddScheme<ApiKeyAuthenticationOptions, ApiKeyAuthenticationHandler>(ApiKeyAuthenticationOptions.DefaultScheme, null);
|
||||
|
||||
// Authorization
|
||||
builder.Services.AddAuthorization(options => {
|
||||
AuthorizationPolicyBuilder defaultAuthorizationPolicyBuilder = new AuthorizationPolicyBuilder(
|
||||
ApiKeyAuthenticationOptions.DefaultScheme
|
||||
);
|
||||
|
||||
defaultAuthorizationPolicyBuilder = defaultAuthorizationPolicyBuilder.RequireAuthenticatedUser();
|
||||
options.DefaultPolicy = defaultAuthorizationPolicyBuilder.Build();
|
||||
});
|
||||
|
||||
builder.Services.AddControllersWithViews().AddJsonOptions(x =>
|
||||
{
|
||||
// serialize enums as strings in api responses (e.g. Role)
|
||||
x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
|
||||
|
||||
// ignore omitted parameters on models to enable optional params (e.g. User update)
|
||||
x.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
|
||||
});
|
||||
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddSwaggerGen(c =>
|
||||
{
|
||||
c.SwaggerDoc("v1", new OpenApiInfo { Title = "AA API", Version = "v1" });
|
||||
});
|
||||
|
||||
// Configure strongly typed settings object
|
||||
builder.Services.Configure<AppSettings>(builder.Configuration.GetSection("AppSettings"));
|
||||
builder.Services.Configure<EnvelopeFundConfig>(builder.Configuration.GetSection("EnvelopeFund"));
|
||||
builder.Services.Configure<DatabaseConfig>(builder.Configuration.GetSection("ActiveAllocator:Database"));
|
||||
|
||||
DatabaseConfig dbConfig = builder.Configuration.GetSection("ActiveAllocator:Database").Get<DatabaseConfig>();
|
||||
|
||||
builder.Services.AddAutoMapper(typeof(Program));
|
||||
builder.Services.AddDbContext<DataContext>(opt =>
|
||||
opt.UseNpgsql(dbConfig.GetConnectionString()));
|
||||
|
||||
builder.Services.AddScoped<IUserService, UserService>();
|
||||
builder.Services.AddScoped<IAccountService, AccountService>();
|
||||
builder.Services.AddScoped<ITransactionService, TransactionService>();
|
||||
builder.Services.AddScoped<ICacheService, CacheService>();
|
||||
builder.Services.AddScoped<IVersionService, VersionService>();
|
||||
|
||||
builder.Services.AddScoped<ApiKeyAuthenticationHandler>();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Apply Database Migrations - This is NOT recommended for multi-node deployment!!!
|
||||
using var scope = app.Services.CreateScope();
|
||||
using var dbContext = scope.ServiceProvider.GetRequiredService<DataContext>();
|
||||
dbContext.Database.Migrate();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (!app.Environment.IsDevelopment())
|
||||
{
|
||||
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
app.UseCors("ClientPermission");
|
||||
app.UseHttpsRedirection();
|
||||
app.UseStaticFiles();
|
||||
app.UseSwagger();
|
||||
app.UseSwaggerUI();
|
||||
app.UseRouting();
|
||||
app.UseCors(MyAllowSpecificOrigins);
|
||||
|
||||
app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
|
||||
// global error handler
|
||||
app.UseMiddleware<ErrorHandlerMiddleware>();
|
||||
|
||||
app.MapControllerRoute(
|
||||
name: "default",
|
||||
pattern: "{controller}/{action=Index}/{id?}");
|
||||
|
||||
app.MapFallbackToFile("index.html");
|
||||
|
||||
app.Run();
|
||||
}
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/launchsettings.json",
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:33077",
|
||||
"sslPort": 44364
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"applicationUrl": "http://localhost:5279",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"applicationUrl": "https://localhost:7243;http://localhost:5279",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,114 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Services;
|
||||
|
||||
using AutoMapper;
|
||||
using BCrypt.Net;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using AAIntegration.SimmonsBank.API.Models.Accounts;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System;
|
||||
using Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
public interface IAccountService
|
||||
{
|
||||
IEnumerable<Account> GetAll();
|
||||
Account GetById(int accountId);
|
||||
void Create(AccountCreateRequest model);
|
||||
void Update(int accountId, AccountUpdateRequest model);
|
||||
void Delete(int accountId);
|
||||
}
|
||||
|
||||
public class AccountService : IAccountService
|
||||
{
|
||||
private DataContext _context;
|
||||
private readonly IMapper _mapper;
|
||||
private IUserService _userService;
|
||||
|
||||
public AccountService(
|
||||
DataContext context,
|
||||
IMapper mapper,
|
||||
IUserService userService)
|
||||
{
|
||||
_context = context;
|
||||
_mapper = mapper;
|
||||
_userService = userService;
|
||||
}
|
||||
|
||||
public IEnumerable<Account> GetAll()
|
||||
{
|
||||
return _context.Accounts;
|
||||
}
|
||||
|
||||
public Account GetById(int accountId)
|
||||
{
|
||||
return getAccount(accountId);
|
||||
}
|
||||
|
||||
public void Create(AccountCreateRequest model)
|
||||
{
|
||||
// Check that account with same name or same external number doesn't exist
|
||||
IEnumerable<Account> accountsWithSameName = _context.Accounts.Where(a => a.Name.ToUpper() == model.Name.ToUpper());
|
||||
|
||||
if (accountsWithSameName.Count() > 0)
|
||||
throw new AppException("Account with name '" + model.Name + "' already exists");
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.ExternalAccountNumber))
|
||||
{
|
||||
IEnumerable<Account> matches = _context.Accounts.Where(a => a.ExternalAccountNumber == model.ExternalAccountNumber);
|
||||
|
||||
if (matches.Count() > 0)
|
||||
throw new AppException("Account with external account number '" + model.ExternalAccountNumber + "' already exists under account named '" + matches.First().Name + "'");
|
||||
}
|
||||
|
||||
// map model to new account object
|
||||
//var account = _mapper.Map<Account>(model);
|
||||
|
||||
Account account = new Account {
|
||||
Name = model.Name,
|
||||
Balance = Convert.ToDecimal(model.InitialBalance),
|
||||
ExternalAccountNumber = model.ExternalAccountNumber
|
||||
};
|
||||
|
||||
_context.Accounts.Add(account);
|
||||
_context.SaveChanges();
|
||||
}
|
||||
|
||||
public void Update(int accountId, AccountUpdateRequest model)
|
||||
{
|
||||
Account account = getAccount(accountId);
|
||||
|
||||
// validate
|
||||
if (model.Name != account.Name && _context.Accounts.Any(x => x.Name == model.Name))
|
||||
throw new AppException("Account with the name '" + model.Name + "' already exists");
|
||||
|
||||
// Name
|
||||
if (!string.IsNullOrWhiteSpace(model.Name))
|
||||
account.Name = model.Name;
|
||||
|
||||
// External Account Number
|
||||
if (!string.IsNullOrWhiteSpace(model.ExternalAccountNumber))
|
||||
account.ExternalAccountNumber = model.ExternalAccountNumber;
|
||||
|
||||
_context.Accounts.Update(account);
|
||||
_context.SaveChanges();
|
||||
}
|
||||
|
||||
public void Delete(int accountId)
|
||||
{
|
||||
var account = getAccount(accountId);
|
||||
_context.Accounts.Remove(account);
|
||||
_context.SaveChanges();
|
||||
}
|
||||
|
||||
// helper methods
|
||||
|
||||
private Account getAccount(int id)
|
||||
{
|
||||
var account = _context.Accounts.Find(id);
|
||||
if (account == null) throw new KeyNotFoundException("Account not found");
|
||||
return account;
|
||||
}
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Services;
|
||||
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
|
||||
public interface ICacheService
|
||||
{
|
||||
int GetClientIdFromApiKey(string apiKey);
|
||||
}
|
||||
|
||||
public class CacheService : ICacheService
|
||||
{
|
||||
private readonly IMemoryCache _memoryCache;
|
||||
private readonly IUserService _userService;
|
||||
|
||||
public CacheService(IMemoryCache memoryCache, IUserService userService)
|
||||
{
|
||||
_memoryCache = memoryCache;
|
||||
_userService = userService;
|
||||
}
|
||||
|
||||
public int GetClientIdFromApiKey(string apiKey)
|
||||
{
|
||||
if (!_memoryCache.TryGetValue<Dictionary<string, int>>($"Authentication_ApiKeys", out var internalKeys))
|
||||
{
|
||||
internalKeys = _userService.GetAllApiKeys();
|
||||
|
||||
_memoryCache.Set($"Authentication_ApiKeys", internalKeys);
|
||||
}
|
||||
|
||||
if (!internalKeys.TryGetValue(apiKey, out var clientId))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
return clientId;
|
||||
}
|
||||
|
||||
/*public void InvalidateApiKey(string apiKey)
|
||||
{
|
||||
if (_memoryCache.TryGetValue<Dictionary<string, Guid>>("Authentication_ApiKeys", out var internalKeys))
|
||||
{
|
||||
if (internalKeys.ContainsKey(apiKey))
|
||||
{
|
||||
internalKeys.Remove(apiKey);
|
||||
_memoryCache.Set("Authentication_ApiKeys", internalKeys);
|
||||
}
|
||||
}
|
||||
|
||||
_userService.InvalidateApiKey(apiKey);
|
||||
}*/
|
||||
}
|
@ -1,217 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Services;
|
||||
|
||||
using AutoMapper;
|
||||
using BCrypt.Net;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using AAIntegration.SimmonsBank.API.Models.Transactions;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Internal;
|
||||
using System.Collections.Immutable;
|
||||
|
||||
public interface ITransactionService
|
||||
{
|
||||
IEnumerable<Transaction> GetAll();
|
||||
Transaction GetById(int id);
|
||||
IEnumerable<Transaction> BulkCreate(List<TransactionCreate> model);
|
||||
Transaction Create(TransactionCreate model, bool errorOnFail = true);
|
||||
void Update(int id, TransactionUpdateRequest model);
|
||||
void Delete(int id);
|
||||
}
|
||||
|
||||
public class TransactionService : ITransactionService
|
||||
{
|
||||
private DataContext _context;
|
||||
private readonly IMapper _mapper;
|
||||
private readonly ILogger<TransactionService> _logger;
|
||||
|
||||
public TransactionService(
|
||||
DataContext context,
|
||||
IMapper mapper,
|
||||
ILogger<TransactionService> logger)
|
||||
{
|
||||
_context = context;
|
||||
_mapper = mapper;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public IEnumerable<Transaction> GetAll()
|
||||
{
|
||||
return _context.Transactions
|
||||
.Include(t => t.DebitAccount)
|
||||
.Include(t => t.CreditAccount)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public Transaction GetById(int id)
|
||||
{
|
||||
return getTransaction(id);
|
||||
}
|
||||
|
||||
private Account prepareAccount(int? accountId)
|
||||
{
|
||||
if (accountId == null || accountId.Value == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
Account account = _context.Accounts.Find(accountId.Value);
|
||||
if (account == null)
|
||||
throw new AppException("Could not find account with ID of '" + accountId.Value + "'.");
|
||||
|
||||
return account;
|
||||
}
|
||||
|
||||
public IEnumerable<Transaction> BulkCreate(List<TransactionCreate> model)
|
||||
{
|
||||
List<Transaction> transactions = new List<Transaction>();
|
||||
|
||||
foreach (TransactionCreate tr in model)
|
||||
{
|
||||
var tran = this.Create(tr, false);
|
||||
if (tran != null)
|
||||
transactions.Add(tran);
|
||||
}
|
||||
|
||||
return transactions;
|
||||
}
|
||||
|
||||
public Transaction Create(TransactionCreate model, bool errorOnFail = true)
|
||||
{
|
||||
Transaction transaction = new Transaction {
|
||||
Description = model.Description,
|
||||
Date = model.Date.Date.ToUniversalTime(),
|
||||
CreatedOn = DateTime.UtcNow,
|
||||
UpdatedOn = DateTime.UtcNow,
|
||||
ExternalId = string.IsNullOrWhiteSpace(model.ExternalId) ? "" : model.ExternalId,
|
||||
DebitAccount = prepareAccount(model.DebitAccount),
|
||||
CreditAccount = prepareAccount(model.CreditAccount),
|
||||
Amount = Convert.ToDecimal(model.Amount),
|
||||
IsPending = model.IsPending
|
||||
};
|
||||
|
||||
if (this.ValidateTransaction(transaction, errorOnFail) == false)
|
||||
{
|
||||
_logger.LogInformation($"Aborted adding transaction '{transaction.Description}'.");
|
||||
return null;
|
||||
}
|
||||
|
||||
// At this point transaction itself is valid
|
||||
|
||||
_context.Transactions.Add(transaction);
|
||||
_context.SaveChanges();
|
||||
|
||||
_logger.LogInformation("New transaction successfully created.");
|
||||
|
||||
return transaction;
|
||||
}
|
||||
|
||||
public void Update(int id, TransactionUpdateRequest model)
|
||||
{
|
||||
Transaction transaction = getTransaction(id);
|
||||
|
||||
// Transaction.Date
|
||||
if (model.Date.HasValue)
|
||||
transaction.Date = model.Date.Value;
|
||||
|
||||
// Transaction.ExternalId
|
||||
if (model.ExternalId != null)
|
||||
transaction.ExternalId = model.ExternalId;
|
||||
|
||||
// Transaction.Description
|
||||
if (model.Description != null)
|
||||
transaction.Description = model.Description;
|
||||
|
||||
// Transaction.DebitAccount
|
||||
if (model.DebitAccount.HasValue)
|
||||
transaction.DebitAccount = prepareAccount(model.DebitAccount);
|
||||
|
||||
// Transaction.CreditAccount
|
||||
if (model.CreditAccount.HasValue)
|
||||
transaction.CreditAccount = prepareAccount(model.CreditAccount.Value);
|
||||
|
||||
// Transaction.Amount
|
||||
if (model.Amount.HasValue)
|
||||
transaction.Amount = model.Amount.Value;
|
||||
|
||||
// Transaction.IsPending
|
||||
if (model.IsPending.HasValue)
|
||||
transaction.IsPending = model.IsPending.Value;
|
||||
|
||||
this.ValidateTransaction(transaction);
|
||||
|
||||
transaction.UpdatedOn = DateTime.UtcNow;
|
||||
|
||||
_context.Transactions.Update(transaction);
|
||||
_context.SaveChanges();
|
||||
|
||||
_logger.LogInformation($"Transaction '{id}' successfully updated.");
|
||||
}
|
||||
|
||||
private bool ValidateTransaction(int transactionId)
|
||||
{
|
||||
return this.ValidateTransaction(getTransaction(transactionId));
|
||||
}
|
||||
|
||||
private bool ErrorOrFalse(bool error, string errorMessage)
|
||||
{
|
||||
if (error)
|
||||
throw new AppException(errorMessage);
|
||||
|
||||
_logger.LogWarning(errorMessage);
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool ValidateTransaction(Transaction transaction, bool errorOnFail = true)
|
||||
{
|
||||
// There has to be at least 1 specified account
|
||||
if (transaction.DebitAccount == null && transaction.CreditAccount == null)
|
||||
return ErrorOrFalse(errorOnFail, "There must be an envelope or account chosen for a transaction.");
|
||||
|
||||
// Accounts cannot be the same
|
||||
if (transaction.DebitAccount != null && transaction.CreditAccount != null &&
|
||||
transaction.DebitAccount.Id == transaction.CreditAccount.Id)
|
||||
return ErrorOrFalse(errorOnFail, "The debit and credit accounts of a transaction cannot be the same.");
|
||||
|
||||
// Transaction Duplication Check - External ID
|
||||
if (!string.IsNullOrWhiteSpace(transaction.ExternalId) && _context.Transactions.Any(x => x.ExternalId == transaction.ExternalId))
|
||||
return ErrorOrFalse(errorOnFail, "Transaction with the external ID '" + transaction.ExternalId + "' already exists");
|
||||
|
||||
// Transaction Duplication Check - All other fields
|
||||
/*if (_context.Transactions.Any(x =>
|
||||
x.Description == transaction.Description
|
||||
&& x.Date == transaction.Date
|
||||
&& x.DebitAccount == transaction.DebitAccount
|
||||
&& x.CreditAccount == transaction.CreditAccount
|
||||
&& x.Amount == transaction.Amount))
|
||||
{
|
||||
return ErrorOrFalse(errorOnFail, "Transaction with the same fields already exists");
|
||||
}*/
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void Delete(int id)
|
||||
{
|
||||
var transaction = getTransaction(id);
|
||||
_context.Transactions.Remove(transaction);
|
||||
_context.SaveChanges();
|
||||
}
|
||||
|
||||
private Transaction getTransaction(int id)
|
||||
{
|
||||
var transaction = _context.Transactions
|
||||
.Include(t => t.DebitAccount)
|
||||
.Include(t => t.CreditAccount)
|
||||
.FirstOrDefault(t => t.Id == id);
|
||||
|
||||
if (transaction == null)
|
||||
throw new KeyNotFoundException("Transaction not found");
|
||||
|
||||
return transaction;
|
||||
}
|
||||
}
|
@ -1,146 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Services;
|
||||
|
||||
using AutoMapper;
|
||||
using BCrypt.Net;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using AAIntegration.SimmonsBank.API.Models.Users;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.EntityFrameworkCore.Internal;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using System.Text;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Security.Claims;
|
||||
using Microsoft.Extensions.Options;
|
||||
using System.Security.Cryptography;
|
||||
|
||||
public interface IUserService
|
||||
{
|
||||
// New Based way
|
||||
string Create(UserCreateRequest model);
|
||||
void Update(string apiKey, UserUpdateRequest model);
|
||||
void Delete(string apiKey);
|
||||
Dictionary<string, int> GetAllApiKeys();
|
||||
|
||||
/* Other cringe way
|
||||
AuthenticateResponse Authenticate(AuthenticateRequest model);
|
||||
void Register(RegisterRequest model);
|
||||
IEnumerable<User> GetAll();
|
||||
User GetById(int id);
|
||||
void Update(int id, UserUpdateRequest model);
|
||||
void Delete(int id);
|
||||
Dictionary<string, int> GetAllApiKeys();
|
||||
string GetUserApiKey(int id);
|
||||
void InvalidateApiKey(string apiKey);
|
||||
string CreateUserApiKey(int id);
|
||||
*/
|
||||
}
|
||||
|
||||
public class UserService : IUserService
|
||||
{
|
||||
private DataContext _context;
|
||||
private readonly IMapper _mapper;
|
||||
private readonly IOptions<AppSettings> _appSettings;
|
||||
|
||||
public UserService(
|
||||
DataContext context,
|
||||
IMapper mapper,
|
||||
IOptions<AppSettings> appSettings)
|
||||
{
|
||||
_context = context;
|
||||
_mapper = mapper;
|
||||
_appSettings = appSettings;
|
||||
}
|
||||
|
||||
public string Create(UserCreateRequest model)
|
||||
{
|
||||
User user = new User();
|
||||
user.SimmonsBankUsername = model.Username;
|
||||
user.SimmonsBankPassword = model.Password;
|
||||
user.MFAKey = model.MFAKey;
|
||||
|
||||
// Generate API Key
|
||||
user.ApiKey = generateApiKey();
|
||||
|
||||
// save user
|
||||
_context.Users.Add(user);
|
||||
_context.SaveChanges();
|
||||
|
||||
// Return API Key
|
||||
return user.ApiKey;
|
||||
}
|
||||
|
||||
public void Update(string apiKey, UserUpdateRequest model)
|
||||
{
|
||||
var user = getUser(apiKey);
|
||||
|
||||
// User.Username
|
||||
if (model.Username != null)
|
||||
user.SimmonsBankUsername = model.Username;
|
||||
|
||||
// User.Password
|
||||
if (model.Password != null)
|
||||
user.SimmonsBankPassword = model.Password;
|
||||
|
||||
// User.MFAKey
|
||||
if (model.MFAKey != null)
|
||||
user.MFAKey = model.MFAKey;
|
||||
|
||||
_context.Users.Update(user);
|
||||
_context.SaveChanges();
|
||||
}
|
||||
|
||||
public void Delete(string apiKey)
|
||||
{
|
||||
var user = getUser(apiKey);
|
||||
_context.Users.Remove(user);
|
||||
_context.SaveChanges();
|
||||
}
|
||||
|
||||
public Dictionary<string, int> GetAllApiKeys()
|
||||
{
|
||||
return _context.Users
|
||||
.Where(u => u.ApiKey != null)
|
||||
.ToDictionary(u => u.ApiKey, u => u.Id);
|
||||
}
|
||||
|
||||
|
||||
// helper methods
|
||||
|
||||
private User getUser(int id)
|
||||
{
|
||||
var user = _context.Users.Find(id);
|
||||
if (user == null) throw new KeyNotFoundException("User not found");
|
||||
return user;
|
||||
}
|
||||
|
||||
private User getUser(string ApiKey)
|
||||
{
|
||||
var user = _context.Users
|
||||
.Where(u => u.ApiKey == ApiKey)
|
||||
.FirstOrDefault();
|
||||
|
||||
if (user == null) throw new KeyNotFoundException("User not found");
|
||||
return user;
|
||||
}
|
||||
|
||||
private const string _prefix = "CT-";
|
||||
private const int _numberOfSecureBytesToGenerate = 32;
|
||||
private const int _lengthOfKey = 32;
|
||||
|
||||
private string generateApiKey()
|
||||
{
|
||||
var bytes = RandomNumberGenerator.GetBytes(_numberOfSecureBytesToGenerate);
|
||||
|
||||
string base64String = Convert.ToBase64String(bytes)
|
||||
.Replace("+", "-")
|
||||
.Replace("/", "_");
|
||||
|
||||
var keyLength = _lengthOfKey - _prefix.Length;
|
||||
|
||||
return _prefix + base64String[..keyLength];
|
||||
}
|
||||
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API.Services;
|
||||
|
||||
using AutoMapper;
|
||||
using AAIntegration.SimmonsBank.API.Entities;
|
||||
using AAIntegration.SimmonsBank.API.Config;
|
||||
using AAIntegration.SimmonsBank.API.Models.Accounts;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Security.Policy;
|
||||
|
||||
public interface IVersionService
|
||||
{
|
||||
string GetVersion();
|
||||
}
|
||||
|
||||
public class VersionService : IVersionService
|
||||
{
|
||||
const string APP_VERSION = "1.0.0";
|
||||
|
||||
ILogger<VersionService> _logger;
|
||||
|
||||
public VersionService(
|
||||
ILogger<VersionService> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation("App Version: " + APP_VERSION);
|
||||
}
|
||||
|
||||
public string GetVersion()
|
||||
{
|
||||
return APP_VERSION;
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
namespace AAIntegration.SimmonsBank.API;
|
||||
|
||||
public class WeatherForecast
|
||||
{
|
||||
public DateOnly Date { get; set; }
|
||||
|
||||
public int TemperatureC { get; set; }
|
||||
|
||||
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
|
||||
|
||||
public string? Summary { get; set; }
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.AspNetCore.SpaProxy": "Information",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
{
|
||||
"ActiveAllocator": {
|
||||
"Database": {
|
||||
"Host": "localhost",
|
||||
"Name": "AAISB_DB",
|
||||
"User": "postgres",
|
||||
"Password": "nqA3UV3CliLLHpLL",
|
||||
"Port": "25432"
|
||||
},
|
||||
"AllowedHosts": [
|
||||
"*"
|
||||
]
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"PSQLConnection": "Server=localhost;Port=15432;Database=aadb;User Id=postgres;Password=nqA3UV3CliLLHpLL"
|
||||
},
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
},
|
||||
"AppSettings": {
|
||||
"Secret": "5de80277015f9fd564c4d1cc2cf827dbb1774cd66e7d79aa258d9c35a9f67f32fc6cf0dc24244242bd9501288e0fd69e315b",
|
||||
"APIUrl": "https://localhost:7260"
|
||||
},
|
||||
"EnvelopeFund": {
|
||||
"CheckIntervalInMinutes": 10
|
||||
}
|
||||
}
|
Binary file not shown.
@ -1,536 +0,0 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v7.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v7.0": {
|
||||
"AAIntegration.SimmonsBank.API/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.AspNetCore.Authorization": "7.0.0",
|
||||
"Microsoft.AspNetCore.OpenApi": "7.0.15",
|
||||
"Microsoft.EntityFrameworkCore": "7.0.0",
|
||||
"Microsoft.EntityFrameworkCore.Design": "7.0.0",
|
||||
"Microsoft.IdentityModel.Tokens": "7.0.0",
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.0",
|
||||
"Swashbuckle.AspNetCore": "6.5.0"
|
||||
},
|
||||
"runtime": {
|
||||
"AAIntegration.SimmonsBank.API.dll": {}
|
||||
}
|
||||
},
|
||||
"Humanizer.Core/2.14.1": {
|
||||
"runtime": {
|
||||
"lib/net6.0/Humanizer.dll": {
|
||||
"assemblyVersion": "2.14.0.0",
|
||||
"fileVersion": "2.14.1.48190"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNetCore.Authorization/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.AspNetCore.Metadata": "7.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
|
||||
"Microsoft.Extensions.Options": "7.0.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNetCore.Metadata/7.0.0": {},
|
||||
"Microsoft.AspNetCore.OpenApi/7.0.15": {
|
||||
"dependencies": {
|
||||
"Microsoft.OpenApi": "1.4.3"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net7.0/Microsoft.AspNetCore.OpenApi.dll": {
|
||||
"assemblyVersion": "7.0.15.0",
|
||||
"fileVersion": "7.0.1523.60110"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore.Abstractions": "7.0.0",
|
||||
"Microsoft.EntityFrameworkCore.Analyzers": "7.0.0",
|
||||
"Microsoft.Extensions.Caching.Memory": "7.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "7.0.0",
|
||||
"Microsoft.Extensions.Logging": "7.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.22.51807"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.22.51807"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {},
|
||||
"Microsoft.EntityFrameworkCore.Design/7.0.0": {
|
||||
"dependencies": {
|
||||
"Humanizer.Core": "2.14.1",
|
||||
"Microsoft.EntityFrameworkCore.Relational": "7.0.0",
|
||||
"Microsoft.Extensions.DependencyModel": "7.0.0",
|
||||
"Mono.TextTemplating": "2.2.1"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.22.51807"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore": "7.0.0",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "7.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.22.51807"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
|
||||
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "7.0.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
|
||||
"Microsoft.Extensions.Options": "7.0.0",
|
||||
"Microsoft.Extensions.Primitives": "7.0.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "7.0.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {},
|
||||
"Microsoft.Extensions.DependencyModel/7.0.0": {
|
||||
"dependencies": {
|
||||
"System.Text.Encodings.Web": "7.0.0",
|
||||
"System.Text.Json": "7.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net7.0/Microsoft.Extensions.DependencyModel.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.22.51805"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection": "7.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
|
||||
"Microsoft.Extensions.Options": "7.0.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {},
|
||||
"Microsoft.Extensions.Options/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
|
||||
"Microsoft.Extensions.Primitives": "7.0.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/7.0.0": {},
|
||||
"Microsoft.IdentityModel.Abstractions/7.0.0": {
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.0.40911"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.IdentityModel.Logging/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.IdentityModel.Abstractions": "7.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.IdentityModel.Logging.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.0.40911"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.IdentityModel.Tokens/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.IdentityModel.Logging": "7.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.0.40911"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.OpenApi/1.4.3": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
|
||||
"assemblyVersion": "1.4.3.0",
|
||||
"fileVersion": "1.4.3.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Mono.TextTemplating/2.2.1": {
|
||||
"dependencies": {
|
||||
"System.CodeDom": "4.4.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Mono.TextTemplating.dll": {
|
||||
"assemblyVersion": "2.2.0.0",
|
||||
"fileVersion": "2.2.1.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Npgsql/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net7.0/Npgsql.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL/7.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore": "7.0.0",
|
||||
"Microsoft.EntityFrameworkCore.Abstractions": "7.0.0",
|
||||
"Microsoft.EntityFrameworkCore.Relational": "7.0.0",
|
||||
"Npgsql": "7.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net7.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Swashbuckle.AspNetCore/6.5.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.ApiDescription.Server": "6.0.5",
|
||||
"Swashbuckle.AspNetCore.Swagger": "6.5.0",
|
||||
"Swashbuckle.AspNetCore.SwaggerGen": "6.5.0",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "6.5.0"
|
||||
}
|
||||
},
|
||||
"Swashbuckle.AspNetCore.Swagger/6.5.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.OpenApi": "1.4.3"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll": {
|
||||
"assemblyVersion": "6.5.0.0",
|
||||
"fileVersion": "6.5.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Swashbuckle.AspNetCore.SwaggerGen/6.5.0": {
|
||||
"dependencies": {
|
||||
"Swashbuckle.AspNetCore.Swagger": "6.5.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
|
||||
"assemblyVersion": "6.5.0.0",
|
||||
"fileVersion": "6.5.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Swashbuckle.AspNetCore.SwaggerUI/6.5.0": {
|
||||
"runtime": {
|
||||
"lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
|
||||
"assemblyVersion": "6.5.0.0",
|
||||
"fileVersion": "6.5.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.CodeDom/4.4.0": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.CodeDom.dll": {
|
||||
"assemblyVersion": "4.0.0.0",
|
||||
"fileVersion": "4.6.25519.3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe/6.0.0": {},
|
||||
"System.Text.Encodings.Web/7.0.0": {},
|
||||
"System.Text.Json/7.0.0": {
|
||||
"dependencies": {
|
||||
"System.Text.Encodings.Web": "7.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"AAIntegration.SimmonsBank.API/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Humanizer.Core/2.14.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==",
|
||||
"path": "humanizer.core/2.14.1",
|
||||
"hashPath": "humanizer.core.2.14.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNetCore.Authorization/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-0O7C7XHj+17Q0geMpnpRC0fnnALH2Yhaa2SAzX00OkeF2NZ/+zWoDymbSnepg1qhueufUivihZiVGtMeq5Zywg==",
|
||||
"path": "microsoft.aspnetcore.authorization/7.0.0",
|
||||
"hashPath": "microsoft.aspnetcore.authorization.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNetCore.Metadata/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ut2azlKz7BQpCKu6AiwKEjMHpRWoD4qu2Ff/n6KagjFsyDAfZY7lgYJ158vr4O0jXet6pV1uF1q3jmXvki0OlA==",
|
||||
"path": "microsoft.aspnetcore.metadata/7.0.0",
|
||||
"hashPath": "microsoft.aspnetcore.metadata.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNetCore.OpenApi/7.0.15": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-5AnwJuy7lBaoDhos9SYzLxsGO/s8LsAnP1DR0JSUp1zGzBGnHJEgT4IafAk24PnveKgkiVwh77t5+dU652rwxA==",
|
||||
"path": "microsoft.aspnetcore.openapi/7.0.15",
|
||||
"hashPath": "microsoft.aspnetcore.openapi.7.0.15.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-9W+IfmAzMrp2ZpKZLhgTlWljSBM9Erldis1us61DAGi+L7Q6vilTbe1G2zDxtYO8F2H0I0Qnupdx5Cp4s2xoZw==",
|
||||
"path": "microsoft.entityframeworkcore/7.0.0",
|
||||
"hashPath": "microsoft.entityframeworkcore.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Pfu3Zjj5+d2Gt27oE9dpGiF/VobBB+s5ogrfI9sBsXQE1SG49RqVz5+IyeNnzhyejFrPIQsPDRMchhcojy4Hbw==",
|
||||
"path": "microsoft.entityframeworkcore.abstractions/7.0.0",
|
||||
"hashPath": "microsoft.entityframeworkcore.abstractions.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Qkd2H+jLe37o5ku+LjT6qf7kAHY75Yfn2bBDQgqr13DTOLYpEy1Mt93KPFjaZvIu/srEcbfGGMRL7urKm5zN8Q==",
|
||||
"path": "microsoft.entityframeworkcore.analyzers/7.0.0",
|
||||
"hashPath": "microsoft.entityframeworkcore.analyzers.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Design/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-fEEU/zZ/VblZRQxHNZxgGKVtEtOGqEAmuHkACV1i0H031bM8PQKTS7PlKPVOgg0C1v+6yeHoIAGGgbAvG9f7kw==",
|
||||
"path": "microsoft.entityframeworkcore.design/7.0.0",
|
||||
"hashPath": "microsoft.entityframeworkcore.design.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-eQiYygtR2xZ0Uy7KtiFRHpoEx/U8xNwbNRgu1pEJgSxbJLtg6tDL1y2YcIbSuIRSNEljXIIHq/apEhGm1QL70g==",
|
||||
"path": "microsoft.entityframeworkcore.relational/7.0.0",
|
||||
"hashPath": "microsoft.entityframeworkcore.relational.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.ApiDescription.Server/6.0.5": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==",
|
||||
"path": "microsoft.extensions.apidescription.server/6.0.5",
|
||||
"hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==",
|
||||
"path": "microsoft.extensions.caching.abstractions/7.0.0",
|
||||
"hashPath": "microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==",
|
||||
"path": "microsoft.extensions.caching.memory/7.0.0",
|
||||
"hashPath": "microsoft.extensions.caching.memory.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==",
|
||||
"path": "microsoft.extensions.configuration.abstractions/7.0.0",
|
||||
"hashPath": "microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==",
|
||||
"path": "microsoft.extensions.dependencyinjection/7.0.0",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==",
|
||||
"path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyModel/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-oONNYd71J3LzkWc4fUHl3SvMfiQMYUCo/mDHDEu76hYYxdhdrPYv6fvGv9nnKVyhE9P0h20AU8RZB5OOWQcAXg==",
|
||||
"path": "microsoft.extensions.dependencymodel/7.0.0",
|
||||
"hashPath": "microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==",
|
||||
"path": "microsoft.extensions.logging/7.0.0",
|
||||
"hashPath": "microsoft.extensions.logging.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==",
|
||||
"path": "microsoft.extensions.logging.abstractions/7.0.0",
|
||||
"hashPath": "microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Options/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==",
|
||||
"path": "microsoft.extensions.options/7.0.0",
|
||||
"hashPath": "microsoft.extensions.options.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
|
||||
"path": "microsoft.extensions.primitives/7.0.0",
|
||||
"hashPath": "microsoft.extensions.primitives.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.IdentityModel.Abstractions/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-7iSWSRR72VKeonFdfDi43Lvkca98Y0F3TmmWhRSuHbkjk/IKUSO0Qd272LQFZpi5eDNQNbUXy3o4THXhOAU6cw==",
|
||||
"path": "microsoft.identitymodel.abstractions/7.0.0",
|
||||
"hashPath": "microsoft.identitymodel.abstractions.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.IdentityModel.Logging/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-6I35Kt2/PQZAyUYLo3+QgT/LubZ5/4Ojelkbyo8KKdDgjMbVocAx2B3P5V7iMCz+rsAe/RLr6ql87QKnHtI+aw==",
|
||||
"path": "microsoft.identitymodel.logging/7.0.0",
|
||||
"hashPath": "microsoft.identitymodel.logging.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.IdentityModel.Tokens/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-dxYqmmFLsjBQZ6F6a4XDzrZ1CTxBRFVigJvWiNtXiIsT6UlYMxs9ONMaGx9XKzcxmcgEQ2ADuCqKZduz0LR9Hw==",
|
||||
"path": "microsoft.identitymodel.tokens/7.0.0",
|
||||
"hashPath": "microsoft.identitymodel.tokens.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.OpenApi/1.4.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-rURwggB+QZYcSVbDr7HSdhw/FELvMlriW10OeOzjPT7pstefMo7IThhtNtDudxbXhW+lj0NfX72Ka5EDsG8x6w==",
|
||||
"path": "microsoft.openapi/1.4.3",
|
||||
"hashPath": "microsoft.openapi.1.4.3.nupkg.sha512"
|
||||
},
|
||||
"Mono.TextTemplating/2.2.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==",
|
||||
"path": "mono.texttemplating/2.2.1",
|
||||
"hashPath": "mono.texttemplating.2.2.1.nupkg.sha512"
|
||||
},
|
||||
"Npgsql/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-tOBFksJZ2MiEz8xtDUgS5IG19jVO3nSP15QDYWiiGpXHe0PsLoQBts2Sg3hHKrrLTuw+AjsJz9iKvvGNHyKDIg==",
|
||||
"path": "npgsql/7.0.0",
|
||||
"hashPath": "npgsql.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-CyUNlFZmtX2Kmw8XK5Tlx5eVUCzWJ+zJHErxZiMo2Y8zCRuH9+/OMGwG+9Mmp5zD5p3Ifbi5Pp3btsqoDDkSZQ==",
|
||||
"path": "npgsql.entityframeworkcore.postgresql/7.0.0",
|
||||
"hashPath": "npgsql.entityframeworkcore.postgresql.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"Swashbuckle.AspNetCore/6.5.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-FK05XokgjgwlCI6wCT+D4/abtQkL1X1/B9Oas6uIwHFmYrIO9WUD5aLC9IzMs9GnHfUXOtXZ2S43gN1mhs5+aA==",
|
||||
"path": "swashbuckle.aspnetcore/6.5.0",
|
||||
"hashPath": "swashbuckle.aspnetcore.6.5.0.nupkg.sha512"
|
||||
},
|
||||
"Swashbuckle.AspNetCore.Swagger/6.5.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-XWmCmqyFmoItXKFsQSwQbEAsjDKcxlNf1l+/Ki42hcb6LjKL8m5Db69OTvz5vLonMSRntYO1XLqz0OP+n3vKnA==",
|
||||
"path": "swashbuckle.aspnetcore.swagger/6.5.0",
|
||||
"hashPath": "swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512"
|
||||
},
|
||||
"Swashbuckle.AspNetCore.SwaggerGen/6.5.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Y/qW8Qdg9OEs7V013tt+94OdPxbRdbhcEbw4NiwGvf4YBcfhL/y7qp/Mjv/cENsQ2L3NqJ2AOu94weBy/h4KvA==",
|
||||
"path": "swashbuckle.aspnetcore.swaggergen/6.5.0",
|
||||
"hashPath": "swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512"
|
||||
},
|
||||
"Swashbuckle.AspNetCore.SwaggerUI/6.5.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-OvbvxX+wL8skxTBttcBsVxdh73Fag4xwqEU2edh4JMn7Ws/xJHnY/JB1e9RoCb6XpDxUF3hD9A0Z1lEUx40Pfw==",
|
||||
"path": "swashbuckle.aspnetcore.swaggerui/6.5.0",
|
||||
"hashPath": "swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512"
|
||||
},
|
||||
"System.CodeDom/4.4.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==",
|
||||
"path": "system.codedom/4.4.0",
|
||||
"hashPath": "system.codedom.4.4.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
|
||||
"path": "system.runtime.compilerservices.unsafe/6.0.0",
|
||||
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encodings.Web/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==",
|
||||
"path": "system.text.encodings.web/7.0.0",
|
||||
"hashPath": "system.text.encodings.web.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Json/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-DaGSsVqKsn/ia6RG8frjwmJonfos0srquhw09TlT8KRw5I43E+4gs+/bZj4K0vShJ5H9imCuXupb4RmS+dBy3w==",
|
||||
"path": "system.text.json/7.0.0",
|
||||
"hashPath": "system.text.json.7.0.0.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,20 +0,0 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net7.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "7.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App",
|
||||
"version": "7.0.0"
|
||||
}
|
||||
],
|
||||
"configProperties": {
|
||||
"System.GC.Server": true,
|
||||
"System.Reflection.NullabilityInfoContext.IsSupported": true,
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,8 +0,0 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"AppSettings": {
|
||||
"Secret": "5de80277015f9fd564c4d1cc2cf827dbb1774cd66e7d79aa258d9c35a9f67f32fc6cf0dc24244242bd9501288e0fd69e315b",
|
||||
"APIUrl": "https://localhost:5279"
|
||||
},
|
||||
"Database": {
|
||||
"Host": "localhost",
|
||||
"Name": "AAISB_DB",
|
||||
"User": "postgres",
|
||||
"Password": "nqA3UV3CliLLHpLL",
|
||||
"Port": "15432"
|
||||
}
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
version: '3.4'
|
||||
|
||||
services:
|
||||
activeallocator-site:
|
||||
image: activeallocator:1.0.0
|
||||
container_name: activeallocator
|
||||
env_file:
|
||||
- .env
|
||||
# environment:
|
||||
# - ActiveAllocator__Database__Port=15432
|
||||
#build:
|
||||
#context: .
|
||||
#dockerfile: MoviesAPI/Dockerfile
|
||||
ports:
|
||||
- 80:80
|
||||
- 7555:7260
|
||||
depends_on:
|
||||
- database
|
||||
|
||||
database:
|
||||
container_name: activeallocator-db
|
||||
image: 'postgres:15'
|
||||
#ports:
|
||||
# - 15432:5432
|
||||
env_file:
|
||||
- .env
|
||||
#networks:
|
||||
# - postgres-network
|
||||
volumes:
|
||||
- ./pg-db_data/:/var/lib/postgresql/data/
|
@ -1,143 +0,0 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/AAIntegration.SimmonsBank.API.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/AAIntegration.SimmonsBank.API.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/AAIntegration.SimmonsBank.API.csproj",
|
||||
"projectName": "AAIntegration.SimmonsBank.API",
|
||||
"projectPath": "/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/AAIntegration.SimmonsBank.API.csproj",
|
||||
"packagesPath": "/home/william/.nuget/packages/",
|
||||
"outputPath": "/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"/home/william/.nuget/NuGet/NuGet.Config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net7.0"
|
||||
],
|
||||
"sources": {
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net7.0": {
|
||||
"targetAlias": "net7.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"net7.0": {
|
||||
"targetAlias": "net7.0",
|
||||
"dependencies": {
|
||||
"AutoMapper": {
|
||||
"target": "Package",
|
||||
"version": "[12.0.1, )"
|
||||
},
|
||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": {
|
||||
"target": "Package",
|
||||
"version": "[12.0.1, )"
|
||||
},
|
||||
"BCrypt.Net": {
|
||||
"target": "Package",
|
||||
"version": "[0.1.0, )"
|
||||
},
|
||||
"Microsoft.AspNetCore.Authentication.JwtBearer": {
|
||||
"target": "Package",
|
||||
"version": "[7.0.16, )"
|
||||
},
|
||||
"Microsoft.AspNetCore.SpaProxy": {
|
||||
"target": "Package",
|
||||
"version": "[7.0.13, )"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore": {
|
||||
"target": "Package",
|
||||
"version": "[7.0.9, )"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Design": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[7.0.9, )"
|
||||
},
|
||||
"Microsoft.IdentityModel.Tokens": {
|
||||
"target": "Package",
|
||||
"version": "[6.35.0, )"
|
||||
},
|
||||
"Microsoft.NET.Build.Containers": {
|
||||
"target": "Package",
|
||||
"version": "[7.0.400, )"
|
||||
},
|
||||
"Microsoft.VisualStudio.Web.CodeGeneration.Design": {
|
||||
"target": "Package",
|
||||
"version": "[7.0.8, )"
|
||||
},
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL": {
|
||||
"target": "Package",
|
||||
"version": "[7.0.4, )"
|
||||
},
|
||||
"Swashbuckle.AspNetCore": {
|
||||
"target": "Package",
|
||||
"version": "[6.5.0, )"
|
||||
},
|
||||
"System.IdentityModel.Tokens.Jwt": {
|
||||
"target": "Package",
|
||||
"version": "[6.35.0, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"downloadDependencies": [
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App.Ref",
|
||||
"version": "[7.0.15, 7.0.15]"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App.Runtime.linux-x64",
|
||||
"version": "[7.0.15, 7.0.15]"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.NETCore.App.Host.linux-x64",
|
||||
"version": "[7.0.15, 7.0.15]"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.NETCore.App.Runtime.linux-x64",
|
||||
"version": "[7.0.15, 7.0.15]"
|
||||
}
|
||||
],
|
||||
"frameworkReferences": {
|
||||
"Microsoft.AspNetCore.App": {
|
||||
"privateAssets": "none"
|
||||
},
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/7.0.115/RuntimeIdentifierGraph.json"
|
||||
}
|
||||
},
|
||||
"runtimes": {
|
||||
"linux-x64": {
|
||||
"#import": []
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/william/.nuget/packages/</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/william/.nuget/packages/</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.4.2</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="/home/william/.nuget/packages/" />
|
||||
</ItemGroup>
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server/6.0.5/build/Microsoft.Extensions.ApiDescription.Server.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server/6.0.5/build/Microsoft.Extensions.ApiDescription.Server.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)swashbuckle.aspnetcore/6.5.0/build/Swashbuckle.AspNetCore.props" Condition="Exists('$(NuGetPackageRoot)swashbuckle.aspnetcore/6.5.0/build/Swashbuckle.AspNetCore.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore/7.0.9/buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore/7.0.9/buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.net.build.containers/7.0.400/build/Microsoft.NET.Build.Containers.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.build.containers/7.0.400/build/Microsoft.NET.Build.Containers.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design/7.0.9/build/net6.0/Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design/7.0.9/build/net6.0/Microsoft.EntityFrameworkCore.Design.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">/home/william/.nuget/packages/microsoft.extensions.apidescription.server/6.0.5</PkgMicrosoft_Extensions_ApiDescription_Server>
|
||||
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">/home/william/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
|
||||
<PkgMicrosoft_CodeAnalysis_AnalyzerUtilities Condition=" '$(PkgMicrosoft_CodeAnalysis_AnalyzerUtilities)' == '' ">/home/william/.nuget/packages/microsoft.codeanalysis.analyzerutilities/3.3.0</PkgMicrosoft_CodeAnalysis_AnalyzerUtilities>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)system.text.json/7.0.0/buildTransitive/net6.0/System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json/7.0.0/buildTransitive/net6.0/System.Text.Json.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server/6.0.5/build/Microsoft.Extensions.ApiDescription.Server.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server/6.0.5/build/Microsoft.Extensions.ApiDescription.Server.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions/7.0.0/buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions/7.0.0/buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.net.build.containers/7.0.400/build/Microsoft.NET.Build.Containers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.net.build.containers/7.0.400/build/Microsoft.NET.Build.Containers.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.spaproxy/7.0.13/build/Microsoft.AspNetCore.SpaProxy.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.spaproxy/7.0.13/build/Microsoft.AspNetCore.SpaProxy.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,4 +0,0 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")]
|
@ -1,22 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("AAIntegration.SimmonsBank.API")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("AAIntegration.SimmonsBank.API")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("AAIntegration.SimmonsBank.API")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
@ -1 +0,0 @@
|
||||
ccf0192c63cd8318a7ee7a5d81133f2750591ae8
|
@ -1,17 +0,0 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net7.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb = true
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = AAIntegration.SimmonsBank.API
|
||||
build_property.RootNamespace = AAIntegration.SimmonsBank.API
|
||||
build_property.ProjectDir = /home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/
|
||||
build_property.RazorLangVersion = 7.0
|
||||
build_property.SupportLocalizedComponentNames =
|
||||
build_property.GenerateRazorMetadataSourceChecksumAttributes =
|
||||
build_property.MSBuildProjectDirectory = /home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API
|
||||
build_property._RazorSourceGeneratorDebug =
|
@ -1,17 +0,0 @@
|
||||
// <auto-generated/>
|
||||
global using global::Microsoft.AspNetCore.Builder;
|
||||
global using global::Microsoft.AspNetCore.Hosting;
|
||||
global using global::Microsoft.AspNetCore.Http;
|
||||
global using global::Microsoft.AspNetCore.Routing;
|
||||
global using global::Microsoft.Extensions.Configuration;
|
||||
global using global::Microsoft.Extensions.DependencyInjection;
|
||||
global using global::Microsoft.Extensions.Hosting;
|
||||
global using global::Microsoft.Extensions.Logging;
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Net.Http.Json;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
@ -1,17 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Microsoft.AspNetCore.OpenApi")]
|
||||
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
bd7d70d00f668e0d8bf64847deff236ad4b0c3cc
|
@ -1,46 +0,0 @@
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/appsettings.Development.json
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/appsettings.json
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/AAIntegration.SimmonsBank.API
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/AAIntegration.SimmonsBank.API.deps.json
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/AAIntegration.SimmonsBank.API.runtimeconfig.json
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/AAIntegration.SimmonsBank.API.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/AAIntegration.SimmonsBank.API.pdb
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Humanizer.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.AspNetCore.OpenApi.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Abstractions.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Design.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Relational.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.Extensions.DependencyModel.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.IdentityModel.Abstractions.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.IdentityModel.Logging.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.IdentityModel.Tokens.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Microsoft.OpenApi.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Mono.TextTemplating.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Npgsql.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Swashbuckle.AspNetCore.Swagger.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/bin/Debug/net7.0/System.CodeDom.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.csproj.AssemblyReference.cache
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.GeneratedMSBuildEditorConfig.editorconfig
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.AssemblyInfoInputs.cache
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.AssemblyInfo.cs
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.csproj.CoreCompileInputs.cache
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.MvcApplicationPartsAssemblyInfo.cs
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.MvcApplicationPartsAssemblyInfo.cache
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/staticwebassets/msbuild.AAIntegration.SimmonsBank.API.Microsoft.AspNetCore.StaticWebAssets.props
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/staticwebassets/msbuild.build.AAIntegration.SimmonsBank.API.props
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/staticwebassets/msbuild.buildMultiTargeting.AAIntegration.SimmonsBank.API.props
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/staticwebassets/msbuild.buildTransitive.AAIntegration.SimmonsBank.API.props
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/staticwebassets.pack.json
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/staticwebassets.build.json
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/staticwebassets.development.json
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/scopedcss/bundle/AAIntegration.SimmonsBank.API.styles.css
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.csproj.CopyComplete
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/refint/AAIntegration.SimmonsBank.API.dll
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.pdb
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/AAIntegration.SimmonsBank.API.genruntimeconfig.cache
|
||||
/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/obj/Debug/net7.0/ref/AAIntegration.SimmonsBank.API.dll
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
73736abff76b35e69e45e19ba4a468a4281d3a6a
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@ -1,11 +0,0 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"Hash": "E7GbOSG6IO2M9jvlY+QNr8QU/kujs78xuuIJQtIbmH0=",
|
||||
"Source": "AAIntegration.SimmonsBank.API",
|
||||
"BasePath": "_content/AAIntegration.SimmonsBank.API",
|
||||
"Mode": "Default",
|
||||
"ManifestType": "Build",
|
||||
"ReferencedProjectsConfiguration": [],
|
||||
"DiscoveryPatterns": [],
|
||||
"Assets": []
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
<Project>
|
||||
<Import Project="Microsoft.AspNetCore.StaticWebAssets.props" />
|
||||
</Project>
|
@ -1,3 +0,0 @@
|
||||
<Project>
|
||||
<Import Project="../build/AAIntegration.SimmonsBank.API.props" />
|
||||
</Project>
|
@ -1,3 +0,0 @@
|
||||
<Project>
|
||||
<Import Project="../buildMultiTargeting/AAIntegration.SimmonsBank.API.props" />
|
||||
</Project>
|
File diff suppressed because it is too large
Load Diff
@ -1,276 +0,0 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "pU4IZjFuw6ck49MYsMS+1UuAOx/hMvpbrwRe+YEG/+yMX3k4+UAMntT6PNgrQmrU6kLvRLvNkyt8WlX1uYoEtw==",
|
||||
"success": true,
|
||||
"projectFilePath": "/home/william/Git/Integration-TransactionImporter-SimmonsBank/AAIntegration.SimmonsBank.API/AAIntegration.SimmonsBank.API.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"/home/william/.nuget/packages/automapper/12.0.1/automapper.12.0.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/automapper.extensions.microsoft.dependencyinjection/12.0.1/automapper.extensions.microsoft.dependencyinjection.12.0.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/bcrypt.net/0.1.0/bcrypt.net.0.1.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer/2.14.1/humanizer.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.af/2.14.1/humanizer.core.af.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.ar/2.14.1/humanizer.core.ar.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.az/2.14.1/humanizer.core.az.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.bg/2.14.1/humanizer.core.bg.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.bn-bd/2.14.1/humanizer.core.bn-bd.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.cs/2.14.1/humanizer.core.cs.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.da/2.14.1/humanizer.core.da.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.de/2.14.1/humanizer.core.de.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.el/2.14.1/humanizer.core.el.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.es/2.14.1/humanizer.core.es.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.fa/2.14.1/humanizer.core.fa.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.fi-fi/2.14.1/humanizer.core.fi-fi.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.fr/2.14.1/humanizer.core.fr.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.fr-be/2.14.1/humanizer.core.fr-be.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.he/2.14.1/humanizer.core.he.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.hr/2.14.1/humanizer.core.hr.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.hu/2.14.1/humanizer.core.hu.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.hy/2.14.1/humanizer.core.hy.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.id/2.14.1/humanizer.core.id.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.is/2.14.1/humanizer.core.is.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.it/2.14.1/humanizer.core.it.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.ja/2.14.1/humanizer.core.ja.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.ko-kr/2.14.1/humanizer.core.ko-kr.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.ku/2.14.1/humanizer.core.ku.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.lv/2.14.1/humanizer.core.lv.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.ms-my/2.14.1/humanizer.core.ms-my.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.mt/2.14.1/humanizer.core.mt.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.nb/2.14.1/humanizer.core.nb.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.nb-no/2.14.1/humanizer.core.nb-no.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.nl/2.14.1/humanizer.core.nl.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.pl/2.14.1/humanizer.core.pl.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.pt/2.14.1/humanizer.core.pt.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.ro/2.14.1/humanizer.core.ro.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.ru/2.14.1/humanizer.core.ru.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.sk/2.14.1/humanizer.core.sk.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.sl/2.14.1/humanizer.core.sl.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.sr/2.14.1/humanizer.core.sr.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.sr-latn/2.14.1/humanizer.core.sr-latn.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.sv/2.14.1/humanizer.core.sv.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.th-th/2.14.1/humanizer.core.th-th.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.tr/2.14.1/humanizer.core.tr.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.uk/2.14.1/humanizer.core.uk.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.uz-cyrl-uz/2.14.1/humanizer.core.uz-cyrl-uz.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.uz-latn-uz/2.14.1/humanizer.core.uz-latn-uz.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.vi/2.14.1/humanizer.core.vi.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.zh-cn/2.14.1/humanizer.core.zh-cn.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.zh-hans/2.14.1/humanizer.core.zh-hans.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/humanizer.core.zh-hant/2.14.1/humanizer.core.zh-hant.2.14.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.aspnetcore.authentication.jwtbearer/7.0.16/microsoft.aspnetcore.authentication.jwtbearer.7.0.16.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.aspnetcore.razor.language/6.0.11/microsoft.aspnetcore.razor.language.6.0.11.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.aspnetcore.spaproxy/7.0.13/microsoft.aspnetcore.spaproxy.7.0.13.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.bcl.asyncinterfaces/6.0.0/microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.build/17.3.2/microsoft.build.17.3.2.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.build.framework/17.3.2/microsoft.build.framework.17.3.2.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.3/microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.analyzerutilities/3.3.0/microsoft.codeanalysis.analyzerutilities.3.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.common/4.4.0/microsoft.codeanalysis.common.4.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.csharp/4.4.0/microsoft.codeanalysis.csharp.4.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.csharp.features/4.4.0/microsoft.codeanalysis.csharp.features.4.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.csharp.workspaces/4.4.0/microsoft.codeanalysis.csharp.workspaces.4.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.elfie/1.0.0/microsoft.codeanalysis.elfie.1.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.features/4.4.0/microsoft.codeanalysis.features.4.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.razor/6.0.11/microsoft.codeanalysis.razor.6.0.11.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.scripting.common/4.4.0/microsoft.codeanalysis.scripting.common.4.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.codeanalysis.workspaces.common/4.4.0/microsoft.codeanalysis.workspaces.common.4.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.diasymreader/1.4.0/microsoft.diasymreader.1.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.dotnet.scaffolding.shared/7.0.8/microsoft.dotnet.scaffolding.shared.7.0.8.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.entityframeworkcore/7.0.9/microsoft.entityframeworkcore.7.0.9.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.entityframeworkcore.abstractions/7.0.9/microsoft.entityframeworkcore.abstractions.7.0.9.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.entityframeworkcore.analyzers/7.0.9/microsoft.entityframeworkcore.analyzers.7.0.9.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.entityframeworkcore.design/7.0.9/microsoft.entityframeworkcore.design.7.0.9.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.entityframeworkcore.relational/7.0.9/microsoft.entityframeworkcore.relational.7.0.9.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.apidescription.server/6.0.5/microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.caching.abstractions/7.0.0/microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.caching.memory/7.0.0/microsoft.extensions.caching.memory.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.configuration.abstractions/7.0.0/microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.dependencyinjection/7.0.0/microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/7.0.0/microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.dependencymodel/7.0.0/microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.logging/7.0.0/microsoft.extensions.logging.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.logging.abstractions/7.0.0/microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.options/7.0.0/microsoft.extensions.options.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.extensions.primitives/7.0.0/microsoft.extensions.primitives.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.identitymodel.abstractions/6.35.0/microsoft.identitymodel.abstractions.6.35.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.identitymodel.jsonwebtokens/6.35.0/microsoft.identitymodel.jsonwebtokens.6.35.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.identitymodel.logging/6.35.0/microsoft.identitymodel.logging.6.35.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.identitymodel.protocols/6.35.0/microsoft.identitymodel.protocols.6.35.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.identitymodel.protocols.openidconnect/6.35.0/microsoft.identitymodel.protocols.openidconnect.6.35.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.identitymodel.tokens/6.35.0/microsoft.identitymodel.tokens.6.35.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.net.build.containers/7.0.400/microsoft.net.build.containers.7.0.400.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.net.stringtools/17.3.2/microsoft.net.stringtools.17.3.2.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.openapi/1.2.3/microsoft.openapi.1.2.3.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.visualstudio.web.codegeneration/7.0.8/microsoft.visualstudio.web.codegeneration.7.0.8.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.visualstudio.web.codegeneration.core/7.0.8/microsoft.visualstudio.web.codegeneration.core.7.0.8.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.visualstudio.web.codegeneration.design/7.0.8/microsoft.visualstudio.web.codegeneration.design.7.0.8.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.visualstudio.web.codegeneration.entityframeworkcore/7.0.8/microsoft.visualstudio.web.codegeneration.entityframeworkcore.7.0.8.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.visualstudio.web.codegeneration.templating/7.0.8/microsoft.visualstudio.web.codegeneration.templating.7.0.8.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.visualstudio.web.codegeneration.utils/7.0.8/microsoft.visualstudio.web.codegeneration.utils.7.0.8.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.visualstudio.web.codegenerators.mvc/7.0.8/microsoft.visualstudio.web.codegenerators.mvc.7.0.8.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.win32.systemevents/6.0.0/microsoft.win32.systemevents.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/mono.texttemplating/2.2.1/mono.texttemplating.2.2.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/npgsql/7.0.4/npgsql.7.0.4.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/npgsql.entityframeworkcore.postgresql/7.0.4/npgsql.entityframeworkcore.postgresql.7.0.4.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.common/6.3.1/nuget.common.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.configuration/6.3.1/nuget.configuration.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.dependencyresolver.core/6.3.1/nuget.dependencyresolver.core.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.frameworks/6.3.1/nuget.frameworks.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.librarymodel/6.3.1/nuget.librarymodel.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.packaging/6.3.1/nuget.packaging.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.projectmodel/6.3.1/nuget.projectmodel.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.protocol/6.3.1/nuget.protocol.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/nuget.versioning/6.3.1/nuget.versioning.6.3.1.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.diagnostics.tools/4.3.0/runtime.any.system.diagnostics.tools.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.diagnostics.tracing/4.3.0/runtime.any.system.diagnostics.tracing.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.globalization/4.3.0/runtime.any.system.globalization.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.globalization.calendars/4.3.0/runtime.any.system.globalization.calendars.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.io/4.3.0/runtime.any.system.io.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.reflection/4.3.0/runtime.any.system.reflection.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.reflection.extensions/4.3.0/runtime.any.system.reflection.extensions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.reflection.primitives/4.3.0/runtime.any.system.reflection.primitives.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.resources.resourcemanager/4.3.0/runtime.any.system.resources.resourcemanager.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.runtime/4.3.0/runtime.any.system.runtime.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.runtime.handles/4.3.0/runtime.any.system.runtime.handles.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.runtime.interopservices/4.3.0/runtime.any.system.runtime.interopservices.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.text.encoding/4.3.0/runtime.any.system.text.encoding.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.text.encoding.extensions/4.3.0/runtime.any.system.text.encoding.extensions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.threading.tasks/4.3.0/runtime.any.system.threading.tasks.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.any.system.threading.timer/4.3.0/runtime.any.system.threading.timer.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.native.system.net.http/4.3.0/runtime.native.system.net.http.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.native.system.security.cryptography.apple/4.3.0/runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.unix.microsoft.win32.primitives/4.3.0/runtime.unix.microsoft.win32.primitives.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.unix.system.console/4.3.0/runtime.unix.system.console.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.unix.system.diagnostics.debug/4.3.0/runtime.unix.system.diagnostics.debug.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.unix.system.io.filesystem/4.3.0/runtime.unix.system.io.filesystem.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.unix.system.net.primitives/4.3.0/runtime.unix.system.net.primitives.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.unix.system.net.sockets/4.3.0/runtime.unix.system.net.sockets.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.unix.system.private.uri/4.3.0/runtime.unix.system.private.uri.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/runtime.unix.system.runtime.extensions/4.3.0/runtime.unix.system.runtime.extensions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/swashbuckle.aspnetcore/6.5.0/swashbuckle.aspnetcore.6.5.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/swashbuckle.aspnetcore.swagger/6.5.0/swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/swashbuckle.aspnetcore.swaggergen/6.5.0/swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/swashbuckle.aspnetcore.swaggerui/6.5.0/swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.buffers/4.3.0/system.buffers.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.codedom/4.4.0/system.codedom.4.4.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.collections/4.3.0/system.collections.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.collections.immutable/6.0.0/system.collections.immutable.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.composition/6.0.0/system.composition.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.composition.attributedmodel/6.0.0/system.composition.attributedmodel.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.composition.convention/6.0.0/system.composition.convention.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.composition.hosting/6.0.0/system.composition.hosting.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.composition.runtime/6.0.0/system.composition.runtime.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.composition.typedparts/6.0.0/system.composition.typedparts.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.configuration.configurationmanager/6.0.0/system.configuration.configurationmanager.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.console/4.3.0/system.console.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.data.datasetextensions/4.5.0/system.data.datasetextensions.4.5.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.drawing.common/6.0.0/system.drawing.common.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.formats.asn1/5.0.0/system.formats.asn1.5.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.globalization/4.3.0/system.globalization.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.globalization.extensions/4.3.0/system.globalization.extensions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.identitymodel.tokens.jwt/6.35.0/system.identitymodel.tokens.jwt.6.35.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.io/4.3.0/system.io.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.io.pipelines/6.0.3/system.io.pipelines.6.0.3.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.linq/4.3.0/system.linq.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.memory/4.5.5/system.memory.4.5.5.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.net.http/4.3.0/system.net.http.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.net.nameresolution/4.3.0/system.net.nameresolution.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.private.uri/4.3.0/system.private.uri.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection/4.3.0/system.reflection.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection.emit.ilgeneration/4.3.0/system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection.emit.lightweight/4.3.0/system.reflection.emit.lightweight.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection.metadata/6.0.0/system.reflection.metadata.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection.metadataloadcontext/6.0.0/system.reflection.metadataloadcontext.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.reflection.typeextensions/4.3.0/system.reflection.typeextensions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.runtime/4.3.0/system.runtime.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.accesscontrol/6.0.0/system.security.accesscontrol.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.cng/5.0.0/system.security.cryptography.cng.5.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.csp/4.3.0/system.security.cryptography.csp.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.openssl/4.3.0/system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.pkcs/5.0.0/system.security.cryptography.pkcs.5.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.protecteddata/6.0.0/system.security.cryptography.protecteddata.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.permissions/6.0.0/system.security.permissions.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.security.principal.windows/5.0.0/system.security.principal.windows.5.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.text.encoding.codepages/6.0.0/system.text.encoding.codepages.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.text.encodings.web/7.0.0/system.text.encodings.web.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.text.json/7.0.0/system.text.json.7.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.threading/4.3.0/system.threading.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.threading.tasks.dataflow/6.0.0/system.threading.tasks.dataflow.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.threading.tasks.extensions/4.5.4/system.threading.tasks.extensions.4.5.4.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.threading.threadpool/4.3.0/system.threading.threadpool.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.windows.extensions/6.0.0/system.windows.extensions.6.0.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.netcore.app.runtime.linux-x64/7.0.15/microsoft.netcore.app.runtime.linux-x64.7.0.15.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.aspnetcore.app.ref/7.0.15/microsoft.aspnetcore.app.ref.7.0.15.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.aspnetcore.app.runtime.linux-x64/7.0.15/microsoft.aspnetcore.app.runtime.linux-x64.7.0.15.nupkg.sha512",
|
||||
"/home/william/.nuget/packages/microsoft.netcore.app.host.linux-x64/7.0.15/microsoft.netcore.app.host.linux-x64.7.0.15.nupkg.sha512"
|
||||
],
|
||||
"logs": [
|
||||
{
|
||||
"code": "NU1701",
|
||||
"level": "Warning",
|
||||
"warningLevel": 1,
|
||||
"message": "Package 'BCrypt.Net 0.1.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net7.0'. This package may not be fully compatible with your project.",
|
||||
"libraryId": "BCrypt.Net",
|
||||
"targetGraphs": [
|
||||
"net7.0"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31903.59
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AAIntegration.SimmonsBank.API", "AAIntegration.SimmonsBank.API\AAIntegration.SimmonsBank.API.csproj", "{AF30E449-64AA-43BA-B03C-72CD27F76AE4}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{AF30E449-64AA-43BA-B03C-72CD27F76AE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AF30E449-64AA-43BA-B03C-72CD27F76AE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AF30E449-64AA-43BA-B03C-72CD27F76AE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AF30E449-64AA-43BA-B03C-72CD27F76AE4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
4
Clean.sh
4
Clean.sh
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
rm -r AAIntegration.SimmonsBank.API/bin
|
||||
rm -r AAIntegration.SimmonsBank.API/obj
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user