From e0255b28ec72ce99ef172f55028965f26c09758e Mon Sep 17 00:00:00 2001 From: retoor Date: Sun, 1 Jun 2025 03:38:12 +0200 Subject: [PATCH] Update. --- src/snek/system/mapper.py | 4 ++++ src/snek/system/service.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/snek/system/mapper.py b/src/snek/system/mapper.py index 8543cec..a0e37d2 100644 --- a/src/snek/system/mapper.py +++ b/src/snek/system/mapper.py @@ -74,6 +74,10 @@ class BaseMapper: for record in await self.run_in_executor(self.db.query,sql, *args): yield dict(record) + async def update(self, model): + model.updated_at.update() + return await self.run_in_executor(self.table.update, model.record, ["uid"]) + async def delete(self, **kwargs) -> int: if not kwargs or not isinstance(kwargs, dict): raise Exception("Can't execute delete with no filter.") diff --git a/src/snek/system/service.py b/src/snek/system/service.py index c6d2afc..bf0c9d6 100644 --- a/src/snek/system/service.py +++ b/src/snek/system/service.py @@ -26,6 +26,9 @@ class BaseService: kwargs["uid"] = uid return await self.count(**kwargs) > 0 + async def update(self, model): + return await self.mapper.update(model) + async def count(self, **kwargs): return await self.mapper.count(**kwargs)