feat: add createSearchSpace endpoint to API service

This commit is contained in:
CREDO23 2025-12-11 20:17:20 +00:00
parent c43cd16dab
commit f983d1f7ff

View file

@ -1,5 +1,8 @@
import {
type CreateSearchSpaceRequest,
type GetSearchSpacesRequest,
createSearchSpaceRequest,
createSearchSpaceResponse,
getSearchSpacesRequest,
getSearchSpacesResponse,
} from "@/contracts/types/search-space.types";
@ -35,6 +38,24 @@ class SearchSpacesApiService {
return baseApiService.get(`/api/v1/searchspaces?${queryParams}`, getSearchSpacesResponse);
};
/**
* Create a new search space
*/
createSearchSpace = async (request: CreateSearchSpaceRequest) => {
const parsedRequest = createSearchSpaceRequest.safeParse(request);
if (!parsedRequest.success) {
console.error("Invalid request:", parsedRequest.error);
const errorMessage = parsedRequest.error.errors.map((err) => err.message).join(", ");
throw new ValidationError(`Invalid request: ${errorMessage}`);
}
return baseApiService.post(`/api/v1/searchspaces`, createSearchSpaceResponse, {
body: parsedRequest.data,
});
};
}
export const searchSpacesApiService = new SearchSpacesApiService();