cs-models 0.0.747__py3-none-any.whl → 0.0.749__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cs-models might be problematic. Click here for more details.
- cs_models/resources/WorkbookWorkflow/__init__.py +0 -0
- cs_models/resources/WorkbookWorkflow/models.py +36 -0
- cs_models/resources/WorkbookWorkflow/schemas.py +22 -0
- cs_models/resources/WorkbookWorkflowBlock/__init__.py +0 -0
- cs_models/resources/WorkbookWorkflowBlock/models.py +34 -0
- cs_models/resources/WorkbookWorkflowBlock/schemas.py +57 -0
- {cs_models-0.0.747.dist-info → cs_models-0.0.749.dist-info}/METADATA +1 -1
- {cs_models-0.0.747.dist-info → cs_models-0.0.749.dist-info}/RECORD +10 -4
- {cs_models-0.0.747.dist-info → cs_models-0.0.749.dist-info}/WHEEL +0 -0
- {cs_models-0.0.747.dist-info → cs_models-0.0.749.dist-info}/top_level.txt +0 -0
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from sqlalchemy import (
|
|
2
|
+
Column,
|
|
3
|
+
Integer,
|
|
4
|
+
DateTime,
|
|
5
|
+
Boolean,
|
|
6
|
+
ForeignKey,
|
|
7
|
+
)
|
|
8
|
+
from datetime import datetime
|
|
9
|
+
from sqlalchemy.orm import relationship
|
|
10
|
+
|
|
11
|
+
from ...database import Base
|
|
12
|
+
from ..WorkbookWorkflowBlock.models import WorkbookWorkflowBlockModel
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class WorkbookWorkflowModel(Base):
|
|
16
|
+
__tablename__ = 'workbook_workflows'
|
|
17
|
+
|
|
18
|
+
id = Column(Integer, primary_key=True)
|
|
19
|
+
workbook_id = Column(
|
|
20
|
+
Integer,
|
|
21
|
+
ForeignKey("workbooks.id"),
|
|
22
|
+
nullable=False,
|
|
23
|
+
)
|
|
24
|
+
is_deleted = Column(Boolean, nullable=True)
|
|
25
|
+
updated_at = Column(
|
|
26
|
+
DateTime,
|
|
27
|
+
default=datetime.utcnow,
|
|
28
|
+
onupdate=datetime.utcnow,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
workflow_blocks = relationship(
|
|
32
|
+
"WorkbookWorkflowBlockModel",
|
|
33
|
+
primaryjoin="WorkbookWorkflowModel.id==WorkbookWorkflowBlockModel.workflow_id",
|
|
34
|
+
order_by=WorkbookWorkflowBlockModel.sequence_number,
|
|
35
|
+
back_populates="workbook_workflow",
|
|
36
|
+
)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
validate,
|
|
5
|
+
)
|
|
6
|
+
from ..WorkbookWorkflowBlock.schemas import (
|
|
7
|
+
WorkbookWorkflowBlockResourceSchema,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class WorkbookWorkflowResourceSchema(Schema):
|
|
12
|
+
not_blank = validate.Length(min=1, error="Field cannot be blank")
|
|
13
|
+
|
|
14
|
+
id = fields.Integer(dump_only=True)
|
|
15
|
+
workbook_id = fields.Integer(required=True)
|
|
16
|
+
is_deleted = fields.Boolean(allow_none=True)
|
|
17
|
+
workflow_blocks = fields.Nested(
|
|
18
|
+
WorkbookWorkflowBlockResourceSchema(exclude=("workflow_id",)),
|
|
19
|
+
many=True,
|
|
20
|
+
dump_only=True,
|
|
21
|
+
)
|
|
22
|
+
updated_at = fields.DateTime(dump_only=True)
|
|
File without changes
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from sqlalchemy import Column, DateTime, Boolean, ForeignKey, Integer, Text, String
|
|
3
|
+
from sqlalchemy.orm import relationship
|
|
4
|
+
from ...database import Base
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class WorkbookWorkflowBlockModel(Base):
|
|
8
|
+
__tablename__ = "workbook_workflow_blocks"
|
|
9
|
+
|
|
10
|
+
id = Column(Integer, primary_key=True)
|
|
11
|
+
workflow_id = Column(
|
|
12
|
+
Integer,
|
|
13
|
+
ForeignKey("workbook_workflows.id"),
|
|
14
|
+
nullable=False,
|
|
15
|
+
)
|
|
16
|
+
sequence_number = Column(Integer, nullable=False)
|
|
17
|
+
block_type = Column(String(50), nullable=False)
|
|
18
|
+
data = Column(Text, nullable=True)
|
|
19
|
+
is_deleted = Column(Boolean, nullable=True)
|
|
20
|
+
created_at = Column(DateTime, nullable=False, default=lambda: datetime.utcnow())
|
|
21
|
+
updated_at = Column(
|
|
22
|
+
DateTime,
|
|
23
|
+
nullable=False,
|
|
24
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
25
|
+
default=lambda: datetime.utcnow(),
|
|
26
|
+
onupdate=lambda: datetime.utcnow(),
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
# These are ORM fields. Don't need to be added in the corresponding migration.
|
|
30
|
+
# https://docs.sqlalchemy.org/en/14/orm/tutorial.html#building-a-relationship
|
|
31
|
+
workbook_workflow = relationship(
|
|
32
|
+
"WorkbookWorkflowModel",
|
|
33
|
+
back_populates="workflow_blocks",
|
|
34
|
+
)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""Marshmallow Schema for AssistantCommand."""
|
|
2
|
+
import json
|
|
3
|
+
from marshmallow import Schema, fields
|
|
4
|
+
from ..WorkbookBlockComment.schemas import (
|
|
5
|
+
WorkbookBlockCommentResourceSchema,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class WorkbookWorkflowBlockDataField(fields.Field):
|
|
10
|
+
"""Field that stores result for the Assistant command."""
|
|
11
|
+
|
|
12
|
+
def _serialize(self, value, attr, obj, **kwargs):
|
|
13
|
+
"""
|
|
14
|
+
In the DB, the `result` field is a text field. We persist
|
|
15
|
+
data by performing the following:
|
|
16
|
+
|
|
17
|
+
AssistantCommandModel(
|
|
18
|
+
...
|
|
19
|
+
result=json.dumps({...}),
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
So here we need to perform the inverse operation (i.e `json.loads(..)`)
|
|
23
|
+
"""
|
|
24
|
+
if value is None:
|
|
25
|
+
return None
|
|
26
|
+
return json.loads(value)
|
|
27
|
+
|
|
28
|
+
def _deserialize(self, value, attr, data, **kwargs):
|
|
29
|
+
"""
|
|
30
|
+
In the DB, the `result` field is a text field. We persist
|
|
31
|
+
data by performing the following:
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
AssistantCommandModel(
|
|
36
|
+
***AssistantCommandResourceSchema().load({
|
|
37
|
+
...
|
|
38
|
+
"result": [{"some_key": 1}, {"some_key": 2}],
|
|
39
|
+
}),
|
|
40
|
+
)
|
|
41
|
+
"""
|
|
42
|
+
if value is None:
|
|
43
|
+
return None
|
|
44
|
+
return json.dumps(value)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class WorkbookWorkflowBlockResourceSchema(Schema):
|
|
48
|
+
"""Class for AssistantCommandResource schema"""
|
|
49
|
+
|
|
50
|
+
id = fields.Integer(dump_only=True)
|
|
51
|
+
workflow_id = fields.Integer(required=True)
|
|
52
|
+
sequence_number = fields.Integer(required=True)
|
|
53
|
+
block_type = fields.String(required=True)
|
|
54
|
+
data = WorkbookWorkflowBlockDataField(required=True, allow_none=True)
|
|
55
|
+
is_deleted = fields.Boolean(allow_none=True)
|
|
56
|
+
created_at = fields.DateTime(dump_only=True)
|
|
57
|
+
updated_at = fields.DateTime(dump_only=True)
|
|
@@ -1176,6 +1176,12 @@ cs_models/resources/WorkbookBlock/schemas.py,sha256=lRon0US-VHMOGypaiUSZsskgFpjN
|
|
|
1176
1176
|
cs_models/resources/WorkbookBlockComment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1177
1177
|
cs_models/resources/WorkbookBlockComment/models.py,sha256=t1dLdweoPOzld1uBqrGJ3rrr66UkMwdiplNZEA1WtPU,1251
|
|
1178
1178
|
cs_models/resources/WorkbookBlockComment/schemas.py,sha256=9UI_mTuPBYBk5qKUC2u0oR_clHA9XZ-bh5hhr24E-vs,563
|
|
1179
|
+
cs_models/resources/WorkbookWorkflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1180
|
+
cs_models/resources/WorkbookWorkflow/models.py,sha256=hwzg5DeABtljOX7c6_MgrsVGqKN4-Rxs6owURPiUs4o,934
|
|
1181
|
+
cs_models/resources/WorkbookWorkflow/schemas.py,sha256=HBB3p-ZBcJehee5t6XlEJcrP--UVR-CcCii-PK-_5VY,617
|
|
1182
|
+
cs_models/resources/WorkbookWorkflowBlock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1183
|
+
cs_models/resources/WorkbookWorkflowBlock/models.py,sha256=YxDqMG1o_hawbPjlM_GwlPSQ8xGmzHTZV--fUVWOaGg,1269
|
|
1184
|
+
cs_models/resources/WorkbookWorkflowBlock/schemas.py,sha256=cfL_XcEjgCEVI0SyzTkl6cyavGaS_r3BL5WPfXhKPTE,1731
|
|
1179
1185
|
cs_models/resources_aact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1180
1186
|
cs_models/resources_aact/something.py,sha256=WM5m0FzNJce1BgWjDc5YVnMQoHomeeKEyi36EKcd33s,1561
|
|
1181
1187
|
cs_models/resources_aact/BriefSummary/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -1222,7 +1228,7 @@ cs_models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
1222
1228
|
cs_models/utils/alchemy.py,sha256=fhINGFn41owJ2DLXQKXAAtLqeZ1BRzD_qU0wPK_bsGQ,1598
|
|
1223
1229
|
cs_models/utils/utils.py,sha256=bY623DuzycfPQiaOQT2AxfANeWfwr5w76dBuQ813-ns,3664
|
|
1224
1230
|
cs_models/utils/profiling/__init__.py,sha256=N-73vb0M92C975fxgXyBCBjCPELl8Oh21ZY_-tzDnns,569
|
|
1225
|
-
cs_models-0.0.
|
|
1226
|
-
cs_models-0.0.
|
|
1227
|
-
cs_models-0.0.
|
|
1228
|
-
cs_models-0.0.
|
|
1231
|
+
cs_models-0.0.749.dist-info/METADATA,sha256=Drg0j5Ad3m11t10J4-D5aHYy-RiizzgR2kNaJY6ZuN0,751
|
|
1232
|
+
cs_models-0.0.749.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
1233
|
+
cs_models-0.0.749.dist-info/top_level.txt,sha256=M7CA8Nh5t0vRManQ9gHfphhO16uhMqIbfaxr1jPDg18,10
|
|
1234
|
+
cs_models-0.0.749.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|