Commit Graph
79 Commits
Author SHA1 Message Date
kasun 65ff109800 add session-gated /sync endpoint and prune stale vectors after reindex
SyncController/SyncService/SyncProvider mirror the existing search
dispatch pattern: a session-gated controller routes a SyncRequest to
the provider registered for its ServiceType. HomeboxSyncProvider pages
through the full Homebox catalog, embedding each page via
EmbeddingService, and now collects every item ID it sees across all
pages before pruning anything no longer present upstream in one
deleteStaleVectorEntries call at the end - deleting per page would
treat items on other pages as stale and wipe them out.
2026-07-04 01:08:42 +02:00
kasun 48d120fbff extract HomeboxItemClient for reuse between search and sync
HomeboxSearchProvider used to own the RestClient call and item mapping
directly; pulling it into a shared HomeboxItemClient lets the upcoming
sync pipeline page through the same Homebox items without duplicating
the fetch/mapping logic. ConnectionIdentifiable lets both SearchRequest
and SyncRequest be resolved to a connection by the same client.
2026-07-04 01:08:26 +02:00
kasun 43b6d227db replaced constructor with RequiredArgsConstructor annotation 2026-07-01 19:47:00 +02:00
kasun fed981212a fixed failing searchControllerTests 2026-07-01 18:16:11 +02:00
kasun e310c1bbd8 renamed SyncProvider 2026-07-01 01:06:20 +02:00
kasun 9ae94c81e6 added vector and sync packages for pgvector operations, renamed classes and added sync providers. 2026-06-30 23:47:07 +02:00
kasun 8f24163bc0 refactored EmbeddingService 2026-06-30 23:26:33 +02:00
kasun 2ce90a6cac renamed Homebox record and extraData map key 2026-06-30 23:25:36 +02:00
kasun d5cf43ec08 renamed HomeboxEntity to HomeboxConnectionEntity 2026-06-30 22:31:34 +02:00
kasun 6908f7530a changed id type of vector store from uuid to text to make use of deterministic ids 2026-06-30 22:27:55 +02:00
kasun 573f0110c7 changed variable name 2026-06-30 22:25:41 +02:00
kasun 0508687cad added classes for vectorization, similarity search and summarization 2026-06-30 05:00:20 +02:00
kasun 3086b7e2ca renamed SearchResponse to ServiceItem and moved to shared package 2026-06-30 04:52:45 +02:00
kasun 47466a6c61 added pgvector implementation and updated doc 2026-06-29 22:27:32 +02:00
kasun 23e4467e23 fixed format 2026-06-27 13:21:10 +02:00
kasun ee2685aa07 resolve null type safety warnings from method references in stream collectors
SonarQube Analysis / Build and Analyze (pull_request) Successful in 3m50s
2026-06-27 01:15:55 +02:00
kasun 12fc7909fd added missing javadoc
SonarQube Analysis / Build and Analyze (pull_request) Successful in 3m45s
2026-06-27 01:08:49 +02:00
kasun 9bbf2fd098 format
SonarQube Analysis / Build and Analyze (pull_request) Successful in 3m44s
2026-06-27 01:07:50 +02:00
kasun 9c2cbd1608 replaced streams with for loop for serviceprovider lookup to resolves null type safety warning from Collectors.toMap
SonarQube Analysis / Build and Analyze (pull_request) Successful in 3m51s
2026-06-27 01:07:36 +02:00
kasun ff9cfe2b3c updated deprecated yaml option 2026-06-25 17:44:42 +02:00
kasun 40cbe7103f restructured folders and files 2026-06-25 17:17:10 +02:00
kasun fb64a7787f refactored to make use of the ServiceType enum throughout backend and frontend for typesafety 2026-06-24 23:25:18 +02:00
kasun 6e3d3347e2 added search response into searchmodal ui, restructured folders 2026-06-24 15:57:10 +02:00
kasun b7bc8f5525 added first searchmodal draft 2026-06-24 00:58:45 +02:00
kasun a542d23c00 Merge remote-tracking branch 'origin/main' into feature/Implement-basic-search-function 2026-06-23 20:33:57 +02:00
kasun fad016cdaf removed unnecessary annotation 2026-06-23 20:33:19 +02:00
kasun f0d536d8f4 bug: fixed changed Homebox endpoint and added better exception handling. 2026-06-23 19:08:35 +02:00
kasun 5776676eeb refactor: centralise session key format in SessionKeys utility 2026-05-21 20:57:32 +02:00
kasun 1a86c23565 corrected javadoc 2026-05-21 20:42:14 +02:00
kasunandClaude Sonnet 4.6 ea866377bc test: add unit tests for HomeboxSearchProvider and SearchResponse
HomeboxSearchProviderTest verifies that ConnectionNotFoundException is
thrown when no matching connection exists in the repository.
SearchResponseTest covers the getExtra helper — null extra map, missing
key, and a present key.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-20 17:36:31 +02:00
kasunandClaude Sonnet 4.6 a7b984ca84 refactor: consolidate test mock constants into shared Mockdata class
Moved Mockdata from the connection package to the root test package and
extended it with MOCK_USER, MOCK_PASS, MOCK_TITLE, and MOCK_DESCRIPTION
so all test modules share a single source of truth. Removed duplicate
inline constants from ConnectionControllerTest, HomeboxIntegrationTest,
and SearchControllerTest.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-20 17:36:22 +02:00
kasun 7ce01dff0b changed hibernate schema creation for test db 2026-05-20 04:38:46 +02:00
kasun 1ba85e129e added SearchControllerTest 2026-05-18 03:14:38 +02:00
kasun c75bf2ad71 changed hibernate schema creation 2026-05-17 19:52:40 +02:00
kasun d91f39d087 implemented basic search function with Homebox provider 2026-05-17 04:22:29 +02:00
kasun f39bf049a0 added RemoteApiException 2026-05-17 00:38:47 +02:00
kasun 5b2648d526 changed formatter 2026-05-17 00:31:10 +02:00
kasun a8ecf65180 changed formatter 2026-05-17 00:26:46 +02:00
kasun 4d96524adb reoargnized packages 2026-05-16 02:38:33 +02:00
kasun 1d5006fd7e reorganized packages 2026-05-16 01:48:36 +02:00
kasun 406a041ce9 reorganized packages 2026-05-16 01:47:12 +02:00
kasun d7233d817c reorganized packages 2026-05-16 01:14:34 +02:00
kasun 92aaf63c12 fixed Homebox typo 2026-05-16 00:16:28 +02:00
kasun ef09a3c84d revised CORS config for lalowed origins 2026-05-14 14:57:25 +02:00
kasun a8e39d8f09 changed cors config to use env variables 2026-05-10 03:49:41 +02:00
kasunandClaude Sonnet 4.6 43bbcece7a add session-based connection management and React dashboard
Backend: adds JDBC session support, login/status/logout endpoints, and
new DTOs (AuthResponse, ConnectionStatusResponse, LoginResult). Frontend
replaces the Vite boilerplate with a Dashboard, ServiceCard, and
ConnectModal backed by a typed API client.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-10 03:30:36 +02:00
kasun 01fa3e4267 added integration test for missing creds 2026-04-09 21:18:52 +02:00
kasun a1ebb1be21 format 2026-04-09 21:18:40 +02:00
kasun 7de38afec2 added ConnectionService and HomeboxProvider tests 2026-04-09 21:11:17 +02:00
kasun a5c1931a2a removed apikey variable from homebox test 2026-04-09 21:09:27 +02:00