ver. 0.310: logi integracji w panelu admin
Nowa zakladka "Logi" w sekcji Integracje - podglad tabeli pp_log z paginacja, sortowaniem, filtrami i rozwijalnym kontekstem JSON. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,63 @@ class IntegrationsRepository
|
||||
return true;
|
||||
}
|
||||
|
||||
// ── Logs ────────────────────────────────────────────────────
|
||||
|
||||
/**
|
||||
* Pobiera logi z tabeli pp_log z paginacją, sortowaniem i filtrowaniem.
|
||||
*
|
||||
* @return array{items:array, total:int}
|
||||
*/
|
||||
public function getLogs( array $filters, string $sortColumn, string $sortDir, int $page, int $perPage ): array
|
||||
{
|
||||
$where = [];
|
||||
|
||||
if ( !empty( $filters['log_action'] ) ) {
|
||||
$where['action[~]'] = '%' . $filters['log_action'] . '%';
|
||||
}
|
||||
|
||||
if ( !empty( $filters['message'] ) ) {
|
||||
$where['message[~]'] = '%' . $filters['message'] . '%';
|
||||
}
|
||||
|
||||
if ( !empty( $filters['order_id'] ) ) {
|
||||
$where['order_id'] = (int) $filters['order_id'];
|
||||
}
|
||||
|
||||
$total = $this->db->count( 'pp_log', $where );
|
||||
|
||||
$where['ORDER'] = [ $sortColumn => $sortDir ];
|
||||
$where['LIMIT'] = [ ( $page - 1 ) * $perPage, $perPage ];
|
||||
|
||||
$items = $this->db->select( 'pp_log', '*', $where );
|
||||
if ( !is_array( $items ) ) {
|
||||
$items = [];
|
||||
}
|
||||
|
||||
return [
|
||||
'items' => $items,
|
||||
'total' => (int) $total,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Usuwa wpis logu po ID.
|
||||
*/
|
||||
public function deleteLog( int $id ): bool
|
||||
{
|
||||
$this->db->delete( 'pp_log', [ 'id' => $id ] );
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Czyści wszystkie logi z tabeli pp_log.
|
||||
*/
|
||||
public function clearLogs(): bool
|
||||
{
|
||||
$this->db->delete( 'pp_log', [] );
|
||||
return true;
|
||||
}
|
||||
|
||||
// ── Product linking (Apilo) ─────────────────────────────────
|
||||
|
||||
public function linkProduct( int $productId, $externalId, $externalName ): bool
|
||||
|
||||
Reference in New Issue
Block a user