aiteamutils 0.2.88__py3-none-any.whl → 0.2.90__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.
@@ -43,7 +43,10 @@ class BaseService(Generic[ModelType]):
43
43
  exclude_entities: List[str] | None = None,
44
44
  unique_check: List[Dict[str, Any]] | None = None,
45
45
  fk_check: List[Dict[str, Any]] | None = None,
46
+ org_ulid_position: str = "organization_ulid",
47
+ role_permission: str = "create"
46
48
  ) -> ModelType:
49
+ await verify_role_permission(request, role_permission)
47
50
 
48
51
  try:
49
52
  async with self.db_session.begin():
@@ -53,7 +56,9 @@ class BaseService(Generic[ModelType]):
53
56
  # 외래 키 검사 수행
54
57
  if fk_check:
55
58
  await validate_unique_fields(self.db_session, fk_check, find_value=False)
56
-
59
+
60
+ if org_ulid_position:
61
+
57
62
  result = await self.repository.create(
58
63
  entity_data=entity_data,
59
64
  exclude_entities=exclude_entities
@@ -84,7 +89,9 @@ class BaseService(Generic[ModelType]):
84
89
  conditions: Dict[str, Any] | None = None,
85
90
  unique_check: List[Dict[str, Any]] | None = None,
86
91
  exclude_entities: List[str] | None = None,
87
- response_model: Any = None
92
+ response_model: Any = None,
93
+ org_ulid_position: str = "organization_ulid",
94
+ role_permission: str = "update"
88
95
  ) -> ModelType:
89
96
  try:
90
97
  async with self.db_session.begin():
@@ -134,7 +141,9 @@ class BaseService(Generic[ModelType]):
134
141
  self,
135
142
  request: Request,
136
143
  ulid: str | None = None,
137
- conditions: Dict[str, Any] | None = None
144
+ conditions: Dict[str, Any] | None = None,
145
+ org_ulid_position: str = "organization_ulid",
146
+ role_permission: str = "delete"
138
147
  ) -> bool:
139
148
  try:
140
149
  if not ULID.from_str(ulid):
@@ -179,10 +188,12 @@ class BaseService(Generic[ModelType]):
179
188
  skip: int = 0,
180
189
  limit: int = 100,
181
190
  filters: List[Dict[str, Any]] | None = None,
191
+ org_ulid_position: str = "organization_ulid",
182
192
  response_model: Any = None,
183
193
  explicit_joins: Optional[List[Any]] = None,
184
194
  loading_joins: Optional[List[Any]] = None,
185
- order: Optional[str] = None
195
+ order: Optional[str] = None,
196
+ role_permission: str = "list"
186
197
  ) -> List[Dict[str, Any]]:
187
198
  try:
188
199
  if order is None:
@@ -218,7 +229,9 @@ class BaseService(Generic[ModelType]):
218
229
  response_model: Any = None,
219
230
  conditions: Dict[str, Any] | None = None,
220
231
  explicit_joins: Optional[List[Any]] = None,
221
- loading_joins: Optional[List[Any]] = None
232
+ loading_joins: Optional[List[Any]] = None,
233
+ org_ulid_position: str = "organization_ulid",
234
+ role_permission: str = "get"
222
235
  ):
223
236
  try:
224
237
  if not ulid and not conditions:
aiteamutils/security.py CHANGED
@@ -303,4 +303,4 @@ async def verify_role_permission(
303
303
  role_ulid = payload.get("role_ulid")
304
304
  user_ulid = payload.get("user_ulid")
305
305
 
306
- return True
306
+ return payload
aiteamutils/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """버전 정보"""
2
- __version__ = "0.2.88"
2
+ __version__ = "0.2.90"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiteamutils
3
- Version: 0.2.88
3
+ Version: 0.2.90
4
4
  Summary: AI Team Utilities
5
5
  Project-URL: Homepage, https://github.com/yourusername/aiteamutils
6
6
  Project-URL: Issues, https://github.com/yourusername/aiteamutils/issues
@@ -1,15 +1,15 @@
1
1
  aiteamutils/__init__.py,sha256=kRBpRjark0M8ZwFfmKiMFol6CbIILN3WE4f6_P6iIq0,1089
2
2
  aiteamutils/base_model.py,sha256=bnRJJaGXGS3TKxfCWWV3arFjdG0qLsPFDXuguYsDyVM,3008
3
3
  aiteamutils/base_repository.py,sha256=HKcgYyEb0JypojoXBFcIT39hPC5CqnjBkHT__GV-lfQ,4615
4
- aiteamutils/base_service.py,sha256=se-E4wqRW4WWzEW5zfambFIsrpPZOeQwbI8JtK7V0I8,8872
4
+ aiteamutils/base_service.py,sha256=HYf6kSQjxFoBwfXS5htxU0n7KbU0nYIUCRyDThqeld8,9479
5
5
  aiteamutils/cache.py,sha256=07xBGlgAwOTAdY5mnMOQJ5EBxVwe8glVD7DkGEkxCtw,1373
6
6
  aiteamutils/config.py,sha256=YdalpJb70-txhGJAS4aaKglEZAFVWgfzw5BXSWpkUz4,3232
7
7
  aiteamutils/database.py,sha256=b4fN0XHNWxMJeS5M95JcJ7tujAJ1x3SPTAfDvJdB4sE,19696
8
8
  aiteamutils/enums.py,sha256=Z9wzR3H4XLpA4U3urR5e4eDnEY3Qhne34nLXsKXiL64,2177
9
9
  aiteamutils/exceptions.py,sha256=wls-R8qbD7fWzEgDDY1Eiy1vXl59R5IsCXTRkZpBiGU,16021
10
- aiteamutils/security.py,sha256=scyPjVAKXTlu7peGKtUgX-PhcteNWgDt-pDF46PLPy8,10850
10
+ aiteamutils/security.py,sha256=HFMaGnvLp_JR2D9AEKpGRMQF2aAjiPdIOF0ysMS1dWk,10853
11
11
  aiteamutils/validators.py,sha256=PvI9hbMEAqTawgxPbiWRyx2r9yTUrpNBQs1AD3w4F2U,7726
12
- aiteamutils/version.py,sha256=XJ8x6Fheo2KUN26W_4dudB0WIfpCJxGAgktfX8A96fg,42
13
- aiteamutils-0.2.88.dist-info/METADATA,sha256=K2H8ap2Hz7MkvKtFf3lkMDTDbju-RwvsQLMyC2ugNVY,1718
14
- aiteamutils-0.2.88.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
15
- aiteamutils-0.2.88.dist-info/RECORD,,
12
+ aiteamutils/version.py,sha256=R2p2oA6DBwr_lg3fBWD6MttQHYpt14z39WPNnnDRh9o,42
13
+ aiteamutils-0.2.90.dist-info/METADATA,sha256=shpp9midof4oEhK8gVnsHL1ySNwFUZybWhWxoyHfQ8Q,1718
14
+ aiteamutils-0.2.90.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
15
+ aiteamutils-0.2.90.dist-info/RECORD,,