From 9fb6e64655dff132be43e2fc867827d17ad94201 Mon Sep 17 00:00:00 2001
From: retoor <retoor@molodetz.nl>
Date: Mon, 14 Apr 2025 22:41:14 +0200
Subject: [PATCH] Update.

---
 src/snek/service/user_property.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/snek/service/user_property.py b/src/snek/service/user_property.py
index 5f607ad..49a120d 100644
--- a/src/snek/service/user_property.py
+++ b/src/snek/service/user_property.py
@@ -7,15 +7,15 @@ class UserPropertyService(BaseService):
     mapper_name = "user_property"
 
     async def set(self, user_uid, name, value):
-        prop = await super().get(user_uid=user_uid, name=name)
-        if not prop:
-            prop = await self.new()
-            prop["user_uid"] = user_uid
-            prop["name"] = name
-
-        prop["value"] = json.dumps(value, default=str)
-        return await self.save(prop)
-
+        self.mapper.db["user_property"].upsert(
+            {
+                "user_uid": user_uid, 
+                "name": name, 
+                "value": json.dumps(value, default=str)
+            },
+            ["user_uid", "name"]
+        )
+        
     async def get(self, user_uid, name):
         try:
             return json.loads((await super().get(user_uid=user_uid, name=name))["value"])