483adb5c56
Don't leak non-interface type from database module
...
This removes the last place I used *db.DbStore instead of store.Store
outside the 'db' package.
2017-12-10 21:02:17 -05:00
d5bea1102d
Split Lua reports into own package
2017-12-10 20:53:57 -05:00
ac8afec6c1
Add tests for reading config files
2017-12-09 21:19:54 -05:00
e52719c3f7
Split integration tests into their own package
2017-12-09 20:01:17 -05:00
c4d2fe27e6
Take unexported database methods 'private'
2017-12-09 06:06:20 -05:00
32aef11da5
Finish 'store' separation
2017-12-09 05:56:45 -05:00
af97f92df5
db: Paper over MySQL returning count=0 for unchanged updates
2017-12-09 05:47:25 -05:00
da7e025509
Move splits/transactions to store
2017-12-08 21:27:03 -05:00
61676598dd
Move prices to store
2017-12-07 21:05:55 -05:00
3326c3b292
Move accounts to store
2017-12-07 20:47:55 -05:00
bec5152e53
Move users and securities to store
2017-12-07 20:08:43 -05:00
c452984f23
Lay groundwork and move sessions to 'store'
2017-12-07 05:25:35 -05:00
147a00e429
Only serve over HTTPS, optionally auto-generating certificates
...
Because MoneyGo requires sending passwords and session cookies, we
should never serve over HTTP. While we're at it, make it more convenient
for folks to test this out by adding a config option to auto-generate
self-signed certificates.
2017-12-05 21:02:49 -05:00
3e3038295d
Split reports into models
2017-12-05 05:59:44 -05:00
5f296e8669
Split prices into models
2017-12-05 05:59:44 -05:00
128ea57c4d
Split accounts and transactions into models
2017-12-05 05:59:44 -05:00
f72c86ef58
Split securities into models
2017-12-05 05:59:44 -05:00
3f4d6d15a1
Split Sessions into models
2017-12-05 05:59:44 -05:00
e70be1647c
Begin splitting models from handlers with User
2017-12-05 05:59:44 -05:00
ffc8602336
testing: Add another brokerage account OFX import test
2017-12-01 21:21:55 -05:00
05fdaaeb42
testing: Add checks for OFX investment balances
...
Also fix a "bug" uncovered, relating to at least one FI's providing
unexpected signs for some OFX fields.
2017-11-29 19:59:02 -05:00
30d4515780
testing: Add initial OFX investment import tests
...
Also fix up a "bug" caused by financial institutions not deciding on
which sign to use for an OFX field...
2017-11-28 21:25:50 -05:00
238809cd46
testing: Add initial OFX credit card import test
2017-11-28 20:14:38 -05:00
d656f15e84
testing: Ensure account balance is correct after OFX import
2017-11-26 21:01:26 -05:00
aa8924243e
Add initial OFX import test
...
So far, this only checks to ensure that the import doesn't return an
error code.
2017-11-26 14:42:05 -05:00
7a23739a0b
gnucash: Ensure error is properly checked
2017-11-25 21:05:57 -05:00
d9ecaa530b
gofmt
2017-11-25 21:01:48 -05:00
9cd2724416
Remove unused WriteError function
2017-11-23 17:57:36 -05:00
0aa8ac63ab
testing: Test importing Gnucash security prices
2017-11-22 21:37:45 -05:00
947db54433
testing: Check more post-gnucash import account balances
2017-11-22 20:59:11 -05:00
d65019f55c
gnucash tests: Check for the presence of more accounts and their trees
2017-11-21 05:58:43 -05:00
b06b409cd5
Add initial gnucash importing test
...
This is woefully incomplete, but tests to make sure at least one balance
on one account is correct...
2017-11-21 05:31:07 -05:00
4d0b33efee
securities: Don't use 'precision', a MySQL reserved word, in DB
2017-11-21 05:31:07 -05:00
ac5826daca
Add expiration and creation times to sessions
...
Check expiration time when fetching sessions from cookies
2017-11-19 06:36:52 -05:00
216d413c15
Ensure we don't have duplicate session secrets
2017-11-18 21:20:23 -05:00
e4e474caf2
Remove outdated comment
2017-11-17 21:02:25 -05:00
04d85cd681
Fix gorp to internally lowercase fields for Postgres
...
Postgres folds all unquoted column names to lowercase, and doing this
allows that to work nicely without screwing up the queries for the other
database engines.
2017-11-17 21:01:06 -05:00
d5ca4395ac
Move to gorp v2
...
This removes the following error, caused by the MySQL Dialect using a
'varchar' for all columns over 256 characters in length, instead of
'text' for the largest:
2017/11/17 22:41:33 common_test.go:208: Error 1074: Column length too big for column 'Lua' (max = 21844); use BLOB or TEXT instead
2017-11-17 19:53:56 -05:00
b2359e1267
Fixup account transactions to work for both Postgres and MySQL
2017-11-17 05:50:00 -05:00
50dd7b1d26
testing: Use Time.Equal for date comparisons
...
Postgres actually preserves the timezone, unlike sqlite and mysql...
2017-11-17 05:20:10 -05:00
00e1e899c0
Rebind all SQL queries to acommodate Postgres
2017-11-17 05:09:16 -05:00
73cedfd700
testing: Allow DB engine and DSN to be selected with environment variables
2017-11-16 19:42:58 -05:00
c48c50d2c5
API: Move prices under securities
...
For example, instead of GETting /prices/5 to query a price with ID 5,
you now must GET /securities/2/prices/5 (assuming price 5's SecurityId
is 2)
2017-11-16 19:32:30 -05:00
5a6be5a07b
Stop using form elements for API
...
Just send the JSON as the request body
2017-11-13 20:48:19 -05:00
9624f0c5bc
Move to a consistent way of handling IDs in URLs
2017-11-12 21:15:00 -05:00
e99abfe866
handlers: Cleanup Context, route handling code
2017-11-12 20:39:36 -05:00
507868b7a5
Begin move away from using http.ServeMux
2017-11-12 20:17:27 -05:00
9429b748fa
Prefix all API endpoints with 'v1/', pluralize collections
2017-11-11 08:05:09 -05:00
79ed5dad9f
testing: Test Lua Prices
2017-11-10 20:49:45 -05:00
9b1b682bac
prices: Implement initial API and tests
2017-11-10 20:13:49 -05:00