Skip to content

Commit b8ee456

Browse files
committed
chore: add option for enabling event sync
1 parent 44eb6da commit b8ee456

3 files changed

Lines changed: 12 additions & 0 deletions

File tree

SgfDevs/Dev/EventSync/EventSyncOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace SgfDevs.Dev.EventSync;
33

44
public class EventSyncOptions
55
{
6+
public bool EventSyncEnabled { get; set; }
67
public SessionizeOptions Sessionize { get; set; } = new();
78
public MeetupApiOptions MeetupApi { get; set; } = new();
89
public string EventTimeZoneId { get; set; } = "America/Chicago";

SgfDevs/Dev/EventSync/SessionizeEventSyncBackgroundJob.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Threading.Tasks;
44
using Microsoft.Extensions.DependencyInjection;
55
using Microsoft.Extensions.Logging;
6+
using Microsoft.Extensions.Options;
67
using Umbraco.Cms.Core.Sync;
78
using Umbraco.Cms.Infrastructure.BackgroundJobs;
89

@@ -11,13 +12,16 @@ namespace SgfDevs.Dev.EventSync;
1112
public class SessionizeEventSyncBackgroundJob : IRecurringBackgroundJob
1213
{
1314
private readonly IServiceScopeFactory _serviceScopeFactory;
15+
private readonly IOptions<EventSyncOptions> _options;
1416
private readonly ILogger<SessionizeEventSyncBackgroundJob> _logger;
1517

1618
public SessionizeEventSyncBackgroundJob(
1719
IServiceScopeFactory serviceScopeFactory,
20+
IOptions<EventSyncOptions> options,
1821
ILogger<SessionizeEventSyncBackgroundJob> logger)
1922
{
2023
_serviceScopeFactory = serviceScopeFactory;
24+
_options = options;
2125
_logger = logger;
2226
}
2327

@@ -33,6 +37,12 @@ public event EventHandler? PeriodChanged
3337

3438
public async Task RunJobAsync()
3539
{
40+
if (_options.Value.EventSyncEnabled == false)
41+
{
42+
_logger.LogInformation("Skipping Sessionize event sync job because SGFDevs:EventSyncEnabled is false.");
43+
return;
44+
}
45+
3646
_logger.LogInformation("Starting Sessionize event sync job.");
3747

3848
using var scope = _serviceScopeFactory.CreateScope();

SgfDevs/appsettings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"$schema": "./appsettings-schema.json",
33
"SGFDevs": {
4+
"EventSyncEnabled": false,
45
"AzureBlobStorageKey": "",
56
"NewsletterEndpoint": "",
67
"NewsletterListId": "",

0 commit comments

Comments
 (0)