cs-models 0.0.680__py3-none-any.whl → 0.0.681__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, String
4
+ from sqlalchemy import Column, DateTime, Enum, ForeignKey, Integer, String, Text
5
5
  from sqlalchemy.orm import relationship
6
6
 
7
7
  from ...database import Base
@@ -29,8 +29,8 @@ class AssistantUserQueryModel(Base):
29
29
  nullable=False,
30
30
  )
31
31
  filter = Column(
32
- String,
33
- nullable=False,
32
+ Text,
33
+ nullable=True,
34
34
  )
35
35
  type = Column(
36
36
  String,
@@ -1,16 +1,54 @@
1
+ import json
1
2
  from marshmallow import Schema, fields
2
-
3
3
  from .models import AssistantUserQueryStatusEnum
4
4
  from ..AssistantCommand.schemas import (
5
5
  AssistantCommandResourceSchema,
6
6
  )
7
7
 
8
8
 
9
+ class AssistantUserQueryFilterField(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
+
9
47
  class AssistantUserQueryResourceSchema(Schema):
10
48
  id = fields.Integer(dump_only=True)
11
49
  session_id = fields.Integer(required=True)
12
50
  value = fields.String(required=True)
13
- filter = fields.String(allow_none=True)
51
+ filter = AssistantUserQueryFilterField(allow_none=True)
14
52
  type = fields.String(required=True)
15
53
  status = fields.Enum(AssistantUserQueryStatusEnum, required=True, by_value=True)
16
54
  commands = fields.Nested(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cs-models
3
- Version: 0.0.680
3
+ Version: 0.0.681
4
4
  Summary: MySQL db models
5
5
  Home-page: https://github.com/mindgram/cs-models
6
6
  Author: Shrey Verma
@@ -59,8 +59,8 @@ cs_models/resources/AssistantSession/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
59
59
  cs_models/resources/AssistantSession/models.py,sha256=_aWsZ71HFytf0ufekL_dGGECYKDPPzlRSPXAv9dR0rY,1417
60
60
  cs_models/resources/AssistantSession/schemas.py,sha256=v4orSJwiNDzmcjdUHoW9CZpkS7pxsUwEdQDUJpOqwg4,781
61
61
  cs_models/resources/AssistantUserQuery/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- cs_models/resources/AssistantUserQuery/models.py,sha256=9eegXJCIyum4cj42lxhLN2HAyRzd67musar_7fdMZus,1820
63
- cs_models/resources/AssistantUserQuery/schemas.py,sha256=kRe-GthQb73noGWdRg0xKTx6t0z1yWJputkux7VW7SI,760
62
+ cs_models/resources/AssistantUserQuery/models.py,sha256=Je_-aQ702dWxQSTH398dspF8_glRCHtSA6_LdWLW410,1823
63
+ cs_models/resources/AssistantUserQuery/schemas.py,sha256=ju2-XM9xdXCNwcFy0YDzJ0dH0Nj2BxTRZPqnItFZMVo,1819
64
64
  cs_models/resources/B3CRSS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
65
  cs_models/resources/B3CRSS/models.py,sha256=rl538IgpQSzZu0FzpfxbDDCRWGkAGTpqcw9or5tMOg8,629
66
66
  cs_models/resources/B3CRSS/schemas.py,sha256=mArXYiVl15oEFaz9RLQ6WN68ueI0ec83NeLrNnP-sMM,346
@@ -1138,7 +1138,7 @@ cs_models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1138
1138
  cs_models/utils/alchemy.py,sha256=fhINGFn41owJ2DLXQKXAAtLqeZ1BRzD_qU0wPK_bsGQ,1598
1139
1139
  cs_models/utils/utils.py,sha256=bY623DuzycfPQiaOQT2AxfANeWfwr5w76dBuQ813-ns,3664
1140
1140
  cs_models/utils/profiling/__init__.py,sha256=N-73vb0M92C975fxgXyBCBjCPELl8Oh21ZY_-tzDnns,569
1141
- cs_models-0.0.680.dist-info/METADATA,sha256=pMVVXwcaCgaHRE_em5hTKwFdHlIZZtlBysXsEHMzG9k,792
1142
- cs_models-0.0.680.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
1143
- cs_models-0.0.680.dist-info/top_level.txt,sha256=M7CA8Nh5t0vRManQ9gHfphhO16uhMqIbfaxr1jPDg18,10
1144
- cs_models-0.0.680.dist-info/RECORD,,
1141
+ cs_models-0.0.681.dist-info/METADATA,sha256=MMmOvmkbDD3LH9MTcyv3swU1GXvG8Uy7am_WjlumBEA,792
1142
+ cs_models-0.0.681.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
1143
+ cs_models-0.0.681.dist-info/top_level.txt,sha256=M7CA8Nh5t0vRManQ9gHfphhO16uhMqIbfaxr1jPDg18,10
1144
+ cs_models-0.0.681.dist-info/RECORD,,