/
app.py
44 lines (34 loc) · 1.2 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
from flask import Flask
from flask_restful import Api
from flask_jwt import JWT
from flask_bcrypt import Bcrypt
from models import meter, user
from models.pump import BolusModel
from security import authenticate, identity
from resources.user import User
from resources.meter import Meter, MeterScrape
from services import livongo
from models.login import LoginModel
from resources.login import ScrapeLogin
from resources.upload import UploadTandem, UploadDexcom
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:@localhost:5432/diastats'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['DEBUG'] = True
app.secret_key = 'Super secret key'
api = Api(app)
@app.before_first_request
def create_tables():
db.create_all()
jwt = JWT(app, authenticate, identity)
api.add_resource(User, '/register')
api.add_resource(Meter, '/v1/meter')
api.add_resource(MeterScrape, '/v1/meter/<int:id>')
api.add_resource(ScrapeLogin, '/v1/sites/login')
api.add_resource(UploadTandem, '/v1/info/upload/tandem/<int:id>')
api.add_resource(UploadDexcom, '/v1/info/upload/dexcom/<int:id>')
# run the codes
if __name__ == '__main__':
from db import db
db.init_app(app)
app.run()