<?php
// STORAGE/WALLET_LOG — ручной журнал заметок
require_once __DIR__ . '/db.php';

// ===============================================================
// WALLET LOG — ручной журнал заметок по кошельку
// ===============================================================

/**
 * Добавляет запись в журнал кошелька.
 */
function storage_add_wallet_log(string $walletId, string $note): void
{
    $note = trim($note);
    if ($note === '') return;

    $db = storage_db();
    $db->prepare('
        INSERT INTO wallet_log (wallet_id, note)
        VALUES (?, ?)
    ')->execute([$walletId, $note]);
}

/**
 * Возвращает журнал кошелька от новых к старым.
 */
function storage_get_wallet_log(string $walletId, int $limit = 50): array
{
    $db   = storage_db();
    $stmt = $db->prepare('
        SELECT id, created_at, note
        FROM wallet_log
        WHERE wallet_id = ?
        ORDER BY id DESC
        LIMIT ?
    ');
    $stmt->bindValue(1, $walletId);
    $stmt->bindValue(2, $limit, PDO::PARAM_INT);
    $stmt->execute();
    return $stmt->fetchAll();
}

/**
 * Удаляет одну запись журнала (по id, только если принадлежит кошельку).
 */
function storage_delete_wallet_log_entry(int $entryId, string $walletId): void
{
    $db = storage_db();
    $db->prepare('DELETE FROM wallet_log WHERE id = ? AND wallet_id = ?')
       ->execute([$entryId, $walletId]);
}
