Implement step 17 modules: threads/messages, notifications with automation (submission.created, idea.created, grant_call.opened), innovation test feedback, admin panel (submissions, verify, metrics, grant call status), Middleman adaptation and partnerships. Split multi-type files into one type per file and replace object-valued dictionaries with string-valued maps in data contracts (migrations 0006/0007).
31 lines
772 B
C#
31 lines
772 B
C#
using TarninaHub.Application.Dtos;
|
|
|
|
namespace TarninaHub.Application.Abstractions;
|
|
|
|
|
|
public interface IThreadService
|
|
{
|
|
Task<IReadOnlyList<ThreadResponse>> ListForUserAsync(
|
|
string userId,
|
|
bool isStaff,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<ThreadResponse?> GetAsync(
|
|
string threadId,
|
|
string userId,
|
|
bool isStaff,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<ThreadResponse> CreateAsync(
|
|
string creatorId,
|
|
CreateThreadRequest request,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<MessageResponse?> AddMessageAsync(
|
|
string threadId,
|
|
string authorId,
|
|
bool isStaff,
|
|
CreateMessageRequest request,
|
|
CancellationToken cancellationToken);
|
|
}
|