first commit
This commit is contained in:
commit
40570bdb3e
|
|
@ -0,0 +1,147 @@
|
||||||
|
from flask import Flask,request
|
||||||
|
import pymongo
|
||||||
|
import time
|
||||||
|
from bson import ObjectId
|
||||||
|
from datetime import datetime, timezone
|
||||||
|
client = pymongo.MongoClient("mongodb://localhost:27017")
|
||||||
|
db = client["bank"]
|
||||||
|
users_collection = db["users"]
|
||||||
|
account_collection = db["accounts"]
|
||||||
|
transaction_collection = db["transactions"]
|
||||||
|
|
||||||
|
|
||||||
|
class User:
|
||||||
|
username = None
|
||||||
|
password = None
|
||||||
|
codemeli = None
|
||||||
|
is_deleted = None
|
||||||
|
created_at = None
|
||||||
|
updated_at =None
|
||||||
|
deleted_at= None
|
||||||
|
def __init__(self):
|
||||||
|
self.created_at = get_current_time()
|
||||||
|
|
||||||
|
|
||||||
|
def get_current_time():
|
||||||
|
return datetime.now(timezone.utc)
|
||||||
|
class Account:
|
||||||
|
acc_type = None
|
||||||
|
acc_num = None
|
||||||
|
balance = None
|
||||||
|
username = None
|
||||||
|
def __init__(self):
|
||||||
|
self.balance=100
|
||||||
|
|
||||||
|
class Transaction:
|
||||||
|
acc_num= None
|
||||||
|
time= None
|
||||||
|
transaction_type= None
|
||||||
|
amount= None
|
||||||
|
def __init__(self):
|
||||||
|
self.time= time.time()
|
||||||
|
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
@app.route("/")
|
||||||
|
def home():
|
||||||
|
return "hello world"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/user-list")
|
||||||
|
def get_users():
|
||||||
|
users = []
|
||||||
|
users_in_db = users_collection.find()
|
||||||
|
for user in users_in_db:
|
||||||
|
users.append({
|
||||||
|
"codemeli": user["codemeli"],
|
||||||
|
"username": user["username"]
|
||||||
|
})
|
||||||
|
return users
|
||||||
|
|
||||||
|
@app.route("/add-user",methods=["POST"])
|
||||||
|
def add_user():
|
||||||
|
body=request.json
|
||||||
|
newUser = User()
|
||||||
|
newUser.updated_at = None
|
||||||
|
newUser.deleted_at = None
|
||||||
|
newUser.username = body["username"]
|
||||||
|
newUser.codemeli = body["codemeli"]
|
||||||
|
newUser.password = body["password"]
|
||||||
|
newUser.is_deleted = False
|
||||||
|
if body["username"] == "" or body["codemeli"] == "" or body["password"] == "":
|
||||||
|
return {"message": "Fields cannot be empty"}, 400
|
||||||
|
users_collection.insert_one(newUser.__dict__)
|
||||||
|
return {'message':'You are registered successfully'},201
|
||||||
|
|
||||||
|
@app.route("/login",methods=["POST"])
|
||||||
|
def login():
|
||||||
|
body=request.json
|
||||||
|
find_user= users_collection.find_one({"username":body["username"],"password":body["password"]})
|
||||||
|
if find_user ==None:
|
||||||
|
return {'message':'couldnt find'},404
|
||||||
|
else:
|
||||||
|
return {'message':'You are login successfully'}
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/user/<id>')
|
||||||
|
def get_user_detail(id):
|
||||||
|
user = users_collection.find_one({
|
||||||
|
"_id": ObjectId(id)
|
||||||
|
})
|
||||||
|
if user == None:
|
||||||
|
return {"message": "user not found"}, 404
|
||||||
|
return {
|
||||||
|
"username": user["username"],
|
||||||
|
"codemeli": user["codemeli"]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/hard-delete-user', methods=["DELETE"])
|
||||||
|
def hard_delete_user():
|
||||||
|
body = request.json
|
||||||
|
id = body["id"]
|
||||||
|
result = users_collection.delete_one({
|
||||||
|
"_id": ObjectId(id)
|
||||||
|
})
|
||||||
|
if result.deleted_count == 0:
|
||||||
|
return { "message": "user not found"}, 404
|
||||||
|
return { "message": "user deleted successfully"}, 204
|
||||||
|
|
||||||
|
@app.route('/soft-delete-user', methods=["DELETE"])
|
||||||
|
def soft_delete_user():
|
||||||
|
body = request.json
|
||||||
|
id=body["id"]
|
||||||
|
result = users_collection.update_one({"_id":ObjectId(id),"is_deleted":False},{"$set":{"is_deleted":True,"deleted_at": get_current_time()
|
||||||
|
}})
|
||||||
|
if result.matched_count==0:
|
||||||
|
return{"message":"delete failed"},404
|
||||||
|
return {"message":"user is deleted successfully"}
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/restore-user', methods=["POST"])
|
||||||
|
def restore_user():
|
||||||
|
body = request.json
|
||||||
|
id=body["id"]
|
||||||
|
result = users_collection.update_one({"_id":ObjectId(id),"is_deleted":True},{"$set":{"is_deleted":False,"is_deleted":None}})
|
||||||
|
if result.matched_count==0:
|
||||||
|
return{"message":"restore failed"},404
|
||||||
|
return {"message":"user is restored successfully"}
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/update-user', methods=["PUT"])
|
||||||
|
def update_user():
|
||||||
|
body = request.json
|
||||||
|
id = body["id"]
|
||||||
|
codemeli = body["codemeli"]
|
||||||
|
username = body["username"]
|
||||||
|
result = users_collection.update_one({
|
||||||
|
"_id": ObjectId(id)
|
||||||
|
}, {"$set":{"codemeli": codemeli, "username": username, "updated_at":get_current_time()}})
|
||||||
|
if result.matched_count == 0:
|
||||||
|
return { "message": "user not found"}, 404
|
||||||
|
return { "message": "user updated successfully"}
|
||||||
|
|
||||||
|
|
||||||
|
app.run(debug=True)
|
||||||
Loading…
Reference in New Issue