Class VectorStoreUiController

java.lang.Object
ai.mindconnect.adminui.ui.controller.VectorStoreUiController

@RestController @RequestMapping("/admin/vector-stores") public class VectorStoreUiController extends Object
Admin UI for vector stores: templates (the policies — backend, embedding config, ingestion workflow) and the store instances created from them. Uses the same VectorStores resolution the knowledge tools use, so what the UI shows is exactly what the tools do.
  • Constructor Details

    • VectorStoreUiController

      public VectorStoreUiController(VectorStores stores, ai.mindconnect.llm.port.out.LlmConfigRepository llmConfigs, FileStore fileStore, VectorStoreService vectorStoreService)
  • Method Details

    • list

      @GetMapping public ai.mindconnect.ui.model.UiPage list()
    • uploadFiles

      @PostMapping(value="/files/upload", consumes="multipart/form-data") public ai.mindconnect.ui.model.UiPage uploadFiles(@RequestParam("vs-files-upload") List<org.springframework.web.multipart.MultipartFile> uploads)
    • deleteStoredFile

      @DeleteMapping("/files/{id}") public ai.mindconnect.ui.model.UiPage deleteStoredFile(@PathVariable String id) throws IOException
      Throws:
      IOException
    • newTemplate

      @GetMapping("/templates/new") public ai.mindconnect.ui.model.UiPage newTemplate()
    • editTemplate

      @GetMapping("/templates/{name}/edit") public ai.mindconnect.ui.model.UiPage editTemplate(@PathVariable String name)
    • backendFields

      @PostMapping("/templates/backend-fields") public ai.mindconnect.ui.model.UiPatch backendFields(@RequestBody Map<String,Object> raw)
      Backend dropdown changed: re-render the config group for the new choice.
    • saveTemplate

      @PostMapping("/templates") public ai.mindconnect.ui.model.UiPage saveTemplate(@RequestBody Map<String,Object> raw)
    • deleteTemplate

      @DeleteMapping("/templates/{name}") public ai.mindconnect.ui.model.UiPage deleteTemplate(@PathVariable String name)
    • newStore

      @GetMapping("/stores/new") public ai.mindconnect.ui.model.UiPage newStore()
    • createStore

      @PostMapping("/stores") public ai.mindconnect.ui.model.UiPage createStore(@RequestBody Map<String,Object> raw)
    • storeDetail

      @GetMapping("/stores/{name}") public ai.mindconnect.ui.model.UiPage storeDetail(@PathVariable String name)
    • upload

      @PostMapping("/stores/{name}/upload") public ai.mindconnect.ui.model.UiPage upload(@PathVariable String name, @RequestParam("vs-upload") List<org.springframework.web.multipart.MultipartFile> files)
      Receives uploaded files and hands each to the shared VectorStoreService ingestion path — the same one the REST API's ingest endpoint takes (ingestion workflow when the template names one, direct chunking otherwise).
    • search

      @PostMapping("/stores/{name}/search") public ai.mindconnect.ui.model.UiPage search(@PathVariable String name, @RequestBody Map<String,Object> raw)
    • deleteFile

      @DeleteMapping("/stores/{name}/files") public ai.mindconnect.ui.model.UiPage deleteFile(@PathVariable String name, @RequestParam("file") String fileId)
    • deleteStore

      @DeleteMapping("/stores/{name}") public ai.mindconnect.ui.model.UiPage deleteStore(@PathVariable String name)