From b239e7a105c800caf6a61c8b0953f1268e05e85c Mon Sep 17 00:00:00 2001 From: "Paul S. Schweigert" Date: Thu, 18 Jan 2024 11:46:26 -0500 Subject: [PATCH 1/3] add catalog entry model Signed-off-by: Paul S. Schweigert --- .../0013_program_groups_catalogentry.py | 46 +++++++++++++++++++ gateway/api/models.py | 10 ++++ 2 files changed, 56 insertions(+) create mode 100644 gateway/api/migrations/0013_program_groups_catalogentry.py diff --git a/gateway/api/migrations/0013_program_groups_catalogentry.py b/gateway/api/migrations/0013_program_groups_catalogentry.py new file mode 100644 index 000000000..5e95293f9 --- /dev/null +++ b/gateway/api/migrations/0013_program_groups_catalogentry.py @@ -0,0 +1,46 @@ +# Generated by Django 4.2.9 on 2024-01-18 20:39 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("api", "0012_jobconfig_python_version"), + ] + + operations = [ + migrations.AddField( + model_name="program", + name="groups", + field=models.TextField(blank=True, default="[]"), + ), + migrations.CreateModel( + name="CatalogEntry", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("title", models.CharField(max_length=255)), + ("description", models.TextField()), + ("tags", models.TextField(blank=True, default="[]")), + ("created", models.DateTimeField(auto_now_add=True)), + ("updated", models.DateTimeField(auto_now=True, null=True)), + ( + "program", + models.ForeignKey( + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="api.program", + ), + ), + ], + ), + ] diff --git a/gateway/api/models.py b/gateway/api/models.py index c1e4d0166..8d2cd7c74 100644 --- a/gateway/api/models.py +++ b/gateway/api/models.py @@ -161,3 +161,13 @@ def __str__(self): def in_terminal_state(self): """Returns true if job is in terminal state.""" return self.status in self.TERMINAL_STATES + + +class CatalogEntry(models.Model): + """Catalog Entry model.""" + title = models.CharField(max_length=255) + description = models.TextField() + tags = models.TextField(null=False, blank=True, default="[]") + created = models.DateTimeField(auto_now_add=True) + updated = models.DateTimeField(auto_now=True, null=True) + program = models.ForeignKey(to=Program, on_delete=models.SET_NULL, null=True) From ff0f42ca0fdd997352df90cf44637a451c94dcad Mon Sep 17 00:00:00 2001 From: "Paul S. Schweigert" Date: Thu, 18 Jan 2024 15:50:12 -0500 Subject: [PATCH 2/3] lint Signed-off-by: Paul S. Schweigert --- gateway/api/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gateway/api/models.py b/gateway/api/models.py index 8d2cd7c74..a30a7f97d 100644 --- a/gateway/api/models.py +++ b/gateway/api/models.py @@ -165,6 +165,7 @@ def in_terminal_state(self): class CatalogEntry(models.Model): """Catalog Entry model.""" + title = models.CharField(max_length=255) description = models.TextField() tags = models.TextField(null=False, blank=True, default="[]") From 66a4e8de817a68786b1bd1f1743053e7036ad452 Mon Sep 17 00:00:00 2001 From: "Paul S. Schweigert" Date: Thu, 18 Jan 2024 18:36:31 -0500 Subject: [PATCH 3/3] drop unnecessary field Signed-off-by: Paul S. Schweigert --- gateway/api/migrations/0013_program_groups_catalogentry.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/gateway/api/migrations/0013_program_groups_catalogentry.py b/gateway/api/migrations/0013_program_groups_catalogentry.py index 5e95293f9..1070b9433 100644 --- a/gateway/api/migrations/0013_program_groups_catalogentry.py +++ b/gateway/api/migrations/0013_program_groups_catalogentry.py @@ -11,11 +11,6 @@ class Migration(migrations.Migration): ] operations = [ - migrations.AddField( - model_name="program", - name="groups", - field=models.TextField(blank=True, default="[]"), - ), migrations.CreateModel( name="CatalogEntry", fields=[