pub1c-web/pub1c-rest.py

43 lines
1.4 KiB
Python

from flask import Flask, render_template
from flask_restful import Api
from flask_cors import CORS
from app.api.apache_restart import ApacheRestartFlag
from app.api.config import Config, ConfigTest
from app.api.index import APIIndex
from app.api.infobases import InfobasesAvailable, InfobasesAll
from app.api.module import EnterpriseModule
from app.api.publications import Publications, Publication, PublicationURL
from app.glob import get_config, get_manager
frontend_dir = 'frontend/dist'
app = Flask(__name__, static_url_path='/', static_folder=frontend_dir, template_folder=frontend_dir)
api = Api(app, '/api/v1/')
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
api.add_resource(InfobasesAvailable, '/infobases-available')
api.add_resource(InfobasesAll, '/infobases-all')
api.add_resource(Publications, '/publications', '/publications/')
api.add_resource(Publication, '/publications/<string:name>')
api.add_resource(PublicationURL, '/publications/<string:name>/url')
api.add_resource(EnterpriseModule, '/module')
api.add_resource(Config, '/config')
api.add_resource(ConfigTest, '/config-test')
api.add_resource(ApacheRestartFlag, '/apache-restart')
api.add_resource(APIIndex, '/')
@app.route('/')
def index():
return index_content
with app.app_context():
get_config()
get_manager()
index_content = render_template("index.html")
if __name__ == '__main__':
app.run(debug=True)