# Generated by Django 3.2.9 on 2021-11-21 11:52

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


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('authenticate', '0013_auto_20211121_1522'),
        ('institute', '0008_alter_institute_logo'),
    ]

    operations = [
        migrations.CreateModel(
            name='AbstractInstitutePlan',
            fields=[
                ('id', models.BigAutoField(db_index=True, primary_key=True, serialize=False, unique=True)),
                ('name', models.CharField(max_length=46, unique=True)),
                ('duration', models.TimeField()),
                ('price', models.IntegerField(null=True)),
                ('actual_price', models.IntegerField()),
                ('active', models.BooleanField()),
                ('max_collaborators_per_institute', models.IntegerField(null=True)),
                ('max_question_banks_per_institute', models.IntegerField(null=True)),
                ('max_questions_per_question_bank', models.IntegerField(null=True)),
                ('max_examinee_per_institute', models.IntegerField(null=True)),
                ('max_active_exam_per_institute', models.IntegerField(null=True)),
                ('assign_examinee_to_exam', models.BooleanField(null=True)),
                ('assign_public_link_to_exam', models.BooleanField(null=True)),
                ('enable_institute_api_key', models.BooleanField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
                ('modified_at', models.DateTimeField(auto_now=True, db_index=True)),
            ],
        ),
        migrations.CreateModel(
            name='AbstractUserPlan',
            fields=[
                ('id', models.BigAutoField(db_index=True, primary_key=True, serialize=False, unique=True)),
                ('name', models.CharField(max_length=46, unique=True)),
                ('duration', models.TimeField()),
                ('price', models.IntegerField(null=True)),
                ('actual_price', models.IntegerField()),
                ('active', models.BooleanField()),
                ('wage_factor', models.FloatField(null=True)),
                ('tax_factor', models.FloatField(null=True)),
                ('minimum_wage_fee', models.IntegerField(null=True)),
                ('max_institutes_per_user', models.IntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
                ('modified_at', models.DateTimeField(auto_now=True, db_index=True)),
            ],
        ),
        migrations.CreateModel(
            name='Environment',
            fields=[
                ('id', models.BigAutoField(db_index=True, primary_key=True, serialize=False, unique=True)),
                ('name', models.CharField(max_length=46, unique=True)),
                ('active_env', models.BooleanField(default=True)),
                ('default_wage_factor', models.FloatField(default=0.12)),
                ('default_tax_factor', models.FloatField(default=0.09)),
                ('default_min_wage_fee', models.IntegerField(default=1000)),
                ('default_max_institutes_per_user', models.IntegerField(default=5)),
                ('default_max_collaborators_per_institute', models.IntegerField(default=10)),
                ('default_max_question_banks_per_institute', models.IntegerField(default=200)),
                ('default_max_questions_per_question_bank', models.IntegerField(default=5000)),
                ('default_max_examinee_per_institute', models.IntegerField(default=1000)),
                ('default_max_future_exam_per_institute', models.IntegerField(default=100)),
                ('default_assign_examinee_to_exam', models.BooleanField(default=True)),
                ('default_assign_public_link_to_exam', models.BooleanField(default=True)),
                ('default_enable_institute_api_key', models.BooleanField(default=False)),
                ('initial_user_balance', models.IntegerField(default=0)),
                ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
                ('modified_at', models.DateTimeField(auto_now=True, db_index=True)),
            ],
        ),
        migrations.CreateModel(
            name='UserPlan',
            fields=[
                ('id', models.BigAutoField(db_index=True, primary_key=True, serialize=False, unique=True)),
                ('name', models.CharField(max_length=46)),
                ('start_date', models.DateTimeField(db_index=True)),
                ('end_date', models.DateTimeField(db_index=True, null=True)),
                ('purchased_price', models.IntegerField(null=True)),
                ('wage_factor', models.FloatField(null=True)),
                ('tax_factor', models.FloatField(null=True)),
                ('minimum_wage_fee', models.IntegerField(null=True)),
                ('max_institutes_per_user', models.IntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
                ('modified_at', models.DateTimeField(auto_now=True, db_index=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='authenticate.user')),
            ],
        ),
        migrations.CreateModel(
            name='InstitutePlan',
            fields=[
                ('id', models.BigAutoField(db_index=True, primary_key=True, serialize=False, unique=True)),
                ('name', models.CharField(max_length=46)),
                ('start_date', models.DateTimeField(db_index=True)),
                ('end_date', models.DateTimeField(db_index=True, null=True)),
                ('purchased_price', models.IntegerField(null=True)),
                ('max_collaborators_per_institute', models.IntegerField(null=True)),
                ('max_question_banks_per_institute', models.IntegerField(null=True)),
                ('max_questions_per_question_bank', models.IntegerField(null=True)),
                ('max_examinee_per_institute', models.IntegerField(null=True)),
                ('max_active_exam_per_institute', models.IntegerField(null=True)),
                ('assign_examinee_to_exam', models.BooleanField(null=True)),
                ('assign_public_link_to_exam', models.BooleanField(null=True)),
                ('enable_institute_api_key', models.BooleanField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
                ('modified_at', models.DateTimeField(auto_now=True, db_index=True)),
                ('institute', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='institute.institute')),
            ],
        ),
    ]
