def _metadata_locale(locale): # This is cached in part because latency on this endpoint is # particularly relevant to the first render being shown to a # user. auth = {} if settings.PASSWORD_LOGIN: auth["password_login_uri"] = url_for("sessions_api.password_login") auth["registration_uri"] = url_for("roles_api.create_code") if settings.OAUTH: auth["oauth_uri"] = url_for("sessions_api.oauth_init") locales = settings.UI_LANGUAGES locales = {loc: Locale(loc).get_language_name(loc) for loc in locales} return { "status": "ok", "maintenance": request.authz.in_maintenance, "app": { "title": settings.APP_TITLE, "version": __version__, "banner": settings.APP_BANNER, "ui_uri": settings.APP_UI_URL, "logo": settings.APP_LOGO, "favicon": settings.APP_FAVICON, "locale": locale, "locales": locales, }, "categories": Collection.CATEGORIES, "frequencies": Collection.FREQUENCIES, "pages": load_pages(locale), "model": model.to_dict(), "token": None, "auth": auth, }
def _metadata_locale(locale): # This is cached in part because latency on this endpoint is # particularly relevant to the first render being shown to a # user. auth = {"logout": settings.APP_UI_URL} if settings.PASSWORD_LOGIN: auth["password_login_uri"] = url_for("sessions_api.password_login") if settings.PASSWORD_LOGIN and not settings.MAINTENANCE: auth["registration_uri"] = url_for("roles_api.create_code") if settings.OAUTH: auth["oauth_uri"] = url_for("sessions_api.oauth_init") metadata = oauth.provider.load_server_metadata() auth["logout"] = metadata.get("end_session_endpoint", auth["logout"]) locales = settings.UI_LANGUAGES locales = {loc: Locale(loc).get_language_name(loc) for loc in locales} # This is dumb but we agreed it with ARIJ # https://github.com/alephdata/aleph/issues/1432 app_logo = settings.APP_LOGO if locale.startswith("ar"): app_logo = settings.APP_LOGO_AR or app_logo return { "status": "ok", "maintenance": settings.MAINTENANCE, "app": { "title": settings.APP_TITLE, "version": __version__, "banner": settings.APP_BANNER, "ui_uri": settings.APP_UI_URL, "logo": app_logo, "favicon": settings.APP_FAVICON, "locale": locale, "locales": locales, }, "categories": Collection.CATEGORIES, "frequencies": Collection.FREQUENCIES, "pages": load_pages(locale), "model": model.to_dict(), "token": None, "auth": auth, }
def _metadata_locale(locale): # This is cached in part because latency on this endpoint is # particularly relevant to the first render being shown to a # user. auth = {} if settings.PASSWORD_LOGIN: auth['password_login_uri'] = url_for('sessions_api.password_login') auth['registration_uri'] = url_for('roles_api.create_code') if settings.OAUTH: auth['oauth_uri'] = url_for('sessions_api.oauth_init') locales = settings.UI_LANGUAGES locales = {l: Locale(l).get_language_name(l) for l in locales} data = { 'status': 'ok', 'maintenance': request.authz.in_maintenance, 'app': { 'title': settings.APP_TITLE, 'description': settings.APP_DESCRIPTION, 'version': __version__, 'banner': settings.APP_BANNER, 'ui_uri': settings.APP_UI_URL, 'samples': settings.SAMPLE_SEARCHES, 'logo': settings.APP_LOGO, 'favicon': settings.APP_FAVICON, 'locale': locale, 'locales': locales }, 'categories': Collection.CATEGORIES, 'frequencies': Collection.FREQUENCIES, 'pages': load_pages(locale), 'model': model.to_dict(), 'token': None, 'auth': auth } if settings.SINGLE_USER: role = Role.load_cli_user() authz = Authz.from_role(role) data['token'] = authz.to_token(role=role) return jsonify(data)