mirror of
https://github.com/Kareadita/Kavita.git
synced 2026-06-05 14:25:17 -04:00
Progress Overhaul + Profile Page and a LOT more! (#4262)
Co-authored-by: Amelia <77553571+Fesaa@users.noreply.github.com> Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
This commit is contained in:
@@ -1,13 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using API.Constants;
|
||||
using API.Data;
|
||||
using API.DTOs.Theme;
|
||||
using API.Entities;
|
||||
using API.Extensions;
|
||||
using API.Middleware;
|
||||
using API.Services;
|
||||
using API.Services.Tasks;
|
||||
using AutoMapper;
|
||||
@@ -15,7 +13,6 @@ using Kavita.Common;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
|
||||
namespace API.Controllers;
|
||||
|
||||
@@ -49,7 +46,7 @@ public class ThemeController : BaseApiController
|
||||
}
|
||||
|
||||
|
||||
[Authorize("RequireAdminRole")]
|
||||
[Authorize(PolicyGroups.AdminPolicy)]
|
||||
[HttpPost("update-default")]
|
||||
public async Task<ActionResult> UpdateDefault(UpdateDefaultThemeDto dto)
|
||||
{
|
||||
@@ -59,7 +56,7 @@ public class ThemeController : BaseApiController
|
||||
}
|
||||
catch (KavitaException)
|
||||
{
|
||||
return BadRequest(await _localizationService.Translate(User.GetUserId(), "theme-doesnt-exist"));
|
||||
return BadRequest(await _localizationService.Translate(UserId, "theme-doesnt-exist"));
|
||||
}
|
||||
|
||||
return Ok();
|
||||
@@ -101,9 +98,9 @@ public class ThemeController : BaseApiController
|
||||
/// <param name="themeId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete]
|
||||
[DisallowRole(PolicyConstants.ReadOnlyRole)]
|
||||
public async Task<ActionResult<IEnumerable<DownloadableSiteThemeDto>>> DeleteTheme(int themeId)
|
||||
{
|
||||
if (User.IsInRole(PolicyConstants.ReadOnlyRole)) return BadRequest(await _localizationService.Translate(User.GetUserId(), "permission-denied"));
|
||||
await _themeService.DeleteTheme(themeId);
|
||||
|
||||
return Ok();
|
||||
@@ -126,16 +123,15 @@ public class ThemeController : BaseApiController
|
||||
/// <param name="formFile"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("upload-theme")]
|
||||
[DisallowRole(PolicyConstants.ReadOnlyRole)]
|
||||
public async Task<ActionResult<SiteThemeDto>> DownloadTheme(IFormFile formFile)
|
||||
{
|
||||
if (User.IsInRole(PolicyConstants.ReadOnlyRole)) return BadRequest(await _localizationService.Translate(User.GetUserId(), "permission-denied"));
|
||||
|
||||
if (!formFile.FileName.EndsWith(".css")) return BadRequest("Invalid file");
|
||||
if (formFile.FileName.Contains("..")) return BadRequest("Invalid file");
|
||||
var tempFile = await UploadToTemp(formFile);
|
||||
|
||||
// Set summary as "Uploaded by User.GetUsername() on DATE"
|
||||
var theme = await _themeService.CreateThemeFromFile(tempFile, User.GetUsername());
|
||||
// Set summary as "Uploaded by Username! on DATE"
|
||||
var theme = await _themeService.CreateThemeFromFile(tempFile, Username!);
|
||||
return Ok(_mapper.Map<SiteThemeDto>(theme));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user