rb-commons 0.3.3__py3-none-any.whl → 0.3.5__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.
@@ -34,11 +34,6 @@ class BaseManager(Generic[ModelType]):
34
34
  self.filters = []
35
35
  self._filtered = False
36
36
 
37
- async def _persist(self, instance: ModelType) -> Optional[ModelType]:
38
- self.session.add(instance)
39
- await self.session.flush()
40
- return await self._smart_commit(instance)
41
-
42
37
  async def _smart_commit(self, instance: Optional[ModelType] = None) -> Optional[ModelType]:
43
38
  if not self.session.in_transaction():
44
39
  await self.session.commit()
@@ -181,19 +176,28 @@ class BaseManager(Generic[ModelType]):
181
176
  return await self._smart_commit(obj)
182
177
 
183
178
  @with_transaction_error_handling
184
- async def delete(self):
179
+ async def delete(self, instance: ModelType) -> bool:
185
180
  """
186
181
  Delete object(s) with flexible filtering options
182
+ - If `instance` is provided, delete that single instance.
183
+ - If `instance` is not provided, delete according to self.filters.
187
184
 
185
+ :arg instance: Model instance to delete.
188
186
  :return: Number of deleted records or None
189
187
  """
188
+
189
+ if instance is not None:
190
+ await self.session.delete(instance)
191
+ await self.session.commit()
192
+ return True
193
+
190
194
  self._ensure_filtered()
191
195
 
192
196
  try:
193
197
  delete_stmt = delete(self.model).where(and_(*self.filters))
194
- result = await self.session.execute(delete_stmt)
198
+ await self.session.execute(delete_stmt)
195
199
  await self.session.commit()
196
- return result.rowcount
200
+ return True
197
201
  except NoResultFound:
198
202
  return False
199
203
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rb-commons
3
- Version: 0.3.3
3
+ Version: 0.3.5
4
4
  Summary: Commons of project and simplified orm based on sqlalchemy.
5
5
  Home-page: https://github.com/RoboSell-organization/rb-commons
6
6
  Author: Abdulvoris
@@ -11,14 +11,14 @@ rb_commons/http/consul.py,sha256=Ioq72VD1jGwoC96set7n2SgxN40olzI-myA2lwKkYi4,186
11
11
  rb_commons/http/exceptions.py,sha256=EGRMr1cRgiJ9Q2tkfANbf0c6-zzXf1CD6J3cmCaT_FA,1885
12
12
  rb_commons/orm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  rb_commons/orm/exceptions.py,sha256=1aMctiEwrPjyehoXVX1l6ML5ZOhmDkmBISzlTD5ey1Y,509
14
- rb_commons/orm/managers.py,sha256=RorQhyxTSHT7GtXSS2mcNLXnQvdFYqvC81FQP1daZHI,12312
14
+ rb_commons/orm/managers.py,sha256=iAlsBfcxVt_GUfbJckTiFgTCIDYzWcXqyyat8qC4ThQ,12475
15
15
  rb_commons/permissions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  rb_commons/permissions/role_permissions.py,sha256=3ZTwKclavAKSheO58fybo2uLDeTkd-iluTY7hUEjRPk,957
17
17
  rb_commons/schemes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  rb_commons/schemes/jwt.py,sha256=F66JJDhholuOPPzlKeoC6f1TL4gXg4oRUrV5yheNpyo,1675
19
19
  rb_commons/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  rb_commons/utils/media.py,sha256=KNY_9SdRa3Rp7d3B1tZaXkhmzVa65RcS62BYwZP1bVM,332
21
- rb_commons-0.3.3.dist-info/METADATA,sha256=ht28sKO-Xurr_E6I7yNoT__AbijGoA_yjlzapvOkBHE,6570
22
- rb_commons-0.3.3.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
23
- rb_commons-0.3.3.dist-info/top_level.txt,sha256=HPx_WAYo3_fbg1WCeGHsz3wPGio1ucbnrlm2lmqlJog,11
24
- rb_commons-0.3.3.dist-info/RECORD,,
21
+ rb_commons-0.3.5.dist-info/METADATA,sha256=KdFBdEOi9b8qC8Hb14liI6DoYTSYeiCqdWi5emQPJLY,6570
22
+ rb_commons-0.3.5.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
23
+ rb_commons-0.3.5.dist-info/top_level.txt,sha256=HPx_WAYo3_fbg1WCeGHsz3wPGio1ucbnrlm2lmqlJog,11
24
+ rb_commons-0.3.5.dist-info/RECORD,,