mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-12 22:42:13 +02:00
refactor(model-connections): simplify connection settings UI
This commit is contained in:
parent
831ad23c6c
commit
3089dd4cb6
6 changed files with 126 additions and 165 deletions
|
|
@ -1,11 +1,13 @@
|
|||
import {
|
||||
type ConnectionCreateRequest,
|
||||
type ConnectionRead,
|
||||
type ConnectionUpdateRequest,
|
||||
connectionCreateRequest,
|
||||
connectionListResponse,
|
||||
connectionRead,
|
||||
connectionUpdateRequest,
|
||||
type ModelCreateRequest,
|
||||
type ModelRead,
|
||||
type ModelRoles,
|
||||
type ModelUpdateRequest,
|
||||
modelCreateRequest,
|
||||
|
|
@ -13,24 +15,25 @@ import {
|
|||
modelRead,
|
||||
modelRoles,
|
||||
modelUpdateRequest,
|
||||
type VerifyConnectionResponse,
|
||||
verifyConnectionResponse,
|
||||
} from "@/contracts/types/model-connections.types";
|
||||
import { ValidationError } from "../error";
|
||||
import { baseApiService } from "./base-api.service";
|
||||
|
||||
class ModelConnectionsApiService {
|
||||
getGlobalConnections = async () => {
|
||||
getGlobalConnections = async (): Promise<ConnectionRead[]> => {
|
||||
return baseApiService.get(`/api/v1/global-model-connections`, connectionListResponse);
|
||||
};
|
||||
|
||||
getConnections = async (searchSpaceId: number) => {
|
||||
getConnections = async (searchSpaceId: number): Promise<ConnectionRead[]> => {
|
||||
return baseApiService.get(
|
||||
`/api/v1/model-connections?search_space_id=${searchSpaceId}`,
|
||||
connectionListResponse
|
||||
);
|
||||
};
|
||||
|
||||
createConnection = async (request: ConnectionCreateRequest) => {
|
||||
createConnection = async (request: ConnectionCreateRequest): Promise<ConnectionRead> => {
|
||||
const parsed = connectionCreateRequest.safeParse(request);
|
||||
if (!parsed.success) {
|
||||
throw new ValidationError(parsed.error.issues.map((issue) => issue.message).join(", "));
|
||||
|
|
@ -40,7 +43,10 @@ class ModelConnectionsApiService {
|
|||
});
|
||||
};
|
||||
|
||||
updateConnection = async (id: number, request: ConnectionUpdateRequest) => {
|
||||
updateConnection = async (
|
||||
id: number,
|
||||
request: ConnectionUpdateRequest
|
||||
): Promise<ConnectionRead> => {
|
||||
const parsed = connectionUpdateRequest.safeParse(request);
|
||||
if (!parsed.success) {
|
||||
throw new ValidationError(parsed.error.issues.map((issue) => issue.message).join(", "));
|
||||
|
|
@ -54,15 +60,18 @@ class ModelConnectionsApiService {
|
|||
return baseApiService.delete(`/api/v1/model-connections/${id}`, undefined);
|
||||
};
|
||||
|
||||
verifyConnection = async (id: number) => {
|
||||
verifyConnection = async (id: number): Promise<VerifyConnectionResponse> => {
|
||||
return baseApiService.post(`/api/v1/model-connections/${id}/verify`, verifyConnectionResponse);
|
||||
};
|
||||
|
||||
discoverModels = async (id: number) => {
|
||||
discoverModels = async (id: number): Promise<ModelRead[]> => {
|
||||
return baseApiService.post(`/api/v1/model-connections/${id}/discover`, modelListResponse);
|
||||
};
|
||||
|
||||
addManualModel = async (connectionId: number, request: ModelCreateRequest) => {
|
||||
addManualModel = async (
|
||||
connectionId: number,
|
||||
request: ModelCreateRequest
|
||||
): Promise<ModelRead> => {
|
||||
const parsed = modelCreateRequest.safeParse(request);
|
||||
if (!parsed.success) {
|
||||
throw new ValidationError(parsed.error.issues.map((issue) => issue.message).join(", "));
|
||||
|
|
@ -72,7 +81,7 @@ class ModelConnectionsApiService {
|
|||
});
|
||||
};
|
||||
|
||||
updateModel = async (id: number, request: ModelUpdateRequest) => {
|
||||
updateModel = async (id: number, request: ModelUpdateRequest): Promise<ModelRead> => {
|
||||
const parsed = modelUpdateRequest.safeParse(request);
|
||||
if (!parsed.success) {
|
||||
throw new ValidationError(parsed.error.issues.map((issue) => issue.message).join(", "));
|
||||
|
|
@ -82,15 +91,15 @@ class ModelConnectionsApiService {
|
|||
});
|
||||
};
|
||||
|
||||
testModel = async (id: number) => {
|
||||
testModel = async (id: number): Promise<VerifyConnectionResponse> => {
|
||||
return baseApiService.post(`/api/v1/models/${id}/test`, verifyConnectionResponse);
|
||||
};
|
||||
|
||||
getModelRoles = async (searchSpaceId: number) => {
|
||||
getModelRoles = async (searchSpaceId: number): Promise<ModelRoles> => {
|
||||
return baseApiService.get(`/api/v1/search-spaces/${searchSpaceId}/model-roles`, modelRoles);
|
||||
};
|
||||
|
||||
updateModelRoles = async (searchSpaceId: number, roles: ModelRoles) => {
|
||||
updateModelRoles = async (searchSpaceId: number, roles: ModelRoles): Promise<ModelRoles> => {
|
||||
return baseApiService.put(`/api/v1/search-spaces/${searchSpaceId}/model-roles`, modelRoles, {
|
||||
body: roles,
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue