first commit
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
import apiClient from './client';
|
||||
import type { AdminUser, SystemSetting } from '../lib/types';
|
||||
|
||||
// Users
|
||||
export function listUsers() {
|
||||
return apiClient.get<AdminUser[]>('admin/users').then((r) => r.data);
|
||||
}
|
||||
|
||||
export function createUser(data: {
|
||||
username: string;
|
||||
password: string;
|
||||
role: string;
|
||||
has_access: boolean;
|
||||
}) {
|
||||
return apiClient.post<AdminUser>('admin/users', data).then((r) => r.data);
|
||||
}
|
||||
|
||||
export function updateAccess(userId: number, hasAccess: boolean) {
|
||||
return apiClient
|
||||
.put<{ message: string }>(`admin/users/${userId}/access`, {
|
||||
has_access: hasAccess,
|
||||
})
|
||||
.then((r) => r.data);
|
||||
}
|
||||
|
||||
export function resetPassword(userId: number, password: string) {
|
||||
return apiClient
|
||||
.put<{ message: string }>(`admin/users/${userId}/password`, { password })
|
||||
.then((r) => r.data);
|
||||
}
|
||||
|
||||
// Settings
|
||||
export function listSettings() {
|
||||
return apiClient
|
||||
.get<SystemSetting[]>('admin/settings')
|
||||
.then((r) => r.data);
|
||||
}
|
||||
|
||||
export function updateSetting(key: string, value: string) {
|
||||
return apiClient
|
||||
.put<{ message: string }>(`admin/settings/${key}`, { value })
|
||||
.then((r) => r.data);
|
||||
}
|
||||
|
||||
export function updateRegistration(enabled: boolean) {
|
||||
return apiClient
|
||||
.put<{ message: string }>('admin/settings/registration', { enabled })
|
||||
.then((r) => r.data);
|
||||
}
|
||||
|
||||
// Jobs
|
||||
export interface JobStatus {
|
||||
name: string;
|
||||
label: string;
|
||||
enabled: boolean;
|
||||
next_run_at: string | null;
|
||||
registered: boolean;
|
||||
}
|
||||
|
||||
export function listJobs() {
|
||||
return apiClient.get<JobStatus[]>('admin/jobs').then((r) => r.data);
|
||||
}
|
||||
|
||||
export function toggleJob(jobName: string, enabled: boolean) {
|
||||
return apiClient
|
||||
.put<{ message: string }>(`admin/jobs/${jobName}/toggle`, { enabled })
|
||||
.then((r) => r.data);
|
||||
}
|
||||
|
||||
export function triggerJob(jobName: string) {
|
||||
return apiClient
|
||||
.post<{ message: string }>(`admin/jobs/${jobName}/trigger`)
|
||||
.then((r) => r.data);
|
||||
}
|
||||
|
||||
// Data cleanup
|
||||
export function cleanupData(olderThanDays: number) {
|
||||
return apiClient
|
||||
.post<{ message: string }>('admin/data/cleanup', {
|
||||
older_than_days: olderThanDays,
|
||||
})
|
||||
.then((r) => r.data);
|
||||
}
|
||||
Reference in New Issue
Block a user