# Generated by Django 5.0.6 on 2024-05-12 23:23

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):
    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="Education",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("degree", models.CharField(help_text="The degree obtained", max_length=100)),
                ("specialization", models.CharField(help_text="The specialization or major of the degree", max_length=100)),
                (
                    "school",
                    models.CharField(
                        help_text="The name and location of the school, in the format School Name (City, Country Code)", max_length=100
                    ),
                ),
                ("duration", models.CharField(help_text="The duration of the education in the format YYYY--YYYY", max_length=50)),
            ],
        ),
        migrations.CreateModel(
            name="ExperienceDetail",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("description", models.TextField(help_text="A responsibility or achievement during the experience")),
            ],
        ),
        migrations.CreateModel(
            name="Interest",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                (
                    "icon",
                    models.CharField(
                        help_text="An icon representing the interest, from font-awesome, without the 'fa-' prefix", max_length=50
                    ),
                ),
                ("text", models.CharField(help_text="A description of the interest", max_length=100)),
            ],
        ),
        migrations.CreateModel(
            name="Project",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("name", models.CharField(help_text="The name of the project", max_length=100)),
                ("description", models.TextField(help_text="A description of the project")),
                ("url", models.URLField(help_text="The URL of the project repository or website")),
            ],
        ),
        migrations.CreateModel(
            name="Skill",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("name", models.CharField(help_text="The name of the skill", max_length=100)),
                ("color", models.CharField(help_text="A color code associated with the skill", max_length=20)),
                ("level", models.CharField(help_text="The proficiency level in the skill", max_length=50)),
                (
                    "details",
                    models.TextField(help_text="Additional details or sub-skills related to the main skill, example cyan!48!black"),
                ),
            ],
        ),
        migrations.CreateModel(
            name="SocialLink",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                (
                    "icon",
                    models.CharField(
                        help_text="The name or icon representing the social media platform, from font-awesome, without the 'fa-' prefix",
                        max_length=50,
                    ),
                ),
                ("url", models.URLField(help_text="The URL of the individual's profile on the social media platform")),
                ("text", models.CharField(help_text="A shortened or display version of the URL", max_length=100)),
            ],
        ),
        migrations.CreateModel(
            name="Experience",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("title", models.CharField(help_text="The job title for the experience", max_length=100)),
                (
                    "company",
                    models.CharField(
                        help_text="The name and location of the company, in the formant Company Name (City, Country Code)", max_length=100
                    ),
                ),
                ("duration", models.CharField(help_text="The duration of the experience in the format YYYY.MM--YYYY.MM", max_length=50)),
                (
                    "details",
                    models.ManyToManyField(
                        help_text="A list of responsibilities or achievements during the experience",
                        related_name="experience",
                        to="aiden_app.experiencedetail",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ProfileInfo",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("first_name", models.CharField(help_text="The first name of the individual", max_length=100)),
                ("last_name", models.CharField(help_text="The last name of the individual", max_length=100)),
                ("photo_url", models.URLField(help_text="The URL of the profile picture")),
                ("cv_title", models.CharField(help_text="The professional title or headline for the CV", max_length=255)),
                ("profile_description", models.TextField(help_text="A summary of the individual's professional background and objectives")),
                ("email", models.EmailField(help_text="The email address for contacting the individual", max_length=254)),
                ("phone_number", models.CharField(help_text="The phone number for contacting the individual", max_length=20)),
                ("address", models.CharField(help_text="The address of the individual's residence", max_length=255)),
                (
                    "educations",
                    models.ManyToManyField(
                        help_text="A list of the individual's educational background", related_name="profiles", to="aiden_app.education"
                    ),
                ),
                (
                    "experiences",
                    models.ManyToManyField(
                        help_text="A list of the individual's professional experiences", related_name="profiles", to="aiden_app.experience"
                    ),
                ),
                (
                    "interests",
                    models.ManyToManyField(
                        help_text="A list of the individual's interests or hobbies", related_name="profiles", to="aiden_app.interest"
                    ),
                ),
                (
                    "projects",
                    models.ManyToManyField(
                        help_text="A list of projects the individual has worked on", related_name="profiles", to="aiden_app.project"
                    ),
                ),
                (
                    "skills",
                    models.ManyToManyField(help_text="A list of the individual's skills", related_name="profiles", to="aiden_app.skill"),
                ),
                (
                    "social_links",
                    models.ManyToManyField(
                        help_text="A list of social media links associated with the individual",
                        related_name="profiles",
                        to="aiden_app.sociallink",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="UserProfile",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("first_name", models.CharField(max_length=100)),
                ("last_name", models.CharField(max_length=100)),
                ("profile_title", models.CharField(max_length=255)),
                ("photo", models.ImageField(upload_to="media/profile")),
                (
                    "profile_info",
                    models.OneToOneField(
                        help_text="A detailed schema for a profile JSON object",
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="user",
                        to="aiden_app.profileinfo",
                    ),
                ),
            ],
        ),
    ]
