//--- Methods --- public override async Task InitializeAsync(LambdaConfig config) { var tableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText("GoFishSessions")); var accountRegion = config.ReadText("AccountRegion"); var bucketName = AwsConverters.ConvertBucketArnToName(config.ReadText("GoFishSumerianBucket")); var uriToCardImage = $"http://{bucketName}.s3-website-{accountRegion}.amazonaws.com"; _dependencyProvider = new DependencyProvider(new AmazonDynamoDBClient(), tableName); _processIntent = new ProcessIntent(_dependencyProvider, Logger, uriToCardImage); }
//--- Methods --- public override async Task InitializeAsync(LambdaConfig config) { var dynamoDbUserSubscriptionTableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText("UserSubscriptions")); var compareTopicArn = config.ReadText("CompareTopicPublish"); var dynamoDbClient = new AmazonDynamoDBClient(); var snsClient = new AmazonSimpleNotificationServiceClient(); var provider = new DependencyProvider(dynamoDbClient, snsClient, dynamoDbUserSubscriptionTableName, compareTopicArn); _logic = new Logic(provider, Logger); }
//--- Constructors --- public override Task InitializeAsync(LambdaConfig config) { var tableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText(("DynamoDbSongs"))); var indexNameSearchTitle = config.ReadText("DynamoDbIndexNameSearchTitleName"); var indexNameSearchTitleArtist = config.ReadText("DynamoDbIndexNameSearchTitleArtistName"); var indexTableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText("DynamoDbTitleWordCache")); _jukeboxDynamoDb = new JukeboxDynamoDb(new AmazonDynamoDBClient(), tableName, indexNameSearchTitle, indexNameSearchTitleArtist, indexTableName); _songlistUpload = new Logic(this); return(Task.CompletedTask); }
//--- Constructors --- public override Task InitializeAsync(LambdaConfig config) { var queueName = config.ReadText("SqsSongQueue"); var tableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText("DynamoDbSongs")); var indexNameSearchTitle = config.ReadText("DynamoDbIndexNameSearchTitleName"); var indexNameSearchTitleArtist = config.ReadText("DynamoDbIndexNameSearchTitleArtistName"); var indexTableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText("DynamoDbTitleWordCache")); _jukeboxDynamoDb = new JukeboxDynamoDb(new AmazonDynamoDBClient(), tableName, indexNameSearchTitle, indexNameSearchTitleArtist, indexTableName); _playSongRequest = new PlaySongNumberRequest(this, new AmazonSQSClient(), queueName, this); return(Task.CompletedTask); }
//--- Methods --- public override async Task InitializeAsync(LambdaConfig config) { var dynamoDbSubscriptionTableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText("UserSubscriptions")); var dynamoDbVideoTableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText("CacheVideos")); var dynamoDbPlaylistsTableName = AwsConverters.ConvertDynamoDBArnToName(config.ReadText("CachePlaylists")); var fromEmail = config.ReadText("FromEmail"); var youtubeApiKey = config.ReadText("YouTubeApiKey"); var youtubeApiClient = new YouTubeService(new BaseClientService.Initializer { ApiKey = youtubeApiKey, ApplicationName = GetType().ToString() }); var dynamoDbClient = new AmazonDynamoDBClient(); var sesClient = new AmazonSimpleEmailServiceV2Client(); var provider = new DependencyProvider(youtubeApiClient, dynamoDbPlaylistsTableName, dynamoDbSubscriptionTableName, dynamoDbVideoTableName, dynamoDbClient, sesClient); var dataAccess = new DataAccess(provider); _logic = new Logic(fromEmail, dataAccess, Logger); }