sysnet-pyutils 1.1.2__py3-none-any.whl → 1.1.3__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.
@@ -6,6 +6,7 @@ from uuid import UUID
6
6
  from pydantic import BaseModel, Field, EmailStr
7
7
 
8
8
  from sysnet_pyutils.utils import local_now
9
+ from utils import is_valid_unid, is_valid_pid, is_valid_uuid
9
10
 
10
11
 
11
12
  class ApiError(Exception):
@@ -245,12 +246,22 @@ class PersonCoreType(BaseModel):
245
246
 
246
247
  class PersonBaseType(PersonCoreType):
247
248
  # Osoba z Registru osob
249
+ identifier: Optional[str] = Field(default=None, description='Hlavní jednoznačný identifikátor')
248
250
  unid: Optional[str] = Field(default=None, description='Domino universal ID', examples=['3005277CB984B7FFC12587890060E2BF'])
249
251
  pid: Optional[str] = Field(default=None, description='Unique identifier', examples=['MBOA7HNBDJTR'])
250
- uuid: Optional[UUID] = Field(default=None, description='Unique identifier')
252
+ uuid: Optional[UUID] = Field(default=None, description='Unique identifier (UUID)')
251
253
  main_person: Optional[LinkedType] = Field(default=None, description='Odkaz na hlavní osobu do registru')
252
254
  linked_persons: Optional[list[LinkedType]] = Field(default=None, description='Odkaz na další osoby do registru')
253
255
 
256
+ def make_identifier(self) -> Optional[str]:
257
+ if is_valid_unid(self.unid):
258
+ self.identifier = self.unid
259
+ if is_valid_pid(self.pid):
260
+ self.identifier = self.pid
261
+ if is_valid_uuid(self.uuid):
262
+ self.identifier = str(self.uuid)
263
+ return self.identifier
264
+
254
265
  class WorkflowType(BaseModel):
255
266
  # Položka životního cyklu
256
267
  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.3
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=pj8JJwjqJvakmWYYhQJ2DgF9JcnBIBAeDiuExq-Bb5Q,15228
13
+ sysnet_pyutils-1.1.3.dist-info/LICENSE,sha256=bx5iLIKjgAdYQ7sISn7DsfHRKkoCUm1154sJJKhgqnU,35184
14
+ sysnet_pyutils-1.1.3.dist-info/METADATA,sha256=RJLnd-qB1Vu9_1sFYo6xZ8OTO13cWOVZiq_T9c5Dz74,15083
15
+ sysnet_pyutils-1.1.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
16
+ sysnet_pyutils-1.1.3.dist-info/top_level.txt,sha256=ZKTltQWbLlWBXw4oovo1w7ui-JQ1WoyECqMSWdBj6XE,15
17
+ sysnet_pyutils-1.1.3.dist-info/RECORD,,