update .net, setup modern logging
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
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
This commit is contained in:
@@ -1,35 +1,27 @@
|
||||
using Microsoft.Extensions.Options;
|
||||
using Serilog;
|
||||
using Twilio;
|
||||
using Twilio.Rest.Api.V2010.Account;
|
||||
using YaleAccess.Models.Options;
|
||||
|
||||
namespace YaleAccess.Services
|
||||
{
|
||||
public class SMSService
|
||||
public class SMSService(ILogger<SMSService> logger, IOptions<TwiloOptions> twiloOptions)
|
||||
{
|
||||
private readonly TwiloOptions _twiloOptions;
|
||||
|
||||
public SMSService(IOptions<TwiloOptions> twiloOptions)
|
||||
{
|
||||
_twiloOptions = twiloOptions.Value;
|
||||
}
|
||||
|
||||
public async Task SendCodeViaSMSAsync(string code, string phoneNumber)
|
||||
{
|
||||
// Create a Twilio client
|
||||
TwilioClient.Init(_twiloOptions.AccountSid, _twiloOptions.AuthToken);
|
||||
TwilioClient.Init(twiloOptions.Value.AccountSid, twiloOptions.Value.AuthToken);
|
||||
|
||||
// Send the message
|
||||
var message = await MessageResource.CreateAsync(
|
||||
body: $"{_twiloOptions.Message} {code}",
|
||||
from: new Twilio.Types.PhoneNumber(_twiloOptions.FromNumber),
|
||||
body: $"{twiloOptions.Value.Message} {code}",
|
||||
from: new Twilio.Types.PhoneNumber(twiloOptions.Value.FromNumber),
|
||||
to: new Twilio.Types.PhoneNumber(phoneNumber)
|
||||
);
|
||||
|
||||
// Log the message
|
||||
Log.Logger.Information("SMS sent to {PhoneNumber} with message SID {MessageSid}.", phoneNumber, message.Sid);
|
||||
Log.Logger.Debug("SMS message: {MessageBody}", message.Body);
|
||||
logger.LogInformation("SMS sent to {PhoneNumber} with message SID {MessageSid}.", phoneNumber, message.Sid);
|
||||
logger.LogDebug("SMS message: {MessageBody}", message.Body);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Microsoft.Extensions.Options;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Serilog;
|
||||
using YaleAccess.Models;
|
||||
using YaleAccess.Models.Options;
|
||||
using YaleAccess.Services.Interfaces;
|
||||
@@ -38,10 +37,11 @@ namespace YaleAccess.Services
|
||||
|
||||
#endregion Dispose Logic
|
||||
|
||||
private readonly ILogger<YaleAccessor> _logger;
|
||||
private Driver? driver = null;
|
||||
private readonly ZWaveNode lockNode = null!;
|
||||
|
||||
public YaleAccessor(IOptions<ZWaveOptions> zwave, IOptions<DevicesOptions> device)
|
||||
public YaleAccessor(IOptions<ZWaveOptions> zwave, IOptions<DevicesOptions> device, ILogger<YaleAccessor> logger)
|
||||
{
|
||||
// Retrive options from configuration
|
||||
ZWaveOptions zwaveOptions = zwave.Value;
|
||||
@@ -75,6 +75,8 @@ namespace YaleAccess.Services
|
||||
|
||||
// Get the lock node from the driver
|
||||
lockNode = driver.Controller.Nodes.Get(devicesOptions.YaleLockNodeId);
|
||||
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<YaleUserCode> GetCodeInformationAsync(int userCodeId)
|
||||
@@ -101,7 +103,7 @@ namespace YaleAccess.Services
|
||||
// If the result is not successful log the message
|
||||
if (!result.Success)
|
||||
{
|
||||
Log.Logger.Error("Failed to set user code {@userCodeId} to {@code}. Error message: {message}", userCodeId, code, result.Message);
|
||||
_logger.LogError("Failed to set user code {@userCodeId} to {@code}. Error message: {message}", userCodeId, code, result.Message);
|
||||
}
|
||||
|
||||
// Return the result
|
||||
@@ -116,7 +118,7 @@ namespace YaleAccess.Services
|
||||
// If the result is not successful log the message
|
||||
if (!result.Success)
|
||||
{
|
||||
Log.Logger.Error("Failed to set user code {@userCode} to available status. Error message: {message}", userCode, result.Message);
|
||||
_logger.LogError("Failed to set user code {@userCode} to available status. Error message: {message}", userCode, result.Message);
|
||||
}
|
||||
|
||||
// Return the result
|
||||
|
||||
Reference in New Issue
Block a user