This commit is contained in:
2026-09-15 09:16:20 +03:30
parent 9be8283412
commit ad965f0346
16 changed files with 0 additions and 2324 deletions
-114
View File
@@ -1,114 +0,0 @@
# Generated by Django 5.1.15 on 2026-09-02 00:25
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='AppSession',
fields=[
('id', models.CharField(max_length=36, primary_key=True, serialize=False)),
('platform', models.CharField(blank=True, max_length=30, verbose_name='پلتفرم')),
('app_version', models.CharField(blank=True, max_length=30, verbose_name='نسخه\u200cی اپ')),
('ip_address', models.GenericIPAddressField(blank=True, null=True, verbose_name='آی\u200cپی')),
('started_at', models.DateTimeField(verbose_name='شروع')),
('ended_at', models.DateTimeField(blank=True, null=True, verbose_name='پایان')),
('created_at', models.DateTimeField(auto_now_add=True)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='app_sessions', to=settings.AUTH_USER_MODEL, verbose_name='کاربر')),
],
options={
'verbose_name': 'جلسه\u200cی استفاده از اپ',
'verbose_name_plural': 'جلسه\u200cهای استفاده از اپ',
'ordering': ['-started_at'],
},
),
migrations.CreateModel(
name='ClickEvent',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('screen_name', models.CharField(blank=True, max_length=150, verbose_name='نام صفحه')),
('element', models.CharField(blank=True, max_length=150, verbose_name='برچسبِ عنصر (اختیاری)')),
('x', models.FloatField(blank=True, null=True)),
('y', models.FloatField(blank=True, null=True)),
('created_at', models.DateTimeField(verbose_name='زمان')),
('session', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='clicks', to='telemetry.appsession')),
],
options={
'verbose_name': 'رویداد کلیک',
'verbose_name_plural': 'رویدادهای کلیک',
'ordering': ['-created_at'],
},
),
migrations.CreateModel(
name='ClientErrorLog',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('screen_name', models.CharField(blank=True, max_length=150, verbose_name='نام صفحه')),
('message', models.TextField(verbose_name='پیام خطا')),
('stack_trace', models.TextField(blank=True, verbose_name='Stack trace')),
('created_at', models.DateTimeField(verbose_name='زمان')),
('session', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='errors', to='telemetry.appsession')),
],
options={
'verbose_name': 'خطای سمت کاربر',
'verbose_name_plural': 'خطاهای سمت کاربر',
'ordering': ['-created_at'],
},
),
migrations.CreateModel(
name='PageView',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('screen_name', models.CharField(max_length=150, verbose_name='نام صفحه')),
('entered_at', models.DateTimeField(verbose_name='زمان ورود')),
('duration_seconds', models.FloatField(blank=True, null=True, verbose_name='مدت ماندن (ثانیه)')),
('session', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='page_views', to='telemetry.appsession')),
],
options={
'verbose_name': 'بازدید صفحه',
'verbose_name_plural': 'بازدیدهای صفحه',
'ordering': ['entered_at'],
},
),
migrations.CreateModel(
name='ApiCallLog',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('method', models.CharField(max_length=10, verbose_name='متد')),
('path', models.CharField(max_length=255, verbose_name='مسیر')),
('status_code', models.PositiveSmallIntegerField(verbose_name='کد وضعیت')),
('duration_ms', models.FloatField(verbose_name='زمان پاسخ (میلی\u200cثانیه)')),
('ip_address', models.GenericIPAddressField(blank=True, null=True, verbose_name='آی\u200cپی')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='زمان')),
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='api_calls', to=settings.AUTH_USER_MODEL, verbose_name='کاربر')),
],
options={
'verbose_name': 'لاگ فراخوانی API',
'verbose_name_plural': 'لاگ\u200cهای فراخوانی API',
'ordering': ['-created_at'],
'indexes': [models.Index(fields=['user', 'created_at'], name='telemetry_a_user_id_7a7591_idx'), models.Index(fields=['path', 'created_at'], name='telemetry_a_path_267c85_idx')],
},
),
migrations.AddIndex(
model_name='appsession',
index=models.Index(fields=['user', 'started_at'], name='telemetry_a_user_id_142b1f_idx'),
),
migrations.AddIndex(
model_name='clickevent',
index=models.Index(fields=['screen_name'], name='telemetry_c_screen__d3940b_idx'),
),
migrations.AddIndex(
model_name='pageview',
index=models.Index(fields=['screen_name'], name='telemetry_p_screen__242757_idx'),
),
]