Skip to content
Snippets Groups Projects
Commit 58263161 authored by Daniel Lyons's avatar Daniel Lyons
Browse files

On to the next error

parent b08cdd9e
No related branches found
No related tags found
No related merge requests found
...@@ -32,7 +32,7 @@ class CapabilityRestService: ...@@ -32,7 +32,7 @@ class CapabilityRestService:
def create(self): def create(self):
# create a capability request for this ... request # create a capability request for this ... request
req = self.request.json_body req = self.request.json_body
request = self.request.capabilities.create_request(req.capability_name) request = self.request.capabilities.create_request(req)
return request return request
@view_config(request_method='POST', route_name='submit_capability_request', renderer='json') @view_config(request_method='POST', route_name='submit_capability_request', renderer='json')
......
...@@ -11,6 +11,7 @@ from typing import Dict, List, Union, Optional, Type ...@@ -11,6 +11,7 @@ from typing import Dict, List, Union, Optional, Type
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from workflow.event_catcher import EventCatcher from workflow.event_catcher import EventCatcher
from workspaces.capability_interfaces import CapabilityIF
from .capability_interfaces import CapabilityServiceIF, CapabilityQueueIF, CapabilityInfoIF, \ from .capability_interfaces import CapabilityServiceIF, CapabilityQueueIF, CapabilityInfoIF, \
CapabilityEngineIF, CapabilityName, ParameterIF CapabilityEngineIF, CapabilityName, ParameterIF
...@@ -91,9 +92,13 @@ class CapabilityInfo(CapabilityInfoIF): ...@@ -91,9 +92,13 @@ class CapabilityInfo(CapabilityInfoIF):
Interface for data access object that can look up and record information about capabilities Interface for data access object that can look up and record information about capabilities
and capability requests. Accesses and modifies the database. and capability requests. Accesses and modifies the database.
""" """
def __init__(self, session: Session): def __init__(self, session: Session):
self.session = session self.session = session
def lookup_capability(self, capability_name: str) -> CapabilityIF:
return self.session.query(Capability).filter_by(capability_name=capability_name).first()
def create_capability( def create_capability(
self, self,
name: CapabilityName, name: CapabilityName,
...@@ -112,10 +117,10 @@ class CapabilityInfo(CapabilityInfoIF): ...@@ -112,10 +117,10 @@ class CapabilityInfo(CapabilityInfoIF):
def create_capability_request( def create_capability_request(
self, self,
capability: "CapabilityIF", capability_name: str,
parameters: List[ParameterIF], parameters: List[ParameterIF] = None,
future_products: List[FutureProductIF], future_products: List[FutureProductIF] = None,
versions: List[str] versions: List[str] = None
) -> int: ) -> int:
""" """
Create new capability request and save it in the database Create new capability request and save it in the database
...@@ -125,7 +130,7 @@ class CapabilityInfo(CapabilityInfoIF): ...@@ -125,7 +130,7 @@ class CapabilityInfo(CapabilityInfoIF):
:param versions: :param versions:
:return: Integer identifier of the request :return: Integer identifier of the request
""" """
# FIXME: Parameters, future products and versions need valid str reprs capability = self.lookup_capability(capability_name)
request = CapabilityRequest( request = CapabilityRequest(
state=RequestState.Ready.name, state=RequestState.Ready.name,
capability=capability.id, capability=capability.id,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment