Gemini did alot of things
This commit is contained in:
@@ -62,9 +62,18 @@ class Tracker:
|
||||
if user_id not in self.users:
|
||||
return {"status": "error", "message": "User not found"}
|
||||
|
||||
if user_id not in self.debts:
|
||||
self.debts[user_id] = 0.0
|
||||
self.debts[user_id] -= amount
|
||||
self.data_manager.save_debts(self.debts)
|
||||
|
||||
from uuid import uuid4
|
||||
from core.transaction import Transaction
|
||||
|
||||
transaction = Transaction(str(uuid4()), user_id, "adjustment", -amount)
|
||||
self.transactions.append(transaction)
|
||||
self.data_manager.save_transactions(self.transactions)
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
"message": f"Reduced debt by {amount}",
|
||||
@@ -84,3 +93,71 @@ class Tracker:
|
||||
|
||||
def get_items(self):
|
||||
return self.items
|
||||
|
||||
def set_user_pin(self, user_id, pin):
|
||||
if user_id not in self.users:
|
||||
return {"status": "error", "message": "User not found"}
|
||||
self.users[user_id].pin = pin
|
||||
self.data_manager.save_users(self.users)
|
||||
return {"status": "success", "message": "PIN updated successfully"}
|
||||
|
||||
def add_user(self, user_id, name):
|
||||
from core.user import User
|
||||
if user_id in self.users:
|
||||
return {"status": "error", "message": "User ID already exists"}
|
||||
self.users[user_id] = User(user_id, name, "4242")
|
||||
self.data_manager.save_users(self.users)
|
||||
return {"status": "success", "message": f"User {name} created successfully"}
|
||||
|
||||
def remove_user(self, user_id):
|
||||
if user_id not in self.users:
|
||||
return {"status": "error", "message": "User not found"}
|
||||
name = self.users[user_id].name
|
||||
del self.users[user_id]
|
||||
if user_id in self.debts:
|
||||
del self.debts[user_id]
|
||||
self.data_manager.save_users(self.users)
|
||||
self.data_manager.save_debts(self.debts)
|
||||
return {"status": "success", "message": f"User {name} removed successfully"}
|
||||
|
||||
def edit_user(self, user_id, name, pin=None):
|
||||
if user_id not in self.users:
|
||||
return {"status": "error", "message": "User not found"}
|
||||
self.users[user_id].name = name
|
||||
if pin is not None:
|
||||
self.users[user_id].pin = pin
|
||||
self.data_manager.save_users(self.users)
|
||||
return {"status": "success", "message": f"User {name} updated successfully"}
|
||||
|
||||
def add_item(self, item_id, name, price):
|
||||
from core.item import Item
|
||||
if item_id in self.items:
|
||||
return {"status": "error", "message": "Item ID already exists"}
|
||||
try:
|
||||
price_val = float(price)
|
||||
except ValueError:
|
||||
return {"status": "error", "message": "Invalid price value"}
|
||||
self.items[item_id] = Item(item_id, name, price_val)
|
||||
self.data_manager.save_items(self.items)
|
||||
return {"status": "success", "message": f"Item {name} created successfully"}
|
||||
|
||||
def remove_item(self, item_id):
|
||||
if item_id not in self.items:
|
||||
return {"status": "error", "message": "Item not found"}
|
||||
name = self.items[item_id].name
|
||||
del self.items[item_id]
|
||||
self.data_manager.save_items(self.items)
|
||||
return {"status": "success", "message": f"Item {name} removed successfully"}
|
||||
|
||||
def edit_item(self, item_id, name, price):
|
||||
if item_id not in self.items:
|
||||
return {"status": "error", "message": "Item not found"}
|
||||
try:
|
||||
price_val = float(price)
|
||||
except ValueError:
|
||||
return {"status": "error", "message": "Invalid price value"}
|
||||
self.items[item_id].name = name
|
||||
self.items[item_id].price = price_val
|
||||
self.data_manager.save_items(self.items)
|
||||
return {"status": "success", "message": f"Item {name} updated successfully"}
|
||||
|
||||
|
||||
+7
-3
@@ -1,14 +1,18 @@
|
||||
class User:
|
||||
def __init__(self, id, name) -> None:
|
||||
def __init__(self, id, name, pin="4242") -> None:
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.debt = 0.0
|
||||
self.pin = pin
|
||||
|
||||
def to_json(self):
|
||||
return {"id": self.id, "name": self.name, "debt": self.debt}
|
||||
return {"id": self.id, "name": self.name, "debt": self.debt, "pin": self.pin}
|
||||
|
||||
@staticmethod
|
||||
def from_json(data):
|
||||
user = User(data["id"], data["name"])
|
||||
pin = data.get("pin")
|
||||
if pin is None:
|
||||
pin = "4242"
|
||||
user = User(data["id"], data["name"], pin)
|
||||
user.debt = data["debt"]
|
||||
return user
|
||||
|
||||
Reference in New Issue
Block a user