dos updates

This commit is contained in:
IGNY8 VPS (Salman)
2026-01-20 14:45:21 +00:00
parent 0b3197d199
commit c777e5ccb2
93 changed files with 1368 additions and 33562 deletions

View File

@@ -1,6 +1,8 @@
# Database Models Reference
**Last Verified:** January 6, 2026
**Last Verified:** January 20, 2026
**Version:** 1.8.4
**Total Models:** 52+
---
@@ -8,14 +10,32 @@
| Scope | Models | Base Class | Filter By |
|-------|--------|------------|-----------|
| **Global** | `IntegrationProvider`, `AIModelConfig`, `SystemAISettings`, `GlobalAIPrompt`, `GlobalAuthorProfile`, `GlobalStrategy`, `GlobalModuleSettings`, `Industry`, `SeedKeyword` | `models.Model` | None (platform-wide) |
| **Account** | `Account`, `User`, `Plan`, `AccountSettings`, `ModuleEnableSettings`, `AISettings`, `AIPrompt`, `AuthorProfile`, `CreditBalance` | `AccountBaseModel` | `account` |
| **Site** | `Site`, `PublishingSettings`, `AutomationConfig`, `SiteIntegration` | `AccountBaseModel` | `account`, `site` |
| **Site+Sector** | `Keywords`, `Clusters`, `ContentIdeas`, `Tasks`, `Content`, `Images` | `SiteSectorBaseModel` | `site`, `sector` |
| **Global** | `IntegrationProvider`, `AIModelConfig`, `SystemAISettings`, `GlobalAIPrompt`, `GlobalAuthorProfile`, `GlobalStrategy`, `GlobalModuleSettings`, `Industry`, `IndustrySector`, `SeedKeyword` | `models.Model` | None (platform-wide) |
| **Account** | `Account`, `User`, `Plan`, `Subscription`, `AccountSettings`, `ModuleEnableSettings`, `AISettings`, `AIPrompt`, `AuthorProfile`, `CreditBalance`, `PasswordResetToken` | `AccountBaseModel` | `account` |
| **Site** | `Site`, `PublishingSettings`, `AutomationConfig`, `DefaultAutomationConfig`, `AutomationRun`, `SiteIntegration`, `SiteUserAccess` | `AccountBaseModel` | `account`, `site` |
| **Site+Sector** | `Keywords`, `Clusters`, `ContentIdeas`, `Tasks`, `Content`, `Images`, `ContentTaxonomyRelation` | `SiteSectorBaseModel` | `site`, `sector` |
| **Billing** | `CreditCostConfig`, `BillingConfiguration`, `CreditPackage`, `PaymentMethodConfig`, `WebhookEvent` | `models.Model` | varies |
| **System** | `SystemSettings`, `UserSettings`, `EmailSettings`, `EmailTemplate`, `EmailLog` | `models.Model` | varies |
| **Plugins** | `Plugin`, `PluginVersion`, `PluginInstallation`, `PluginDownload` | `models.Model` | varies |
---
## System Models (v1.4.0) (`igny8_core/modules/system/`)
## Model Count by Location
| Location | Count | Models |
|----------|-------|--------|
| `auth/models.py` | 10 | Account, User, Plan, Subscription, Industry, IndustrySector, SeedKeyword, Site, SiteUserAccess, PasswordResetToken |
| `modules/system/` | 10 | IntegrationProvider, SystemAISettings, SystemSettings, UserSettings, EmailSettings, EmailTemplate, EmailLog, GlobalAIPrompt, GlobalAuthorProfile, GlobalStrategy |
| `business/automation/` | 3 | DefaultAutomationConfig, AutomationConfig, AutomationRun |
| `business/billing/` | 6 | CreditCostConfig, BillingConfiguration, CreditPackage, PaymentMethodConfig, AIModelConfig, WebhookEvent |
| `business/content/` | 1 | ContentTaxonomyRelation |
| `plugins/` | 4 | Plugin, PluginVersion, PluginInstallation, PluginDownload |
| `modules/planner/` | 3 | Keywords, Clusters, ContentIdeas |
| `modules/writer/` | 3 | Tasks, Content, Images |
---
## System Models (v1.4.0+) (`igny8_core/modules/system/`)
**Purpose:** Centralized AI configuration, provider API keys, and system-wide defaults.
@@ -361,17 +381,15 @@ class Keyword(models.Model):
difficulty = IntegerField(null=True)
cpc = DecimalField(null=True)
status = CharField(choices=KEYWORD_STATUS) # pending, clustered, used, archived
status = CharField(choices=KEYWORD_STATUS) # new, mapped
created_by = ForeignKey(User)
created_at = DateTimeField(auto_now_add=True)
```
**Status Values:**
- `pending` - New, awaiting clustering
- `clustered` - Assigned to a cluster
- `used` - Used in content idea
- `archived` - No longer active
- `new` - Ready for clustering
- `mapped` - Assigned to a cluster
---
@@ -433,8 +451,7 @@ class Task(models.Model):
primary_keyword = CharField(max_length=255)
secondary_keywords = JSONField(default=list)
status = CharField(choices=TASK_STATUS) # pending, in_progress, completed, cancelled
priority = CharField(choices=PRIORITY) # low, medium, high
status = CharField(choices=TASK_STATUS) # queued, completed
assigned_to = ForeignKey(User, null=True)
due_date = DateField(null=True)