mirror of
https://github.com/yyhuni/xingrin.git
synced 2026-01-31 11:46:16 +08:00
- Add mock data modules for auth, engines, notifications, scheduled-scans, and workers - Implement mock authentication data with user profiles and login/logout responses - Create mock scan engine configurations with multiple predefined scanning profiles - Add mock notification system with various severity levels and categories - Implement mock scheduled scan data with cron expressions and run history - Add mock worker node data with status and performance metrics - Update service layer to integrate with new mock data infrastructure - Provide helper functions for filtering and paginating mock data - Enable frontend development and testing without backend API dependency
62 lines
1.4 KiB
TypeScript
62 lines
1.4 KiB
TypeScript
/**
|
|
* Authentication service
|
|
*/
|
|
import { api } from '@/lib/api-client'
|
|
import type {
|
|
LoginRequest,
|
|
LoginResponse,
|
|
MeResponse,
|
|
LogoutResponse,
|
|
ChangePasswordRequest,
|
|
ChangePasswordResponse
|
|
} from '@/types/auth.types'
|
|
import { USE_MOCK, mockDelay, mockLoginResponse, mockLogoutResponse, mockMeResponse } from '@/mock'
|
|
|
|
/**
|
|
* User login
|
|
*/
|
|
export async function login(data: LoginRequest): Promise<LoginResponse> {
|
|
if (USE_MOCK) {
|
|
await mockDelay()
|
|
return mockLoginResponse
|
|
}
|
|
const res = await api.post<LoginResponse>('/auth/login/', data)
|
|
return res.data
|
|
}
|
|
|
|
/**
|
|
* User logout
|
|
*/
|
|
export async function logout(): Promise<LogoutResponse> {
|
|
if (USE_MOCK) {
|
|
await mockDelay()
|
|
return mockLogoutResponse
|
|
}
|
|
const res = await api.post<LogoutResponse>('/auth/logout/')
|
|
return res.data
|
|
}
|
|
|
|
/**
|
|
* Get current user information
|
|
*/
|
|
export async function getMe(): Promise<MeResponse> {
|
|
if (USE_MOCK) {
|
|
await mockDelay()
|
|
return mockMeResponse
|
|
}
|
|
const res = await api.get<MeResponse>('/auth/me/')
|
|
return res.data
|
|
}
|
|
|
|
/**
|
|
* Change password
|
|
*/
|
|
export async function changePassword(data: ChangePasswordRequest): Promise<ChangePasswordResponse> {
|
|
if (USE_MOCK) {
|
|
await mockDelay()
|
|
return { message: 'Password changed successfully' }
|
|
}
|
|
const res = await api.post<ChangePasswordResponse>('/auth/change-password/', data)
|
|
return res.data
|
|
}
|