Commit Graph

31 Commits

Author SHA1 Message Date
David Ward 1f657a5d18 Add missing handling for `-dryrun` flag in command-line client
This flag was only handled for the `download-profile` command. Add
the same handling for all other commands (except `detect-settings`).
2023-02-05 19:52:02 -05:00
Aaron Lindsay e1a72fcd54 Replace github.com/howeyc/gopass with golang.org/x/term
gopass is no longer maintained, and the suggested replacement for
getting passwords from terminals is x/term.
2021-10-17 21:20:04 -04:00
mhabb 67fa945cc8
cmd/ofx: check for nil Currency fields in transactions 2021-10-17 15:49:08 -04:00
Aaron Lindsay e76c697cad cmd/ofx: Allow setting User-Agent header from command-line 2021-03-16 15:36:27 -04:00
Aaron Lindsay 56ca46714b cmd/ofx: Add -dryrun 2020-12-07 13:49:35 -05:00
Aaron Lindsay 4c7c48cab7 cmd/ofx: Use 'response.ofx' as the default download file everywhere
Conflicting defaults led to confusing default behavior between
sub-commands.
2020-12-07 13:49:35 -05:00
Aaron Lindsay 8c1e6eafab cmd/ofx: Add download-profile command 2020-11-25 14:42:25 -05:00
Aaron Lindsay 6807c93e0e cmd/ofx: Add option to use carriage returns for requests 2020-11-17 10:33:48 -05:00
Aaron Lindsay 77b154695f detect_settings: Add newer APPVER's for 'QWIN' APPID 2018-10-04 06:50:38 -04:00
Aaron Lindsay d8491bed1d Make Client an interface instead of a struct
This makes it easier to maintain per-institution hacks that start
interacting with each other if you try to do them all in the same client
code. This commit also breaks out the existing Vanguard hack into its
own Client implementation.
2018-10-03 10:18:54 -04:00
Aaron Lindsay 94a77ac754 Add BasicClient, update Client to be interface
This paves the way for more easily implementing different clients for
different financial institutions
2018-10-02 20:55:25 -04:00
Aaron Lindsay 4cb0eb4f85 Clarify use of Currency vs. OrigCurrency 2017-04-19 21:31:45 -04:00
Aaron Lindsay 8712be5a9d Bank Transactions: Use Currency structs, not CurrSymbol directly 2017-04-18 20:17:44 -04:00
Aaron Lindsay 2046fa32e5 Use CurrSymbol instead of String to represent currencies 2017-04-17 20:20:22 -04:00
Aaron Lindsay 0eba6741f2 Make the OFX spec version an 'enum' 2017-04-17 10:54:20 -04:00
Aaron Lindsay 94f49640b4 cmd/ofx: `golint` 2017-04-16 20:50:06 -04:00
Aaron Lindsay cc90da4ed1 s/Id/ID/ 2017-04-12 21:40:42 -04:00
Aaron Lindsay d433a18df4 gofmt -s 2017-04-08 11:38:07 -04:00
Aaron Lindsay 4521bb377a Use named constants instead of strings for enum-like OFX fields
This adds a python script to generate constants.go when `go generate` is
called, and updates the structs, tests, and command-line client to all
use the new named constants.
2017-04-06 09:06:41 -04:00
Aaron Lindsay 1560f44a3c Switch Date to contain time.Time instead of being a typedef 2017-04-04 19:50:41 -04:00
Aaron Lindsay 7f5ef5751d Switch Amount to contain big.Rat instead of being a typedef 2017-04-03 21:15:08 -04:00
Aaron Lindsay 42864dace3 Rename Response/Request Profile -> Prof
This is more in line with the rest, which match their OFX message set
names except for capitalization.
2017-04-03 19:50:16 -04:00
Aaron Lindsay f185d78d29 Generalize response parsing code
This removes the many decodeXXXMessageSet() functions and replaces them
with a large map and a single generic decodeMessageSet() function. Also
change Responses to satisfy the Message interface as pointer types
(instead of the raw types), add the full set of top-level message sets
(though most of them still lack any message-parsing ability), adjust the
message set names to more closely mirror their OFX names, and fixup
tests and the command-line client to match the above changes.
2017-03-31 11:54:43 -04:00
Aaron Lindsay c1777df3df Standardize transaction wrapper fields 2017-03-30 10:24:26 -04:00
Aaron Lindsay 1d8ba5c19a Make optional struct fields pointers
This allows encoding/xml to properly comparison against nil to see if
they should be marshalled if the 'xml' tag contains ",omitempty" and for
users to test against nil to see if a field was present in the parsed
OFX.

This commit also fixes up cmd/ofx to use the new pointers.
2017-03-29 09:22:02 -04:00
Aaron Lindsay 3091a97b2c cmd/ofx: go vet 2017-03-28 19:47:17 -04:00
Aaron Lindsay f51af6dd44 cmd/ofx: Play nice with Fidelity
Fidelity (Netbenefits at least) returns an error of DTEND is the current
day, so request 'yesterday' by default.
2017-03-28 19:42:16 -04:00
Aaron Lindsay 896bd55327 Add status code meanings to status code error messages 2017-03-25 06:14:52 -04:00
Aaron Lindsay c4e1de3677 Only download transactions for the last year
Some FIs don't return *any* transactions if you ask them for *all* of
them since the beginning of (UNIX) time...
2017-03-23 20:55:31 -04:00
Aaron Lindsay f511c6ca75 Add automated setting detection command 2017-03-23 08:43:34 -04:00
Aaron Lindsay 8d8ee0016d Add command-line client 2017-03-22 20:29:08 -04:00