using System.Text.Json.Nodes;

namespace Eis.Application.Administration;

public interface IAdminNoticeService
{
    Task<AdminEndpointResult> ListAsync(string sessionToken, CancellationToken cancellationToken);
    Task<AdminEndpointResult> CreateAsync(string sessionToken, JsonObject body, CancellationToken cancellationToken);
    Task<AdminEndpointResult> UpdateAsync(string sessionToken, string noticeId, JsonObject body, CancellationToken cancellationToken);
    Task<AdminEndpointResult> UpdatePublicationVisibilityAsync(
        string sessionToken,
        string sourceType,
        string publicationId,
        JsonObject body,
        CancellationToken cancellationToken);
}
