Files
yale-user-access/packages/backend/Services/SMSService.cs
Liam Pietralla 6d5749acd3
Some checks failed
Build and Publish / Build Yale Access Backend (pull_request) Failing after 1m28s
Build and Publish / Push Yale Access Backend Docker Image (pull_request) Has been skipped
Build and Publish / Build Yale Access Frontend (pull_request) Successful in 1m42s
Build and Publish / Push Yale Access Frontend Docker Image (pull_request) Has been skipped
update .net, setup modern logging
2026-02-18 08:48:15 +11:00

28 lines
1.0 KiB
C#

using Microsoft.Extensions.Options;
using Twilio;
using Twilio.Rest.Api.V2010.Account;
using YaleAccess.Models.Options;
namespace YaleAccess.Services
{
public class SMSService(ILogger<SMSService> logger, IOptions<TwiloOptions> twiloOptions)
{
public async Task SendCodeViaSMSAsync(string code, string phoneNumber)
{
// Create a Twilio client
TwilioClient.Init(twiloOptions.Value.AccountSid, twiloOptions.Value.AuthToken);
// Send the message
var message = await MessageResource.CreateAsync(
body: $"{twiloOptions.Value.Message} {code}",
from: new Twilio.Types.PhoneNumber(twiloOptions.Value.FromNumber),
to: new Twilio.Types.PhoneNumber(phoneNumber)
);
// Log the message
logger.LogInformation("SMS sent to {PhoneNumber} with message SID {MessageSid}.", phoneNumber, message.Sid);
logger.LogDebug("SMS message: {MessageBody}", message.Body);
}
}
}