Source code for initialization.routes

import os

import app.pages.comparison as comparison_pages
import app.pages.excel_files as excel_file_pages
import app.pages.experiments as experiment_pages
import app.pages.help as help_pages
import app.pages.metabolites as metabolite_pages
import app.pages.perturbations as perturbation_pages
import app.pages.projects as project_pages
import app.pages.search as search_pages
import app.pages.static as static_pages
import app.pages.strains as strain_pages
import app.pages.studies as study_pages
import app.pages.modeling as modeling_pages
import app.pages.submissions as submission_pages
import app.pages.upload as upload_pages
import app.pages.users as user_pages
import app.pages.workspaces as workspace_pages

import app.pages.api as api_pages


[docs] def init_routes(app): """ Main entry point of the module. Assigns all routes used by the application to handler functions that live in ``app.pages``. """ app_env = os.getenv('app_env', 'development') # # Web routes # app.add_url_rule("/", view_func=static_pages.static_home_page) app.add_url_rule("/about/", view_func=static_pages.static_about_page) app.add_url_rule("/help/", view_func=help_pages.help_index_page) app.add_url_rule("/help/<string:name>/", view_func=help_pages.help_show_page) app.add_url_rule("/upload/", view_func=upload_pages.upload_status_page, methods=["GET", "POST"]) app.add_url_rule("/upload/<int:id>/1", view_func=upload_pages.upload_step1_page, methods=["GET", "POST"]) app.add_url_rule("/upload/<int:id>/2", view_func=upload_pages.upload_step2_page, methods=["GET", "POST"]) app.add_url_rule("/upload/<int:id>/3", view_func=upload_pages.upload_step3_page, methods=["GET", "POST"]) app.add_url_rule("/upload/<int:id>/4", view_func=upload_pages.upload_step4_page, methods=["GET", "POST"]) app.add_url_rule("/upload/<int:id>/5", view_func=upload_pages.upload_step5_page, methods=["GET", "POST"]) app.add_url_rule("/upload/<int:id>/6", view_func=upload_pages.upload_step6_page, methods=["GET", "POST"]) app.add_url_rule("/upload/<int:id>/7", view_func=upload_pages.upload_step7_page, methods=["GET", "POST"]) app.add_url_rule( "/upload/fetch-authors/", view_func=upload_pages.upload_authors_json, methods=["POST"], ) app.add_url_rule( "/upload/preview-text/", view_func=upload_pages.upload_preview_fragment, methods=["POST"], ) app.add_url_rule( "/upload/edit_submission/<int:id>", view_func=submission_pages.edit_submission_action, methods=["POST"], ) app.add_url_rule( "/upload/delete_submission/<int:id>", view_func=submission_pages.delete_submission_action, methods=["POST"], ) app.add_url_rule( "/upload/<int:id>/data_template.xlsx", view_func=upload_pages.download_data_template_xlsx, methods=["POST"], ) app.add_url_rule( "/upload/<int:id>/spreadsheet_preview/", view_func=upload_pages.upload_spreadsheet_preview_fragment, methods=["POST"], ) app.add_url_rule("/study/<string:publicId>/", view_func=study_pages.study_show_page) app.add_url_rule("/study/<string:publicId>.zip", view_func=study_pages.study_download_data_zip) app.add_url_rule("/study/<string:publicId>/export/", view_func=study_pages.study_export_page) app.add_url_rule("/study/<string:publicId>/export/preview", view_func=study_pages.study_export_preview_fragment) app.add_url_rule("/study/<string:publicId>/manage/", view_func=study_pages.study_manage_page) app.add_url_rule("/study/<string:publicId>/visualize/", view_func=study_pages.study_visualize_page) app.add_url_rule("/study/<string:publicId>/visualize/chart", view_func=study_pages.study_chart_fragment, methods=["POST"]) app.add_url_rule("/study/<string:publicId>/reset", view_func=study_pages.study_reset_action, methods=["POST"]) app.add_url_rule("/study/<string:publicId>/history/", view_func=study_pages.study_history_page) app.add_url_rule("/modeling/<string:publicId>/", view_func=modeling_pages.modeling_page) app.add_url_rule("/modeling/<string:publicId>/models.csv", view_func=modeling_pages.modeling_params_csv, methods=["POST"]) app.add_url_rule( "/modeling/<string:publicId>/submit", view_func=modeling_pages.modeling_submit_action, methods=["POST"], ) app.add_url_rule( "/modeling/<string:publicId>/toggle-published/<int:modelingResultId>/", view_func=modeling_pages.modeling_toggle_published_action, methods=["POST"], ) app.add_url_rule( "/modeling/<string:publicId>/custom-model", view_func=modeling_pages.modeling_custom_model_update_action, methods=["POST"], ) app.add_url_rule( "/modeling/<string:publicId>/custom-model/<int:customModelId>/delete", view_func=modeling_pages.modeling_custom_model_delete_action, methods=["POST"], ) app.add_url_rule( "/modeling/<string:publicId>/custom-model/<int:customModelId>/upload", view_func=modeling_pages.modeling_custom_model_upload_action, methods=["POST"], ) app.add_url_rule( "/modeling/<string:publicId>/check.json", view_func=modeling_pages.modeling_check_json, ) app.add_url_rule( "/modeling/<string:publicId>/chart/<int:measurementContextId>/", view_func=modeling_pages.modeling_chart_fragment, ) app.add_url_rule("/experiment/<string:publicId>/", view_func=experiment_pages.experiment_show_page) app.add_url_rule("/project/<string:publicId>", view_func=project_pages.project_show_page) app.add_url_rule("/strains/completion/", view_func=strain_pages.taxa_completion_json) app.add_url_rule("/metabolites/<string:chebiId>/", view_func=metabolite_pages.metabolite_show_page) app.add_url_rule("/metabolites/completion/", view_func=metabolite_pages.metabolites_completion_json) app.add_url_rule("/perturbation/<int:id>", view_func=perturbation_pages.perturbation_show_page) app.add_url_rule("/comparison/", view_func=comparison_pages.comparison_show_page) app.add_url_rule("/comparison/chart", view_func=comparison_pages.comparison_chart_fragment, methods=["POST"]) app.add_url_rule("/comparison/clear", view_func=comparison_pages.comparison_clear_action, methods=["POST"]) app.add_url_rule( "/comparison/update/<action>.json", view_func=comparison_pages.comparison_update_json, methods=["POST"], ) app.add_url_rule("/search/", view_func=search_pages.search_index_page) app.add_url_rule("/advanced-search/", view_func=search_pages.advanced_search_index_page) app.add_url_rule("/profile/", view_func=user_pages.user_show_page) app.add_url_rule("/login/", view_func=user_pages.user_login_page) app.add_url_rule("/logout/", view_func=user_pages.user_logout_action, methods=["POST"]) app.add_url_rule( "/workspaces/", view_func=workspace_pages.workspaces_root_page, ) app.add_url_rule( "/workspaces/<string:orcidId>/<string:name>/", view_func=workspace_pages.workspaces_index_page, methods=["GET", "POST"], ) app.add_url_rule( "/workspaces/preview/", view_func=workspace_pages.workspaces_data_preview_fragment, methods=["POST"], ) app.add_url_rule( "/workspaces/create/", view_func=workspace_pages.workspaces_create_action, methods=["POST"], ) app.add_url_rule( "/workspaces/delete/<int:id>", view_func=workspace_pages.workspaces_delete_action, methods=["POST"], ) app.add_url_rule( "/workspaces/<string:orcidId>/<string:name>/visualize/", view_func=workspace_pages.workspaces_visualize_page, ) app.add_url_rule( "/workspaces/<string:orcidId>/<string:name>/visualize/chart/", view_func=workspace_pages.workspaces_chart_fragment, methods=["POST"], ) app.add_url_rule( "/workspaces/<string:orcidId>/<string:name>/modeling/", view_func=workspace_pages.workspaces_modeling_page, methods=["GET", "POST"], ) app.add_url_rule( "/workspaces/<string:orcidId>/<string:name>/modeling/chart/", view_func=workspace_pages.workspaces_modeling_chart_fragment, ) app.add_url_rule( "/workspaces/<string:orcidId>/<string:name>/modeling/submit/", view_func=workspace_pages.workspaces_modeling_submit_action, methods=["POST"], ) app.add_url_rule( "/workspaces/<string:orcidId>/<string:name>/modeling/check.json", view_func=workspace_pages.workspaces_modeling_check_json, ) app.add_url_rule( "/workspaces/entry/<int:id>/update/", view_func=workspace_pages.workspaces_update_entry_action, methods=["POST"], ) app.add_url_rule( "/workspaces/entry/<int:id>/delete/", view_func=workspace_pages.workspaces_delete_entry_action, methods=["POST"], ) app.add_url_rule( "/workspaces/<int:id>/toggle-publish/", view_func=workspace_pages.workspaces_toggle_published_action, methods=["POST"], ) app.add_url_rule( "/workspaces/<int:id>/delete/", view_func=workspace_pages.workspaces_delete_all_action, methods=["POST"], ) if app_env in ('development', 'test'): app.add_url_rule("/backdoor/", view_func=user_pages.user_backdoor_page, methods=["GET", "POST"]) app.add_url_rule("/claim-project/", view_func=user_pages.user_claim_project_action, methods=["POST"]) app.add_url_rule("/claim-study/", view_func=user_pages.user_claim_study_action, methods=["POST"]) app.add_url_rule("/submission_metadata/<id>.json", view_func=submission_pages.download_submission_metadata) app.add_url_rule("/excel_files/<id>.xlsx", view_func=excel_file_pages.download_excel_file) # # API routes # app.add_url_rule("/api/v1/project/<string:publicId>.json", view_func=api_pages.project_json) app.add_url_rule("/api/v1/study/<string:publicId>.json", view_func=api_pages.study_json) app.add_url_rule("/api/v1/experiment/<string:publicId>.json", view_func=api_pages.experiment_json) app.add_url_rule("/api/v1/experiment/<string:publicId>.csv", view_func=api_pages.experiment_csv) app.add_url_rule("/api/v1/measurement-context/<int:id>.json", view_func=api_pages.measurement_context_json) app.add_url_rule("/api/v1/measurement-context/<int:id>.csv", view_func=api_pages.measurement_context_csv) app.add_url_rule("/api/v1/bioreplicate/<int:id>.json", view_func=api_pages.bioreplicate_json) app.add_url_rule("/api/v1/bioreplicate/<int:id>.csv", view_func=api_pages.bioreplicate_csv) app.add_url_rule("/api/v1/model-prediction/<int:id>.json", view_func=api_pages.model_prediction_json) app.add_url_rule("/api/v1/model-prediction/<int:id>.csv", view_func=api_pages.model_prediction_csv) app.add_url_rule("/api/v1/search.json", view_func=api_pages.search_json) app.add_url_rule("/api/v1/workspace/<string:orcidId>/<string:name>.json", view_func=api_pages.workspace_json, methods=["GET"]) app.add_url_rule("/api/v1/workspace/<string:orcidId>/<string:name>.json", view_func=api_pages.workspace_update_json, methods=["POST"]) app.add_url_rule("/api/v1/workspace-entry/<int:id>.json", view_func=api_pages.workspace_entry_json) app.add_url_rule("/api/v1/workspace-entry/<int:id>.csv", view_func=api_pages.workspace_entry_csv) return app