VirtualEconomy/bank.py

89 lines
2.2 KiB
Python

import pymongo
import os
import random
client = pymongo.MongoClient(os.getenv("MONGO_URL"))
db = client.VE
def get_bank_status(code):
coll = db.bank
user = coll.find_one({"account_id": code})
if user is None:
print("The user could not be found.")
return False
return user['active']
def activate_bank(code):
coll = db.bank
user = coll.find_one({"account_id": code})
if user is None:
print("The user could not be found.")
return False
coll.update_one({"account_id": code}, {"$set": {"active": True}})
return True
def deactivate_bank(code):
coll = db.bank
econ_coll = db.economy
user = coll.find_one({"account_id": code})
econ_user = econ_coll.find_one({"account_id": code})
if user is None or econ_user is None:
print("The user could not be found.")
return False
if user['balance'] > 0:
coll.update_one({"account_id": code}, {"$set": {"balance": 0}})
econ_coll.update_one({"account": code}, {"$inc": {"cash": user['balance']}})
coll.update_one({"account_id": code}, {"$set": {"active": False}})
return True
def create_bank_account(code):
coll = db.bank
user = coll.find_one({"account_id": code})
if user is not None:
print("User already has a bank account")
return None
coll.insert_one({"_id": random.randint(000000, 999999), "account_id": code, "balance": 0, 'active': False})
return True
def get_balance(code):
coll = db.bank
user = coll.find_one({"account_id": code})
if user is None:
create_bank_account(code)
return 0
return user['balance']
def declare_bankruptcy(code):
coll = db.bank
user = coll.find_one({"account_id": code})
if user is None:
print("The user could not be found")
return False
coll.update_one({"account_id": code}, {"$set": {"balance": 0}})
coll.update_one({"account_id": code}, {"$set": {"active": False}})
return True
def empty_bank(code):
coll = db.bank
user = coll.find_one({"account_id": code})
if user is None:
print("The user could not be found")
return False
coll.update_one({"account_id": code}, {"$set": {"balance": 0}})
return True