Skip to content

Commit 6d73dcc

Browse files
SA
1 parent 05b61dc commit 6d73dcc

3 files changed

Lines changed: 19 additions & 4 deletions

File tree

server/libs/automation/automation-knowledge-base/automation-knowledge-base-graphql/src/test/java/com/bytechef/automation/knowledgebase/web/graphql/KnowledgeBaseDocumentGraphQlControllerIntTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ void testGetKnowledgeBaseDocumentChunks() {
9595
KnowledgeBaseDocument mockDocument = createMockDocument(documentId, "Test Document");
9696

9797
List<KnowledgeBaseDocumentChunk> mockChunks = List.of(
98-
createMockChunk(1L, "Chunk 1"),
99-
createMockChunk(2L, "Chunk 2"));
98+
createMockChunk(1L),
99+
createMockChunk(2L));
100100

101101
when(knowledgeBaseDocumentService.getKnowledgeBaseDocument(documentId)).thenReturn(mockDocument);
102102
when(knowledgeBaseDocumentChunkFacade.getKnowledgeBaseDocumentChunksByDocumentId(documentId))
@@ -222,7 +222,7 @@ private KnowledgeBaseDocument createMockDocument(Long id, String name) {
222222
return document;
223223
}
224224

225-
private KnowledgeBaseDocumentChunk createMockChunk(Long id, String content) {
225+
private KnowledgeBaseDocumentChunk createMockChunk(Long id) {
226226
KnowledgeBaseDocumentChunk chunk = new KnowledgeBaseDocumentChunk();
227227

228228
chunk.setId(id);

server/libs/automation/automation-knowledge-base/automation-knowledge-base-service/src/main/java/com/bytechef/automation/knowledgebase/config/KnowledgeBaseVectorStoreMetadataUpdater.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@
1818

1919
import static com.bytechef.automation.knowledgebase.constant.KnowledgeBaseConstants.METADATA_TAG_NAMES;
2020

21+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2122
import java.util.LinkedHashMap;
2223
import java.util.List;
2324
import java.util.Map;
25+
import java.util.regex.Pattern;
2426
import org.slf4j.Logger;
2527
import org.slf4j.LoggerFactory;
2628
import org.springframework.jdbc.core.JdbcTemplate;
@@ -32,17 +34,24 @@
3234
*
3335
* @author Marko Kriskovic
3436
*/
35-
public class KnowledgeBaseVectorStoreMetadataUpdater {
37+
public final class KnowledgeBaseVectorStoreMetadataUpdater {
3638

3739
private static final Logger logger = LoggerFactory.getLogger(KnowledgeBaseVectorStoreMetadataUpdater.class);
40+
private static final Pattern SAFE_TABLE_NAME_PATTERN = Pattern.compile("^[a-zA-Z_][a-zA-Z0-9_.]*$");
3841

3942
private final JdbcTemplate pgVectorJdbcTemplate;
4043
private final ObjectMapper objectMapper;
4144
private final String fullTableName;
4245

46+
@SuppressFBWarnings("EI2")
4347
public KnowledgeBaseVectorStoreMetadataUpdater(
4448
JdbcTemplate pgVectorJdbcTemplate, ObjectMapper objectMapper, String fullTableName) {
4549

50+
if (!SAFE_TABLE_NAME_PATTERN.matcher(fullTableName)
51+
.matches()) {
52+
throw new IllegalArgumentException("Invalid table name: " + fullTableName);
53+
}
54+
4655
this.pgVectorJdbcTemplate = pgVectorJdbcTemplate;
4756
this.objectMapper = objectMapper;
4857
this.fullTableName = fullTableName;
@@ -56,6 +65,7 @@ public KnowledgeBaseVectorStoreMetadataUpdater(
5665
* @param vectorStoreId the vector store document ID
5766
* @param tagNames the new tag names to set; an empty list removes all tag fields
5867
*/
68+
@SuppressFBWarnings("SQL_INJECTION_SPRING_JDBC")
5969
public void updateTagNames(String vectorStoreId, List<String> tagNames) {
6070
List<String> rows = pgVectorJdbcTemplate.queryForList(
6171
"SELECT metadata::text FROM " + fullTableName + " WHERE id = ?::uuid",

server/libs/automation/automation-knowledge-base/automation-knowledge-base-service/src/test/java/com/bytechef/automation/knowledgebase/config/KnowledgeBaseIntTestConfiguration.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ FileStorageServiceRegistry fileStorageServiceRegistry(FileStorageService fileSto
9393
return registry;
9494
}
9595

96+
@Bean
97+
KnowledgeBaseVectorStoreMetadataUpdater knowledgeBaseVectorStoreMetadataUpdater() {
98+
return mock(KnowledgeBaseVectorStoreMetadataUpdater.class);
99+
}
100+
96101
@Bean
97102
MessageBroker messageBroker() {
98103
return mock(MessageBroker.class);

0 commit comments

Comments
 (0)