From 370da650ee77e379f0f34d01e831bbbfbf092a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Arroba?= Date: Wed, 4 Jun 2025 19:43:53 +0200 Subject: [PATCH] chore: add missing migrations --- .../api/migrations/0030_lighthouse_config.py | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 api/src/backend/api/migrations/0030_lighthouse_config.py diff --git a/api/src/backend/api/migrations/0030_lighthouse_config.py b/api/src/backend/api/migrations/0030_lighthouse_config.py new file mode 100644 index 0000000000..bcb7b1d326 --- /dev/null +++ b/api/src/backend/api/migrations/0030_lighthouse_config.py @@ -0,0 +1,82 @@ +# Generated by Django 5.1.7 on 2025-04-10 14:54 +import uuid + +import django.core.validators +import django.db.models.deletion +from django.db import migrations, models + +import api.rls + + +class Migration(migrations.Migration): + dependencies = [ + ("api", "0029_findings_check_index_parent"), + ] + operations = [ + migrations.CreateModel( + name="LighthouseConfig", + fields=[ + ( + "id", + models.UUIDField( + default=uuid.uuid4, + editable=False, + primary_key=True, + serialize=False, + ), + ), + ("inserted_at", models.DateTimeField(auto_now_add=True)), + ("updated_at", models.DateTimeField(auto_now=True)), + ( + "name", + models.CharField( + max_length=100, + validators=[django.core.validators.MinLengthValidator(3)], + ), + ), + ("api_key", models.BinaryField()), + ("model", models.CharField(default="gpt-4o", max_length=50)), + ("temperature", models.FloatField(default=0.7)), + ("max_tokens", models.IntegerField(default=4000)), + ( + "business_context", + models.TextField( + blank=True, + help_text="Additional business context for this AI model configuration", + null=True, + ), + ), + ("is_active", models.BooleanField(default=True)), + ( + "tenant", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, to="api.tenant" + ), + ), + ], + options={ + "db_table": "lighthouse_configurations", + "abstract": False, + "indexes": [ + models.Index(fields=["name"], name="lighthouse_config_name_idx"), + models.Index( + fields=["is_active"], name="lighthouse_config_active_idx" + ), + ], + "constraints": [ + models.UniqueConstraint( + fields=("tenant_id",), + name="unique_lighthouse_config_per_tenant", + ), + ], + }, + ), + migrations.AddConstraint( + model_name="lighthouseconfig", + constraint=api.rls.RowLevelSecurityConstraint( + "tenant_id", + name="rls_on_lighthouseconfig", + statements=["SELECT", "INSERT", "UPDATE", "DELETE"], + ), + ), + ]