-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
39 lines (32 loc) · 922 Bytes
/
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
from flask import Flask
from flask_cors import CORS
from mongoengine import connect
from flask_graphql import GraphQLView
from dotenv import load_dotenv
from os import getenv
load_dotenv()
from lib.schema import schema
from lib.authorization import Authorization
from lib.populate_db import populate
from lib.gateway import establish_gateway_connection
app = Flask(__name__)
CORS(app)
app.add_url_rule(
"/graphql",
view_func=GraphQLView.as_view(
"graphql",
schema=schema,
graphiql=True,
pretty=True,
middleware={Authorization()},
),
)
if __name__ == "__main__":
db = connect(
"RepoAdopt", host=getenv("HOST"), port=getenv("DBPORT"), alias="default"
)
if getenv("ENVIRONMENT") == "develop":
db.drop_database("RepoAdopt")
populate()
establish_gateway_connection()
app.run(debug=True, host="0.0.0.0", port=getenv("PORT"))