arpakitlib 1.8.25__py3-none-any.whl → 1.8.27__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,3 @@
1
1
  {
2
- "arpakitlib_project_template_version": "5_1"
2
+ "arpakitlib_project_template_version": "5_2"
3
3
  }
@@ -52,6 +52,7 @@ def create_api_exception_handler(
52
52
  )
53
53
 
54
54
  if isinstance(exception, APIException):
55
+ status_code = exception.status_code
55
56
  old_error_data = error_common_so.error_data
56
57
  error_common_so = exception.error_common_so
57
58
  error_common_so.error_data = combine_dicts(old_error_data, error_common_so.error_data)
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import datetime as dt
4
+ from typing import Any
4
5
 
5
6
  from project.api.schema.common import BaseSO
6
7
  from project.sqlalchemy_db_.sqlalchemy_model import SimpleDBM
@@ -11,6 +12,8 @@ class SimpleDBMAdminSO(BaseSO):
11
12
  long_id: str
12
13
  slug: str | None
13
14
  creation_dt: dt.datetime
15
+ extra_data: dict[str, Any]
16
+ entity_name: str
14
17
 
15
18
  @classmethod
16
19
  def from_dbm(cls, *, simple_dbm: SimpleDBM) -> SimpleDBMAdminSO:
@@ -11,6 +11,7 @@ class SimpleDBMClientSO(BaseSO):
11
11
  long_id: str
12
12
  slug: str | None
13
13
  creation_dt: dt.datetime
14
+ entity_name: str
14
15
 
15
16
  @classmethod
16
17
  def from_dbm(cls, *, simple_dbm: SimpleDBM) -> SimpleDBMClientSO:
@@ -0,0 +1,18 @@
1
+ from __future__ import annotations
2
+
3
+ import datetime as dt
4
+
5
+ from project.api.schema.common import BaseSO
6
+ from project.sqlalchemy_db_.sqlalchemy_model import SimpleDBM
7
+
8
+
9
+ class SimpleDBMGeneralSO(BaseSO):
10
+ id: int
11
+ long_id: str
12
+ slug: str | None
13
+ creation_dt: dt.datetime
14
+ entity_name: str
15
+
16
+ @classmethod
17
+ def from_dbm(cls, *, simple_dbm: SimpleDBM) -> SimpleDBMGeneralSO:
18
+ return cls.model_validate(simple_dbm.simple_dict_with_sd_properties())
@@ -42,11 +42,11 @@ class SimpleDBM(BaseDBM):
42
42
  sort_order=-100,
43
43
  nullable=False
44
44
  )
45
- extra_data: Mapped[dict[str, Any] | None] = mapped_column(
45
+ extra_data: Mapped[dict[str, Any]] = mapped_column(
46
46
  sqlalchemy.JSON,
47
47
  index=False,
48
- nullable=True,
49
- insert_default=None,
48
+ nullable=False,
49
+ insert_default={},
50
50
  server_default="{}",
51
51
  sort_order=1000,
52
52
  )
@@ -56,6 +56,14 @@ class SimpleDBM(BaseDBM):
56
56
  return f"{self.__class__.__name__.removesuffix('DBM')} (id={self.id})"
57
57
  return f"{self.__class__.__name__.removesuffix('DBM')} (id={self.id}, slug={self.slug})"
58
58
 
59
+ @property
60
+ def entity_name(self) -> str:
61
+ return self.__class__.__name__.removesuffix("DBM")
62
+
63
+ @property
64
+ def sdp_entity_name(self) -> str:
65
+ return self.entity_name
66
+
59
67
 
60
68
  def get_simple_dbm_class() -> type[SimpleDBM]:
61
69
  from project.sqlalchemy_db_.sqlalchemy_model import SimpleDBM
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.25
3
+ Version: 1.8.27
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -8,7 +8,7 @@ arpakitlib/_arpakit_project_template_v_5_1/alembic/env.py,sha256=Qesmnj5A2kB-Doe
8
8
  arpakitlib/_arpakit_project_template_v_5_1/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
9
9
  arpakitlib/_arpakit_project_template_v_5_1/alembic/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  arpakitlib/_arpakit_project_template_v_5_1/alembic.ini,sha256=8fuyeEvGBiPGbxEFy8ISBV3xX_fgVmuhEGpB10_B5Uo,3733
11
- arpakitlib/_arpakit_project_template_v_5_1/arpakitlib_project_template_info.json,sha256=mpl217vxjKE2HUKTtW8EIgYqW7oLU6hg_HLavmvLPfA,50
11
+ arpakitlib/_arpakit_project_template_v_5_1/arpakitlib_project_template_info.json,sha256=Iryd8x5tsnE3M5zu69Ven6OWlFr4etnrRP--RQMUDhY,50
12
12
  arpakitlib/_arpakit_project_template_v_5_1/command/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  arpakitlib/_arpakit_project_template_v_5_1/command/alembic_history.sh,sha256=OMnDNtHIksGh9iavWnzbtxcudZW4vjdcISsBXvzZSPw,22
14
14
  arpakitlib/_arpakit_project_template_v_5_1/command/alembic_revision_autogenerate.sh,sha256=yW2i-SBOtBx15Ya0poVQqKkJM5t2JZp06r9AEW-DmGE,46
@@ -87,7 +87,7 @@ arpakitlib/_arpakit_project_template_v_5_1/project/api/const.py,sha256=J9bqaRRiI
87
87
  arpakitlib/_arpakit_project_template_v_5_1/project/api/create_api_app.py,sha256=C7VhAh7cTYLUBg8HyEgNTCdzvRlAC6hGYKdDrweWq6I,2327
88
88
  arpakitlib/_arpakit_project_template_v_5_1/project/api/event.py,sha256=xKfJ3UnOx_g1s7KNZjWRp0eZbVRTsSlyJhT3wkfwT6k,2414
89
89
  arpakitlib/_arpakit_project_template_v_5_1/project/api/exception.py,sha256=cNZaI2DacGLl8Hyn1qIfFpVjvQzOQjwXWsVW4auBrCo,1280
90
- arpakitlib/_arpakit_project_template_v_5_1/project/api/exception_handler.py,sha256=Uyt0gB_8QnMFcZuNoUaEiAAJEjziWQpsXY1OM36e3YU,11125
90
+ arpakitlib/_arpakit_project_template_v_5_1/project/api/exception_handler.py,sha256=X5vC3kIAN1wXR0Q_iCsQWapKqaNK29q37M2WeFcIt8s,11173
91
91
  arpakitlib/_arpakit_project_template_v_5_1/project/api/openapi_ui.py,sha256=PLhH-W6zDViO-75AGCs8Vq3IoyHChdqwBYAqLvdQN0U,904
92
92
  arpakitlib/_arpakit_project_template_v_5_1/project/api/response.py,sha256=xZMymP2BuQaRNVWLeIp3UgUUo-MFN8MJnsn9Al4vOb8,1028
93
93
  arpakitlib/_arpakit_project_template_v_5_1/project/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -122,12 +122,12 @@ arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/in_/general/__init
122
122
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/in_/general/common.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
124
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
- arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/admin/common.py,sha256=b0s5VdLcH-sBvD9WFaVg-cek299ItBH8W0xn7JWaV78,445
125
+ arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/admin/common.py,sha256=sKZ5cFZ-Orpw0jD7Whs6OLwz2LXCC6q_og4_ABaqJ1w,520
126
126
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/admin/operation.py,sha256=8oPqCofV5KJMB6JB-Cozi_5l-2t8EPSvfossT0wIZBM,699
127
127
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/admin/story_log.py,sha256=EenBUvs9qENEGuCpZrBRSd4TNVjR-ER55g44QGPLAzY,482
128
128
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
129
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/client/api_key.py,sha256=opXOQvpC3turivtLkf-BOJ9Octq5HW8HaM-oRTLhrX0,429
130
- arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/client/common.py,sha256=cm7FAsZf5GlGAcR_w0tr2fR9gUMNcY--ifqE-BuFGpU,447
130
+ arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/client/common.py,sha256=xh5FaklPcc1HX5XL5FRWC8l1ev_IlvF_MK0ULpWjjOk,468
131
131
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/client/user.py,sha256=S93SizBPg5evgycr3Y_AF0Ds0M5gvO2o_W2VsDZXFeY,629
132
132
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/client/user_token.py,sha256=XRUs3ieMDZGGnMMst-QXptBWXqBL-qPQa25NJVbSI9I,436
133
133
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -135,7 +135,7 @@ arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/common/datetim
135
135
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/common/error.py,sha256=C8oaHotxmxBnN7Lr1qT7T5Mk0SIU2Ha7_tPDpgiR6M8,286
136
136
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/common/raw_data.py,sha256=F0CGmdqDAqnpoJW1q_yaRa4OsaSI4UbsCXavCxxDZVQ,132
137
137
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
- arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/general/common.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
+ arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/general/common.py,sha256=0I4hOs9ihpd4BS0M8P_BLXH7TxDLQtV4HQb-h9pz1uA,470
139
139
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/general/errors_info_general.py,sha256=meZ3lxkbgEZegN4bV_DlnR7sK-lw6ef0lAs0smPADC4,168
140
140
  arpakitlib/_arpakit_project_template_v_5_1/project/api/schema/out/general/healthcheck.py,sha256=H8YkH3BYj7J1qTX1Ur2c4EGTSmLZygV86dlqvMx7QFM,106
141
141
  arpakitlib/_arpakit_project_template_v_5_1/project/api/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -219,7 +219,7 @@ arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/const.py,sha25
219
219
  arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/sqlalchemy_db.py,sha256=1y3FaMFzm_5UM2poqtBve_UP_mh1vjs--krq6yO8PsA,742
220
220
  arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/sqlalchemy_model/__init__.py,sha256=btSjCQ7RJqomeXzYs9HePCu1dZHs0z6-RuboYKG89_8,598
221
221
  arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/sqlalchemy_model/api_key.py,sha256=RVkfa6kuhdv1D_3Qindh4bucapqz5MZa5gNkiYuwC14,1096
222
- arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/sqlalchemy_model/common.py,sha256=St2jp3kvVbz4iE9ZEiJNGUGsVSzW1LaVokpBo0X2VB0,1905
222
+ arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/sqlalchemy_model/common.py,sha256=xhMxNea8ndjmdsNwp_a9L_VUkkRb8jjVLhczxDasNss,2090
223
223
  arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/sqlalchemy_model/operation.py,sha256=xm_0X5DNoLtw_2HkDVd386cleOFBeA-Ll7Cr2hw-fgk,3288
224
224
  arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/sqlalchemy_model/story_log.py,sha256=uB7nKEqvUKJyE_xybJUjXIJtVXh0IKyoPDnDUogq8lE,1306
225
225
  arpakitlib/_arpakit_project_template_v_5_1/project/sqlalchemy_db_/sqlalchemy_model/user.py,sha256=GaOJkxsQ6B3B4pO43_MOOrJSUE8d7VzXyYLQcoEvCCw,2355
@@ -357,8 +357,8 @@ arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,40
357
357
  arpakitlib/ar_wata_api_client.py,sha256=gdHOqDbuqxhTjVDtRW1DvkRJLdDofCrOq51GTctzLns,242
358
358
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
359
359
  arpakitlib/ar_zabbix_api_client_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
360
- arpakitlib-1.8.25.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
361
- arpakitlib-1.8.25.dist-info/METADATA,sha256=QLOmp4KFpk-_QVtGg324rH_E39mO86R_dRAK_s7V0vA,3434
362
- arpakitlib-1.8.25.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
363
- arpakitlib-1.8.25.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
364
- arpakitlib-1.8.25.dist-info/RECORD,,
360
+ arpakitlib-1.8.27.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
361
+ arpakitlib-1.8.27.dist-info/METADATA,sha256=q1LrTGtGkCWGCePVWz0zow2Wyl1lZpmEX77NKLrNweA,3434
362
+ arpakitlib-1.8.27.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
363
+ arpakitlib-1.8.27.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
364
+ arpakitlib-1.8.27.dist-info/RECORD,,