pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
77 lines (76 loc) • 2.22 kB
TypeScript
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>;
}