1
0
mirror of https://github.com/aclindsa/moneygo.git synced 2024-09-21 12:20:04 -04:00
Commit Graph

110 Commits

Author SHA1 Message Date
0372f0488f Move balance calculations into DBs 2017-12-12 20:55:49 -05:00
a357d38eee Store currency/security values/prices using big.Rat natively
This adds 'shadow' types used only by the store/db internal package whch
handle converting these types to their DB-equivalent values. This change
should allow reports to be generated significantly faster since it
allows a large portion of the computation to be shifted to the database
engines.
2017-12-12 19:50:38 -05:00
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