This commit is contained in:
2023-12-08 14:50:02 +00:00
parent cef1b845bc
commit 865747fbae
13 changed files with 676 additions and 6 deletions

View File

@ -8,11 +8,12 @@ using Nostr.Client.Json;
using NostrStreamer.ApiModel;
using NostrStreamer.Database;
using NostrStreamer.Services;
using NostrStreamer.Services.Clips;
using NostrStreamer.Services.StreamManager;
namespace NostrStreamer.Controllers;
[Authorize]
[Authorize(AuthenticationSchemes = NostrAuth.Scheme)]
[EnableCors]
[Route("/api/nostr")]
public class NostrController : Controller
@ -21,13 +22,16 @@ public class NostrController : Controller
private readonly Config _config;
private readonly StreamManagerFactory _streamManagerFactory;
private readonly UserService _userService;
private readonly IClipService _clipService;
public NostrController(StreamerContext db, Config config, StreamManagerFactory streamManager, UserService userService)
public NostrController(StreamerContext db, Config config, StreamManagerFactory streamManager, UserService userService,
IClipService clipService)
{
_db = db;
_config = config;
_streamManagerFactory = streamManager;
_userService = userService;
_clipService = clipService;
}
[HttpGet("account")]
@ -161,6 +165,19 @@ public class NostrController : Controller
return Ok();
}
[HttpPost("clip/{id:guid}")]
public async Task<IActionResult> CreateClip([FromRoute] Guid id)
{
var pk = GetPubKey();
var clip = await _clipService.CreateClip(id, pk);
if (clip == default) return StatusCode(500);
return Json(new
{
url = clip.Url
});
}
private async Task<User?> GetUser()
{
var pk = GetPubKey();