mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 00:36:31 +02:00
add is_public to frontend types and API service
This commit is contained in:
parent
24fd19a394
commit
16884963a4
2 changed files with 21 additions and 1 deletions
|
|
@ -9,19 +9,29 @@ export const promptRead = z.object({
|
|||
mode: z.enum(["transform", "explore"]),
|
||||
icon: z.string().nullable(),
|
||||
search_space_id: z.number().nullable(),
|
||||
is_public: z.boolean(),
|
||||
created_at: z.string(),
|
||||
});
|
||||
|
||||
export type PromptRead = z.infer<typeof promptRead>;
|
||||
|
||||
export const publicPromptRead = promptRead.extend({
|
||||
author_name: z.string().nullable(),
|
||||
});
|
||||
|
||||
export type PublicPromptRead = z.infer<typeof publicPromptRead>;
|
||||
|
||||
export const promptsListResponse = z.array(promptRead);
|
||||
|
||||
export const publicPromptsListResponse = z.array(publicPromptRead);
|
||||
|
||||
export const promptCreateRequest = z.object({
|
||||
name: z.string().min(1).max(200),
|
||||
prompt: z.string().min(1),
|
||||
mode: z.enum(["transform", "explore"]),
|
||||
icon: z.string().max(50).nullable().optional(),
|
||||
search_space_id: z.number().nullable().optional(),
|
||||
is_public: z.boolean().optional(),
|
||||
});
|
||||
|
||||
export type PromptCreateRequest = z.infer<typeof promptCreateRequest>;
|
||||
|
|
@ -31,6 +41,7 @@ export const promptUpdateRequest = z.object({
|
|||
prompt: z.string().min(1).optional(),
|
||||
mode: z.enum(["transform", "explore"]).optional(),
|
||||
icon: z.string().max(50).nullable().optional(),
|
||||
is_public: z.boolean().optional(),
|
||||
});
|
||||
|
||||
export type PromptUpdateRequest = z.infer<typeof promptUpdateRequest>;
|
||||
|
|
|
|||
|
|
@ -4,8 +4,9 @@ import {
|
|||
promptCreateRequest,
|
||||
promptDeleteResponse,
|
||||
promptRead,
|
||||
promptUpdateRequest,
|
||||
promptsListResponse,
|
||||
promptUpdateRequest,
|
||||
publicPromptsListResponse,
|
||||
} from "@/contracts/types/prompts.types";
|
||||
import { ValidationError } from "@/lib/error";
|
||||
import { baseApiService } from "./base-api.service";
|
||||
|
|
@ -49,6 +50,14 @@ class PromptsApiService {
|
|||
delete = async (promptId: number) => {
|
||||
return baseApiService.delete(`/api/v1/prompts/${promptId}`, promptDeleteResponse);
|
||||
};
|
||||
|
||||
listPublic = async () => {
|
||||
return baseApiService.get("/api/v1/prompts/public", publicPromptsListResponse);
|
||||
};
|
||||
|
||||
copy = async (promptId: number) => {
|
||||
return baseApiService.post(`/api/v1/prompts/${promptId}/copy`, promptRead, {});
|
||||
};
|
||||
}
|
||||
|
||||
export const promptsApiService = new PromptsApiService();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue