mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-28 02:23:53 +02:00
rename quick-ask-actions to prompts across backend and frontend
This commit is contained in:
parent
11374248d8
commit
a6ccb7a875
15 changed files with 277 additions and 523 deletions
54
surfsense_web/lib/apis/prompts-api.service.ts
Normal file
54
surfsense_web/lib/apis/prompts-api.service.ts
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
import {
|
||||
type PromptCreateRequest,
|
||||
type PromptUpdateRequest,
|
||||
promptCreateRequest,
|
||||
promptDeleteResponse,
|
||||
promptRead,
|
||||
promptUpdateRequest,
|
||||
promptsListResponse,
|
||||
} from "@/contracts/types/prompts.types";
|
||||
import { ValidationError } from "@/lib/error";
|
||||
import { baseApiService } from "./base-api.service";
|
||||
|
||||
class PromptsApiService {
|
||||
list = async (searchSpaceId?: number) => {
|
||||
const params = new URLSearchParams();
|
||||
if (searchSpaceId !== undefined) {
|
||||
params.set("search_space_id", String(searchSpaceId));
|
||||
}
|
||||
const queryString = params.toString();
|
||||
const url = queryString ? `/api/v1/prompts?${queryString}` : "/api/v1/prompts";
|
||||
|
||||
return baseApiService.get(url, promptsListResponse);
|
||||
};
|
||||
|
||||
create = async (request: PromptCreateRequest) => {
|
||||
const parsed = promptCreateRequest.safeParse(request);
|
||||
if (!parsed.success) {
|
||||
const errorMessage = parsed.error.issues.map((issue) => issue.message).join(", ");
|
||||
throw new ValidationError(`Invalid request: ${errorMessage}`);
|
||||
}
|
||||
|
||||
return baseApiService.post("/api/v1/prompts", promptRead, {
|
||||
body: parsed.data,
|
||||
});
|
||||
};
|
||||
|
||||
update = async (promptId: number, request: PromptUpdateRequest) => {
|
||||
const parsed = promptUpdateRequest.safeParse(request);
|
||||
if (!parsed.success) {
|
||||
const errorMessage = parsed.error.issues.map((issue) => issue.message).join(", ");
|
||||
throw new ValidationError(`Invalid request: ${errorMessage}`);
|
||||
}
|
||||
|
||||
return baseApiService.put(`/api/v1/prompts/${promptId}`, promptRead, {
|
||||
body: parsed.data,
|
||||
});
|
||||
};
|
||||
|
||||
delete = async (promptId: number) => {
|
||||
return baseApiService.delete(`/api/v1/prompts/${promptId}`, promptDeleteResponse);
|
||||
};
|
||||
}
|
||||
|
||||
export const promptsApiService = new PromptsApiService();
|
||||
Loading…
Add table
Add a link
Reference in a new issue