Commit Graph

7494 Commits

Author SHA1 Message Date
simonredfern
b7b240c922 Log cache separate endpoints and different Role names 2026-01-05 23:47:21 +01:00
simonredfern
69cc8c008a Resource doc yaml respects content parameter 2026-01-05 17:40:54 +01:00
hongwei
d5ba4ea03e Merge remote-tracking branch 'Simon/develop' into develop 2026-01-05 10:09:34 +01:00
simonredfern
57ea96d6bb bugfix: support multiple oauth2.jwk_set.url 2026-01-04 20:23:19 +01:00
simonredfern
848dee52b8 System Cache Config fields fix tests 2026-01-01 04:40:39 +01:00
simonredfern
63194b3ead System Cache Config fields fix 2026-01-01 04:36:28 +01:00
simonredfern
f365523360 System Cache Config fields 2026-01-01 04:34:55 +01:00
simonredfern
5e00e012db Cache info storage_location 2026-01-01 03:40:41 +01:00
simonredfern
a366afaad4 Tests for cache info etc 2026-01-01 03:22:28 +01:00
simonredfern
4a20168da7 Added GET system cache config and GET system cache info 2025-12-31 17:18:08 +01:00
simonredfern
423a6000b0 Cache invalidation WIP 2025-12-31 08:16:59 +01:00
simonredfern
69c10545aa Redis startup test 2025-12-31 07:08:07 +01:00
simonredfern
c5bfb7ae72 rate limiting enabled by default. 2025-12-31 06:34:17 +01:00
simonredfern
5f5409e34a call counter prefix 2025-12-31 06:06:07 +01:00
simonredfern
3e884478df Rate limit cache invalidation WIP and ignoring one RL test 2025-12-31 05:50:19 +01:00
simonredfern
858813a69a Depreciate Consumer call limits in favour of Rate Limits 2025-12-31 05:07:51 +01:00
simonredfern
284743da16 Using UTC and per hour for Rate Limiting 2025-12-30 19:17:02 +01:00
simonredfern
efc1868fd4 BREAKING CHANGE: Switch active-rate-limits endpoint to hour-based format
Changed from full timestamp to hour-only format to match implementation.

OLD: /active-rate-limits/2025-12-31T13:34:46Z (YYYY-MM-DDTHH:MM:SSZ)
NEW: /active-rate-limits/2025-12-31-13 (YYYY-MM-DD-HH)

Benefits:
- API now matches actual implementation (hour-level caching)
- Eliminates timezone/minute truncation confusion
- Clearer semantics: 'active during this hour' not 'at this second'
- Direct cache key mapping improves performance
- Simpler date parsing (no timezone handling needed)

Files changed:
- APIMethods600.scala: Updated endpoint and date parsing
- RateLimitsTest.scala: Updated all test cases to new format
- Glossary.scala: Updated API documentation
- introductory_system_documentation.md: Updated user docs

This is a breaking change but necessary to align API with implementation.
Rate limits are cached and queried at hour granularity, so the API
should reflect that reality.
2025-12-30 17:35:38 +01:00
simonredfern
d635ac47ec Fix critical rate limiting bugs: date parameter, hour range, and timezone
Bug #1: getActiveCallLimitsByConsumerIdAtDate ignored date parameter
- Used LocalDateTime.now() instead of provided date parameter
- Broke queries for future dates
- API endpoint /active-rate-limits/{DATE} was non-functional

Bug #2: Hour-based caching caused off-by-minute timing bug
- Query truncated to start of hour (12:00:00)
- Rate limits created mid-hour (12:01:47) not found
- Condition: fromDate <= 12:00:00 failed when fromDate = 12:01:47

Bug #3: Timezone mismatch between system and tests
- Code used ZoneId.systemDefault() (CET/CEST)
- Tests use ZoneOffset.UTC
- Caused hour boundary mismatches

Solution:
- Use actual date parameter in getActiveCallLimitsByConsumerIdAtDate
- Query full hour range (12:00:00 to 12:59:59) instead of point-in-time
- Use UTC timezone consistently
- Add debug logging for troubleshooting

Note: Test still failing - may be cache or transaction timing issue.
Further investigation needed.

See RATE_LIMITING_BUG_FIX.md for detailed analysis.
2025-12-30 15:01:45 +01:00
simonredfern
f665a1e567 Fix critical rate limiting date bugs causing test failures
Bug #1: getActiveCallLimitsByConsumerIdAtDate ignored the date parameter
- Always used LocalDateTime.now() instead of the provided date
- Broke queries for future dates
- API endpoint /active-rate-limits/{DATE} was non-functional

Bug #2: Hour-based caching created off-by-minute query bug
- Query truncated to start of hour (12:00:00)
- Rate limits created mid-hour (12:01:47) were not found
- Condition: fromDate <= 12:00:00 failed when fromDate = 12:01:47

Solution:
- Use the actual date parameter in getActiveCallLimitsByConsumerIdAtDate
- Query full hour range (12:00:00 to 12:59:59) instead of point-in-time
- Ensures rate limits created anytime during the hour are found

Fixes test: RateLimitsTest.scala:259 - aggregated rate limits
Expected: 15 (10 + 5), Got: -1 (not found) → Now returns: 15 

See RATE_LIMITING_BUG_FIX.md for detailed analysis.
2025-12-30 14:00:00 +01:00
simonredfern
2bdac7d2e5 Fix documentation corruption in rate limiting section
Remove duplicate/corrupted lines that were accidentally introduced in commit 0d4a318.
The lines included:
- Duplicate 'Unlimited' bullet point
- Stray HTTP header lines (X-Rate-Limit-Remaining, X-Rate-Limit-Reset)
- Dangling opening brace

Also improved markdown formatting with blank lines before code blocks.
2025-12-30 12:07:28 +01:00
simonredfern
45f55f1ac1 Adding ABAC rules ideas 2025-12-30 11:46:58 +01:00
simonredfern
220007ee61 more ABAC examples 2025-12-29 16:47:21 +01:00
simonredfern
c56f4820d5 adding apiTagCache 2025-12-28 15:00:22 +01:00
simonredfern
cf619eec91 system cache namespaces WIP 2025-12-28 14:46:43 +01:00
simonredfern
7b4f717ad4 cache prefix for rate limits 2025-12-28 01:29:11 +01:00
simonredfern
de2997d782 removing old oidc script 2025-12-28 01:26:35 +01:00
simonredfern
6e21aef827 consumers/current adding active rate limits 2025-12-27 23:08:12 +01:00
simonredfern
b0182792e3 consumers/current adding consumer name etc 2025-12-27 22:57:28 +01:00
simonredfern
eccd54bb40 consumers/current Tests tweak 2025-12-27 22:47:45 +01:00
simonredfern
e1173efe4c consumers/current add call counters 2025-12-27 22:43:27 +01:00
simonredfern
5e06130450 consumers/current add Tests 2025-12-27 22:34:37 +01:00
simonredfern
28f0a13ffc current-consumer step 3 tweak path 2025-12-27 22:25:09 +01:00
simonredfern
157d7d8c14 current-consumer step 2 protect with Role 2025-12-27 22:21:28 +01:00
simonredfern
ee1ab449cf current-consumer step 1 2025-12-27 22:01:21 +01:00
simonredfern
e8be6ea293 RateLimitingUtil incrementConsumerCounters refactor and more logging 2025-12-27 07:42:27 +01:00
simonredfern
ffc10f88dc RateLimitingUtil single point of entry to Redis part 2 2025-12-27 07:30:57 +01:00
simonredfern
c647eb145f RateLimitingUtil single point of entry to Redis part 1 2025-12-27 07:26:40 +01:00
simonredfern
cd52665f35 RateLimitingUtil adding status to interpret redis key result 2025-12-27 07:12:29 +01:00
simonredfern
1fc0ab720c RateLimitingUtil.scala refactor function names 2025-12-27 06:57:10 +01:00
simonredfern
f63197fe48 TODO in RateLimitingUtil.scala 2025-12-27 06:29:30 +01:00
simonredfern
c96539a789 interpreting redis result 2025-12-24 02:13:27 +01:00
simonredfern
5d8ba8b98e refactor to getCallCounterForPeriod 2025-12-24 02:03:15 +01:00
simonredfern
5faf99cf64 refactor to RedisCallCountersJsonV600 2025-12-24 01:15:26 +01:00
simonredfern
d95444fecb rate-limits current usage json 2025-12-24 01:10:56 +01:00
simonredfern
1f509ea703 refactor getCurrentCallsLimit to getConsumerCallCounters 2025-12-24 00:28:08 +01:00
simonredfern
0d4a3186e2 rate-limits active Now 2025-12-24 00:19:51 +01:00
simonredfern
a8cfac14cf rate-limits refactor for single point of truth introductory sys doc 2025-12-23 23:57:14 +01:00
simonredfern
794a7121fb rate-limits refactor for single point of truth 5 2025-12-23 23:42:24 +01:00
simonredfern
e60d0cc348 rate-limits refactor for single point of truth 4 2025-12-23 23:34:03 +01:00
simonredfern
7b44672a35 rate-limits refactor for single point of truth 3 2025-12-23 23:21:27 +01:00
simonredfern
1eaaa50d8f rate-limits refactor for single point of truth 2 2025-12-23 22:46:35 +01:00
simonredfern
a9a7384088 rate-limits refactor for single point of truth 2025-12-23 22:05:14 +01:00
Marko Milić
5cbe019e5a feature/Reduce compiler warnings during compilation 2 2025-12-23 15:39:08 +01:00
Marko Milić
2720f10165 Merge remote-tracking branch 'upstream/develop' into develop 2025-12-23 13:37:28 +01:00
Marko Milić
6214d3f5d8 feature/Reduce compiler warnings during compilation 2025-12-23 13:36:47 +01:00
Marko Milić
c5937d8550 Revert "feature/Reduce test warnings"
This reverts commit 0fcf0b9d45.
2025-12-23 11:11:26 +01:00
Marko Milić
0fcf0b9d45 feature/Reduce test warnings 2025-12-23 10:34:17 +01:00
simonredfern
47d6f97d89 rate-limits current usage endpoint 2025-12-23 10:22:41 +01:00
simonredfern
42fc8226c9 rate-limits current usage endpoint WIP 2025-12-23 10:19:35 +01:00
simonredfern
c6599dbc50 CanGetRateLimits role 2025-12-23 01:42:05 +01:00
simonredfern
0f10c126d3 CanDeleteRateLimits role 2025-12-23 01:35:20 +01:00
simonredfern
5e28a6a684 logging consumers query 2025-12-23 00:40:23 +01:00
simonredfern
d8c64b0ce3 swagger escaping 2025-12-22 17:28:22 +01:00
simonredfern
3d6f418bc0 Drun.mode=test flags --add-opens 2025-12-22 17:24:01 +01:00
Marko Milić
233af77b75 feature/Remove Sign Up flow from legacy portal 2025-12-22 14:46:09 +01:00
simonredfern
a623e760db completing Dynamic Entity simplification 2025-12-22 12:09:34 +01:00
Marko Milić
12fab14820 feature/Reduce warning in tests 2025-12-22 08:45:36 +01:00
simonredfern
b78d01a18e Added a note re Swagger creation vs obp and openapi formats in resource docs 2025-12-22 06:14:29 +01:00
simonredfern
72ad27d2b8 Handling non escaped strings in swagger generator 2025-12-22 06:08:02 +01:00
simonredfern
00490b95ed escaping strings in ABAC examples 2025-12-22 05:38:24 +01:00
simonredfern
04f04f23a6 test h2 db file clear at run_all_tests start 2025-12-21 18:30:20 +01:00
Marko Milić
7abb1bf0e8 Merge remote-tracking branch 'upstream/develop' into develop 2025-12-21 12:16:16 +01:00
Marko Milić
4e0b28f9c7 feature/Add webui_obp_portal_url 2025-12-22 08:07:27 +01:00
simonredfern
650e7d18d9 comment out CardTest 2025-12-21 11:44:12 +01:00
simonredfern
2a3df1d8eb POM.XML 2025-12-20 17:28:44 +01:00
simonredfern
736118a2c3 Tag tests. DE simplification 2025-12-20 15:36:05 +01:00
simonredfern
6befc7711c Pretty Tag name does nothing 2025-12-20 14:18:35 +01:00
simonredfern
51ab5d6769 adding count log for group entitlements 2025-12-19 13:28:47 +01:00
simonredfern
b95dae1112 /management/groups/GROUP_ID/entitlements 2025-12-19 13:24:59 +01:00
simonredfern
410cc63bc6 Adding User to Group semantics and response 2025-12-19 10:45:48 +01:00
simonredfern
29260246e5 Merge remote-tracking branch 'upstream/develop' into develop 2025-12-19 09:55:03 +01:00
simonredfern
a7bac494a4 changing response for v6.0.0 Add User to Group Membership 2025-12-19 09:54:18 +01:00
hongwei
e78637d056 test/ApiVersionUtilsTest: Update expected version count to 25 2025-12-19 09:06:24 +01:00
hongwei
7ffd6cdfd1 Merge remote-tracking branch 'Marko/develop' into develop 2025-12-18 14:05:41 +01:00
Marko Milić
4dda540f38 feature/Improve Pekko find available port 2025-12-18 12:39:55 +01:00
hongwei
2b56e0a5a5 Merge remote-tracking branch 'Marko/develop' into develop
# Conflicts:
#	obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala
2025-12-18 11:47:50 +01:00
hongwei
07908cc06d feature/Enhance resource docs handling for v7.0.0
- Update `getResourceDocsList` to include v7.0.0 in `ResourceDocsAPIMethods`
- Modify `Http4s700` to utilize centralized `ResourceDocs140` for fetching resource docs
- Simplify resource docs filtering logic for v7.0.0 with tailored handling
2025-12-18 09:18:02 +01:00
hongwei
99899a6227 refactor/Http4sServer: Update default http4s.port from 8181 to 8086 2025-12-18 09:07:24 +01:00
Marko Milić
45538d0393 feature/Remove Get API Key feature from code and delegate to OBP-Portal 2025-12-18 09:06:28 +01:00
simonredfern
f718168ea5 bugfix: Dynamic Entity Delete Cascade 2 2025-12-18 02:30:58 +01:00
simonredfern
4be926eda5 bugfix: Dynamic Entity Delete Cascade 2025-12-18 01:53:36 +01:00
hongwei
d14579a16f feature/Support API version 7.0.0
- Add `v7_0_0` to supported API versions in `ApiVersionUtils`
- Update `Http4s700` to return pre-defined resource docs instead of scanning for version 7.0.0
2025-12-17 23:51:37 +01:00
simonredfern
b70d0f02dd adding callContext to ABAC 2 2025-12-17 23:06:10 +01:00
simonredfern
f8aae1cb91 adding callContext to ABAC 2025-12-17 23:06:10 +01:00
simonredfern
0cb6e6bb14 ABAC engine add callContext 2025-12-17 23:06:10 +01:00
hongwei
bfc6636e8f refactor(Http4sServer): Reorder service initialization and improve comments 2025-12-17 22:42:12 +01:00
hongwei
c20e142a47 feature/Get resource docs endpoint for v7.0.0
- Introduce `getResourceDocsObpV700` to handle resource docs retrieval for API version 7.0.0
- Add `getResourceDocsList` helper function for fetching version-specific resource docs
- Update `allRoutes` to include the new endpoint
- Modify imports to include necessary utilities and remove unused references
2025-12-17 19:19:19 +01:00
hongwei
22edd2df20 refactor/Introduce http4s routes for v7.0.0 and update API resource docs
- Add `Http4sEndpoint` type alias and `http4sPartialFunction` in APIUtil for handling http4s routes
- Refactor Http4s700 to define routes as standalone functions (e.g., `root`, `getBanks`) within Implementations7_0_0 object
- Attach resource documentation to each route for better maintainability
- Create a unified `allRoutes` combining v7.0.0 route handlers
- Update imports and clean up unused references
2025-12-17 18:27:42 +01:00
Marko Milić
0db2af0bd2 Merge remote-tracking branch 'upstream/develop' into develop 2025-12-17 15:23:31 +01:00
Marko Milić
6a7a76b44f feature/Add OpenAPI 3.1 YAML response 2025-12-17 14:51:00 +01:00
Simon Redfern
e36f80f996
Merge pull request #2649 from constantine2nd/develop
Fix available ports function
2025-12-17 13:16:20 +01:00
simonredfern
d9794277ed Merge branch 'develop' of github.com:OpenBankProject/OBP-API into develop 2025-12-17 11:02:48 +01:00
Marko Milić
2d9a38e227 Merge remote-tracking branch 'hongwei/develop' into develop 2025-12-17 09:22:07 +01:00
simonredfern
1779d6b315 endpoint: GET /obp/v6.0.0/management/abac-rules-schema 2025-12-17 01:58:32 +01:00
simonredfern
13d3e9b464 abac schema update 2025-12-17 01:27:05 +01:00
simonredfern
1216add5c0 validate abac rule 2025-12-17 00:47:20 +01:00
simonredfern
0d69974941 execute abac rule 2025-12-17 00:43:53 +01:00
simonredfern
713e433eca docfix: apiTagCardAttribute and use of apiTagAttribute 2025-12-16 23:25:28 +01:00
simonredfern
3e238b5cc9 docfix: apiTagProductAttribute and use of apiTagAttribute 2025-12-16 23:23:12 +01:00
simonredfern
2295e5e856 docfix: apiTagAccountAttribute and use of apiTagAttribute 2025-12-16 23:20:27 +01:00
simonredfern
4719988318 docfix: apiTagBankAttribute and use of apiTagAttribute 2025-12-16 23:16:29 +01:00
simonredfern
83671edac7 docfix: apiTagTransactionRequestAttribute and use of apiTagAttribute 2025-12-16 23:14:32 +01:00
simonredfern
af18aaaeb7 docfix: apiTagTransactionAttribute and use of apiTagAttribute 2025-12-16 23:12:39 +01:00
simonredfern
7d6aa4e9c7 docfix: apiTagAtmAttribute and use of apiTagAttribute 2025-12-16 23:09:57 +01:00
simonredfern
6109020328 docfix: apiTagCustomerAttribute and use of apiTagAttribute 2025-12-16 23:07:07 +01:00
simonredfern
9be964c886 docfix: apiTagUserAttribute and apiTagAttribute 2025-12-16 23:03:19 +01:00
simonredfern
6213d0e9fb v6.0.0 users/USER_ID/attributes and /my/personal-data endpoints to make user attributes more like other attributes 2 2025-12-16 22:54:35 +01:00
simonredfern
cc05c56a29 v6.0.0 users/USER_ID/attributes and /my/personal-data endpoints to make user attributes more like other attributes 2025-12-16 22:44:38 +01:00
simonredfern
7a5db31972 docfix: removing assumptions in Glossary.scala 2025-12-16 22:00:22 +01:00
simonredfern
6212afedea docfix: moving ABAC glossary items to Glossary.scala 2025-12-16 19:55:12 +01:00
simonredfern
b9a83c4238 docfix: ABAC glossary items in resource doc 2025-12-16 18:58:30 +01:00
Marko Milić
fdf735477e Merge remote-tracking branch 'upstream/develop' into develop 2025-12-16 16:51:25 +01:00
Marko Milić
5d27d588d8 feature/Fix available ports function 2025-12-16 16:41:30 +01:00
hongwei
59b77631f8 refactor/ abacrule: Remove redundant dbColumnName overrides from AbacRule
- Remove explicit dbColumnName overrides from AbacRuleId, RuleName, RuleCode, IsActive, Description, CreatedByUserId, and UpdatedByUserId fields
- Remove dbTableName override from AbacRule companion object
- Rely on Lift ORM's default column naming conventions to reduce code duplication
- Simplify field definitions while maintaining functionality and database mapping
2025-12-16 14:53:08 +01:00
hongwei
8dd3ee5417 Merge remote-tracking branch 'Simon/develop' into develop 2025-12-16 13:30:16 +01:00
hongwei
31ac4b97bc refactor/ abacrule-Rename MappedAbacRule to AbacRule and extract trait
- Rename MappedAbacRule class to AbacRule for cleaner naming convention
- Extract AbacRuleTrait as the base trait for ABAC rule contracts
- Update AbacRuleProvider to return AbacRuleTrait instead of concrete class
- Update all references in Boot.scala to use new AbacRule naming
- Update JSONFactory6.0.0.scala to accept AbacRuleTrait in factory methods
- Simplify object singleton naming from MappedAbacRule to AbacRule
- Improves code clarity by separating trait definition from implementation
2025-12-16 13:27:27 +01:00
hongwei
2f2c96ab6b test/Update system view permissions assertion 2025-12-16 13:21:55 +01:00
simonredfern
3e5663d42a Merge branch 'develop' of github.com:OpenBankProject/OBP-API into develop 2025-12-16 12:03:09 +01:00
simonredfern
d82b94dddd ABAC Rules WIP 2025-12-16 12:03:02 +01:00
simonredfern
dd5c9e311a docfix: resource doc improvement for consumer creation 2025-12-16 11:20:27 +01:00
simonredfern
0f1c9d81a6 glossary items for ABAC linked to resource doc 2025-12-16 10:57:18 +01:00
hongwei
705de3070f Merge remote-tracking branch 'Marko/pekko' into develop
# Conflicts:
#	pom.xml
#	release_notes.md
2025-12-16 10:26:37 +01:00
hongwei
244b41eb03 test(SystemViewsTest): Fix view ID field references in assertions
- Update view ID field references from "id" to "view_id" in getAllSystemViews test
- Update view ID field references from "id" to "view_id" in getOneSystemView test
- Update view ID field references from "id" to "view_id" in getMultipleSystemViews test
- Align test assertions with actual API response schema for system views endpoint
2025-12-16 10:21:40 +01:00
Marko Milić
929cb4d5d8 Merge branch 'develop' into pekko
# Conflicts:
#	pom.xml
2025-12-16 10:12:54 +01:00
hongwei
5e5592c12e test/test(WebUiProps): Fix HTTP 204 No Content response body assertions
- Update WebUiPropsTest to assert empty body as JNothing instead of "{}"
- Change response body assertion to use `shouldBe(JNothing)` for proper HTTP 204 handling
- Remove default "{}" placeholder in SendServerRequests when response body is empty
- Return empty string "" instead of "{}" to correctly represent No Content responses
- Add clarifying comment explaining that HTTP 204 should have empty body, not JSON object
- Align test expectations with proper REST semantics for 204 No Content status code
2025-12-16 09:47:09 +01:00
simonredfern
0db9ccacc1 ABAC endpoints being served. 2025-12-15 14:06:48 +01:00
simonredfern
cd3364f039 Add ViewPermissionsTest.scala 2025-12-15 13:54:11 +01:00
simonredfern
f785d7eab3 ABAC in v6.0.0 2 2025-12-15 13:40:03 +01:00
simonredfern
ce1d870f10 ABAC in v6.0.0 2025-12-15 13:29:15 +01:00
simonredfern
3bdc3da7f5 ABAC rules compiles added files to git 2025-12-15 12:30:51 +01:00
simonredfern
1a2a12867f ABAC rules compiles 2025-12-15 12:14:07 +01:00
hongwei
8dbaaf8bbf Merge remote-tracking branch 'Marko/pekko' into develop
# Conflicts:
#	pom.xml
2025-12-15 11:42:44 +01:00
hongwei
4b9bf879c5 Merge remote-tracking branch 'Hongwei/develop' into develop
# Conflicts:
#	obp-api/src/test/resources/frozen_type_meta_data
2025-12-15 10:32:49 +01:00
simonredfern
3e1a6a037e system views clean up 2025-12-14 18:59:44 +01:00
simonredfern
1d236a36a4 v6.0.0 GET one system view 2025-12-14 18:22:02 +01:00
simonredfern
dd64f05c53 v6.0.0 /obp/v6.0.0/management/view-permissions 2025-12-14 12:56:40 +01:00
simonredfern
a6a355d36c webui_props delete v6.0.0 2025-12-13 21:34:30 +01:00
hongwei
c63bf9125f refactor/Remove http4s-jar Maven profile from obp-api pom.xml 2025-12-12 14:58:00 +01:00
hongwei
e2b587cd33 docfix/Add http4s server host and port configuration properties to sample.props.template 2025-12-12 14:49:48 +01:00
hongwei
859582025f test/Update frozen_type_meta_data binary test resource file 2025-12-12 12:41:24 +01:00
hongwei
da9931b9b1 test/Update frozen_type_meta_data binary test resource file 2025-12-12 11:56:14 +01:00
hongwei
5b16042613 refactor/Change source field in WebUiPropsCommons from String to Option[String]; update webUiPropsId for config props from None to Some("default") 2025-12-12 11:55:55 +01:00
hongwei
5a418e556c Merge remote-tracking branch 'Simon/develop' into develop 2025-12-12 11:04:02 +01:00
hongwei
354918936f refactor/Remove default disabled versions from getDisabledVersions; replace scala.jdk.CollectionConverters with scala.collection.JavaConverters for compatibility 2025-12-12 10:41:03 +01:00
Simon Redfern
ae4ae66bba
Merge pull request #2643 from constantine2nd/develop
Add query param checks at endpoint getResourceDocsOpenAPI31
2025-12-12 10:37:25 +01:00
hongwei
5e61fd5dee Merge remote-tracking branch 'Simon/develop' into develop 2025-12-12 10:03:10 +01:00
simonredfern
8227e1b382 debugfix: fully qualified version name in logging. 2025-12-12 10:02:11 +01:00
hongwei
aa7319fa5c Merge remote-tracking branch 'Simon/develop' into develop 2025-12-12 08:58:29 +01:00
simonredfern
a93e860fed Note: By default we don't serve some older OBP standards. Also v6.0.0 version of /api/versions shows is_active 2025-12-11 20:04:50 +01:00
hongwei
fc4585ea7d feature/Filter scanned API versions based on api_enabled_versions and api_disabled_versions props; add APIUtil.versionIsAllowed check to getScannedApiVersions endpoint and comprehensive test coverage for version filtering 2025-12-11 18:46:36 +01:00
Marko Milić
3c2df942d3 Replace Akka with Apache Pekko and fix scheduler actor system conflicts
BREAKING CHANGE: Migration from Akka to Apache Pekko 1.1.2

## Key Changes:

### Dependency Migration:
- Replaced Akka 2.6.20 with Apache Pekko 1.1.2
- Updated all imports from com.typesafe.akka to org.apache.pekko
- Updated Jetty from 9.4.50 to 9.4.58 for better Java 17 compatibility

### Actor System Architecture:
- Migrated all actor systems to Pekko
- Fixed critical scheduler initialization conflicts
- Consolidated schedulers to use shared ObpActorSystem.localActorSystem
- Prevented multiple actor system creation during boot

### Scheduler Fixes:
- DataBaseCleanerScheduler: Fixed actor system reference
- DatabaseDriverScheduler: Fixed actor system reference
- MetricsArchiveScheduler: Fixed actor system reference
- SchedulerUtil: Fixed actor system reference
- TransactionRequestStatusScheduler: Fixed actor system reference

### Technical Improvements:
- Resolved 'Address already in use' port binding errors
- Eliminated ExceptionInInitializerError during boot
- Fixed race conditions in actor system initialization
- Maintained all scheduler functionality (MUST-have features preserved)

### Files Modified:
- Core: pom.xml, obp-api/pom.xml
- Actor Systems: ObpActorConfig.scala, ObpActorSystem.scala, ObpLookupSystem.scala
- Connectors: AkkaConnector_vDec2018.scala, CardanoConnector, EthereumConnector
- Schedulers: All scheduler classes updated to use shared actor system
- Utilities: AkkaHttpClient.scala, DynamicUtil.scala, NewStyle.scala

## Testing:
 Application starts successfully on port 8080
 All schedulers operational with shared actor system
 Pekko actor system running on dynamically allocated port
 No port binding conflicts or initialization errors
 HTTP endpoints responding correctly

## Migration Notes:
- Akka licensing issues addressed by moving to Apache Pekko
- Backward compatibility maintained through Pekko's API compatibility
- All existing connector and scheduling functionality preserved
- Improved stability and reduced memory footprint
2025-12-11 15:35:55 +01:00
simonredfern
ce4f09d392 webui_props related 2025-12-11 13:18:06 +01:00
hongwei
d9de077248 refactor/code clean 2025-12-11 12:57:51 +01:00
hongwei
2228202e6a feature/Add Http4sBoot.scala to initialize OBP-API core components without Lift Web framework dependencies 2025-12-11 11:32:43 +01:00
hongwei
e3e32458c4 Refactor/Disable Lift-specific schedulers and actor systems in Boot.scala; update pom.xml to upgrade classutil to 1.5.1 and configure maven-war-plugin with attachClasses; replace scala.jdk.CollectionConverters with scala.collection.JavaConverters for compatibility; add obp-http4s-runner module with fat JAR assembly configuration; update ClassScanUtils to handle UnsupportedOperationException from old ASM versions 2025-12-10 15:36:23 +01:00
Marko Milić
a886e45b0f Merge remote-tracking branch 'upstream/develop' into develop 2025-12-10 10:52:58 +01:00
Marko Milić
7feddbd752 feature/Add query param checks at endpoint getResourceDocsOpenAPI31 2025-12-10 10:29:33 +01:00
simonredfern
8b0f059015 endpoint prio 3 2025-12-10 09:59:56 +01:00
simonredfern
af667463eb Merge branch 'develop' of github.com:OpenBankProject/OBP-API into develop 2025-12-10 09:35:29 +01:00
simonredfern
61a513a491 endpoint prio 2025-12-10 09:29:22 +01:00
simonredfern
bbd1a5ef6b webui-props v6.0.0 fix 2025-12-10 08:56:52 +01:00
simonredfern
66092c1513 webui-props path and public in v6.0.0 2025-12-10 08:01:02 +01:00
hongwei
21f6314e4d feature/Add http4s-jar profile to pom.xml and update scala-maven-plugin configuration; refactor withCallContext to use OptionT in Http4s700.scala 2025-12-09 21:49:55 +01:00
hongwei
4df0cc9100 Merge remote-tracking branch 'Simon/develop' into develop 2025-12-09 14:17:25 +01:00
Marko Milić
dbfb31ab73 Merge remote-tracking branch 'upstream/develop' into develop 2025-12-09 13:07:20 +01:00
Marko Milić
9973288ca5 feature/Add instance url at OpenAPI 3.1 Spec 2025-12-09 13:00:05 +01:00
hongwei
a8f16a87f2 Refactor/Http4sServer to use v7.0.0 API and remove deprecated routes. Introduce new JSONFactory for v7.0.0 and update server configuration to use dynamic host and port settings. Clean up unused Middleware and RestRoutes files. 2025-12-09 09:09:37 +01:00
hongwei
2ae58966c5 Merge remote-tracking branch 'refs/remotes/Simon/develop' into develop 2025-12-09 08:22:36 +01:00
simonredfern
4836dee90c docfix regarding firehose endpoints 2025-12-09 00:29:14 +01:00
simonredfern
546363e4b6 fixing validate email path logic 2025-12-08 13:46:34 +01:00
simonredfern
eb49ea7593 JSON type in Dynamic Entity 2025-12-08 12:14:28 +01:00
simonredfern
cc812f230f reference type checks entity record id and entity name only 2025-12-06 02:21:30 +01:00
simonredfern
9d92c1d300 Dynamic Entitity Delete Cascade in v6.0.0 2025-12-06 00:33:06 +01:00
simonredfern
280e45557c Delete System Dynamic Entity Cascade 2025-12-05 22:41:28 +01:00
simonredfern
c64a5d1089 role name field increase in entitlement etc. 2025-12-05 18:12:13 +01:00
simonredfern
0989f158a3 fixing email for user validation 2025-12-05 12:37:33 +01:00
simonredfern
aaf3e61313 v6.0.0 get webui_props 2025-12-05 11:56:31 +01:00
hongwei
5bb4046123 Merge branch 'feature/AddedHttp4sMerge' into develop
# Conflicts:
#	obp-api/src/main/scala/bootstrap/liftweb/Boot.scala
2025-12-05 11:30:45 +01:00
Simon Redfern
96d3c1df0f
Merge pull request #2641 from constantine2nd/develop
OpenAPI v3.1
2025-12-05 10:18:17 +01:00
simonredfern
14b26fc667 Added v6.0.0 endpoint to get one webui_props 2025-12-05 07:04:40 +01:00
simonredfern
af05e99c51 Added test mode for email sending 2025-12-04 21:33:48 +01:00
Marko Milić
bb2f7b76b6 feature/Tweak OpenAPI 3.1 Spec 2025-12-04 19:19:50 +01:00
Marko Milić
32007bb6f8 feature/Generate OpenAPI 3.1 Spec 2025-12-04 16:07:53 +01:00
Marko Milić
4b7271f348 Merge remote-tracking branch 'upstream/develop' into develop 2025-12-04 14:24:44 +01:00
Marko Milić
9861d69df9 test/Fix failed v3.1.0 tests 2 2025-12-04 14:24:30 +01:00
simonredfern
51a5820e2a tweaking logback-test.xml and adding it to git so we don't spam test output 2025-12-04 14:02:39 +01:00
Marko Milić
9c16f74fe8 test/Fix failed v3.1.0 tests 2025-12-04 13:08:58 +01:00
Marko Milić
1438e8f03c test/Fix failed v6.0.0 tests 2025-12-04 10:56:49 +01:00
simonredfern
b695206c1e docfix: Documentation for dynamic entity, example is required 2025-12-04 00:56:58 +01:00