Harden auth, AI tutor, payments, and subscriptions

This commit is contained in:
2026-08-22 04:42:36 +03:30
parent f945f960c9
commit cb18c93a3e
41 changed files with 2202 additions and 595 deletions

View File

@@ -4,13 +4,12 @@ from django.db import models
class BugReport(models.Model):
STATUS_CHOICES = [('open', 'باز'), ('resolved', 'برطرف‌شده')]
user_id = models.IntegerField(db_index=True) # ارجاع سبک به accounts.User
user_id = models.IntegerField(db_index=True) # loose reference to accounts.User
title = models.CharField(max_length=150)
description = models.TextField()
screenshot_url = models.URLField(blank=True)
status = models.CharField(max_length=15, choices=STATUS_CHOICES, default='open')
# ارجاع سبک اختیاری به Ticket (نه FK واقعی)؛ یعنی این باگ می‌تونه بعداً
# به یک تیکت اسکیل بشه، ولی جوینی بین این دو مدل اجباری نیست.
# Optional loose reference to Ticket (not a real FK).
linked_ticket_id = models.IntegerField(null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
@@ -25,7 +24,7 @@ class Ticket(models.Model):
STATUS_CHOICES = [('open', 'باز'), ('in_progress', 'در حال بررسی'), ('closed', 'بسته')]
PRIORITY_CHOICES = [('low', 'کم'), ('normal', 'عادی'), ('high', 'بالا')]
user_id = models.IntegerField(db_index=True) # ارجاع سبک به accounts.User
user_id = models.IntegerField(db_index=True) # loose reference to accounts.User
subject = models.CharField(max_length=150)
category = models.CharField(max_length=30)
status = models.CharField(max_length=15, choices=STATUS_CHOICES, default='open')

View File

@@ -1,3 +1 @@
from django.test import TestCase
# Create your tests here.