Add knowledge item and innovation CRUD with search/filtering, published-only visibility for non-staff, admin publish/update, challenge dictionary, problem aggregation with trends (admin only) and canonical embedding text preparation for matchmaking.
32 lines
817 B
C#
32 lines
817 B
C#
using Asp.Versioning;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using TarninaHub.Application.Abstractions;
|
|
using TarninaHub.Application.Dtos;
|
|
using TarninaHub.Application.Security;
|
|
|
|
namespace TarninaHub.Controllers;
|
|
|
|
[ApiController]
|
|
[ApiVersion("1.0")]
|
|
[Route("api/social-challenges")]
|
|
[Authorize]
|
|
public class SocialChallengesController : ControllerBase
|
|
{
|
|
private readonly IChallengeService _challenges;
|
|
|
|
public SocialChallengesController(IChallengeService challenges)
|
|
{
|
|
_challenges = challenges;
|
|
}
|
|
|
|
[HttpGet]
|
|
public async Task<ActionResult<IReadOnlyList<SocialChallengeResponse>>> List(
|
|
CancellationToken cancellationToken)
|
|
{
|
|
var challenges = await _challenges.ListAsync(cancellationToken);
|
|
|
|
return Ok(challenges);
|
|
}
|
|
}
|