Compare commits

...

3 Commits

Author SHA1 Message Date
8f4ac8a7f5
Update server_endpoints.html 2025-06-04 19:47:27 +10:00
e311d15299
Update app.py 2025-06-04 19:43:37 +10:00
df79ad312e
Update app.py 2025-06-04 19:34:22 +10:00
2 changed files with 7 additions and 3 deletions

6
app.py
View File

@ -17,6 +17,7 @@ from sqlalchemy.exc import OperationalError
from sqlalchemy import text from sqlalchemy import text
from wtforms import StringField, URLField, SubmitField from wtforms import StringField, URLField, SubmitField
from wtforms.validators import DataRequired, URL from wtforms.validators import DataRequired, URL
from werkzeug.middleware.proxy_fix import ProxyFix
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
@ -33,6 +34,7 @@ migrate = Migrate()
def create_app(): def create_app():
app = Flask(__name__, instance_relative_config=True) app = Flask(__name__, instance_relative_config=True)
app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1, x_for=1)
app.config.from_mapping( app.config.from_mapping(
SECRET_KEY=os.environ.get('SECRET_KEY', 'dev-secret-key-for-fhirvine'), SECRET_KEY=os.environ.get('SECRET_KEY', 'dev-secret-key-for-fhirvine'),
SQLALCHEMY_DATABASE_URI=os.environ.get('DATABASE_URL', f'sqlite:///{os.path.join(app.instance_path, "fhirvine.db")}'), SQLALCHEMY_DATABASE_URI=os.environ.get('DATABASE_URL', f'sqlite:///{os.path.join(app.instance_path, "fhirvine.db")}'),
@ -579,6 +581,8 @@ def create_app():
} }
}) })
def custom_apidocs(): def custom_apidocs():
spec_url = url_for('flasgger.apispec_1', _external=True)
logger.debug(f"Swagger spec URL: {spec_url}")
return render_template('swagger-ui.html') return render_template('swagger-ui.html')
@app.route('/about') @app.route('/about')
@ -602,4 +606,4 @@ def create_app():
if __name__ == '__main__': if __name__ == '__main__':
app = create_app() app = create_app()
app.run(debug=True, port=5001) app.run(debug=True, port=5001)

View File

@ -15,11 +15,11 @@
<li class="list-group-item"><strong>Token:</strong> <code>/oauth2/token</code></li> <li class="list-group-item"><strong>Token:</strong> <code>/oauth2/token</code></li>
<li class="list-group-item"><strong>FHIR Proxy:</strong> <code>/oauth2/proxy/&lt;path&gt;</code></li> <li class="list-group-item"><strong>FHIR Proxy:</strong> <code>/oauth2/proxy/&lt;path&gt;</code></li>
</ul> </ul>
<p class="mt-3"><a href="/apidocs" class="btn btn-primary">View API Documentation</a></p> <p class="mt-3"><a href="http://fhirvine.sudo-fhir.au/api-docs" class="btn btn-primary">View API Documentation</a></p>
<a href="{{ url_for('index') }}" class="btn btn-secondary">Back to Home</a> <a href="{{ url_for('index') }}" class="btn btn-secondary">Back to Home</a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}