Add LineNotificationService with send, binding, and group ops
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
namespace ROLAC.API.Services.Notifications;
|
||||
|
||||
/// <summary>Outcome of a webhook-driven binding attempt.</summary>
|
||||
public sealed record LineBindingResult(bool Success, string Message, int? MemberId);
|
||||
|
||||
/// <summary>
|
||||
/// Line-specific notification operations: outbound push to bound members/groups, plus the
|
||||
/// webhook-driven binding-code generation/consumption and group registration.
|
||||
/// </summary>
|
||||
public interface ILineNotificationService
|
||||
{
|
||||
Task<NotificationResult> SendLineAsync(string body, int[] memberIds, int[] groupIds,
|
||||
string sentByUserId, CancellationToken ct = default);
|
||||
|
||||
Task<string> GenerateLineBindingCodeAsync(int memberId, CancellationToken ct = default);
|
||||
|
||||
Task<LineBindingResult> TryBindMemberAsync(string externalId, string code, CancellationToken ct = default);
|
||||
Task RegisterGroupAsync(string externalId, CancellationToken ct = default);
|
||||
Task DeactivateGroupAsync(string externalId, CancellationToken ct = default);
|
||||
}
|
||||
Reference in New Issue
Block a user