guard_admin(); if ( $check ) { return $check; } if ( $staff_id <= 0 ) { return [ 'error' => 'A valid staff_id is required.' ]; } try { $request = $this->build_request( 'GET', '/timetics/v1/staffs/' . $staff_id, [], null, [ 'staff_id' => $staff_id ] ); if ( is_array( $request ) ) { return $request; } $controller = \Timetics\Core\Staffs\Api_Staff::instance(); $data = $this->extract_response( $controller->get_item( $request ), "Staff #{$staff_id} was not found." ); if ( isset( $data['error'] ) ) { return $data; } return [ 'staff' => $this->shape_staff( $data ) ]; } catch ( \Throwable $e ) { Log::error( 'Timetics_Get_Staff_Tool error', [ 'error' => $e->getMessage() ] ); return [ 'error' => 'Failed to get staff: ' . $e->getMessage() ]; } } }