Commit Graph

22 Commits

Author SHA1 Message Date
Aaron Lindsay 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
Aaron Lindsay d5bea1102d Split Lua reports into own package 2017-12-10 20:53:57 -05:00
Aaron Lindsay 32aef11da5 Finish 'store' separation 2017-12-09 05:56:45 -05:00
Aaron Lindsay da7e025509 Move splits/transactions to store 2017-12-08 21:27:03 -05:00
Aaron Lindsay 3326c3b292 Move accounts to store 2017-12-07 20:47:55 -05:00
Aaron Lindsay bec5152e53 Move users and securities to store 2017-12-07 20:08:43 -05:00
Aaron Lindsay c452984f23 Lay groundwork and move sessions to 'store' 2017-12-07 05:25:35 -05:00
Aaron Lindsay 128ea57c4d Split accounts and transactions into models 2017-12-05 05:59:44 -05:00
Aaron Lindsay e70be1647c Begin splitting models from handlers with User 2017-12-05 05:59:44 -05:00
Aaron Lindsay b2359e1267 Fixup account transactions to work for both Postgres and MySQL 2017-11-17 05:50:00 -05:00
Aaron Lindsay 5a6be5a07b Stop using form elements for API
Just send the JSON as the request body
2017-11-13 20:48:19 -05:00
Aaron Lindsay 9624f0c5bc Move to a consistent way of handling IDs in URLs 2017-11-12 21:15:00 -05:00
Aaron Lindsay 507868b7a5 Begin move away from using http.ServeMux 2017-11-12 20:17:27 -05:00
Aaron Lindsay 8ba6a3dbf2 testing: Add initial account transactions test
Update one SQL query to do an 'INNER JOIN' instead of an 'IN' with a
subquery. This avoids error messages like:
  Error 1235: This version of MariaDB doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
2017-10-30 21:14:19 -04:00
Aaron Lindsay 3869f3a3b2 Get all current tests to pass with MySQL
This is done by requiring 'parseTime=true' in the MySQL DSN's (required
by github.com/go-sql-driver/mysql when Scan()ing to time.Time's), and
not forcing update counts to match if rows were updated to what they
already were.
2017-10-24 20:57:55 -04:00
Aaron Lindsay 09a5cf9a99 testing: Test fetching all transactions 2017-10-23 21:14:19 -04:00
Aaron Lindsay 41fb459680 testing: Add tests for updating transactions/splits 2017-10-21 06:50:31 -04:00
Aaron Lindsay cdba839c66 testing: Add transaction-creation test 2017-10-16 05:39:41 -04:00
Aaron Lindsay 85a58c3ff8 go vet, go fmt 2017-10-14 20:38:40 -04:00
Aaron Lindsay 2ff1f47432 Remove duplicate *Tx versions of database access methods
Simplify naming to remove "Tx" now that all handlers only have access to
transactions anyway, and always use "tx" as the name of the variable
representing the SQL transactions (to make it less likely to cause
confusion with monetary transactions).
2017-10-14 19:41:13 -04:00
Aaron Lindsay 4e53a5e59c Use SQL transactions for the entirety of every request 2017-10-14 14:20:50 -04:00
Aaron Lindsay d0a5980b85 First pass at reorganizing go code into sub-packages 2017-10-04 19:35:59 -04:00