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
- 删除 webhook 死代码模块 (4 文件 + worker,未注册未挂载) - 删除孤立组件 StatusTag.tsx (从未被导入) - authStore 权限模型补全 (scheduler/knowledge/billing 6+ permission key) - authStore 硬编码 logout URL 改为 env 变量 - 清理未使用 service 方法 (agent-templates/billing/roles) - Logs.tsx 代码重复消除 (本地常量 → @/constants/status) - TRUTH.md 数字校准 (Tauri 177→183, SaaS API 131→130)
41 lines
2.0 KiB
TypeScript
41 lines
2.0 KiB
TypeScript
import request, { withSignal } from './request'
|
|
import type {
|
|
Role,
|
|
PermissionTemplate,
|
|
CreateRoleRequest,
|
|
UpdateRoleRequest,
|
|
CreateTemplateRequest,
|
|
} from '@/types'
|
|
|
|
export const roleService = {
|
|
// ── Roles ─────────────────────────────────────────────────
|
|
list: (signal?: AbortSignal) =>
|
|
request.get<Role[]>('/roles', withSignal({}, signal)).then((r) => r.data),
|
|
|
|
create: (data: CreateRoleRequest, signal?: AbortSignal) =>
|
|
request.post<Role>('/roles', data, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
update: (id: string, data: UpdateRoleRequest, signal?: AbortSignal) =>
|
|
request.put<Role>(`/roles/${id}`, data, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
delete: (id: string, signal?: AbortSignal) =>
|
|
request.delete(`/roles/${id}`, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
// ── Role Permissions ──────────────────────────────────────
|
|
getPermissions: (roleId: string, signal?: AbortSignal) =>
|
|
request.get<string[]>(`/roles/${roleId}/permissions`, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
// ── Permission Templates ──────────────────────────────────
|
|
listTemplates: (signal?: AbortSignal) =>
|
|
request.get<PermissionTemplate[]>('/permission-templates', withSignal({}, signal)).then((r) => r.data),
|
|
|
|
createTemplate: (data: CreateTemplateRequest, signal?: AbortSignal) =>
|
|
request.post<PermissionTemplate>('/permission-templates', data, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
deleteTemplate: (id: string, signal?: AbortSignal) =>
|
|
request.delete(`/permission-templates/${id}`, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
applyTemplate: (templateId: string, accountIds: string[], signal?: AbortSignal) =>
|
|
request.post(`/permission-templates/${templateId}/apply`, { account_ids: accountIds }, withSignal({}, signal)).then((r) => r.data),
|
|
}
|