sysnet-pyutils 1.1.2__py3-none-any.whl → 1.1.4__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.
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from datetime import datetime
2
4
  from enum import Enum
3
5
  from typing import Optional, List, Tuple, Any
@@ -5,7 +7,7 @@ from uuid import UUID
5
7
 
6
8
  from pydantic import BaseModel, Field, EmailStr
7
9
 
8
- from sysnet_pyutils.utils import local_now
10
+ from sysnet_pyutils.utils import local_now, is_valid_unid, is_valid_pid, is_valid_uuid
9
11
 
10
12
 
11
13
  class ApiError(Exception):
@@ -245,12 +247,22 @@ class PersonCoreType(BaseModel):
245
247
 
246
248
  class PersonBaseType(PersonCoreType):
247
249
  # Osoba z Registru osob
250
+ identifier: Optional[str] = Field(default=None, description='Hlavní jednoznačný identifikátor')
248
251
  unid: Optional[str] = Field(default=None, description='Domino universal ID', examples=['3005277CB984B7FFC12587890060E2BF'])
249
252
  pid: Optional[str] = Field(default=None, description='Unique identifier', examples=['MBOA7HNBDJTR'])
250
- uuid: Optional[UUID] = Field(default=None, description='Unique identifier')
253
+ uuid: Optional[UUID] = Field(default=None, description='Unique identifier (UUID)')
251
254
  main_person: Optional[LinkedType] = Field(default=None, description='Odkaz na hlavní osobu do registru')
252
255
  linked_persons: Optional[list[LinkedType]] = Field(default=None, description='Odkaz na další osoby do registru')
253
256
 
257
+ def make_identifier(self) -> Optional[str]:
258
+ if is_valid_unid(self.unid):
259
+ self.identifier = self.unid
260
+ if is_valid_pid(self.pid):
261
+ self.identifier = self.pid
262
+ if is_valid_uuid(self.uuid):
263
+ self.identifier = str(self.uuid)
264
+ return self.identifier
265
+
254
266
  class WorkflowType(BaseModel):
255
267
  # Položka životního cyklu
256
268
  node_code: Optional[str] = Field(default=None, description='Kód schvalovacího uzlu (APPROVE, AUTHORIZE, REJECT, ...)', examples=['APPROVE', 'AUTHORIZE', 'REJECT'])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sysnet-pyutils
3
- Version: 1.1.2
3
+ Version: 1.1.4
4
4
  Summary: Python Utilities
5
5
  Author-email: Data Developer <info@sysnet.cz>
6
6
  Project-URL: Homepage, https://github.com/SYSNET-CZ/pyutils
@@ -332,12 +332,18 @@ Kontrola validity emailové adresy
332
332
  Datový slovník je vytvořen pomocí pydantic a je plně kompatibilní s FastAPI.
333
333
  Obsahuje základní datové typy, které se používají ve všech aplikacích SYSNET.
334
334
 
335
+ --------------------------------------------------------------------------------------------------------------------------------
336
+
337
+ ### verze 1.1.3
338
+
339
+ Třída **PersonBaseType** rozšířena o atribut **identifier** (hlavní identifikátor) a metodu **make_identifier()**,
340
+ která naplní atribut **identifier** z unid, pid nebo uuid.
335
341
 
336
342
 
337
343
  ## Systémové proměnné
338
344
 
339
345
  * **TZ**: Časová zóna. Implicitně 'Europe/Prague'
340
- * **DEBUG**: Debug mode. Implictně `True`
346
+ * **DEBUG**: Debug mode. Implicitně `True`
341
347
  * **LOG_FORMAT**: Formát logování. Implicitně `'%(asctime)s - %(levelname)s in %(module)s: %(message)s'`
342
348
  * **LOG_DATE_FORMAT**: Formát data pro logování. Implicitně `'%d.%m.%Y %H:%M:%S'`
343
349
  * **PID_PREFIX**: PID prefix. Implicitně `'SNT'`
@@ -9,9 +9,9 @@ sysnet_pyutils/ses.py,sha256=WJzs0y2QnF4XGDGjls_W0p0v6DJ4fZ4_97m3XbzpaFw,2713
9
9
  sysnet_pyutils/tools.py,sha256=ZioHvUIufrhuJyZLdPnuMUD8Li5LTljSMSCxqRnKIi4,377
10
10
  sysnet_pyutils/utils.py,sha256=Y95MyEuZlSlTVsQ2rOArdkTN7xqcGsCA7RA6VoBHSSk,23257
11
11
  sysnet_pyutils/models/__init__.py,sha256=oozOr_DKhenkM9BDaPOmtbLXhP5vtMUCjBPEjZDW4GQ,167
12
- sysnet_pyutils/models/general.py,sha256=XSR17zBEKF1aaly0auUKxS0pFMscClOhDP-iwwu7rhY,14743
13
- sysnet_pyutils-1.1.2.dist-info/LICENSE,sha256=bx5iLIKjgAdYQ7sISn7DsfHRKkoCUm1154sJJKhgqnU,35184
14
- sysnet_pyutils-1.1.2.dist-info/METADATA,sha256=ZG6kvC_MO_k2vLWburldP8IqQGG8tYcQJMKkgQ-U-Qo,14744
15
- sysnet_pyutils-1.1.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
16
- sysnet_pyutils-1.1.2.dist-info/top_level.txt,sha256=ZKTltQWbLlWBXw4oovo1w7ui-JQ1WoyECqMSWdBj6XE,15
17
- sysnet_pyutils-1.1.2.dist-info/RECORD,,
12
+ sysnet_pyutils/models/general.py,sha256=N_X3mpYK8XirsGCvER44cweVK07sCNZnv1FybQw5bas,15247
13
+ sysnet_pyutils-1.1.4.dist-info/LICENSE,sha256=bx5iLIKjgAdYQ7sISn7DsfHRKkoCUm1154sJJKhgqnU,35184
14
+ sysnet_pyutils-1.1.4.dist-info/METADATA,sha256=Qjse4vMZptC6ovlLPXSfEzcBdeR3vMwduWL3dhH_AuQ,15083
15
+ sysnet_pyutils-1.1.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
16
+ sysnet_pyutils-1.1.4.dist-info/top_level.txt,sha256=ZKTltQWbLlWBXw4oovo1w7ui-JQ1WoyECqMSWdBj6XE,15
17
+ sysnet_pyutils-1.1.4.dist-info/RECORD,,