cs-models 0.0.667__py3-none-any.whl → 0.0.673__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.

@@ -1,7 +1,7 @@
1
1
  import enum
2
2
  from datetime import datetime
3
3
 
4
- from sqlalchemy import Column, DateTime, Enum, ForeignKey, Integer, Text
4
+ from sqlalchemy import Column, DateTime, Enum, ForeignKey, Integer, Text, Boolean
5
5
  from sqlalchemy.orm import relationship
6
6
 
7
7
  from ...database import Base
@@ -42,6 +42,7 @@ class AssistantCommandModel(Base):
42
42
  label = Column(Text, nullable=False)
43
43
  result = Column(Text)
44
44
  llm_result = Column(Text)
45
+ internal_doc = Column(Boolean, nullable=True)
45
46
  created_at = Column(DateTime, nullable=False, default=lambda: datetime.utcnow())
46
47
  updated_at = Column(
47
48
  DateTime,
@@ -103,6 +103,7 @@ class AssistantCommandResourceSchema(Schema):
103
103
  lower_neighbour_ids = fields.Method(serialize="serialize_lower_neighbours")
104
104
  result = AssistantCommandResultField(required=True, allow_none=True)
105
105
  llm_result = AssistantCommandLLMResultField(allow_none=True)
106
+ internal_doc = fields.Boolean(allow_none=True)
106
107
  created_at = fields.DateTime(dump_only=True)
107
108
  updated_at = fields.DateTime(dump_only=True)
108
109
 
File without changes
@@ -0,0 +1,29 @@
1
+ from datetime import datetime
2
+
3
+ from sqlalchemy import (
4
+ Column,
5
+ Integer,
6
+ DateTime,
7
+ Text,
8
+ String,
9
+ Boolean,
10
+ )
11
+
12
+ from ...database import Base
13
+
14
+
15
+ class SearchLinkModel(Base):
16
+ __tablename__ = "search_links"
17
+
18
+ id = Column(Integer, primary_key=True)
19
+ user_id = Column(String(128), nullable=False)
20
+ type = Column(String(50), nullable=False)
21
+ payload = Column(Text, nullable=True)
22
+ is_active = Column(Boolean, nullable=True)
23
+ updated_at = Column(
24
+ DateTime,
25
+ nullable=False,
26
+ # https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
27
+ default=lambda: datetime.utcnow(),
28
+ onupdate=lambda: datetime.utcnow(),
29
+ )
@@ -0,0 +1,16 @@
1
+ from marshmallow import (
2
+ Schema,
3
+ fields,
4
+ validate,
5
+ )
6
+
7
+
8
+ class SearchLinkResourceSchema(Schema):
9
+ not_blank = validate.Length(min=1, error='Field cannot be blank')
10
+
11
+ id = fields.Integer(dump_only=True)
12
+ user_id = fields.String(required=True, validate=not_blank)
13
+ type = fields.String(required=True)
14
+ payload = fields.String(required=True)
15
+ is_active = fields.Boolean(allow_none=True)
16
+ updated_at = fields.DateTime()
@@ -28,6 +28,8 @@ class WorkbookModel(Base):
28
28
 
29
29
  blocks = relationship(
30
30
  "WorkbookBlockModel",
31
+ primaryjoin="and_(WorkbookModel.id==WorkbookBlockModel.workbook_id, "
32
+ "or_(WorkbookBlockModel.is_deleted==False, WorkbookBlockModel.is_deleted==None))",
31
33
  order_by=WorkbookBlockModel.sequence_number,
32
34
  back_populates="workbook",
33
35
  )
@@ -3,6 +3,9 @@ from marshmallow import (
3
3
  fields,
4
4
  validate,
5
5
  )
6
+ from ..WorkbookBlock.schemas import (
7
+ WorkbookBlockResourceSchema,
8
+ )
6
9
 
7
10
 
8
11
  class WorkbookResourceSchema(Schema):
@@ -11,6 +14,11 @@ class WorkbookResourceSchema(Schema):
11
14
  id = fields.Integer(dump_only=True)
12
15
  user_id = fields.String(required=True, validate=not_blank)
13
16
  workbook_name = fields.String(required=True)
17
+ blocks = fields.Nested(
18
+ WorkbookBlockResourceSchema(exclude=("workbook_id",)),
19
+ many=True,
20
+ dump_only=True,
21
+ )
14
22
  is_deleted = fields.Boolean(allow_none=True)
15
23
  created_at = fields.DateTime(required=True)
16
24
  updated_at = fields.DateTime(dump_only=True)
@@ -38,6 +38,8 @@ class WorkbookBlockModel(Base):
38
38
 
39
39
  comments = relationship(
40
40
  "WorkbookBlockCommentModel",
41
+ primaryjoin="and_(WorkbookBlockModel.id==WorkbookBlockCommentModel.block_id, "
42
+ "or_(WorkbookBlockCommentModel.is_deleted==False, WorkbookBlockCommentModel.is_deleted==None))",
41
43
  order_by=WorkbookBlockCommentModel.sequence_number,
42
44
  back_populates="workbook_block",
43
45
  )
@@ -1,5 +1,47 @@
1
1
  """Marshmallow Schema for AssistantCommand."""
2
+ import json
2
3
  from marshmallow import Schema, fields
4
+ from ..WorkbookBlockComment.schemas import (
5
+ WorkbookBlockCommentResourceSchema,
6
+ )
7
+
8
+
9
+ class WorkbookBlockDataField(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)
3
45
 
4
46
 
5
47
  class WorkbookBlockResourceSchema(Schema):
@@ -9,7 +51,12 @@ class WorkbookBlockResourceSchema(Schema):
9
51
  workbook_id = fields.Integer(required=True)
10
52
  sequence_number = fields.Integer(required=True)
11
53
  block_type = fields.String(required=True)
12
- block_data = fields.String(allow_none=True)
54
+ block_data = WorkbookBlockDataField(required=True, allow_none=True)
55
+ comments = fields.Nested(
56
+ WorkbookBlockCommentResourceSchema(exclude=("block_id",)),
57
+ many=True,
58
+ dump_only=True,
59
+ )
13
60
  is_deleted = fields.Boolean(allow_none=True)
14
61
  created_at = fields.DateTime(dump_only=True)
15
62
  updated_at = fields.DateTime(dump_only=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cs-models
3
- Version: 0.0.667
3
+ Version: 0.0.673
4
4
  Summary: MySQL db models
5
5
  Home-page: https://github.com/mindgram/cs-models
6
6
  Author: Shrey Verma
@@ -27,8 +27,8 @@ cs_models/resources/Assignee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
27
27
  cs_models/resources/Assignee/models.py,sha256=_f0_UwzF1gbOlU0t0l-9UIi0E4vaIS5VsHeOxc698SE,617
28
28
  cs_models/resources/Assignee/schemas.py,sha256=N4_upICR1Cd_B45LHpOly7FEwWhAB1fXUP4y60OiezE,269
29
29
  cs_models/resources/AssistantCommand/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- cs_models/resources/AssistantCommand/models.py,sha256=pcUVYIxI6EtbJphk1umNbdWQPt_Bul0kvUWNGqwO5Q4,2056
31
- cs_models/resources/AssistantCommand/schemas.py,sha256=7mS-WTHwPsu8Kd_0FLgJqYwrg0qVJUp7iioWqPT1ZBE,3695
30
+ cs_models/resources/AssistantCommand/models.py,sha256=_23uhE2O5XeaTiLgHdfnswqv1-lkLJ_qi6mTxsfrmGE,2115
31
+ cs_models/resources/AssistantCommand/schemas.py,sha256=HxJQHLD8WolXkS4r-VBymxWs9QuYaFBX1c2NIF2CobQ,3746
32
32
  cs_models/resources/AssistantCommandArtifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  cs_models/resources/AssistantCommandArtifact/models.py,sha256=SxSjZA_y2SGzXv7YW-19-rCTzRBcUiPf5JzMK1B-xRg,808
34
34
  cs_models/resources/AssistantCommandArtifact/schemas.py,sha256=fNOCH2oS0gUsGZtgpKeYPc4-xJhODw2HidHV3C12tGo,414
@@ -866,6 +866,9 @@ cs_models/resources/SalesProductsMap/schemas.py,sha256=zocpRe3by4_wUKwy-Cp2I190-
866
866
  cs_models/resources/ScratchpadTable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
867
867
  cs_models/resources/ScratchpadTable/models.py,sha256=JGjzIMa-IaVDCk512G8nX3QgmfcvbQwCR91F6ykNA74,888
868
868
  cs_models/resources/ScratchpadTable/schemas.py,sha256=pQPf6xpsg0ZKDM9xwesvrpdq8HwpvXXzWpEPvxw8BBU,505
869
+ cs_models/resources/SearchLink/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
870
+ cs_models/resources/SearchLink/models.py,sha256=l1tPCSKHK7Wq1OUWFH72NYncEt6Q3bR0P6ii7YKoxCM,729
871
+ cs_models/resources/SearchLink/schemas.py,sha256=A8Y6LRgw7MHs9bihf0gZPfqp6KDm0Z8k6PJSL9WVxsc,448
869
872
  cs_models/resources/Stream/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
870
873
  cs_models/resources/Stream/models.py,sha256=wXb7yOjW82ZqmLhRcDhjLPk6_WJ5FGmvKpOcSvDMuBM,1884
871
874
  cs_models/resources/Stream/schemas.py,sha256=ZFsdEKINFGaSBUAcQQvilq5MKpYGliZseguQoc_opxk,3111
@@ -1051,11 +1054,11 @@ cs_models/resources/Watchlist/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
1051
1054
  cs_models/resources/Watchlist/models.py,sha256=YpuJCjfZvgtK_uHJieJGAyIeC-B1Zxb-whCEKvHfsf8,1173
1052
1055
  cs_models/resources/Watchlist/schemas.py,sha256=2VLCMjiOA73pp_mtjo9kmWpgpOuXOCmlSQNwe39s8qw,1818
1053
1056
  cs_models/resources/Workbook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1054
- cs_models/resources/Workbook/models.py,sha256=6sj9VhKTCnBL32_pkwUqfE9ESBRu1oCL2cpQn7bxlv8,822
1055
- cs_models/resources/Workbook/schemas.py,sha256=4gqGGN5KthKoqAYmL6QnRKMX-gGH-x61-XInNZQyTzM,475
1057
+ cs_models/resources/Workbook/models.py,sha256=4p2R8WCYYX0FOSXG0b2YhmuzKHTxYY4WZVi9X7e9GKQ,1003
1058
+ cs_models/resources/Workbook/schemas.py,sha256=xcNoPzHK6ER06XA3fAvX3x7VtX47aBP0vrIqiJvUVKw,688
1056
1059
  cs_models/resources/WorkbookBlock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1057
- cs_models/resources/WorkbookBlock/models.py,sha256=tYxYRt6210QdvgUldtmy3p3-srlVuEBZU2yCT01Xnag,1467
1058
- cs_models/resources/WorkbookBlock/schemas.py,sha256=ETbgr7qkpVlX-A0r6aTnDoRLyfoveYMvoQ1KrO3aRAc,565
1060
+ cs_models/resources/WorkbookBlock/models.py,sha256=F6qxBNuDe27Cma_wu75KmvEuDYrU2jHQvBvjtQG-5FI,1671
1061
+ cs_models/resources/WorkbookBlock/schemas.py,sha256=CfjGkuRff_ohR4WNSRKYkwpIrwPBvfuK9o21lNU3sWM,1859
1059
1062
  cs_models/resources/WorkbookBlockComment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1060
1063
  cs_models/resources/WorkbookBlockComment/models.py,sha256=t1dLdweoPOzld1uBqrGJ3rrr66UkMwdiplNZEA1WtPU,1251
1061
1064
  cs_models/resources/WorkbookBlockComment/schemas.py,sha256=9UI_mTuPBYBk5qKUC2u0oR_clHA9XZ-bh5hhr24E-vs,563
@@ -1105,7 +1108,7 @@ cs_models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1105
1108
  cs_models/utils/alchemy.py,sha256=fhINGFn41owJ2DLXQKXAAtLqeZ1BRzD_qU0wPK_bsGQ,1598
1106
1109
  cs_models/utils/utils.py,sha256=bY623DuzycfPQiaOQT2AxfANeWfwr5w76dBuQ813-ns,3664
1107
1110
  cs_models/utils/profiling/__init__.py,sha256=N-73vb0M92C975fxgXyBCBjCPELl8Oh21ZY_-tzDnns,569
1108
- cs_models-0.0.667.dist-info/METADATA,sha256=O4BFF74Z3IJGYVtVAh0uqsndPymWSiNuN32o4pUCKd8,792
1109
- cs_models-0.0.667.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
1110
- cs_models-0.0.667.dist-info/top_level.txt,sha256=M7CA8Nh5t0vRManQ9gHfphhO16uhMqIbfaxr1jPDg18,10
1111
- cs_models-0.0.667.dist-info/RECORD,,
1111
+ cs_models-0.0.673.dist-info/METADATA,sha256=GFuWOnHtnEeFaBay6TNHSWsgLfDpDh0p1wpDSuPaGHo,792
1112
+ cs_models-0.0.673.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
1113
+ cs_models-0.0.673.dist-info/top_level.txt,sha256=M7CA8Nh5t0vRManQ9gHfphhO16uhMqIbfaxr1jPDg18,10
1114
+ cs_models-0.0.673.dist-info/RECORD,,