This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
devicehub-teal/examples/app.py

70 lines
2 KiB
Python
Raw Normal View History

2018-07-17 18:57:29 +00:00
"""
Example app with minimal configuration.
Use this as a starting point.
"""
2022-07-12 11:31:38 +00:00
from decouple import config
2022-04-08 14:52:17 +00:00
from ereuse_devicehub.api.views import api
from ereuse_devicehub.config import DevicehubConfig
from ereuse_devicehub.devicehub import Devicehub
from ereuse_devicehub.inventory.views import devices
from ereuse_devicehub.labels.views import labels
from ereuse_devicehub.mail.flask_mail import Mail
from ereuse_devicehub.views import core
from ereuse_devicehub.workbench.views import workbench
2023-09-19 07:05:59 +00:00
from ereuse_devicehub.modules.did.views import did
from ereuse_devicehub.modules.dpp.views import dpp
from ereuse_devicehub.modules.oidc.views import oidc
from ereuse_devicehub.modules.oidc.oauth2 import config_oauth
# from flask_wtf.csrf import CSRFProtect
# from werkzeug.middleware.profiler import ProfilerMiddleware
2022-07-12 11:31:38 +00:00
2022-06-27 09:42:16 +00:00
SENTRY_DSN = config('SENTRY_DSN', None)
if SENTRY_DSN:
import sentry_sdk
from sentry_sdk.integrations.flask import FlaskIntegration
2022-06-27 09:42:16 +00:00
sentry_sdk.init(
dsn=SENTRY_DSN,
integrations=[
FlaskIntegration(),
],
# Set traces_sample_rate to 1.0 to capture 100%
# of transactions for performance monitoring.
# We recommend adjusting this value in production.
traces_sample_rate=1.0,
)
app = Devicehub(inventory=DevicehubConfig.DB_SCHEMA)
app.register_blueprint(core)
app.register_blueprint(devices)
app.register_blueprint(labels)
2022-04-08 14:52:17 +00:00
app.register_blueprint(api)
app.register_blueprint(workbench)
2023-09-19 07:05:59 +00:00
app.register_blueprint(did)
app.register_blueprint(dpp)
app.register_blueprint(oidc)
2018-07-17 18:57:29 +00:00
2022-10-19 11:35:53 +00:00
mail = Mail(app)
app.mail = mail
2023-09-19 07:05:59 +00:00
config_oauth(app)
# configure & enable CSRF of Flask-WTF
# NOTE: enable by blueprint to exclude API views
# TODO(@slamora: enable by default & exclude API views when decouple of Teal is completed
2022-07-12 09:39:27 +00:00
# csrf = CSRFProtect(app)
# csrf.protect(core)
# csrf.protect(devices)
2022-07-12 09:39:27 +00:00
# app.config["SQLALCHEMY_RECORD_QUERIES"] = True
# app.config['PROFILE'] = True
# app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions=[30])
# app.run(debug=True)