Sanitize Koreader progress data in logs

This commit is contained in:
Joseph Milazzo 2025-06-28 08:00:22 -05:00
parent dfab848860
commit d027094f46
2 changed files with 4 additions and 2 deletions

View file

@ -6,6 +6,7 @@ using API.Data;
using API.Data.Repositories; using API.Data.Repositories;
using API.DTOs.Koreader; using API.DTOs.Koreader;
using API.Entities; using API.Entities;
using API.Extensions;
using API.Services; using API.Services;
using Kavita.Common; using Kavita.Common;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
@ -94,7 +95,7 @@ public class KoreaderController : BaseApiController
{ {
var userId = await GetUserId(apiKey); var userId = await GetUserId(apiKey);
var response = await _koreaderService.GetProgress(ebookHash, userId); var response = await _koreaderService.GetProgress(ebookHash, userId);
_logger.LogDebug("Koreader response progress for User ({UserId}): {Progress}", userId, response.Progress); _logger.LogDebug("Koreader response progress for User ({UserId}): {Progress}", userId, response.Progress.Sanitize());
return Ok(response); return Ok(response);
} }

View file

@ -2,6 +2,7 @@ using System.Threading.Tasks;
using API.Data; using API.Data;
using API.DTOs.Koreader; using API.DTOs.Koreader;
using API.DTOs.Progress; using API.DTOs.Progress;
using API.Extensions;
using API.Helpers; using API.Helpers;
using API.Helpers.Builders; using API.Helpers.Builders;
using Kavita.Common; using Kavita.Common;
@ -39,7 +40,7 @@ public class KoreaderService : IKoreaderService
/// <param name="userId"></param> /// <param name="userId"></param>
public async Task SaveProgress(KoreaderBookDto koreaderBookDto, int userId) public async Task SaveProgress(KoreaderBookDto koreaderBookDto, int userId)
{ {
_logger.LogDebug("Saving Koreader progress for User ({UserId}): {KoreaderProgress}", userId, koreaderBookDto.Progress); _logger.LogDebug("Saving Koreader progress for User ({UserId}): {KoreaderProgress}", userId, koreaderBookDto.Progress.Sanitize());
var file = await _unitOfWork.MangaFileRepository.GetByKoreaderHash(koreaderBookDto.Document); var file = await _unitOfWork.MangaFileRepository.GetByKoreaderHash(koreaderBookDto.Document);
if (file == null) throw new KavitaException(await _localizationService.Translate(userId, "file-missing")); if (file == null) throw new KavitaException(await _localizationService.Translate(userId, "file-missing"));