Skip to content

Commit 9e4387f

Browse files
authored
feat(plugins): Add American Express (NL) plugin (#38)
* feat(plugin): Add Amex * Consolidate packages * fix: assembly name and InnoSetup
1 parent 9dc26d7 commit 9e4387f

File tree

17 files changed

+118
-10
lines changed

17 files changed

+118
-10
lines changed

TransactionQL.sln

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TransactionQL.DesktopApp.Te
4242
EndProject
4343
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "TransactionQL.Build", "src\TransactionQL.Build\TransactionQL.Build.fsproj", "{4EE573F5-E881-430C-80AA-A71DEF20161D}"
4444
EndProject
45+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "TransactionQL.Plugins.Amex", "src\TransactionQL.Plugins.Amex\TransactionQL.Plugins.Amex.fsproj", "{11ACCFD8-1CF6-4F56-B822-A661A289774C}"
46+
EndProject
4547
Global
4648
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4749
Debug|Any CPU = Debug|Any CPU
@@ -100,6 +102,10 @@ Global
100102
{4EE573F5-E881-430C-80AA-A71DEF20161D}.Debug|Any CPU.Build.0 = Debug|Any CPU
101103
{4EE573F5-E881-430C-80AA-A71DEF20161D}.Release|Any CPU.ActiveCfg = Release|Any CPU
102104
{4EE573F5-E881-430C-80AA-A71DEF20161D}.Release|Any CPU.Build.0 = Release|Any CPU
105+
{11ACCFD8-1CF6-4F56-B822-A661A289774C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
106+
{11ACCFD8-1CF6-4F56-B822-A661A289774C}.Debug|Any CPU.Build.0 = Debug|Any CPU
107+
{11ACCFD8-1CF6-4F56-B822-A661A289774C}.Release|Any CPU.ActiveCfg = Release|Any CPU
108+
{11ACCFD8-1CF6-4F56-B822-A661A289774C}.Release|Any CPU.Build.0 = Release|Any CPU
103109
EndGlobalSection
104110
GlobalSection(SolutionProperties) = preSolution
105111
HideSolutionNode = FALSE
@@ -108,6 +114,7 @@ Global
108114
{EA0A782C-D5BF-4DA6-9710-25FDE5123B79} = {B645AC52-7FA5-47ED-8162-E39B705813C6}
109115
{32027311-05E4-465B-9F5A-F5C59768B99A} = {B645AC52-7FA5-47ED-8162-E39B705813C6}
110116
{F6F92978-83BF-4DB9-B513-2B8ABD22AC5F} = {B645AC52-7FA5-47ED-8162-E39B705813C6}
117+
{11ACCFD8-1CF6-4F56-B822-A661A289774C} = {B645AC52-7FA5-47ED-8162-E39B705813C6}
111118
EndGlobalSection
112119
GlobalSection(ExtensibilityGlobals) = postSolution
113120
SolutionGuid = {55AA355A-8CC6-47CA-BEAB-C07FDEFB4BAB}

src/TransactionQL.Build/build.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ let initTargets () =
119119
Directory.create (stagingDirectory </> "plugins")
120120
Directory.create (stagingDirectory </> "desktop")
121121

122-
let plugins = ["ASN"; "Bunq"; "ING"]
122+
let plugins = ["ASN"; "Bunq"; "ING"; "Amex"]
123123
let src = plugins |> List.map (fun p -> buildDirectory </> "plugins" </> $"TransactionQL.Plugins.{p}.dll")
124124
let dst = plugins |> List.map (fun p -> stagingDirectory </> "plugins" </> $"{String.toLower p}.dll")
125125

src/TransactionQL.Build/tql.iss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,15 @@ Name: "Plugins"; Description: "Transaction Parsers"; Ty
5555
Name: "Plugins\ASN"; Description: "ASN"; Types: full cli-only custom; Flags: checkablealone
5656
Name: "Plugins\Bunq"; Description: "Bunq"; Types: full cli-only custom; Flags: checkablealone
5757
Name: "Plugins\ING"; Description: "ING"; Types: full cli-only custom; Flags: checkablealone
58+
Name: "Plugins\Amex"; Description: "American Express"; Types: full cli-only custom; Flags: checkablealone
5859

5960
[Files]
6061
Source: "{#Staging}\desktop\*"; Components: GUI; DestDir: "{app}\app"; Flags: ignoreversion recursesubdirs createallsubdirs
6162
Source: "{#Staging}\tql.exe"; Components: CLI; DestDir: "{app}"; DestName: "tql.exe"; Flags: ignoreversion
6263
Source: "{#Staging}\plugins\asn.dll"; Components: Plugins\ASN; DestDir: "{app}\plugins"; DestName: "asn.dll"; Flags: ignoreversion
6364
Source: "{#Staging}\plugins\bunq.dll"; Components: Plugins\Bunq; DestDir: "{app}\plugins"; DestName: "bunq.dll"; Flags: ignoreversion
6465
Source: "{#Staging}\plugins\ing.dll"; Components: Plugins\ING; DestDir: "{app}\plugins"; DestName: "ing.dll"; Flags: ignoreversion
66+
Source: "{#Staging}\plugins\amex.dll"; Components: Plugins\Amex; DestDir: "{app}\plugins"; DestName: "amex.dll"; Flags: ignoreversion
6567
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
6668

6769
[Icons]

src/TransactionQL.Console.Tests/TransactionQL.Console.Tests.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
</ItemGroup>
3131

3232
<ItemGroup>
33-
<PackageReference Update="FSharp.Core" Version="8.0.400" />
33+
<PackageReference Update="FSharp.Core" Version="9.0.100" />
3434
</ItemGroup>
3535

3636
</Project>

src/TransactionQL.DesktopApp.Tests/Services/DataLoaderTests.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using TransactionQL.DesktopApp.Models;
44
using TransactionQL.DesktopApp.Services;
55
using TransactionQL.Parser;
6+
using TransactionQL.Shared.Disposables;
67
using static TransactionQL.Input.Converters;
78
using static TransactionQL.Shared.Types;
89

@@ -83,7 +84,7 @@ public void ReturnsError_OfCreatingReader()
8384
[Fact]
8485
public void ParsesFilteredTransactions()
8586
{
86-
CultureInfo.CurrentCulture = new CultureInfo("en-us");
87+
using var _ = Disposables.changeCulture("en-us");
8788
var transactions = """
8889
13-02-2025,NL12ASNB13243546,NL98BANK75645342,AH,,,,EUR,50.00,EUR,-10.00,,,,,,,,
8990
14-02-2025,NL12ASNB13243546,NL98BANK75645342,AH,,,,EUR,40.00,EUR,-15.00,,,,,,,,
@@ -158,7 +159,7 @@ public void ParsesFilteredTransactions()
158159
[Fact]
159160
public void ParsesUnfilteredTransactions()
160161
{
161-
CultureInfo.CurrentCulture = new CultureInfo("en-us");
162+
using var _ = Disposables.changeCulture("en-us");
162163
var transactions = """
163164
13-02-2025,NL12ASNB13243546,NL98BANK75645342,AH,,,,EUR,50.00,EUR,-10.00,,,,,,,,
164165
14-02-2025,NL12ASNB13243546,NL98BANK75645342,AH,,,,EUR,40.00,EUR,-15.00,,,,,,,,
@@ -215,7 +216,7 @@ public void ParsesUnfilteredTransactions()
215216
[Fact]
216217
public void ParsesMixedTransactions()
217218
{
218-
CultureInfo.CurrentCulture = new CultureInfo("en-us");
219+
using var _ = Disposables.changeCulture("en-us");
219220
var transactions = """
220221
13-02-2025,NL12ASNB13243546,NL98BANK75645342,AH,,,,EUR,50.00,EUR,-10.00,,,,,,,,
221222
14-02-2025,NL12ASNB13243546,NL98BANK75645342,Jumbo,,,,EUR,40.00,EUR,-15.00,,,,,,,,

src/TransactionQL.DesktopApp.Tests/TransactionQL.DesktopApp.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<ItemGroup>
1313
<PackageReference Include="Avalonia.Headless.XUnit" Version="11.2.3" />
1414
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.3" />
15+
<PackageReference Include="FSharp.Core" Version="9.0.100" />
1516
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
1617
<PackageReference Include="Moq" Version="4.20.72" />
1718
<PackageReference Include="xunit" Version="2.9.2" />

src/TransactionQL.DesktopApp/App.axaml.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using TransactionQL.DesktopApp.Application;
1212
using TransactionQL.DesktopApp.ViewModels;
1313
using TransactionQL.DesktopApp.Views;
14+
using TransactionQL.Shared.Disposables;
1415

1516
namespace TransactionQL.DesktopApp;
1617

src/TransactionQL.DesktopApp/TransactionQL.DesktopApp.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
3434
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.2.3" />
3535
<PackageReference Include="Avalonia.ReactiveUI" Version="11.2.3" />
36+
<PackageReference Include="FSharp.Core" Version="9.0.100" />
3637
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
3738
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
3839
<PackageReference Include="Projektanker.Icons.Avalonia" Version="9.6.0" />

src/TransactionQL.Parser.Tests/TransactionQL.Parser.Tests.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
</ItemGroup>
3131

3232
<ItemGroup>
33-
<PackageReference Update="FSharp.Core" Version="8.0.400" />
33+
<PackageReference Update="FSharp.Core" Version="9.0.100" />
3434
</ItemGroup>
3535

3636
</Project>

src/TransactionQL.Plugins.ASN/TransactionQL.Plugins.ASN.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
</ItemGroup>
1717

1818
<ItemGroup>
19-
<PackageReference Update="FSharp.Core" Version="8.0.400" />
19+
<PackageReference Update="FSharp.Core" Version="9.0.100" />
2020
</ItemGroup>
2121

2222
</Project>

0 commit comments

Comments
 (0)