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.
25 lines
823 B
C#
25 lines
823 B
C#
using TarninaHub.Application.Dtos;
|
|
|
|
namespace TarninaHub.Application.Abstractions;
|
|
|
|
public interface IKnowledgeItemService
|
|
{
|
|
Task<IReadOnlyList<KnowledgeItemResponse>> ListAsync(
|
|
string? kind,
|
|
string? challengeId,
|
|
string? query,
|
|
bool onlyPublished,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<KnowledgeItemResponse?> GetAsync(string knowledgeItemId, CancellationToken cancellationToken);
|
|
|
|
Task<KnowledgeItemResponse> CreateAsync(KnowledgeItemRequest request, CancellationToken cancellationToken);
|
|
|
|
Task<KnowledgeItemResponse?> UpdateAsync(
|
|
string knowledgeItemId,
|
|
KnowledgeItemRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<KnowledgeItemResponse?> PublishAsync(string knowledgeItemId, CancellationToken cancellationToken);
|
|
}
|