"""Models for placements data for vendor.""" from pynamodb.attributes import NumberAttribute from pynamodb.attributes import UnicodeAttribute from sosmodels.active_tables import DynamicModel from sosmodels.util import AsDictModelMixin class StreamsVendorPlacementsSpotify(AsDictModelMixin, DynamicModel): """Model for placement data for vendors.""" class Meta: """Metadata for streams_vendor_placements model.""" table_name = 'streams_vendor_placements_spotify' max_retry_attempts = 8 vendor_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) track_title = UnicodeAttribute(null=True) upc = UnicodeAttribute(null=True) isrc = UnicodeAttribute(null=True) artist = UnicodeAttribute(null=True) date_added = UnicodeAttribute(null=True) start_date = UnicodeAttribute(null=True) end_date = UnicodeAttribute(null=True) class StreamsVendorPlacementsAppleMusic(AsDictModelMixin, DynamicModel): """Model for placement AM data for vendors.""" class Meta: """Metadata for streams_vendor_placements_apple_music model.""" # table_name not in use anywhere for this model, but we need it here table_name = 'streams_vendor_placements_apple_music' max_retry_attempts = 8 vendor_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) track_title = UnicodeAttribute(null=True) upc = UnicodeAttribute(null=True) isrc = UnicodeAttribute(null=True) artist = UnicodeAttribute(null=True) date_added = UnicodeAttribute(null=True) start_date = UnicodeAttribute(null=True) end_date = UnicodeAttribute(null=True)