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.
- rb_commons/orm/managers.py +12 -8
- {rb_commons-0.3.3.dist-info → rb_commons-0.3.5.dist-info}/METADATA +1 -1
- {rb_commons-0.3.3.dist-info → rb_commons-0.3.5.dist-info}/RECORD +5 -5
- {rb_commons-0.3.3.dist-info → rb_commons-0.3.5.dist-info}/WHEEL +0 -0
- {rb_commons-0.3.3.dist-info → rb_commons-0.3.5.dist-info}/top_level.txt +0 -0
rb_commons/orm/managers.py
CHANGED
@@ -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
|
-
|
198
|
+
await self.session.execute(delete_stmt)
|
195
199
|
await self.session.commit()
|
196
|
-
return
|
200
|
+
return True
|
197
201
|
except NoResultFound:
|
198
202
|
return False
|
199
203
|
|
@@ -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=
|
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.
|
22
|
-
rb_commons-0.3.
|
23
|
-
rb_commons-0.3.
|
24
|
-
rb_commons-0.3.
|
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,,
|
File without changes
|
File without changes
|