Update: user authentication

parent ddd433f3
......@@ -8,6 +8,39 @@ from flask import Response, request, session
import json
from bson.objectid import ObjectId
import jwt
from functools import wraps
# ====Routes====
# check for token function
# JWT config
def check_for_token(func):
@wraps(func)
def wrapped(*args, **kwargs):
token = request.args.get('Token')
print(token)
if not token:
return Response(
response= json.dumps({"message": "Missing token"}),
status=200,
)
try:
data=jwt.decode(token, 'app.SECRET_KEY', ['HS256'])
return Response(
response= json.dumps({"message": data}),
status=200,
)
except:
return Response(
response= json.dumps({"message": "invalid token"}),
status=200,
)
return func(*args, **kwargs)
return wrapped
# ====Routes====
# ====Get users====
......
......@@ -5,6 +5,9 @@ from flask import Response, request
# import pymongo
import json
from bson.objectid import ObjectId
import Agripreneur_App.Auth.Token
......
......@@ -4,6 +4,10 @@ from flask import Response, request
# import pymongo
import json
from bson.objectid import ObjectId
import Agripreneur_App.Auth.Token
import redis
......@@ -11,6 +15,7 @@ redisClient = redis.Redis(host='localhost', port=6379, db=0)
print(redisClient)
@app.route("/getDetails", methods=["POST"])
# @check_for_token
def get_point_redis():
earn_gain = "Earn_gained"
......
......@@ -4,11 +4,15 @@ from flask import Response, request
# import pymongo
import json
from bson.objectid import ObjectId
import Agripreneur_App.Auth.Token
@app.route("/discount/<id>", methods=["GET"])
# @check_for_token
def calculate_discount(id):
# should have payload wi9th the user detaisl and it is send to FE
user_earns = db.CropData.find_one({"_id": ObjectId(id)})
print(user_earns)
......@@ -38,8 +42,10 @@ def calculate_discount(id):
discount = 10
return Response(
response= json.dumps({"Discount percentage": discount}),
response= json.dumps({"Discount percentage": discount, "payload": payload}),
status=200,
)
\ No newline at end of file
......@@ -9,8 +9,12 @@ from flask import Response, request
# import pymongo
import json
from bson.objectid import ObjectId
import Agripreneur_App.Auth.Token
# main = Blueprint('main', __name__)
# considered about image upload of user
# ====Routes====
# ====post users====
......
# # from flask import Flask, Response, request
# from flask import Blueprint
# from flask import Response, request
# import pymongo
# import json
# from bson.objectid import ObjectId
# main = Blueprint('main', __name__)
# # app = Flask(__name__)
# # ====connect database mongo====
# # try:
# # mongo = pymongo.MongoClient(host="localhost", port=27017)
# # db = mongo.company
# # except:
# # print("cannot connect to db")
# # ====Routes====
# # ====post users====
# @app.route("/users", methods=["POST"])
# def create_user():
# try:
# user = {"name": request.form["name"], "age": request.form["age"]}
# dbResponse = db.users.insert_one(user)
# print(dbResponse.inserted_id)
# return Response(
# response= json.dumps({"message": "user created",
# "id": f"{dbResponse.inserted_id}"}),
# status=200,
# )
# except Exception as Ex:
# print("**********")
# print(Ex)
# return Response(
# response= json.dumps({"message": "cannot read user"}),
# status=500,
# )
# # ====Routes====
# # ====Get users====
# @app.route("/getUsers", methods=["GET"])
# def get_some_users():
# try:
# data = list(db.users.find())
# for user in data:
# user["_id"] = str(user["_id"])
# return Response(
# response= json.dumps(data),
# status=200,
# )
# except Exception as Ex:
# print("**********")
# print(Ex)
# # ====Routes====
# # ====update user====
# @app.route("/updateUsers/<id>", methods=["PUT"])
# def update_user(id):
# try:
# dbResponse = db.users.update_one(
# {"_id": ObjectId(id)},
# {"$set": {"name": request.form["name"]}}
# )
# # for attr in dir(dbResponse):
# # print(f"{attr}")
# print(dbResponse.upserted_id)
# return Response(
# response= json.dumps({"message": "updated user"}),
# status=200,
# )
# except Exception as Ex:
# print("**********")
# print(Ex)
# return Response(
# response= json.dumps({"message": "cannot update user"}),
# status=500,
# )
# # ====Routes====
# # ====delete user====
# @app.route("/deleteUsers/<id>", methods=["DELETE"])
# def delete_user(id):
# try:
# dbResponse = db.users.delete_one({"_id": ObjectId(id)},)
# return Response(
# response= json.dumps({"message": "user deleted", "id": f"{id}"}),
# status=200,
# )
# except Exception as Ex:
# print("**********")
# print(Ex)
# return Response(
# response= json.dumps({"message": "cannot delete user"}),
# status=500,
# )
# # ====Main App====
# # if __name__ == "__main__":
# # app.run(port=5000, debug=True)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment