def __init__(self, clients, managers=None): super().__init__(clients, managers=managers) managers = managers or {} managers['post'] = self self.album_manager = managers.get('album') or models.AlbumManager( clients, managers=managers) self.block_manager = managers.get('block') or models.BlockManager( clients, managers=managers) self.comment_manager = managers.get( 'comment') or models.CommentManager(clients, managers=managers) self.follower_manager = managers.get( 'follower') or models.FollowerManager(clients, managers=managers) self.like_manager = managers.get('like') or models.LikeManager( clients, managers=managers) self.user_manager = managers.get('user') or models.UserManager( clients, managers=managers) self.appstore_manager = managers.get( 'appstore') or models.AppStoreManager(clients, managers=managers) self.clients = clients if 'appsync' in clients: self.appsync = PostAppSync(clients['appsync']) if 'elasticsearch' in clients: self.elasticsearch_client = clients['elasticsearch'] if 'dynamo' in clients: self.dynamo = PostDynamo(clients['dynamo']) self.image_dynamo = PostImageDynamo(clients['dynamo']) self.original_metadata_dynamo = PostOriginalMetadataDynamo( clients['dynamo'])
def __init__(self, clients, managers=None, placeholder_photos_directory=S3_PLACEHOLDER_PHOTOS_DIRECTORY): super().__init__(clients, managers=managers) managers = managers or {} managers['user'] = self self.album_manager = managers.get('album') or models.AlbumManager(clients, managers=managers) self.block_manager = managers.get('block') or models.BlockManager(clients, managers=managers) self.card_manager = managers.get('card') or models.CardManager(clients, managers=managers) self.chat_manager = managers.get('chat') or models.ChatManager(clients, managers=managers) self.comment_manager = managers.get('comment') or models.CommentManager(clients, managers=managers) self.follower_manager = managers.get('follower') or models.FollowerManager(clients, managers=managers) self.like_manager = managers.get('like') or models.LikeManager(clients, managers=managers) self.post_manager = managers.get('post') or models.PostManager(clients, managers=managers) self.clients = clients for client_name in self.client_names: if client_name in clients: setattr(self, f'{client_name}_client', clients[client_name]) if 'dynamo' in clients: self.dynamo = UserDynamo(clients['dynamo']) self.email_dynamo = UserContactAttributeDynamo(clients['dynamo'], 'userEmail') self.phone_number_dynamo = UserContactAttributeDynamo(clients['dynamo'], 'userPhoneNumber') self.validate = UserValidate() self.placeholder_photos_directory = placeholder_photos_directory
'dynamo': clients.DynamoClient(), 'dynamo_feed': clients.DynamoClient(table_name=DYNAMO_FEED_TABLE), 'elasticsearch': clients.ElasticSearchClient(), 'pinpoint': clients.PinpointClient(), 'real_dating': clients.RealDatingClient(), 's3_uploads': clients.S3Client(S3_UPLOADS_BUCKET), } managers = {} album_manager = managers.get('album') or models.AlbumManager(clients, managers=managers) appstore_manager = managers.get('appstore') or models.AppStoreManager( clients, managers=managers) block_manager = managers.get('block') or models.BlockManager(clients, managers=managers) card_manager = managers.get('card') or models.CardManager(clients, managers=managers) chat_manager = managers.get('chat') or models.ChatManager(clients, managers=managers) chat_message_manager = managers.get( 'chat_message') or models.ChatMessageManager(clients, managers=managers) comment_manager = managers.get('comment') or models.CommentManager( clients, managers=managers) feed_manager = managers.get('feed') or models.FeedManager(clients, managers=managers) follower_manager = managers.get('follower') or models.FollowerManager(
def album_manager(dynamo_client, s3_uploads_client, cloudfront_client): yield models.AlbumManager({ 'dynamo': dynamo_client, 's3_uploads': s3_uploads_client, 'cloudfront': cloudfront_client })