feat: add workspace

This commit is contained in:
Artem Tsyrulnikov
2025-12-13 22:09:55 +03:00
parent 2fdd56c3e0
commit af32e2a507
55 changed files with 677 additions and 227 deletions

View File

@@ -8,7 +8,7 @@ from .base import TimestampedModel
if TYPE_CHECKING:
from .external_channel import ExternalChannel
from .user import User
from .workspace import Workspace
class TargetChannelStatus(str, enum.Enum):
@@ -24,8 +24,8 @@ class TargetChannel(TimestampedModel):
username = fields.CharField(max_length=255, null=True, index=True)
status = fields.CharEnumField(TargetChannelStatus, default=TargetChannelStatus.ACTIVE)
user: fields.ForeignKeyRelation['User'] = fields.ForeignKeyField(
'models.User', related_name='target_channels', on_delete=fields.CASCADE, index=True
workspace: fields.ForeignKeyRelation['Workspace'] = fields.ForeignKeyField(
'models.Workspace', related_name='target_channels', on_delete=fields.CASCADE, index=True
)
external_channels: fields.ManyToManyRelation['ExternalChannel'] = fields.ManyToManyField(
@@ -37,7 +37,7 @@ class TargetChannel(TimestampedModel):
)
if TYPE_CHECKING:
user_id: UUID
workspace_id: UUID
class Meta:
table = 'target_channel'