"""Model for placements data for a single track.""" from pynamodb.attributes import NumberAttribute from pynamodb.attributes import UnicodeAttribute from sosmodels.active_tables import DynamicModel from sosmodels.util import AsDictModelMixin class StreamsTrackPlacementsSpotify(AsDictModelMixin, DynamicModel): """Model for placement data for a single track.""" class Meta: """Metadata for streams_track_placements model.""" table_name = 'streams_track_placements_spotify' max_retry_attempts = 8 track_placement_key = UnicodeAttribute(hash_key=True) order_number = NumberAttribute(range_key=True) streams = NumberAttribute(default=0) storeid = NumberAttribute(null=True) playlist_title = UnicodeAttribute(null=True) playlist_author = UnicodeAttribute(null=True) playlist_link = UnicodeAttribute(null=True) date_added = UnicodeAttribute(null=True) start_date = UnicodeAttribute(null=True) end_date = UnicodeAttribute(null=True) class StreamsTrackPlacementsAppleMusic(AsDictModelMixin, DynamicModel): """Model for placement AM data for a single track.""" class Meta: """Metadata for streams_track_placements_apple_music model.""" # table_name not in use anywhere for this model, but we need it here table_name = 'streams_track_placements_apple_music' max_retry_attempts = 8 track_placement_key = UnicodeAttribute(hash_key=True) order_number = NumberAttribute(range_key=True) streams = NumberAttribute(default=0) storeid = NumberAttribute(null=True) playlist_title = UnicodeAttribute(null=True) playlist_author = UnicodeAttribute(null=True) playlist_link = UnicodeAttribute(null=True) date_added = UnicodeAttribute(null=True) start_date = UnicodeAttribute(null=True) end_date = UnicodeAttribute(null=True)