mirror of
https://github.com/BililiveRecorder/BililiveRecorder.git
synced 2024-12-25 11:54:43 +08:00
42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using System;
|
|
using AutoMapper;
|
|
using BililiveRecorder.Core.Config.V3;
|
|
using BililiveRecorder.Core.Templating;
|
|
using BililiveRecorder.Web.Models.Rest;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace BililiveRecorder.Web.Api
|
|
{
|
|
[ApiController, Route("api/[controller]", Name = "[controller] [action]")]
|
|
public sealed class MiscController : ControllerBase
|
|
{
|
|
private readonly IMapper mapper;
|
|
|
|
public MiscController(IMapper mapper)
|
|
{
|
|
this.mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据传入参数生成录播文件名
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("generateFileName")]
|
|
public ActionResult<FileNameTemplateOutput> GenerateFileName([FromBody] GenerateFileNameInput input)
|
|
{
|
|
var config = new GlobalConfig()
|
|
{
|
|
WorkDirectory = "/",
|
|
FileNameRecordTemplate = input.Template
|
|
};
|
|
var generator = new FileNameGenerator(config, null);
|
|
|
|
var context = this.mapper.Map<FileNameTemplateContext>(input.Context);
|
|
|
|
var output = generator.CreateFilePath(context);
|
|
return output;
|
|
}
|
|
}
|
|
}
|