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
'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( clients, managers=managers) like_manager = managers.get('like') or models.LikeManager(clients, managers=managers) post_manager = managers.get('post') or models.PostManager(clients, managers=managers) screen_manager = managers.get('screen') or models.ScreenManager(
def card_manager(dynamo_client, appsync_client, pinpoint_client): yield models.CardManager({ 'appsync': appsync_client, 'dynamo': dynamo_client, 'pinpoint': pinpoint_client })