Skip to content

Commit

Permalink
Connecting the missing pieces for YtChat (#298)
Browse files Browse the repository at this point in the history
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
  • Loading branch information
csharpfritz and github-actions[bot] authored Nov 13, 2023
1 parent ef865c8 commit c4fdd7d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
9 changes: 4 additions & 5 deletions src/TagzApp.Providers.YouTubeChat/YouTubeChatProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using Google.Apis.Services;
using Google.Apis.YouTube.v3;
using Google.Apis.YouTube.v3.Data;
using Microsoft.Extensions.Options;
using Microsoft.Extensions.Configuration;

namespace TagzApp.Providers.YouTubeChat;

Expand Down Expand Up @@ -35,13 +35,12 @@ public class YouTubeChatProvider : ISocialMediaProvider, IDisposable
private SocialMediaStatus _Status = SocialMediaStatus.Unhealthy;
private string _StatusMessage = "Not started";

public YouTubeChatProvider(YouTubeChatConfiguration config, IOptions<ApplicationConfiguration> appConfig)
public YouTubeChatProvider(YouTubeChatConfiguration config, IConfiguration configuration)
{
_ChatConfig = config;
var rawConfig = configuration["ApplicationConfiguration:YouTubeChatConfiguration"];

if (appConfig.Value.YouTubeChatConfiguration == "{}") return;

var youtubeConfig = JsonSerializer.Deserialize<YouTubeChatApplicationConfiguration>(appConfig.Value.YouTubeChatConfiguration);
var youtubeConfig = JsonSerializer.Deserialize<YouTubeChatApplicationConfiguration>(rawConfig);
RefreshToken = youtubeConfig.RefreshToken;
LiveChatId = youtubeConfig.LiveChatId;
YouTubeEmailId = youtubeConfig.ChannelEmail;
Expand Down
10 changes: 9 additions & 1 deletion src/TagzApp.Web/Areas/Admin/Pages/YouTubeChat.cshtml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using Microsoft.Extensions.Options;
using TagzApp.Communication;
using TagzApp.Providers.YouTubeChat;
using TagzApp.Storage.Postgres.ApplicationConfiguration;
using TagzApp.Web.Data;
using TagzApp.Web.Services;

Expand All @@ -17,6 +18,7 @@ public class YouTubeChatModel : PageModel
private readonly IApplicationConfigurationRepository _Repository;
private readonly ApplicationConfiguration _AppConfiguration;
private readonly UserManager<TagzAppUser> _UserManager;
private readonly IConfigurationRoot? _ConfigurationRoot;
private YouTubeChatApplicationConfiguration? _YouTubeChatConfiguration;
private YouTubeChatProvider _Provider;
private IEnumerable<YouTubeBroadcast> _Broadcasts = Enumerable.Empty<YouTubeBroadcast>();
Expand All @@ -25,14 +27,17 @@ public YouTubeChatModel(
IMessagingService messagingService,
IApplicationConfigurationRepository repository,
IOptions<ApplicationConfiguration> appConfiguration,
UserManager<TagzAppUser> userManager)
UserManager<TagzAppUser> userManager,
IConfiguration configurationRoot)
{

var providers = (messagingService as BaseProviderManager).Providers;
_Provider = providers.FirstOrDefault(p => p.Id == "YOUTUBE-CHAT") as YouTubeChatProvider;
_Repository = repository;
_AppConfiguration = appConfiguration.Value;
_UserManager = userManager;
_ConfigurationRoot = configurationRoot as IConfigurationRoot;


if (!string.IsNullOrEmpty(_AppConfiguration.YouTubeChatConfiguration.Replace("{}", "")))
{
Expand Down Expand Up @@ -143,6 +148,9 @@ public async Task<IActionResult> OnPostAsync()
_AppConfiguration.YouTubeChatConfiguration = JsonSerializer.Serialize(_YouTubeChatConfiguration);
await _Repository.SetValues(_AppConfiguration);

var thisProvider = _ConfigurationRoot.Providers.OfType<ApplicationConfigurationProvider>().First();
thisProvider.Reload();

return RedirectToPage("youtubechat", new { Area = "Admin" });

}
Expand Down
3 changes: 3 additions & 0 deletions src/TagzApp.Web/appsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
"ChannelName": "csharpfritz",
"Activated": true
},
"youtubechat": {
"Activated": true
},
"twitter": {
"Activated": false,
"BaseAddress": "https://api.twitter.com",
Expand Down

0 comments on commit c4fdd7d

Please sign in to comment.