1
0
mirror of https://github.com/aclindsa/ofxgo.git synced 2024-11-15 01:20:05 -05:00
Commit Graph

147 Commits

Author SHA1 Message Date
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
d822179446 Add Type() to Message interface, check types when marshalling requests 2017-03-31 09:25:07 -04:00
85684883c6 Add tests for signup requests and responses 2017-03-31 05:18:31 -04:00
c1777df3df Standardize transaction wrapper fields 2017-03-30 10:24:26 -04:00
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
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
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
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
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
3091a97b2c cmd/ofx: go vet 2017-03-28 19:47:17 -04:00
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
0dc6f0ba8a go vet 2017-03-27 20:14:55 -04:00
31f33b66d7 go fmt 2017-03-27 20:14:18 -04:00
2f56698a0b Add 401K information to INVSTMTTRNRS 2017-03-27 20:13:32 -04:00
dfa5a4b6f5 Improve documentation 2017-03-26 21:02:20 -04:00
f3b5eb5b31 Add 'WARNING' as possible STATUS SEVERITY 2017-03-26 20:09:37 -04:00
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
896bd55327 Add status code meanings to status code error messages 2017-03-25 06:14:52 -04:00
3c56e60a85 Add status code validation and meaning 2017-03-24 05:45:02 -04:00
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
f511c6ca75 Add automated setting detection command 2017-03-23 08:43:34 -04:00
ab79afa8ae Create initial README 2017-03-23 05:48:01 -04:00
f2cea7c6d4 Switch to own clone of xml encoding library 2017-03-22 20:59:40 -04:00
8d8ee0016d Add command-line client 2017-03-22 20:29:08 -04:00
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
753249c16e client: Add RequestNoParse() 2017-03-22 19:56:59 -04:00
45e183072d Add investment transactions 2017-03-21 11:20:24 -04:00
4cfa85fe32 Add parsing position list 2017-03-20 21:09:08 -04:00
a0e2c146e4 Add requesting/parsing security list 2017-03-20 21:07:58 -04:00
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
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
bd10b644a9 Improve comments 2017-03-17 21:36:20 -04:00
76aeca66c8 Banking: Add credit card statements, image data, and pending transactions 2017-03-17 21:35:42 -04:00
8158868432 Reorganization 2017-03-17 21:35:26 -04:00
add6036729 Move client to own file 2017-03-16 19:31:26 -04:00
073387b65b Improve comments 2017-03-16 11:20:20 -04:00
f0b67bad85 Make marshalMessageSet() not a pointer receiver for Request
It doesn't even use the object
2017-03-16 11:13:52 -04:00
49cf745a20 Add Client, split from Request 2017-03-16 11:13:21 -04:00
aeba01bf0f Guess version from header format 2017-03-15 21:00:49 -04:00
cd1e7b480a Add the ability to download Bank Transactions 2017-03-14 10:31:14 -04:00
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
b90c3e0dcd Ignore whitespace character data xml Tokens 2017-03-13 21:10:19 -04:00
257495a343 Add testing for basic types, fix some bugs 2017-03-13 21:09:15 -04:00
0e62af64e3 Implement Signup message parsing 2017-03-11 21:13:06 -05:00
74b0ff7816 Add parsing of profile messages, fix date parsing
Profile messages are still missing validation
2017-03-11 13:10:39 -05:00
689337d81d Remove 'Ofx' prefix on types 2017-03-11 07:18:02 -05:00
99cd8f7273 Initial commit 2017-03-11 07:15:15 -05:00