Files
hub/backend/src/migrations/0001_initial.py
T

130 lines
7.2 KiB
Python

from tortoise import migrations
from tortoise.migrations import operations as ops
from orjson import loads
from tortoise.fields.base import OnDelete
from tortoise.fields.data import JSON_DUMPS
from tortoise import fields
class Migration(migrations.Migration):
initial = True
operations = [
ops.CreateModel(
name='Model',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('name', fields.CharField(max_length=255)),
('kind', fields.CharField(max_length=50)),
('value', fields.JSONField(null=True, encoder=JSON_DUMPS, decoder=loads)),
],
options={'table': 'model', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
ops.CreateModel(
name='User',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('email', fields.CharField(max_length=255)),
('username', fields.CharField(max_length=100)),
('password', fields.CharField(max_length=255)),
],
options={'table': 'users', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
ops.CreateModel(
name='Chat',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('user', fields.ForeignKeyField('models.User', source_field='user_id', db_constraint=True, to_field='id', related_name='chats', on_delete=OnDelete.CASCADE)),
('name', fields.CharField(max_length=255)),
('description', fields.TextField(null=True, unique=False)),
('picture', fields.TextField(null=True, unique=False)),
('ordering', fields.IntField(null=True)),
('last_message_preview', fields.TextField(null=True, unique=False)),
('last_message_time', fields.BigIntField(null=True)),
],
options={'table': 'chats', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
ops.CreateModel(
name='Agent',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('user', fields.ForeignKeyField('models.User', source_field='user_id', db_constraint=True, to_field='id', related_name='agents', on_delete=OnDelete.CASCADE)),
('agentname', fields.CharField(null=True, max_length=100)),
('visibility', fields.IntField(default=0)),
('permissions', fields.TextField(default='', unique=False)),
('main_chat', fields.ForeignKeyField('models.Chat', source_field='main_chat_id', null=True, db_constraint=True, to_field='id', related_name='main_agents', on_delete=OnDelete.CASCADE)),
('name', fields.CharField(max_length=255)),
('description', fields.TextField(null=True, unique=False)),
('picture', fields.TextField(null=True, unique=False)),
('ordering', fields.IntField(null=True)),
('kind', fields.CharField(max_length=50)),
('data', fields.JSONField(default={}, encoder=JSON_DUMPS, decoder=loads)),
],
options={'table': 'agents', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
ops.CreateModel(
name='AgentResource',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('agent', fields.ForeignKeyField('models.Agent', source_field='agent_id', db_constraint=True, to_field='id', related_name='resources', on_delete=OnDelete.CASCADE)),
('kind', fields.CharField(max_length=50)),
('key', fields.CharField(max_length=100)),
('value', fields.JSONField(null=True, encoder=JSON_DUMPS, decoder=loads)),
],
options={'table': 'agent_resources', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
ops.CreateModel(
name='Membership',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('agent', fields.ForeignKeyField('models.Agent', source_field='agent_id', db_constraint=True, to_field='id', related_name='memberships', on_delete=OnDelete.CASCADE)),
('chat', fields.ForeignKeyField('models.Chat', source_field='chat_id', db_constraint=True, to_field='id', related_name='memberships', on_delete=OnDelete.CASCADE)),
],
options={'table': 'memberships', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
ops.CreateModel(
name='Thread',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('chat', fields.ForeignKeyField('models.Chat', source_field='chat_id', db_constraint=True, to_field='id', related_name='threads', on_delete=OnDelete.CASCADE)),
('name', fields.CharField(null=True, max_length=255)),
('description', fields.TextField(null=True, unique=False)),
],
options={'table': 'threads', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
ops.CreateModel(
name='Message',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('chat', fields.ForeignKeyField('models.Chat', source_field='chat_id', db_constraint=True, to_field='id', related_name='messages', on_delete=OnDelete.CASCADE)),
('thread', fields.ForeignKeyField('models.Thread', source_field='thread_id', null=True, db_constraint=True, to_field='id', related_name='messages', on_delete=OnDelete.CASCADE)),
('sender', fields.CharField(max_length=100)),
('time', fields.BigIntField()),
('last_edit', fields.BigIntField()),
('kind', fields.CharField(max_length=50)),
('subkind', fields.CharField(null=True, max_length=50)),
('format', fields.CharField(null=True, max_length=20)),
('content', fields.TextField(unique=False)),
],
options={'table': 'messages', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
ops.CreateModel(
name='MessageDatum',
fields=[
('id', fields.IntField(generated=True, primary_key=True, unique=True, db_index=True)),
('message', fields.ForeignKeyField('models.Message', source_field='message_id', db_constraint=True, to_field='id', related_name='data', on_delete=OnDelete.CASCADE)),
('user', fields.ForeignKeyField('models.User', source_field='user_id', db_constraint=True, to_field='id', related_name='message_data', on_delete=OnDelete.CASCADE)),
('value', fields.JSONField(null=True, encoder=JSON_DUMPS, decoder=loads)),
],
options={'table': 'message_data', 'app': 'models', 'pk_attr': 'id'},
bases=['Model'],
),
]