45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
import os
|
|
from flask import Flask, request
|
|
from flask_login import LoginManager
|
|
from config import Config
|
|
from models import db, User
|
|
|
|
try:
|
|
from dotenv import load_dotenv
|
|
load_dotenv()
|
|
except ImportError:
|
|
pass
|
|
|
|
app = Flask(__name__)
|
|
app.config.from_object(Config)
|
|
|
|
dingtalk_app_key = os.environ.get('DINGTALK_APP_KEY', '')
|
|
dingtalk_app_secret = os.environ.get('DINGTALK_APP_SECRET', '')
|
|
dingtalk_agent_id = os.environ.get('DINGTALK_AGENT_ID', '')
|
|
dingtalk_corp_id = os.environ.get('DINGTALK_CORP_ID', '')
|
|
|
|
app.config['DINGTALK_APP_KEY'] = dingtalk_app_key
|
|
app.config['DINGTALK_APP_SECRET'] = dingtalk_app_secret
|
|
app.config['DINGTALK_AGENT_ID'] = dingtalk_agent_id
|
|
app.config['DINGTALK_CORP_ID'] = dingtalk_corp_id
|
|
app.config['DINGTALK_TARGET_URL'] = os.environ.get('DINGTALK_TARGET_URL', 'http://localhost:5001/requirement-collection')
|
|
app.config['APPLICATION_ROOT'] = '/requirement-collection'
|
|
|
|
db.init_app(app)
|
|
|
|
login_manager = LoginManager()
|
|
login_manager.init_app(app)
|
|
login_manager.login_view = 'login'
|
|
|
|
@login_manager.user_loader
|
|
def load_user(user_id):
|
|
return User.query.get(int(user_id))
|
|
|
|
from routes import *
|
|
from dingtalk import dingtalk_bp
|
|
|
|
app.register_blueprint(dingtalk_bp, url_prefix='/dingtalk')
|
|
|
|
with app.app_context():
|
|
db.create_all()
|