# Generated by Django 4.2.30 on 2026-06-05 14:55

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django_extensions.db.fields
import uuid


class Migration(migrations.Migration):

    dependencies = [
        ("boardgames", "0015_alter_boardgame_genre"),
        ("trails", "0009_trail_route_waypoint"),
        ("moods", "0008_alter_mood_genre"),
        ("birds", "0002_birdingcsvimport"),
        ("bricksets", "0005_alter_brickset_genre"),
        ("music", "0036_artist_similar_artists"),
        ("puzzles", "0006_alter_puzzle_genre"),
        ("videogames", "0015_alter_videogame_genre"),
        ("lifeevents", "0005_alter_lifeevent_genre"),
        ("drinks", "0008_alter_beer_genre"),
        ("foods", "0007_alter_food_genre"),
        ("tasks", "0007_alter_task_genre"),
        ("books", "0036_alter_book_genre_alter_paper_genre"),
        ("videos", "0030_alter_channel_genre_alter_series_genre_and_more"),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ("podcasts", "0020_alter_podcast_genre_alter_podcastepisode_genre"),
        ("webpages", "0009_alter_webpage_genre"),
        ("sports", "0018_alter_sportevent_genre"),
        ("locations", "0010_clean_start"),
        ("scrobbles", "0088_scalecsvimport_file_hash"),
    ]

    operations = [
        migrations.CreateModel(
            name="FavoriteMedia",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    django_extensions.db.fields.CreationDateTimeField(
                        auto_now_add=True, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    django_extensions.db.fields.ModificationDateTimeField(
                        auto_now=True, verbose_name="modified"
                    ),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        blank=True, default=uuid.uuid4, editable=False, null=True
                    ),
                ),
                (
                    "media_type",
                    models.CharField(
                        choices=[
                            ("Video", "Video"),
                            ("Track", "Track"),
                            ("PodcastEpisode", "Podcast episode"),
                            ("SportEvent", "Sport event"),
                            ("Book", "Book"),
                            ("Paper", "Paper"),
                            ("VideoGame", "Video game"),
                            ("BoardGame", "Board game"),
                            ("GeoLocation", "GeoLocation"),
                            ("Trail", "Trail"),
                            ("Beer", "Beer"),
                            ("Puzzle", "Puzzle"),
                            ("Food", "Food"),
                            ("Task", "Task"),
                            ("WebPage", "Web Page"),
                            ("LifeEvent", "Life event"),
                            ("Mood", "Mood"),
                            ("BrickSet", "Brick set"),
                            ("Channel", "Channel"),
                            ("BirdingLocation", "Birding location"),
                        ],
                        max_length=20,
                    ),
                ),
                ("sent_to_mopidy", models.BooleanField(default=False)),
                (
                    "beer",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="drinks.beer",
                    ),
                ),
                (
                    "birding_location",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="birds.birdinglocation",
                    ),
                ),
                (
                    "board_game",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="boardgames.boardgame",
                    ),
                ),
                (
                    "book",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="books.book",
                    ),
                ),
                (
                    "brick_set",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="bricksets.brickset",
                    ),
                ),
                (
                    "channel",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="videos.channel",
                    ),
                ),
                (
                    "food",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="foods.food",
                    ),
                ),
                (
                    "geo_location",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="locations.geolocation",
                    ),
                ),
                (
                    "life_event",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="lifeevents.lifeevent",
                    ),
                ),
                (
                    "mood",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="moods.mood",
                    ),
                ),
                (
                    "paper",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="books.paper",
                    ),
                ),
                (
                    "podcast_episode",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="podcasts.podcastepisode",
                    ),
                ),
                (
                    "puzzle",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="puzzles.puzzle",
                    ),
                ),
                (
                    "sport_event",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="sports.sportevent",
                    ),
                ),
                (
                    "task",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="tasks.task",
                    ),
                ),
                (
                    "track",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="music.track",
                    ),
                ),
                (
                    "trail",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="trails.trail",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "video",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="videos.video",
                    ),
                ),
                (
                    "video_game",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="videogames.videogame",
                    ),
                ),
                (
                    "web_page",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="webpages.webpage",
                    ),
                ),
            ],
            options={
                "ordering": ["-created"],
            },
        ),
    ]
