From 7c0b616ceaea52c817fb99d16c294817b49db687 Mon Sep 17 00:00:00 2001
From: Charlotte Hausman <chausman@nrao.edu>
Date: Thu, 16 Sep 2021 16:41:10 -0400
Subject: [PATCH] add workflow_metadata column to sqlalchemy schema

---
 services/capability/test/test_capability_version_views.py    | 5 ++---
 shared/workspaces/workspaces/capability/schema.py            | 2 ++
 shared/workspaces/workspaces/capability/schema_interfaces.py | 1 +
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/services/capability/test/test_capability_version_views.py b/services/capability/test/test_capability_version_views.py
index 238d25247..02211dca3 100644
--- a/services/capability/test/test_capability_version_views.py
+++ b/services/capability/test/test_capability_version_views.py
@@ -19,6 +19,7 @@ def test_view_latest_version(test_config: Configurator, request_null_capability:
         "capability_request_id": 1,
         "version_number": 1,
         "parameters": '{"arguments": "-pe"}',
+        "workflow_metadata": None,
         "files": [],
     }
     assert response.status_code == http.HTTPStatus.OK
@@ -33,9 +34,7 @@ def test_view_latest_version(test_config: Configurator, request_null_capability:
     assert no_such_request_response.status_code == http.HTTPStatus.NOT_FOUND
 
 
-def test_create_capability_version(
-    test_config: Configurator, request_null_capability: DummyRequest
-):
+def test_create_capability_version(test_config: Configurator, request_null_capability: DummyRequest):
     """
     Tests the create capability version view to make sure it properly supports creation of versions
 
diff --git a/shared/workspaces/workspaces/capability/schema.py b/shared/workspaces/workspaces/capability/schema.py
index e50eef8da..5026f0aa2 100644
--- a/shared/workspaces/workspaces/capability/schema.py
+++ b/shared/workspaces/workspaces/capability/schema.py
@@ -208,6 +208,7 @@ class CapabilityVersion(Base, CapabilityVersionIF):
     )
     version_number = sa.Column("version_number", sa.Integer, primary_key=True)
     parameters = sa.Column("parameters", sa.JSON)
+    workflow_metadata = sa.Column("workflow_metadata", sa.JSON)
     request = relationship(CapabilityRequest, back_populates="versions")
     executions = relationship("CapabilityExecution", back_populates="version")
     files = relationship("CapabilityVersionFile", back_populates="version")
@@ -227,6 +228,7 @@ class CapabilityVersion(Base, CapabilityVersionIF):
             "capability_request_id": self.capability_request_id,
             "version_number": self.version_number,
             "parameters": self.parameters,
+            "workflow_metadata": self.workflow_metadata,
             "files": [file.__json__() for file in self.files],
         }
 
diff --git a/shared/workspaces/workspaces/capability/schema_interfaces.py b/shared/workspaces/workspaces/capability/schema_interfaces.py
index 9267ace45..3cd2de6d6 100644
--- a/shared/workspaces/workspaces/capability/schema_interfaces.py
+++ b/shared/workspaces/workspaces/capability/schema_interfaces.py
@@ -35,6 +35,7 @@ class CapabilityVersionIF:
     capability_request: CapabilityRequestIF
     version_number: int
     parameters: List[ParameterIF]
+    workflow_metadata: str  # JSON-formatted
     files: List[CapabilityVersionFileIF]
 
     def __json__(self):
-- 
GitLab