public PostRecurrenceController(ILogger <PostRecurrenceController> logger, IRedditService redditService, IConfiguration config) { _logger = logger; _redditService = redditService; _postRecurrenceStorage = new PostRecurrenceEntity(config["ConnectionString"]); _redditUserStorage = new RedditUserEntity(config["ConnectionString"]); }
public async Task <IActionResult> Post([FromBody] OAuthDto oauth) { var accessToken = await _redditService.Authorize(oauth.Code); var redditIdentity = await _redditService.GetRedditIdentity(); var redditUser = await _redditUserStorage.FindByAsync(r => r.RedditUsername == redditIdentity.RedditUsername); if (redditUser == null) { var redditEntity = new RedditUserEntity(redditIdentity.RedditUsername, accessToken.AccessToken, accessToken.RefreshToken, accessToken.Scope, accessToken.TokenExpiration); var savedRedditUserEntity = await _redditUserStorage.CreateAsync(redditEntity); return(Ok(new OAuthResponseDto(savedRedditUserEntity.Id))); } else { // return stored user but update access token redditUser.AccessToken = accessToken.AccessToken; redditUser.RefreshToken = accessToken.RefreshToken; redditUser.Scope = accessToken.Scope; redditUser.TokenExpiresAt = accessToken.TokenExpiration; await _redditUserStorage.UpdateAsync(redditUser); return(Ok(new OAuthResponseDto(redditUser.Id))); } }
public PostJob(ILogger <PostJob> logger, IRedditService redditService, IConfiguration config) { _logger = logger; _logger.LogWarning($"Starting post job. App Version {new Settings().AppVersion}"); _postRecurrenceStorage = new PostRecurrenceEntity(config["ConnectionString"]); _redditUserStorage = new RedditUserEntity(config["ConnectionString"]); _redditService = redditService; _logger.LogInformation("Starting PostJob"); }
public RedditUserController(ILogger <RedditUserController> logger, IConfiguration config) { _logger = logger; _redditUserStorage = new RedditUserEntity(config["ConnectionString"]); }
public OAuthController(ILogger <OAuthController> logger, IRedditService redditService, IConfiguration config) { _logger = logger; _redditService = redditService; _redditUserStorage = new RedditUserEntity(config["ConnectionString"]); }