ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: ручное назначение Voice Tasker

This commit is contained in:
DCCONSTRUCTIONS
2026-04-28 11:04:38 +03:00
parent 9243924f78
commit 02d79da6f9
8 changed files with 488 additions and 45 deletions
@@ -0,0 +1,47 @@
# Generated by Codex on 2026-04-28
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("db", "0128_stored_blob_dedup"),
]
operations = [
migrations.AlterField(
model_name="workspaceaisettings",
name="access_mode",
field=models.CharField(
choices=[
("all_workspace_members", "All workspace members"),
("admins_only", "Admins only"),
("selected_projects", "Selected projects"),
("selected_members", "Selected members"),
],
default="all_workspace_members",
max_length=40,
),
),
migrations.AddField(
model_name="workspaceaisettings",
name="enabled_members",
field=models.ManyToManyField(
blank=True,
related_name="workspace_ai_feature_settings",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="workspaceaisettings",
name="enabled_projects",
field=models.ManyToManyField(
blank=True,
related_name="workspace_ai_feature_settings",
to="db.project",
),
),
]
@@ -15,6 +15,8 @@ class WorkspaceAISettings(BaseModel):
class AccessMode(models.TextChoices):
ALL_WORKSPACE_MEMBERS = "all_workspace_members", "All workspace members"
ADMINS_ONLY = "admins_only", "Admins only"
SELECTED_PROJECTS = "selected_projects", "Selected projects"
SELECTED_MEMBERS = "selected_members", "Selected members"
workspace = models.OneToOneField(
"db.Workspace",
@@ -37,6 +39,16 @@ class WorkspaceAISettings(BaseModel):
choices=AccessMode.choices,
default=AccessMode.ALL_WORKSPACE_MEMBERS,
)
enabled_projects = models.ManyToManyField(
"db.Project",
blank=True,
related_name="workspace_ai_feature_settings",
)
enabled_members = models.ManyToManyField(
settings.AUTH_USER_MODEL,
blank=True,
related_name="workspace_ai_feature_settings",
)
max_audio_duration_seconds = models.PositiveIntegerField(default=120)
per_user_hourly_limit = models.PositiveIntegerField(default=30)
workspace_hourly_limit = models.PositiveIntegerField(default=300)