89 lines
2.2 KiB
Python
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 |