Table of Contents

Class NotificationEmailController

Namespace
KadicErp.WebApi.Controllers.Notifications
Assembly
KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/notifications/email")]
[Produces("application/json", new string[] { })]
[RequireModule("NOTIFICATIONS")]
public sealed class NotificationEmailController : ControllerBase
Inheritance
object
ControllerBase
NotificationEmailController

Constructors

NotificationEmailController(IMediator, IStringLocalizer<GeneralMessages>, IModuleChannelResolver, ITenantContext, ILogger<NotificationEmailController>)

public NotificationEmailController(IMediator mediator, IStringLocalizer<GeneralMessages> localizer, IModuleChannelResolver channelResolver, ITenantContext tenantContext, ILogger<NotificationEmailController> logger)

Parameters

mediator IMediator
localizer IStringLocalizer<GeneralMessages>
channelResolver IModuleChannelResolver
tenantContext ITenantContext
logger ILogger<NotificationEmailController>

Methods

GetPendingQueue(int, CancellationToken)

[HttpGet("queue/pending")]
[Authorize(Policy = "NOTIFICATIONS_QUEUE")]
[ProducesResponseType(typeof(IReadOnlyCollection<NotificationQueueItemListDto>), 200)]
public Task<ActionResult<IReadOnlyCollection<NotificationQueueItemListDto>>> GetPendingQueue(int take, CancellationToken cancellationToken)

Parameters

take int
cancellationToken CancellationToken

Returns

Task<ActionResult<IReadOnlyCollection<NotificationQueueItemListDto>>>

GetQueueItemById(Guid, CancellationToken)

[HttpGet("queue/{id:guid}")]
[Authorize(Policy = "NOTIFICATIONS_QUEUE")]
[ProducesResponseType(typeof(NotificationQueueItemDetailDto), 200)]
[ProducesResponseType(404)]
public Task<ActionResult<NotificationQueueItemDetailDto>> GetQueueItemById(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<NotificationQueueItemDetailDto>>

GetScheduledQueue(DateTimeOffset, int, CancellationToken)

[HttpGet("queue/scheduled")]
[Authorize(Policy = "NOTIFICATIONS_QUEUE")]
[ProducesResponseType(typeof(IReadOnlyCollection<NotificationQueueItemListDto>), 200)]
public Task<ActionResult<IReadOnlyCollection<NotificationQueueItemListDto>>> GetScheduledQueue(DateTimeOffset until, int take, CancellationToken cancellationToken)

Parameters

until DateTimeOffset
take int
cancellationToken CancellationToken

Returns

Task<ActionResult<IReadOnlyCollection<NotificationQueueItemListDto>>>

SendGlobalTemplate(SendGlobalTemplateEmailCommand, CancellationToken)

[HttpPost("send/global-template")]
[AllowAnonymous]
[ProducesResponseType(typeof(SendEmailResult), 200)]
[ProducesResponseType(typeof(SendEmailResult), 400)]
public Task<ActionResult<SendEmailResult>> SendGlobalTemplate(SendGlobalTemplateEmailCommand command, CancellationToken cancellationToken)

Parameters

command SendGlobalTemplateEmailCommand
cancellationToken CancellationToken

Returns

Task<ActionResult<SendEmailResult>>

SendTenantTemplate(SendTenantTemplateEmailCommand, CancellationToken)

[HttpPost("send/tenant-template")]
[Authorize(Policy = "NOTIFICATIONS_EMAIL_SEND")]
[ProducesResponseType(typeof(SendEmailResult), 200)]
[ProducesResponseType(typeof(SendEmailResult), 400)]
public Task<ActionResult<SendEmailResult>> SendTenantTemplate(SendTenantTemplateEmailCommand command, CancellationToken cancellationToken)

Parameters

command SendTenantTemplateEmailCommand
cancellationToken CancellationToken

Returns

Task<ActionResult<SendEmailResult>>

SendText(SendEmailTextRequest, CancellationToken)

[HttpPost("send/text")]
[Authorize(Policy = "NOTIFICATIONS_EMAIL_SEND")]
[ProducesResponseType(typeof(SendEmailResult), 200)]
[ProducesResponseType(400)]
public Task<ActionResult<SendEmailResult>> SendText(SendEmailTextRequest request, CancellationToken cancellationToken)

Parameters

request SendEmailTextRequest
cancellationToken CancellationToken

Returns

Task<ActionResult<SendEmailResult>>