UNPKG

pancake-client-sdk

Version:
77 lines (76 loc) 2.22 kB
import { Staff, StaffRole, CreateStaffRequest, UpdateStaffRequest, CreateRoleRequest, Permission, StaffListParams, StaffActivityLog, ActivityLogParams, StaffPerformanceReport, PerformanceReportParams } from '../types/staff'; import { BaseResource } from './base'; export declare class StaffResource extends BaseResource { /** * Get list of staff members */ list(params?: StaffListParams): Promise<{ data: Staff[]; }>; /** * Get staff member by ID */ getById(staffId: string): Promise<Staff>; /** * Create new staff member */ create(data: CreateStaffRequest): Promise<Staff>; /** * Update staff member */ update(staffId: string, data: UpdateStaffRequest): Promise<Staff>; /** * Get list of staff roles */ listRoles(): Promise<{ data: StaffRole[]; }>; /** * Create new role */ createRole(data: CreateRoleRequest): Promise<StaffRole>; /** * Update role */ updateRole(roleId: number, data: Partial<StaffRole>): Promise<StaffRole>; /** * Delete role */ deleteRole(roleId: number): Promise<void>; /** * Get list of available permissions */ listPermissions(): Promise<{ data: Permission[]; }>; /** * Get staff activity logs */ getActivityLogs(params?: ActivityLogParams): Promise<{ data: StaffActivityLog[]; }>; /** * Get staff member activity logs */ getStaffActivityLogs(staffId: string, params?: Omit<ActivityLogParams, 'staff_id'>): Promise<{ data: StaffActivityLog[]; }>; /** * Get staff performance reports */ getPerformanceReports(params: PerformanceReportParams): Promise<{ data: StaffPerformanceReport[]; }>; /** * Get individual staff performance report */ getStaffPerformance(staffId: string, params: Omit<PerformanceReportParams, 'staff_id'>): Promise<StaffPerformanceReport>; /** * Reset staff password */ resetPassword(staffId: string, newPassword: string): Promise<void>; /** * Enable/disable staff member */ setActive(staffId: string, isActive: boolean): Promise<Staff>; }