UNPKG

pancake-client-sdk

Version:
100 lines (99 loc) 2.27 kB
export interface Staff { id: string; name: string; email: string; phone_number?: string; avatar_url?: string; role: StaffRole; is_active: boolean; created_at: string; updated_at: string; last_login_at?: string; permissions: string[]; assigned_warehouses?: string[]; } export interface StaffRole { id: number; name: string; permissions: string[]; description?: string; is_system_role: boolean; created_at: string; updated_at: string; } export interface CreateStaffRequest { name: string; email: string; phone_number?: string; role_id: number; password: string; assigned_warehouses?: string[]; } export interface UpdateStaffRequest { name?: string; email?: string; phone_number?: string; role_id?: number; is_active?: boolean; assigned_warehouses?: string[]; } export interface CreateRoleRequest { name: string; permissions: string[]; description?: string; } export interface Permission { code: string; name: string; description: string; group: string; } export interface StaffListParams { page_size?: number; page_number?: number; role_id?: number; is_active?: boolean; search?: string; warehouse_id?: string; } export interface StaffActivityLog { id: string; staff_id: string; staff_name: string; action: string; resource_type: string; resource_id: string; details: Record<string, any>; ip_address?: string; created_at: string; } export interface ActivityLogParams { page_size?: number; page_number?: number; staff_id?: string; action?: string; resource_type?: string; from_date?: string; to_date?: string; } export interface StaffPerformanceReport { staff_id: string; staff_name: string; metrics: { orders_processed: number; total_sales: number; average_processing_time: number; customer_satisfaction_rate?: number; tasks_completed: number; }; period: { start_date: string; end_date: string; }; } export interface PerformanceReportParams { staff_id?: string; from_date: string; to_date: string; include_customer_satisfaction?: boolean; }