-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapp.py
71 lines (59 loc) · 1.98 KB
/
app.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
71
import toml
from flask import Flask
from makerbase import MakerBase
with open('config.toml', 'r', encoding='utf-8') as fp:
config = toml.load(fp)
app = Flask(__name__)
db = MakerBase(config)
########## Drawers #############
@app.route('/search_drawer/<drawer_name>', methods=['GET'])
def search_drawer(drawer_name):
return db.search_item(drawer_name)
@app.route('/create_drawer/<drawer_name>/<id>', methods=['POST'])
def create_drawer(drawer_name, id):
result = db.create_drawer(drawer_name, id)
return {
"message":"Success",
"data":{
"id":str(result.inserted_id)
}
}, 200
########## Items #############
@app.route('/search_item/<item_name>', methods=['GET'])
def search_item(item_name):
return db.search_item(item_name)
@app.route('/create_item/<item_name>/<drawer_id>/<user>/<quantity>', methods=['POST'])
def create_item(item_name, drawer_id, user, quantity):
result = db.create_item(item_name, drawer_id, user, quantity)
return {
"message":"Success",
"data":{
"id":str(result.inserted_id)
}
}, 200
@app.route('/add_item/<item_id>/<user>/<quantity>', methods=['POST'])
def add_item(item_id, user, quantity):
db.add_item(item_id, user, quantity)
return {
"message":"Success"
}, 200
@app.route('/remove_item/<item_id>/<user>/<quantity>', methods=['POST'])
def remove_item(item_id, user, quantity):
db.remove_item(item_id, user, quantity)
return {
"message":"Success"
}, 200
@app.route('/borrow_item/<item_id>/<user>/<quantity>', methods=['POST'])
def borrow_item(item_id, user, quantity):
db.borrow_item(item_id, user, quantity)
return {
"message":"Success"
}, 200
@app.route('/return_item/<item_id>/<user>/<quantity>', methods=['POST'])
def return_item(item_id, user, quantity):
db.return_item(item_id, user, quantity)
return {
"message":"Success"
}, 200
if __name__ == '__main__':
app.run()