Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
refactor(saas): 重构认证中间件与限流策略
- 登录限流调整为5次/分钟/IP
- 注册限流调整为3次/小时/IP
- GET请求不计入限流
fix(saas): 修复调度器时间戳处理
- 使用NOW()替代文本时间戳
- 兼容TEXT和TIMESTAMPTZ列类型
feat(saas): 实现环境变量插值
- 支持${ENV_VAR}语法解析
- 数据库密码支持环境变量注入
chore: 新增前端管理界面
- 基于React+Ant Design Pro
- 包含路由守卫/错误边界
- 对接58个API端点
docs: 更新安全加固文档
- 新增密钥管理规范
- 记录P0安全项审计结果
- 补充TLS终止说明
test: 完善配置解析单元测试
- 新增环境变量插值测试用例
36 lines
1.9 KiB
TypeScript
36 lines
1.9 KiB
TypeScript
import request, { withSignal } from './request'
|
|
import type { PromptTemplate, PromptVersion, PaginatedResponse } from '@/types'
|
|
|
|
export const promptService = {
|
|
list: (params?: Record<string, unknown>, signal?: AbortSignal) =>
|
|
request.get<PaginatedResponse<PromptTemplate>>('/prompts', withSignal({ params }, signal)).then((r) => r.data),
|
|
|
|
get: (name: string, signal?: AbortSignal) =>
|
|
request.get<PromptTemplate>(`/prompts/${encodeURIComponent(name)}`, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
create: (data: {
|
|
name: string; category: string; description?: string; source?: string
|
|
system_prompt: string; user_prompt_template?: string
|
|
variables?: unknown[]; min_app_version?: string
|
|
}, signal?: AbortSignal) =>
|
|
request.post<PromptTemplate>('/prompts', data, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
update: (name: string, data: { description?: string; status?: string }, signal?: AbortSignal) =>
|
|
request.put<PromptTemplate>(`/prompts/${encodeURIComponent(name)}`, data, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
archive: (name: string, signal?: AbortSignal) =>
|
|
request.delete<PromptTemplate>(`/prompts/${encodeURIComponent(name)}`, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
listVersions: (name: string, signal?: AbortSignal) =>
|
|
request.get<PromptVersion[]>(`/prompts/${encodeURIComponent(name)}/versions`, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
createVersion: (name: string, data: {
|
|
system_prompt: string; user_prompt_template?: string
|
|
variables?: unknown[]; changelog?: string; min_app_version?: string
|
|
}, signal?: AbortSignal) =>
|
|
request.post<PromptVersion>(`/prompts/${encodeURIComponent(name)}/versions`, data, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
rollback: (name: string, version: number, signal?: AbortSignal) =>
|
|
request.post<PromptTemplate>(`/prompts/${encodeURIComponent(name)}/rollback/${version}`, undefined, withSignal({}, signal)).then((r) => r.data),
|
|
}
|