mirror of
https://github.com/Kareadita/Kavita.git
synced 2025-05-24 00:52:23 -04:00
* Tweaked log messaging for library scan when no files were scanned. * When a theme that is set gets removed due to a scan, inform the user to refresh. * Fixed a typo and make Darkness -> Brightness * Make download theme files allowed to be invoked by non-authenticated users, to allow new users to get the default theme. * Hide all series side nav item if there are no libraries exposed to the user * Fixed an API for Tachiyomi when syncing progress * Fixed dashboard not responding to Series Removed and Added events. Ensure we send SeriesRemoved events when they are deleted. * Reverted Hangfire SQLite due to aborted jobs being resumed, when they shouldnt. Fixed some scan loop issues where cover gen wouldn't be invoked always on new libraries.
68 lines
1.8 KiB
C#
68 lines
1.8 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using API.Data;
|
|
using API.DTOs.Theme;
|
|
using API.Extensions;
|
|
using API.Services;
|
|
using API.Services.Tasks;
|
|
using Kavita.Common;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace API.Controllers;
|
|
|
|
public class ThemeController : BaseApiController
|
|
{
|
|
private readonly IUnitOfWork _unitOfWork;
|
|
private readonly IThemeService _themeService;
|
|
private readonly ITaskScheduler _taskScheduler;
|
|
|
|
public ThemeController(IUnitOfWork unitOfWork, IThemeService themeService, ITaskScheduler taskScheduler)
|
|
{
|
|
_unitOfWork = unitOfWork;
|
|
_themeService = themeService;
|
|
_taskScheduler = taskScheduler;
|
|
}
|
|
|
|
[AllowAnonymous]
|
|
[HttpGet]
|
|
public async Task<ActionResult<IEnumerable<SiteThemeDto>>> GetThemes()
|
|
{
|
|
return Ok(await _unitOfWork.SiteThemeRepository.GetThemeDtos());
|
|
}
|
|
|
|
[Authorize("RequireAdminRole")]
|
|
[HttpPost("scan")]
|
|
public ActionResult Scan()
|
|
{
|
|
_taskScheduler.ScanSiteThemes();
|
|
return Ok();
|
|
}
|
|
|
|
[Authorize("RequireAdminRole")]
|
|
[HttpPost("update-default")]
|
|
public async Task<ActionResult> UpdateDefault(UpdateDefaultThemeDto dto)
|
|
{
|
|
await _themeService.UpdateDefault(dto.ThemeId);
|
|
return Ok();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns css content to the UI. UI is expected to escape the content
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[AllowAnonymous]
|
|
[HttpGet("download-content")]
|
|
public async Task<ActionResult<string>> GetThemeContent(int themeId)
|
|
{
|
|
try
|
|
{
|
|
return Ok(await _themeService.GetContent(themeId));
|
|
}
|
|
catch (KavitaException ex)
|
|
{
|
|
return BadRequest(ex.Message);
|
|
}
|
|
}
|
|
}
|