Cedric
b19cdd0264
feat: record history and lastModified on expense mutations
2026-07-06 12:40:32 +02:00
Cedric
27f747b44d
fix: migrate HistoryService to Jackson 3 (Spring Boot 4)
2026-07-06 12:35:39 +02:00
Cedric
8f42add0c2
feat: HistoryService with field-level diff logic
2026-07-06 12:27:55 +02:00
Cedric
9d1cf862c7
feat: history entity, repository and Expense.lastModified
2026-07-06 12:21:05 +02:00
Cedric
41e32efd7e
Added Rename User and Lists
Build and Deploy Spring Boot Server / build (push) Successful in 1m18s
2026-07-04 22:50:54 +02:00
Cedric
d73d349a58
Release 1.1.0 Final Security Hardening
Build and Deploy Spring Boot Server / build (push) Successful in 1m11s
2026-07-04 22:14:58 +02:00
Cedric
f958fb7853
Fixed Auth and Connection issues
Build and Deploy Spring Boot Server / build (push) Successful in 3m41s
2026-07-04 17:31:21 +02:00
Cedric
7ad72119a8
fix secrets no longer needed
Build and Deploy Spring Boot Server / build (push) Successful in 1m13s
2026-05-14 23:46:40 +02:00
Cedric
29f26a8a18
feat: add /api/version endpoint returning build time and version
Build and Deploy Spring Boot Server / build (push) Successful in 1m25s
2026-05-12 23:08:37 +02:00
Cedric
3d456f2f81
Bugfixes
2026-05-09 23:04:27 +02:00
Cedric
b1324e3048
test: add jsonPath field assertions to create validation tests
2026-05-06 14:40:11 +02:00
Cedric and Claude Sonnet 4.6
8b96433b1a
feat: add CreateExpenseListRequest DTO with validation to POST /create endpoint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 17:28:47 +02:00
Cedric and Claude Sonnet 4.6
f0de751da4
fix: centralise error handling in GlobalExceptionHandler, add SLF4J logging, remove HTTP 417 and e.printStackTrace()
...
- Expand GlobalExceptionHandler with handlers for ResourceNotFoundException (404),
UsernameAlreadyExistsException (409), ResponseStatusException (pass-through),
RuntimeException (500), and generic Exception (500); add SLF4J logging
- Remove all bare try/catch blocks and e.printStackTrace() calls from
ExpenseListController; add SLF4J logger field
- Add test: create_returns500_onUnexpectedServiceError
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 17:11:37 +02:00
Cedric
797d482ebf
fix: use ResourceNotFoundException for not-found cases in updateExpense, IllegalArgumentException for ownership mismatch in deleteCustomCategory
2026-05-05 16:55:01 +02:00
Cedric and Claude Sonnet 4.6
906b60d264
fix: single-param JPQL queries, ResourceNotFoundException throughout ExpenseListService, remove addExpenseToList loop
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 16:40:31 +02:00
Cedric
68783cc892
fix: throw ResourceNotFoundException instead of returning null, replace full-table-scan list queries with JPQL
2026-05-05 15:20:46 +02:00
Cedric and Claude Sonnet 4.6
9c91da9f30
test: fix ExpenseListRepositoryTest with H2 and proper save-then-find pattern
...
Added H2 as a test-scoped dependency so @DataJpaTest has an embedded
database. Rewrote the test to save an entity and assert on the returned
ID rather than assuming a record exists at ID=1.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 11:23:51 +02:00
Cedric and Claude Sonnet 4.6
024b3880e7
security: add per-user/IP rate limiting via Bucket4j
...
RateLimitFilter (OncePerRequestFilter) enforces 60 req/min per
authenticated Google ID or client IP, using Bucket4j in-memory
token buckets. Filter is registered after BearerTokenAuthenticationFilter
in the production security chain. Added 4 unit tests covering
allow, block, per-IP isolation, and X-Forwarded-For preference.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 11:19:42 +02:00
Cedric and Claude Sonnet 4.6
457efab452
security: enforce JWT-based authorization on AppUserController
...
Added AuthenticatedUserResolver injection and assertSelf guard to
getUser, getUserByGoogleId, and deleteUser endpoints. createUser
remains open for registration. Added 7 controller tests covering
validation failures and 403 enforcement.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 11:13:05 +02:00
Cedric
95688e5111
test: add unit tests for AuthenticatedUserResolver
2026-05-05 10:03:35 +02:00
Cedric
bb2a4d70b2
feat: add ExpenseListController validation and authorization tests
2026-05-04 22:46:29 +02:00
Cedric
a948bca2fc
feat: add GlobalExceptionHandler, @Valid to user creation, AuthenticatedUserResolver stub, and rewrite ExpenseListController with authorization
2026-05-04 22:44:37 +02:00
Cedric
3bea06fead
feat: add Bean Validation annotations to request models
2026-05-04 22:36:20 +02:00
Cedric
15792bad28
Add CategoryService and integrate category handling in ExpenseListController
...
Build and Deploy Spring Boot Server / build (push) Successful in 10m8s
- Introduced CategoryService to manage standard categories.
- Updated ExpenseListController to set default categories when creating an expense list.
- Modified ExpenseChangeRequest and ExpenseInput to include category field.
- Enhanced DataInitializer to ensure standard categories are initialized.
2025-05-11 00:59:54 +02:00
Cedric
814b2221c8
#7
Build and Deploy Spring Boot Server / build (push) Successful in 10m8s
2025-05-10 19:07:50 +02:00
Cedric
b669855a56
Dateien nach "src/main/resources/static" hochladen
2025-01-12 04:51:41 -08:00
Cedric
4fca98dc72
add logos
Build and Deploy Spring Boot Server / build (push) Successful in 9m55s
2025-01-12 10:11:57 +01:00
Cedric
c453411444
fixes
Build and Deploy Spring Boot Server / build (push) Successful in 10m0s
2025-01-11 21:37:11 +01:00
Cedric
85e4a2b125
remove dotenv
Build and Deploy Spring Boot Server / build (push) Successful in 10m11s
2025-01-11 21:20:58 +01:00
Cedric
ece3e1d697
fix app_props
Build and Deploy Spring Boot Server / build (push) Successful in 10m0s
2025-01-11 20:48:53 +01:00
Cedric
d39b5e875c
docker compose sample
Build and Deploy Spring Boot Server / build (push) Successful in 10m1s
2025-01-11 20:24:33 +01:00
Cedric
5546b0ba3b
better secret handling docker api upgrade
2025-01-07 23:40:00 +01:00
Cedric
53a262ddb9
Never had a stupid bug dont look
2025-01-06 00:28:36 +01:00
Cedric
f26f365b3c
+Data Structure Changes
...
+Api Functionality
2025-01-05 01:30:28 +01:00
Cedric
b3d5b5ad11
Bugfix, support for Expense without AppUser id
2024-12-31 01:14:28 +01:00
Cedric
0ee56e4e52
Fixed bug in finding ExpenseLists
2024-12-29 00:47:10 +01:00
Cedric
4df0b36f45
Sharing Lists logic
2024-12-28 01:35:50 +01:00
Cedric
e20be63e5e
Oauth setup
2024-12-25 01:04:05 +01:00
Cedric
aa4ed91b9d
expense List logic
2024-12-24 23:04:35 +01:00
Cedric
a3a89abc34
user endpoints working
2024-12-23 11:44:02 +01:00
Cedric
aec991374f
db connected
2024-12-22 23:53:36 +01:00
Cedric
c902377424
first commit
2024-12-22 22:32:48 +01:00