layrz-sdk 3.1.38__py3-none-any.whl → 3.1.40__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 layrz-sdk might be problematic. Click here for more details.

@@ -48,11 +48,13 @@ from .charts.timeline_chart import TimelineChart
48
48
  from .charts.timeline_serie import TimelineSerie
49
49
  from .charts.timeline_serie_item import TimelineSerieItem
50
50
  from .checkpoint import Checkpoint
51
+ from .command_series_ticket import CommandSeriesTicket, CommandSeriesTicketStatus
51
52
  from .comment import Comment
52
53
  from .custom_field import CustomField
53
54
  from .custom_report_page import CustomReportPage
54
55
  from .device import Device
55
56
  from .event import Event
57
+ from .exchange_service import ExchangeService
56
58
  from .function import Function
57
59
  from .geofence import Geofence
58
60
  from .geofence_category import GeofenceCategory
@@ -68,6 +70,7 @@ from .outbound_service import OutboundService
68
70
  from .platform import Platform
69
71
  from .position import Position
70
72
  from .presence_type import PresenceType
73
+ from .preset import Preset
71
74
  from .report import Report
72
75
  from .report_col import ReportCol
73
76
  from .report_configuration import ReportConfiguration
@@ -183,4 +186,8 @@ __all__ = [
183
186
  'OperationCasePayload',
184
187
  'OperationCaseCommentPayload',
185
188
  'OperationPayload',
189
+ 'ExchangeService',
190
+ 'CommandSeriesTicket',
191
+ 'CommandSeriesTicketStatus',
192
+ 'Preset',
186
193
  ]
@@ -0,0 +1,66 @@
1
+ """Command Series Ticket entity"""
2
+
3
+ from datetime import datetime
4
+ from typing import Any
5
+
6
+ from pydantic import BaseModel, Field
7
+
8
+ from layrz_sdk.backwards import StrEnum
9
+ from layrz_sdk.constants import UTC
10
+ from layrz_sdk.entities.action import Action
11
+ from layrz_sdk.entities.asset import Asset
12
+ from layrz_sdk.entities.geofence import Geofence
13
+ from layrz_sdk.entities.trigger import Trigger
14
+
15
+
16
+ class CommandSeriesTicketStatus(StrEnum):
17
+ PENDING = 'PND'
18
+ IN_SERVICE = 'ISV'
19
+ TO_JOB = 'TJB'
20
+ AT_JOB = 'ATJ'
21
+ POURING = 'POU'
22
+ TO_PLANT = 'TPL'
23
+ IN_YARD = 'IYD'
24
+ OUT_OF_SERVICE = 'OSV'
25
+
26
+
27
+ class CommandSeriesTicket(BaseModel):
28
+ """Command Series Ticket definition"""
29
+
30
+ pk: int = Field(..., description='ID', alias='id')
31
+ service_id: int = Field(..., description='Service ID')
32
+ status: CommandSeriesTicketStatus = Field(
33
+ default=CommandSeriesTicketStatus.IN_SERVICE,
34
+ description='Ticket status',
35
+ )
36
+
37
+ ticket_id: str = Field(..., description='Ticket ID')
38
+ ticket_code: str = Field(..., description='Ticket code')
39
+ ticket_at: datetime = Field(..., description='Ticket creation date')
40
+
41
+ source_id: int | None = Field(default=None, description='Source geofence ID')
42
+ source: Geofence | None = Field(default=None, description='Source geofence')
43
+
44
+ job_id: int | None = Field(default=None, description='Job geofence ID')
45
+ job: Geofence | None = Field(default=None, description='Job geofence')
46
+
47
+ destination_id: int | None = Field(default=None, description='Destination geofence ID')
48
+ destination: Geofence | None = Field(default=None, description='Destination geofence')
49
+
50
+ asset_id: int | None = Field(default=None, description='Asset ID')
51
+ asset: Asset | None = Field(default=None, description='Asset')
52
+
53
+ trigger_id: int | None = Field(default=None, description='Trigger ID')
54
+ trigger: Trigger | None = Field(default=None, description='Trigger')
55
+
56
+ action_id: int | None = Field(default=None, description='Action ID')
57
+ action: Action | None = Field(default=None, description='Action')
58
+
59
+ created_at: datetime = Field(
60
+ default_factory=lambda: datetime.now(UTC),
61
+ description='Creation date',
62
+ )
63
+ updated_at: datetime = Field(
64
+ default_factory=lambda: datetime.now(UTC),
65
+ description='Last update date',
66
+ )
@@ -0,0 +1,29 @@
1
+ """Exchange Service entity"""
2
+
3
+ from typing import Any
4
+
5
+ from pydantic import BaseModel, Field
6
+
7
+
8
+ class ExchangeService(BaseModel):
9
+ """Exchange service definition"""
10
+
11
+ pk: int = Field(..., description='Service ID', alias='id')
12
+ name: str = Field(..., description='Service name')
13
+ credentials: dict[str, Any] = Field(
14
+ description='Service credentials',
15
+ default_factory=dict,
16
+ )
17
+ protocol_id: int | None = Field(
18
+ default=None,
19
+ description='Protocol ID',
20
+ )
21
+ flespi_token: str | None = Field(
22
+ default=None,
23
+ description='Flespi token for the service',
24
+ )
25
+
26
+ owner_id: int | None = Field(
27
+ default=None,
28
+ description='Owner ID',
29
+ )
@@ -1,5 +1,7 @@
1
1
  """Service entity"""
2
2
 
3
+ from typing import Any
4
+
3
5
  from pydantic import BaseModel, Field
4
6
 
5
7
 
@@ -8,3 +10,20 @@ class OutboundService(BaseModel):
8
10
 
9
11
  pk: int = Field(description='Service ID')
10
12
  name: str = Field(description='Service name')
13
+
14
+ protocol_name: str | None = Field(
15
+ default=None,
16
+ description='Protocol name',
17
+ )
18
+ mqtt_topic: str | None = Field(
19
+ default=None,
20
+ description='MQTT topic for the service',
21
+ )
22
+ is_consumpted: bool = Field(
23
+ default=False,
24
+ description='Is the service consumpted',
25
+ )
26
+ credentials: dict[str, Any] = Field(
27
+ description='Service credentials',
28
+ default_factory=dict,
29
+ )
@@ -0,0 +1,27 @@
1
+ """Preset entity"""
2
+
3
+ from datetime import datetime, timedelta
4
+
5
+ from pydantic import BaseModel, Field
6
+
7
+
8
+ class Preset(BaseModel):
9
+ """Preset entity"""
10
+
11
+ model_config = {
12
+ 'json_encoders': {
13
+ timedelta: lambda v: v.total_seconds(),
14
+ datetime: lambda v: v.timestamp(),
15
+ },
16
+ }
17
+
18
+ pk: int = Field(description='Defines the primary key of the preset', alias='id')
19
+ name: str = Field(description='Defines the name of the preset')
20
+ valid_before: datetime = Field(
21
+ ...,
22
+ description='Defines the date and time before which the preset is valid',
23
+ )
24
+ comment: str = Field(
25
+ default='',
26
+ description='Defines the comment of the preset',
27
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: layrz-sdk
3
- Version: 3.1.38
3
+ Version: 3.1.40
4
4
  Summary: Layrz SDK for Python
5
5
  Author-email: "Golden M, Inc." <software@goldenm.com>
6
6
  Maintainer-email: Kenny Mochizuki <kenny@goldenm.com>, Luis Reyes <lreyes@goldenm.com>, Kasen Li <kli@goldenm.com>, Miguel Zauzich <miguel@goldenm.com>, Angel Prieto <aprieto@goldenm.com>
@@ -2,7 +2,7 @@ layrz_sdk/__init__.py,sha256=OutylN0QazaeDVIA5NRDVyzwfYnZkAwVQzT-2F6iX2M,28
2
2
  layrz_sdk/backwards.py,sha256=f_DUxvbZs-p287-wGwxx0NVUK7Gha-cNP_hHRAJWAq0,85
3
3
  layrz_sdk/constants.py,sha256=guXfIsVAcex76OEMv6DAJy1km1A_WUfWJuUO2Lo3kXE,344
4
4
  layrz_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- layrz_sdk/entities/__init__.py,sha256=59xKI9MgRxVO4cZi_XQeGHrQRVjmzuLJ_vU8XbncphQ,5289
5
+ layrz_sdk/entities/__init__.py,sha256=K3YsNLZPebmBZVrI-oMS58vo-XCkORQDYPRwkgglvwI,5533
6
6
  layrz_sdk/entities/action.py,sha256=QTe2L2NCJqxCUn-kb-qgjgQ9gn9nGT-qXcVyHvjXF20,2089
7
7
  layrz_sdk/entities/action_geofence_ownership.py,sha256=PHu6495IUb9biKLXGEy4ESyrzmpP2AQbJiquYk9Kz7c,678
8
8
  layrz_sdk/entities/action_kind.py,sha256=u5CI9y86f6-zHKSf4gRhoqcK5azle1UAHqa8-033x88,1277
@@ -15,11 +15,13 @@ layrz_sdk/entities/case.py,sha256=0dSfZCezDuEEED42rws-zntqa_Em9oFevlXSPrIeIC8,18
15
15
  layrz_sdk/entities/case_ignored_status.py,sha256=9nRIKJqaZ9EBXYuI4j4v2hCd0C6GtWPDKsbdE2Srt1g,517
16
16
  layrz_sdk/entities/case_status.py,sha256=4k6PeJJiCqp1LxipXTrIFuEqeK2NYwbrKA8KvI51ewU,443
17
17
  layrz_sdk/entities/checkpoint.py,sha256=Y_LduHugWdn3sLvXmiqjaIXnGzoJ5aN_qLCzD9YXOhQ,513
18
+ layrz_sdk/entities/command_series_ticket.py,sha256=Bn1j7q9qsnr-Kq8rvYOtJe8cTRyShBAwk4vtuyZMkgg,2240
18
19
  layrz_sdk/entities/comment.py,sha256=1YSWVxXlpoicVVHv3mvkNlfUTfcOMxZYfb4YmwrxchY,414
19
20
  layrz_sdk/entities/custom_field.py,sha256=jurONu01Ph-Qq8uuxdzxoQ6i7BqbZe64vO2ESvQDSFg,277
20
21
  layrz_sdk/entities/custom_report_page.py,sha256=eqtoFOgip0z4_cMql1tHgaR4JiVEYlfbzd9ZJ7ZLyrM,1231
21
22
  layrz_sdk/entities/device.py,sha256=rqBJf0L-cIfxE6ONwGHVx_L0StyQL-ycvSVzug4iIwQ,732
22
23
  layrz_sdk/entities/event.py,sha256=IDcPwtKbqvX8S2QQei3yFbA2M8NeSYGFoXo3AaSmdHI,720
24
+ layrz_sdk/entities/exchange_service.py,sha256=DOSffjwxZ7tcRA6nk0QCf-dpO981jqP9FX_wjvviSGI,665
23
25
  layrz_sdk/entities/function.py,sha256=n1E72233GM7kSZEUVj8e9IiV7XyeirGMlwrqsNf_xAc,865
24
26
  layrz_sdk/entities/geofence.py,sha256=jPuG5OCknkM37Q4h5haOXdV4OpVyd4gX77dFjd-FaP4,326
25
27
  layrz_sdk/entities/geofence_category.py,sha256=YtUx7z-NmnQhYL8GedQRMR4xsis_BnPNyNR4hq-dJds,988
@@ -30,10 +32,11 @@ layrz_sdk/entities/operation.py,sha256=xXD_-dqLW5c6J3aRMRxJh9tebaDKl7WPOoq0Q-chy
30
32
  layrz_sdk/entities/operation_case_payload.py,sha256=ZOimwmt3fRz01U5Mz0KqeKbS9AGdIDJvZBhPI3c50xQ,2657
31
33
  layrz_sdk/entities/operation_payload.py,sha256=p_Zqb-pcYbt4DvmAGWphdxM74k8XQIh7CKiS1xBX_nI,8150
32
34
  layrz_sdk/entities/operation_type.py,sha256=I7wzqvc-JlqmPxYbigAV32Sb5IXFeZ65Z156imC-MXk,1027
33
- layrz_sdk/entities/outbound_service.py,sha256=_AzIKB3i86FhpSaxxdMYmCCG8JHtBi2PdzzDzMODerw,225
35
+ layrz_sdk/entities/outbound_service.py,sha256=AUivyq_AuA1ZPBOYOfRoQsGrMCYNLGiHX1QycDFn230,651
34
36
  layrz_sdk/entities/platform.py,sha256=4nEXvBorqH2LndQ6iYBmvdqAL-ELGTftEzvIsjej0p0,714
35
37
  layrz_sdk/entities/position.py,sha256=RwqRHGdROnIy70NNnpJZ3GEJW_ZAJd9jH41HJO7iEWo,3040
36
38
  layrz_sdk/entities/presence_type.py,sha256=r0TJZR0D7pgJGnkLB3CMAcsb7cAS50lpEPWPlU99yCI,423
39
+ layrz_sdk/entities/preset.py,sha256=wXSkExfJPGjKZ3BQ2VmtSTUFS8fjiD6YFRrrZ7-qzvI,663
37
40
  layrz_sdk/entities/report.py,sha256=LqYGPku3_34Dcn6HNcF-OSZC4Fs6MVli5xIEze9jG5s,9121
38
41
  layrz_sdk/entities/report_col.py,sha256=RIOqa6q7YA89u3mbhGR0-P00bDAnpJYG6oH-VjZ21a4,1361
39
42
  layrz_sdk/entities/report_configuration.py,sha256=USgpkEBr40nzS3LW9jd1MF34pFDN1XckgAHsfdJcFTA,236
@@ -101,8 +104,8 @@ layrz_sdk/helpers/__init__.py,sha256=5iW3z2m3jrYhvTfxX-p-QTkR9X9oTKfEsbtVOg9jFFY
101
104
  layrz_sdk/helpers/color.py,sha256=dlpMafbM-4Wd9D9hMbbnZJf4ALkpie_ZmBR2Vz_YCmM,1203
102
105
  layrz_sdk/lcl/__init__.py,sha256=U967AWANkL3u_YVxMNAYlh8jkZ6hqHfStacz7yz6sOA,89
103
106
  layrz_sdk/lcl/core.py,sha256=T80A3hL7SeqRNSfl5SrPAgwIEf-enoAVv9ldwJNzqsA,24786
104
- layrz_sdk-3.1.38.dist-info/licenses/LICENSE,sha256=d5ZrU--lIPER7QByXDKcrtOTOMk1JvN_9FdYDuoWi7Y,1057
105
- layrz_sdk-3.1.38.dist-info/METADATA,sha256=7IQtGpPsNhR_h-ifDGuy4ZZBEH4Yr96W7Gi43KkxEHA,2109
106
- layrz_sdk-3.1.38.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
107
- layrz_sdk-3.1.38.dist-info/top_level.txt,sha256=yUTMMzfdZ0HDWQH5TaSlFM4xtwmP1fSGxmlL1dmu4l4,10
108
- layrz_sdk-3.1.38.dist-info/RECORD,,
107
+ layrz_sdk-3.1.40.dist-info/licenses/LICENSE,sha256=d5ZrU--lIPER7QByXDKcrtOTOMk1JvN_9FdYDuoWi7Y,1057
108
+ layrz_sdk-3.1.40.dist-info/METADATA,sha256=a-9-5uRZT4juh_DcspHj3LbrxsYAaaTvumifRAMRF1c,2109
109
+ layrz_sdk-3.1.40.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
110
+ layrz_sdk-3.1.40.dist-info/top_level.txt,sha256=yUTMMzfdZ0HDWQH5TaSlFM4xtwmP1fSGxmlL1dmu4l4,10
111
+ layrz_sdk-3.1.40.dist-info/RECORD,,