from marshmallow import fields, validate from server.constants import APPLE_MAX_IMAGE_SIZE, DEFAULT_IMAGE_SIZE, SPOTIFY_IMAGE_SIZES from server.constants.tracks import DEFAULT_IMAGE_SIZE as DEFAULT_IMAGE_SIZE_TRACKS class ImageSizeTrackSpotifyDefaultMixin: image_size = fields.Int(missing=DEFAULT_IMAGE_SIZE_TRACKS, validate=validate.OneOf(SPOTIFY_IMAGE_SIZES)) class ImageSizeTrackAppleDefaultMixin: image_size = fields.Int(missing=DEFAULT_IMAGE_SIZE_TRACKS, validate=validate.Range(max=APPLE_MAX_IMAGE_SIZE, min=1)) class ImageSizePlaylistAppleDefaultMixin: image_size = fields.Int(missing=DEFAULT_IMAGE_SIZE, validate=validate.Range(max=APPLE_MAX_IMAGE_SIZE))