import { apiClient } from '@/shared/api/client' import type { ApiResponse, PaginatedResult } from '@/shared/types/types' export interface ManualEntryItem { id: number entry_no: string admin_id: number admin_name: string admin_username: string remark: string created_at: string } export interface ManualEntryAgentStats { admin_id: number admin_name: string count: number } export interface CreateManualEntryRequest { entry_no: string remark?: string } export interface UpdateManualEntryRequest { entry_no: string remark?: string } export interface ManualEntryListQuery { entry_no?: string keyword?: string admin_id?: number start_date?: string end_date?: string } export async function fetchManualEntries( page = 1, pageSize = 20, query: ManualEntryListQuery = {} ) { const { data } = await apiClient.get>>( '/admin/manual-entries', { params: { page, page_size: pageSize, ...query }, } ) return data.data } export async function createManualEntry(payload: CreateManualEntryRequest) { const { data } = await apiClient.post>( '/admin/manual-entries', payload ) return data.data } export async function updateManualEntry(id: number, payload: UpdateManualEntryRequest) { const { data } = await apiClient.put>( `/admin/manual-entries/${id}`, payload ) return data.data } export async function deleteManualEntry(id: number) { const { data } = await apiClient.delete>( `/admin/manual-entries/${id}` ) return data.data } export async function fetchManualEntryTodayStats() { const { data } = await apiClient.get>( '/admin/manual-entries/today-stats' ) return data.data }