You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

52 lines
3.1 KiB

import django.core.validators
from django.db import migrations, models
import phonenumber_field.modelfields
import utils.validators
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='AppVersion',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('version', models.CharField(help_text='Application version in format X.Y.Z (e.g., 1.0.0)', max_length=20, unique=True, validators=[django.core.validators.RegexValidator(message='Version must be in format X.Y.Z (e.g., 1.0.0)', regex='^\\d+\\.\\d+\\.\\d+$')], verbose_name='Version')),
('apk_file', models.FileField(blank=True, help_text='Application APK / binary file', null=True, upload_to='app_versions/', verbose_name='APK File')),
('description', models.TextField(blank=True, help_text='Release notes and changes for this version', verbose_name='Description')),
('app_type', models.CharField(choices=[('google_play', 'Google Play'), ('app_store', 'Apple App Store'), ('direct', 'Direct Download')], default='google_play', max_length=20, verbose_name='App Distribution Platform')),
('downloads_count', models.PositiveBigIntegerField(default=0, verbose_name='Downloads Count')),
('is_active', models.BooleanField(default=True, help_text='Is this version currently active?', verbose_name='Active')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')),
],
options={
'verbose_name': 'App Version',
'verbose_name_plural': 'App Versions',
'ordering': ['-created_at'],
},
),
migrations.CreateModel(
name='SupportMessage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sender_name', models.CharField(max_length=255, verbose_name='Sender Name')),
('sender_email', models.EmailField(max_length=254, verbose_name='Sender Email')),
('subject', models.CharField(max_length=255, verbose_name='Subject')),
('sender_phone', phonenumber_field.modelfields.PhoneNumberField(blank=True, help_text='e.g., +1 555 1234567', max_length=128, null=True, region=None, validators=[utils.validators.validate_possible_number], verbose_name='Sender Phone')),
('message', models.TextField(verbose_name='Message')),
('is_resolved', models.BooleanField(default=False, verbose_name='Resolved')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
],
options={
'verbose_name': 'Support Message',
'verbose_name_plural': 'Support Messages',
'ordering': ['-created_at'],
},
),
]