-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
70 lines (47 loc) · 1.49 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from flask import Flask, jsonify, request
import config
app = Flask(__name__)
app.config.from_object(config.DevelopmentConfig)
# Seeding to create default users
users = {
1: {"fname": "John", "lname": "Doe", "username": "John96", "dob": "08/12/2000"},
2: {
"fname": "Mike",
"lname": "Spencer",
"username": "miker5",
"dob": "01/08/2004",
},
}
# Create a new user
@app.route("/user", methods=["POST"])
def create_user():
data = request.get_json()
if data["id"] not in users.keys():
users[data["id"]] = {
"fname": data["fname"],
"lname": data["lname"],
"username": data["username"],
"dob": data["dob"],
}
else:
return jsonify({"message": "user already exists"}), 401
return jsonify({"message": "user created"}), 201
@app.route("/users", methods=["GET"])
def get_users():
all_users = []
for key in users:
all_users.append(users[key])
users[key]["id"] = key
all_users.sort(key=lambda x: x["id"], reverse=True)
return jsonify(all_users), 200
@app.route("/users/login", methods=["POST"])
def login_user():
data = request.get_json()
id = data["id"]
username = data["username"]
if id in users.keys():
if users[id]["username"] == username:
return jsonify(f"Welcome, you are logged in as {username}"), 200
return jsonify("Invalid login credentials"), 401
if __name__ == "__main__":
app.run(debug=True)