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'], ), ]