Files
notifications-api/app/status/healthcheck.py

40 lines
1.2 KiB
Python
Raw Normal View History

2016-04-29 12:59:36 +01:00
from flask import (
jsonify,
Blueprint,
request
2016-04-29 12:59:36 +01:00
)
from app import db, version
from app.dao.services_dao import dao_count_live_services
2020-02-17 11:12:54 +00:00
from app.dao.organisation_dao import dao_count_organisations_with_live_services
2016-01-14 16:13:27 +00:00
status = Blueprint('status', __name__)
@status.route('/', methods=['GET'])
@status.route('/_status', methods=['GET', 'POST'])
2016-01-14 16:13:27 +00:00
def show_status():
if request.args.get('simple', None):
return jsonify(status="ok"), 200
else:
return jsonify(
status="ok", # This should be considered part of the public API
2016-03-03 16:27:13 +00:00
travis_commit=version.__travis_commit__,
travis_build_number=version.__travis_job_number__,
build_time=version.__time__,
db_version=get_db_version()), 200
@status.route('/_status/live-service-and-organisation-counts')
def live_service_and_organisation_counts():
return jsonify(
2020-02-17 11:12:54 +00:00
organisations=dao_count_organisations_with_live_services(),
services=dao_count_live_services(),
), 200
def get_db_version():
query = 'SELECT version_num FROM alembic_version'
full_name = db.session.execute(query).fetchone()[0]
return full_name