Aaron Lindsay
62f0ae600b
Add a few missing profile fields
2017-04-01 21:29:27 -04:00
Aaron Lindsay
9ede56e2c4
Add investment statement tests
2017-04-01 21:17:32 -04:00
Aaron Lindsay
d7b265b995
Add open orders to investment statment responses
2017-04-01 11:05:40 -04:00
Aaron Lindsay
1cbd433116
request_test: Point out first difference in marshalled string
2017-03-31 20:16:44 -04:00
Aaron Lindsay
3fa614b649
Add tests for credit card requests and responses
...
Including one for OFX version 102
2017-03-31 16:22:33 -04:00
Aaron Lindsay
6618e031a7
Response: Use SignonRs.String() instead of a raw string
2017-03-31 15:30:10 -04:00
Aaron Lindsay
d07455d797
Improve some request/response documentation
2017-03-31 15:29:57 -04:00
Aaron Lindsay
e755650521
Rename files to more closely correspond to their message set tags
2017-03-31 15:05:59 -04:00
Aaron Lindsay
0d04085c7a
Status: s/WARNING/WARN/ to comply with the spec
2017-03-31 14:53:56 -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
d822179446
Add Type() to Message interface, check types when marshalling requests
2017-03-31 09:25:07 -04:00
Aaron Lindsay
85684883c6
Add tests for signup requests and responses
2017-03-31 05:18:31 -04:00
Aaron Lindsay
c1777df3df
Standardize transaction wrapper fields
2017-03-30 10:24:26 -04:00
Aaron Lindsay
6efd3ae921
Add test for banking responses
...
This also adds a generic response equality testing framework, a missing
Status field to all current responses, and Equal() methods to all basic
types.
2017-03-30 07:08:34 -04:00
Aaron Lindsay
6d6ee3ea1b
Add basic test for marshalling bank statement request
...
Also add marshalCheckRequest(), a helper function which prints the first
differences found between the two strings to aid in debugging test
failures.
2017-03-29 09:35:53 -04:00
Aaron Lindsay
5596cfbf8d
Don't require UIDs to be 36 characters
...
The spec strongly recommends this, but doesn't strictly require it
2017-03-29 09:23:15 -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
119c01f99b
Make setting request fields from Client a Request method
...
This also makes it possible to call this method for testing without
making an HTTP request.
2017-03-29 08:56:35 -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
0dc6f0ba8a
go vet
2017-03-27 20:14:55 -04:00
Aaron Lindsay
31f33b66d7
go fmt
2017-03-27 20:14:18 -04:00
Aaron Lindsay
2f56698a0b
Add 401K information to INVSTMTTRNRS
2017-03-27 20:13:32 -04:00
Aaron Lindsay
dfa5a4b6f5
Improve documentation
2017-03-26 21:02:20 -04:00
Aaron Lindsay
f3b5eb5b31
Add 'WARNING' as possible STATUS SEVERITY
2017-03-26 20:09:37 -04:00
Aaron Lindsay
27a88ca703
Make Decode*MessageSet functions private to the library
...
These don't need to be exposed and clutter the auto-generated
documentation
2017-03-25 06:23:30 -04:00
Aaron Lindsay
896bd55327
Add status code meanings to status code error messages
2017-03-25 06:14:52 -04:00
Aaron Lindsay
3c56e60a85
Add status code validation and meaning
2017-03-24 05:45:02 -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
ab79afa8ae
Create initial README
2017-03-23 05:48:01 -04:00
Aaron Lindsay
f2cea7c6d4
Switch to own clone of xml encoding library
2017-03-22 20:59:40 -04:00
Aaron Lindsay
8d8ee0016d
Add command-line client
2017-03-22 20:29:08 -04:00
Aaron Lindsay
6491311dbc
Move credit cards to the right message set
...
They don't belong in with the banking message set like they were, even
though they're in the same section in the spec...
2017-03-22 20:01:30 -04:00
Aaron Lindsay
753249c16e
client: Add RequestNoParse()
2017-03-22 19:56:59 -04:00
Aaron Lindsay
45e183072d
Add investment transactions
2017-03-21 11:20:24 -04:00
Aaron Lindsay
4cfa85fe32
Add parsing position list
2017-03-20 21:09:08 -04:00
Aaron Lindsay
a0e2c146e4
Add requesting/parsing security list
2017-03-20 21:07:58 -04:00
Aaron Lindsay
f59f3713c2
Add simple investment requests/responses
...
This is lacking (at least) parsing the list of securities frequently
sent with investment statements
2017-03-19 21:08:58 -04:00
Aaron Lindsay
81814feaff
types: Be more lenient on Date, Int, and Amount parsing
...
Some of these types can have stray newlines in them, and Vanguard has a
very strange bug where they repeat the time portion of a DTSTART element
for a second time (we disregard the latter portion).
2017-03-19 20:46:01 -04:00
Aaron Lindsay
bd10b644a9
Improve comments
2017-03-17 21:36:20 -04:00
Aaron Lindsay
76aeca66c8
Banking: Add credit card statements, image data, and pending transactions
2017-03-17 21:35:42 -04:00
Aaron Lindsay
8158868432
Reorganization
2017-03-17 21:35:26 -04:00
Aaron Lindsay
add6036729
Move client to own file
2017-03-16 19:31:26 -04:00
Aaron Lindsay
073387b65b
Improve comments
2017-03-16 11:20:20 -04:00
Aaron Lindsay
f0b67bad85
Make marshalMessageSet() not a pointer receiver for Request
...
It doesn't even use the object
2017-03-16 11:13:52 -04:00
Aaron Lindsay
49cf745a20
Add Client, split from Request
2017-03-16 11:13:21 -04:00
Aaron Lindsay
aeba01bf0f
Guess version from header format
2017-03-15 21:00:49 -04:00
Aaron Lindsay
cd1e7b480a
Add the ability to download Bank Transactions
2017-03-14 10:31:14 -04:00
Aaron Lindsay
59c8bce519
Make an empty CharsetReader
...
This gets around weird errors when the <?xml processing instruction has
things like utf-16 in it. This should maybe be fixed another way later.
2017-03-13 21:10:43 -04:00