This commit is contained in:
yml
2026-04-08 16:30:42 +08:00
commit 313c036845
131 changed files with 22393 additions and 0 deletions
+136
View File
@@ -0,0 +1,136 @@
import { apiGet, apiGetBlob, apiPost } from '@/lib/http'
import type {
AdminAuditLogItem,
AdminTaskActionResponse,
AdminCdkListItem,
AdminDashboardSummary,
AdminLoginResponse,
AdminOrderDetail,
AdminOrderListItem,
AdminPagination,
AdminSessionSummary,
AdminTaskDetail,
AdminTaskListItem,
AdminUserListItem,
AdminWebhookEventDetail,
AdminWebhookEventListItem,
AdminWebhookReplayResponse,
} from '@/types/admin'
export function loginAdmin(payload: { username: string; password: string }) {
return apiPost<AdminLoginResponse>('/api/v1/admin/auth/login', payload)
}
export function fetchAdminSession() {
return apiGet<AdminSessionSummary>('/api/v1/admin/auth/session')
}
export function logoutAdmin() {
return apiPost<{ success: boolean }>('/api/v1/admin/auth/logout', {})
}
export function fetchAdminDashboardSummary() {
return apiGet<AdminDashboardSummary>('/api/v1/admin/dashboard/summary')
}
export function fetchAdminUsers(params?: Record<string, unknown>) {
return apiGet<{ items: AdminUserListItem[]; pagination: AdminPagination }>('/api/v1/admin/users', params)
}
export function createAdminUser(payload: { username: string; password: string; role: string; status?: string }) {
return apiPost<{ user: AdminUserListItem }>('/api/v1/admin/users', payload)
}
export function updateAdminUserRole(userId: number | string, payload: { role: string }) {
return apiPost<{ user: AdminUserListItem }>(`/api/v1/admin/users/${userId}/role`, payload)
}
export function updateAdminUserStatus(userId: number | string, payload: { status: string }) {
return apiPost<{ user: AdminUserListItem }>(`/api/v1/admin/users/${userId}/status`, payload)
}
export function resetAdminUserPassword(userId: number | string, payload: { password: string }) {
return apiPost<{ user: AdminUserListItem }>(`/api/v1/admin/users/${userId}/reset-password`, payload)
}
export function fetchAdminAuditLogs(params?: Record<string, unknown>) {
return apiGet<{ items: AdminAuditLogItem[]; pagination: AdminPagination }>('/api/v1/admin/audit-logs', params)
}
export function fetchAdminOrders(params?: Record<string, unknown>) {
return apiGet<{ items: AdminOrderListItem[]; pagination: AdminPagination }>('/api/v1/admin/orders', params)
}
export function fetchAdminOrderDetail(orderId: number | string) {
return apiGet<AdminOrderDetail>(`/api/v1/admin/orders/${orderId}`)
}
export function fetchAdminTasks(params?: Record<string, unknown>) {
return apiGet<{ items: AdminTaskListItem[]; pagination: AdminPagination }>('/api/v1/admin/tasks', params)
}
export function fetchAdminTaskDetail(taskId: number | string) {
return apiGet<AdminTaskDetail>(`/api/v1/admin/tasks/${taskId}`)
}
export function fetchAdminTaskScreenshot(taskId: number | string) {
return apiGetBlob(`/api/v1/admin/tasks/${taskId}/screenshot`)
}
export function retryAdminTask(taskId: number | string) {
return apiPost<AdminTaskActionResponse>(`/api/v1/admin/tasks/${taskId}/retry`, {})
}
export function releaseAdminTaskCdk(taskId: number | string) {
return apiPost<AdminTaskActionResponse>(`/api/v1/admin/tasks/${taskId}/release-cdk`, {})
}
export function regenerateAdminTaskClaimLink(taskId: number | string) {
return apiPost<AdminTaskActionResponse>(
`/api/v1/admin/tasks/${taskId}/regenerate-claim-link`,
{},
)
}
export function closeAdminTask(taskId: number | string) {
return apiPost<AdminTaskActionResponse>(`/api/v1/admin/tasks/${taskId}/close`, {})
}
export function markAdminTaskManualReview(taskId: number | string) {
return apiPost<AdminTaskActionResponse>(`/api/v1/admin/tasks/${taskId}/mark-manual-review`, {})
}
export function fetchAdminCdks(params?: Record<string, unknown>) {
return apiGet<{ items: AdminCdkListItem[]; pagination: AdminPagination }>('/api/v1/admin/cdks', params)
}
export function importAdminCdks(payload: Record<string, unknown>) {
return apiPost<{ total: number; created: number; duplicated: number }>('/api/v1/admin/cdks/import', payload)
}
export function createAdminCdk(payload: Record<string, unknown>) {
return apiPost<{ cdk: AdminCdkListItem | null }>('/api/v1/admin/cdks', payload)
}
export function releaseAdminInventoryCdk(cdkId: number | string) {
return apiPost<{ cdk: AdminCdkListItem | null }>(`/api/v1/admin/cdks/${cdkId}/release`, {})
}
export function invalidateAdminCdk(cdkId: number | string, payload?: Record<string, unknown>) {
return apiPost<{ cdk: AdminCdkListItem | null }>(`/api/v1/admin/cdks/${cdkId}/invalidate`, payload || {})
}
export function fetchAdminWebhookEvents(params?: Record<string, unknown>) {
return apiGet<{ items: AdminWebhookEventListItem[]; pagination: AdminPagination }>(
'/api/v1/admin/webhook-events',
params,
)
}
export function fetchAdminWebhookEventDetail(eventId: number | string) {
return apiGet<AdminWebhookEventDetail>(`/api/v1/admin/webhook-events/${eventId}`)
}
export function replayAdminWebhookEvent(eventId: number | string) {
return apiPost<AdminWebhookReplayResponse>(`/api/v1/admin/webhook-events/${eventId}/replay`, {})
}