obervinov
0fb37a59fa
feat: add delete button for revoked API tokens
...
Revoked tokens previously stayed in the list with no way to remove them.
Adds a delete action (hard delete, scoped to the owner, gated behind
demo mode) shown on revoked rows, alongside the existing revoke action on
active ones.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-29 23:55:38 +04:00
Herculino Trotta
106d721279
feat: add demo mode tests to ensure API is disabled on it
2026-06-27 18:02:31 -03:00
Herculino Trotta
d0e9c05283
feat: disable oauth and token creation while on demo mode
2026-06-27 18:02:03 -03:00
Herculino Trotta
7f5a91c11f
fix: wrong Guam timezone string
2026-06-27 17:56:24 -03:00
Herculino Trotta
009a7038c8
style: improve api token box look
2026-06-27 17:56:05 -03:00
obervinov
4273c541c5
Add API tokens and OAuth2 client support for external integrations
...
- Personal API tokens (model, user-settings UI, admin, management command,
DRF auth class) for non-interactive API access from automations like n8n.
Raw token shown once; only a SHA-256 hash is stored; last_used_at writes
are throttled.
- OAuth2 authorization server via django-oauth-toolkit with authorization
server metadata and optional, off-by-default Dynamic Client Registration
(RFC 7591), so remote OAuth/MCP clients can authenticate and self-register.
- Tests for token auth, DCR gating and the management commands, plus
.env.example and README documentation.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 19:15:31 +04:00
Herculino Trotta
6a19381672
feat(transactions): add attachments
2026-06-06 04:33:06 -03:00
Herculino Trotta
d72ff3cdf5
fix(rules): allow category expressions to clear categories
2026-05-02 16:16:27 -03:00
Herculino Trotta
63c69e5c6a
test(api): expect unauthorized for anonymous requests
2026-05-02 16:16:08 -03:00
Herculino Trotta
78171183cc
test(currencies): avoid test discovery collision
2026-05-02 16:15:48 -03:00
Herculino Trotta
34a2b6bfd4
fix(procrastinate): close Django connections around jobs
2026-05-02 16:15:26 -03:00
Herculino Trotta
5527389196
fix: deduplication breaks when given m2m fields
2026-04-18 14:47:19 +00:00
Herculino Trotta
3fd0fba1b8
Merge pull request #513 from pawelaugustyn/feat/default-account
...
feat: default account for new transactions
2026-02-15 23:24:08 -03:00
Herculino Trotta
c787565c04
refactor: move help_text to model definition
2026-02-15 23:22:52 -03:00
Herculino Trotta
0413921dbe
fix: migrations set default as 0 instead of null
2026-02-15 23:22:10 -03:00
pawelaugustyn
9ecf8279b4
feat: default account for new transactions
2026-02-15 22:59:18 +01:00
Herculino Trotta
86cf625158
Merge pull request #518 from eitchtee/dev
...
feat(auth): trust OIDC connections and automatically connect them with local accounts
2026-02-15 14:43:33 -03:00
Herculino Trotta
ea097ab6f0
feat(auth): trust OIDC connections and connect them with local accounts
2026-02-15 14:41:45 -03:00
Herculino Trotta
163f2f4e5b
Merge pull request #504 from eitchtee/dev
...
feat: add QIF import
2026-01-25 16:54:02 -03:00
Herculino Trotta
d5bbad7887
feat: add QIF import
2026-01-25 16:46:56 -03:00
Herculino Trotta
49cac0588e
add tests and fix missing get_queryset
2026-01-11 12:20:27 +01:00
icovada
3b2b6d6473
Query all DCA Strategies
2026-01-11 12:19:57 +01:00
icovada
db30bcbeb7
Remove filtering function superseesed by search_fields
2026-01-11 12:19:57 +01:00
icovada
a122733a47
Enable filtering and sorting on all API views
2026-01-11 12:19:30 +01:00
Herculino Trotta
d756286135
Merge pull request #496 from eitchtee/dev
...
feat(automatic-exchange-rate): track and display unsuccessful runs
2026-01-10 17:49:44 -03:00
Herculino Trotta
96318f003d
Merge branch 'main' into rest_filtering
2026-01-10 17:43:45 -03:00
Herculino Trotta
1a0412264a
add tests and fix missing get_queryset
2026-01-10 17:42:37 -03:00
icovada
c015b78cd6
Apply CustomNumberPagination to all API views
2026-01-10 17:14:53 +00:00
Herculino Trotta
50e5492ea1
feat(automatic-exchange-rate): track unsuccessful runs
2026-01-10 14:10:21 -03:00
Herculino Trotta
c83b1bf2d6
Merge pull request #495 from eitchtee/dev
...
feat: add late section to monthly and all views (w/ default ordering)
2026-01-10 02:53:30 -03:00
Herculino Trotta
b074ef7929
feat: add late section to monthly and all views (w/ default ordering)
2026-01-10 02:52:46 -03:00
Herculino Trotta
0a03745ce6
Merge pull request #493 from eitchtee/dev
...
fix(dca): strategy api endpoint returns nothing
2026-01-09 23:53:04 -03:00
Herculino Trotta
ff4bd79634
fix(dca): strategy api endpoint returns nothing
2026-01-09 23:51:31 -03:00
Herculino Trotta
48e43ac031
Merge pull request #492 from eitchtee/dev
...
fix(transactions): empty internal_id raises duplicate error when editing via django admin
2026-01-09 23:27:01 -03:00
Herculino Trotta
dd6a390e6b
fix(transactions): empty internal_id raises duplicate error when editing via django admin
2026-01-09 23:25:13 -03:00
icovada
0c961a8250
Query all DCA Strategies
2026-01-08 22:51:50 +01:00
icovada
e28c651973
Remove filtering function superseesed by search_fields
2026-01-08 22:51:50 +01:00
icovada
7687ff81c3
Enable filtering and sorting on all API views
2026-01-08 22:51:49 +01:00
Herculino Trotta
ffa4644e1b
Merge pull request #482 from eitchtee/dev
...
fix(import_restore): unable to restore installment plans when there's multiple accounts with the same name
2025-12-30 22:00:33 -03:00
Herculino Trotta
b455a0251a
fix(import_restore): unable to restore installment plans when there's multiple accounts with the same name
2025-12-30 21:59:29 -03:00
Herculino Trotta
64d7765357
Merge pull request #478 from eitchtee/dev
...
feat(insights): new month by month insight
2025-12-28 22:58:56 -03:00
Herculino Trotta
39f66b620a
feat(insights): new month by month insight
2025-12-28 22:57:29 -03:00
Herculino Trotta
ad164866e0
Merge pull request #477 from eitchtee/dev
...
feat(insights): new year by year insight
2025-12-28 22:57:16 -03:00
Herculino Trotta
92cf526b76
feat(insights): new year by year insight
2025-12-28 22:55:58 -03:00
Herculino Trotta
519a85d256
Merge pull request #474 from eitchtee/dev
...
feat(tests): add tests for monthly summaries
2025-12-28 13:36:54 -03:00
Herculino Trotta
700d35b5d5
feat(tests): add tests for monthly summaries
2025-12-28 13:36:21 -03:00
Herculino Trotta
ec0d5fc121
Merge pull request #473 from eitchtee/dev
...
feat(transactions:filter): make monthly summary filter-aware
2025-12-28 13:21:55 -03:00
Herculino Trotta
01f91352d6
feat(transactions:filter): make montlhy summary filter-aware
2025-12-28 13:20:25 -03:00
Herculino Trotta
eadeb649a1
Merge pull request #470 from eitchtee/dev
...
feat(transactions:filter): add filter for muted and unmuted transactions
2025-12-28 13:10:39 -03:00
Herculino Trotta
a2871d5289
feat(transactions:filter): add filter for muted and unmuted transactions
2025-12-28 13:09:41 -03:00