# Generated by Django 3.2 on 2022-02-13 07:30

import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import embed_video.fields


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='AdminWalletAddress',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('wallet_type', models.CharField(choices=[('BITCOIN', 'BITCOIN'), ('ETHEREUM', 'ETHEREUM'), ('USDT TRC20', 'USDT TRC20'), ('USDT ERC20', 'USDT ERC20'), ('BNB', 'BNB'), ('LITECOIN', 'LITECOIN'), ('UMI', 'UMI')], default='BITCOIN', max_length=50, unique=True)),
                ('wallet_address', models.CharField(max_length=150)),
            ],
        ),
        migrations.CreateModel(
            name='CompanyYoutubeTubeVideo',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=50)),
                ('video_url', embed_video.fields.EmbedVideoField()),
            ],
            options={
                'ordering': ['-id'],
            },
        ),
        migrations.CreateModel(
            name='PendingDeposit',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user', models.CharField(help_text='Username of the user', max_length=50)),
                ('amount_to_appove', models.DecimalField(decimal_places=2, default=0.0, help_text='Amount to be approved\nGo to Deposit Transactions and approve this deposit', max_digits=10)),
                ('date', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='PendingWithdrawl',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user', models.CharField(help_text='Username of the user', max_length=50)),
                ('amount_to_withdraw', models.DecimalField(decimal_places=2, default=0.0, help_text='Amount to withdraw\nGo to WithdrawalTransactions and approve this withdrawal', max_digits=10)),
                ('date', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='ReferralBonus',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('username', models.CharField(max_length=50, unique=True)),
                ('total_person_referred', models.PositiveIntegerField(default=0)),
                ('accumulated_bonus', models.DecimalField(blank=True, decimal_places=2, default=0.0, help_text='User can only get bonus when those they referred pay', max_digits=10, null=True)),
            ],
            options={
                'ordering': ['username'],
            },
        ),
        migrations.CreateModel(
            name='TransactionRecord',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('username', models.CharField(max_length=50)),
                ('amount', models.DecimalField(decimal_places=2, default=0.0, max_digits=10)),
                ('transaction_type', models.CharField(max_length=50)),
                ('transaction_referrence', models.CharField(max_length=150, unique=True)),
                ('date', models.DateField(auto_now_add=True)),
                ('status', models.CharField(max_length=50)),
            ],
            options={
                'ordering': ['username'],
            },
        ),
        migrations.CreateModel(
            name='UserEarningRecord',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user', models.CharField(help_text='Username of the user', max_length=50)),
                ('total_deposit', models.DecimalField(decimal_places=2, default=0.0, help_text='User total deposit', max_digits=10)),
                ('total_withdrawal', models.DecimalField(decimal_places=2, default=0.0, help_text='User total withdrawal', max_digits=10)),
                ('last_deposit', models.DecimalField(decimal_places=2, default=0.0, help_text='User last deposit', max_digits=10)),
                ('last_withdrawal', models.DecimalField(decimal_places=2, default=0.0, help_text='User last deposit', max_digits=10)),
            ],
        ),
        migrations.CreateModel(
            name='WithdrawalTransaction',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount_to_withdraw', models.DecimalField(decimal_places=2, default=0.0, help_text='Enter the amount the user wants to withdraw', max_digits=10)),
                ('withdraw_from', models.CharField(choices=[('ACCOUNT BALANCE', 'ACCOUNT BALANCE'), ('REFERRAL BONUS', 'REFERRAL BONUS')], max_length=20)),
                ('withdrawal_date', models.DateField(default=datetime.datetime.now)),
                ('transaction_referrence', models.CharField(blank=True, help_text="Leave the transaction referrence as it is. It's use for sending the user an email", max_length=150, null=True)),
                ('status', models.CharField(choices=[('PENDING', 'PENDING'), ('APPROVED', 'APPROVED')], max_length=25)),
                ('user', models.OneToOneField(help_text='Select the user here', on_delete=django.db.models.deletion.CASCADE, related_name='user_withdrawal_transactions', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['user'],
            },
        ),
        migrations.CreateModel(
            name='UserProfile',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('plan_type', models.CharField(choices=[('REDIMENTARY', 'REDIMENTARY'), ('CENTRAL', 'CENTRAL'), ('ULTIMATE', 'ULTIMATE')], default='SILVER', max_length=50)),
                ('earning_rate', models.CharField(choices=[('0.93%', '0.93%'), ('1.17%', '1.17%'), ('1.50%', '1.50%')], default='2%', max_length=50)),
                ('referrer', models.CharField(blank=True, max_length=50, null=True)),
                ('bonus_for_referrer', models.DecimalField(decimal_places=2, default=0.0, max_digits=10)),
                ('wallet_address_used', models.CharField(blank=True, help_text='User wallet address used for last withdrawal transaction', max_length=150, null=True)),
                ('bitcoin_address', models.CharField(blank=True, help_text='User bitcoin wallet address for payment', max_length=150, null=True)),
                ('ethereum_address', models.CharField(blank=True, help_text='User Ethereum wallet address for payment', max_length=150, null=True)),
                ('usdt_trc20_address', models.CharField(blank=True, help_text='User trc20 wallet address for payment', max_length=150, null=True)),
                ('usdt_erc20_address', models.CharField(blank=True, help_text='User erc20 wallet address for payment', max_length=150, null=True)),
                ('bnb_address', models.CharField(blank=True, help_text='User BNB wallet address', max_length=150, null=True)),
                ('litecoin_address', models.CharField(blank=True, help_text='User LITECOIN wallet address for payment', max_length=150, null=True)),
                ('umi_address', models.CharField(blank=True, help_text='User UMI wallet address for payment', max_length=150, null=True)),
                ('last_coin_paid', models.CharField(blank=True, choices=[('BITCOIN', 'BITCOIN'), ('ETHEREUM', 'ETHEREUM'), ('USDT TRC20', 'USDT TRC20'), ('USDT ERC20', 'USDT ERC20'), ('BNB', 'BNB'), ('LITECOIN', 'LITECOIN'), ('UMI', 'UMI')], default='BITCOIN', help_text='The coin selected by the user during the last payment', max_length=50, null=True)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='user_profile', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['user'],
            },
        ),
        migrations.CreateModel(
            name='Top10Withdrawal',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.DecimalField(decimal_places=2, default=0.0, max_digits=10)),
                ('username', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['username'],
            },
        ),
        migrations.CreateModel(
            name='Top10Deposit',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.DecimalField(decimal_places=2, default=0.0, max_digits=10)),
                ('username', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['username'],
            },
        ),
        migrations.CreateModel(
            name='EmailUser',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=50)),
                ('message', models.TextField(max_length=1000)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='DepositTransaction',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('user_amount', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True)),
                ('current_balance', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True)),
                ('amount_to_add', models.DecimalField(blank=True, decimal_places=2, default=0.0, help_text='Enter the amount the user deposited. Please do not touch this field', max_digits=10, null=True)),
                ('referrer_bonus', models.DecimalField(blank=True, decimal_places=2, default=0.0, help_text='Bonus of the referrer. Please do not touch this field', max_digits=10, null=True)),
                ('date_deposited', models.DateField(default=datetime.datetime.now)),
                ('transaction_referrence', models.CharField(blank=True, help_text="Leave the transaction referrence as it is. It's use for sending the user an email", max_length=150, null=True)),
                ('status', models.CharField(choices=[('PENDING', 'PENDING'), ('APPROVED', 'APPROVED')], max_length=25)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='user_deposit_transactions', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['user'],
            },
        ),
    ]
