aces / cbrain

CBRAIN is a flexible Ruby on Rails framework for accessing and processing of large data on high-performance computing infrastructures.
GNU General Public License v3.0
71 stars 42 forks source link

Create Swagger JSON description of the CBRAIN API #508

Closed prioux closed 7 years ago

prioux commented 8 years ago

Create a description of the CBRAIN API using the Swagger framework.

prioux commented 8 years ago

I created an initial list of all routes with notes about them...


s=must go in Swagger spec
S=is done in Swagger spec
a=api_available in controller
@=spurious API available?
X=spurious route?

#Sa--#                          session POST   /session(.:format)                               sessions#create
#Sa--#                      new_session GET    /session/new(.:format)                           sessions#new
#Sa--#                                  GET    /session(.:format)                               sessions#show
#Sa--#                                  DELETE /session(.:format)                               sessions#destroy
#----#                            login GET    /login(.:format)                                 sessions#new
#----#                           logout GET    /logout(.:format)                                sessions#destroy
#----#                   session_status GET    /session_status(.:format)                        sessions#show

#-a--#                     session_data GET    /session_data(.:format)                          session_data#show
#-a--#                                  POST   /session_data(.:format)                          session_data#update

#-a--#                                  POST   /controls(.:format)                              controls#create
#-a--#                          control GET    /controls/:id(.:format)                          controls#show

#-a--#                             docs GET    /docs(.:format)                                  help_documents#index
#-a--#                                  POST   /docs(.:format)                                  help_documents#create
#----#                          new_doc GET    /docs/new(.:format)                              help_documents#new
#---X#                         edit_doc GET    /docs/:id/edit(.:format)                         help_documents#edit
#-a--#                              doc GET    /docs/:id(.:format)                              help_documents#show
#-a--#                                  PUT    /docs/:id(.:format)                              help_documents#update
#-a--#                                  DELETE /docs/:id(.:format)                              help_documents#destroy

#----#                            sites GET    /sites(.:format)                                 sites#index
#----#                                  POST   /sites(.:format)                                 sites#create
#----#                         new_site GET    /sites/new(.:format)                             sites#new
#----#                        edit_site GET    /sites/:id/edit(.:format)                        sites#edit
#----#                             site GET    /sites/:id(.:format)                             sites#show
#----#                                  PUT    /sites/:id(.:format)                             sites#update
#----#                                  DELETE /sites/:id(.:format)                             sites#destroy

#-a-X#                   custom_filters GET    /custom_filters(.:format)                        custom_filters#index
#-a--#                                  POST   /custom_filters(.:format)                        custom_filters#create
#-a--#                new_custom_filter GET    /custom_filters/new(.:format)                    custom_filters#new
#-a--#               edit_custom_filter GET    /custom_filters/:id/edit(.:format)               custom_filters#edit
#-a-X#                    custom_filter GET    /custom_filters/:id(.:format)                    custom_filters#show
#-a--#                                  PUT    /custom_filters/:id(.:format)                    custom_filters#update
#-a--#                                  DELETE /custom_filters/:id(.:format)                    custom_filters#destroy

#s---#                     tool_configs GET    /tool_configs(.:format)                          tool_configs#index
#----#                                  POST   /tool_configs(.:format)                          tool_configs#create
#----#                  new_tool_config GET    /tool_configs/new(.:format)                      tool_configs#new
#----#                 edit_tool_config GET    /tool_configs/:id/edit(.:format)                 tool_configs#edit
#s---#                      tool_config GET    /tool_configs/:id(.:format)                      tool_configs#show
#----#                                  PUT    /tool_configs/:id(.:format)                      tool_configs#update
#----#                                  DELETE /tool_configs/:id(.:format)                      tool_configs#destroy

#sa--#                             tags GET    /tags(.:format)                                  tags#index
#sa--#                                  POST   /tags(.:format)                                  tags#create
#-a--#                          new_tag GET    /tags/new(.:format)                              tags#new
#-a--#                         edit_tag GET    /tags/:id/edit(.:format)                         tags#edit
#sa--#                              tag GET    /tags/:id(.:format)                              tags#show
#sa--#                                  PUT    /tags/:id(.:format)                              tags#update
#sa--#                                  DELETE /tags/:id(.:format)                              tags#destroy

#----#                  access_profiles GET    /access_profiles(.:format)                       access_profiles#index
#----#                                  POST   /access_profiles(.:format)                       access_profiles#create
#----#               new_access_profile GET    /access_profiles/new(.:format)                   access_profiles#new
#----#              edit_access_profile GET    /access_profiles/:id/edit(.:format)              access_profiles#edit
#----#                   access_profile GET    /access_profiles/:id(.:format)                   access_profiles#show
#----#                                  PUT    /access_profiles/:id(.:format)                   access_profiles#update
#----#                                  DELETE /access_profiles/:id(.:format)                   access_profiles#destroy

#----#                        feedbacks GET    /feedbacks(.:format)                             feedbacks#index
#----#                                  POST   /feedbacks(.:format)                             feedbacks#create
#----#                     new_feedback GET    /feedbacks/new(.:format)                         feedbacks#new
#----#                    edit_feedback GET    /feedbacks/:id/edit(.:format)                    feedbacks#edit
#----#                         feedback GET    /feedbacks/:id(.:format)                         feedbacks#show
#----#                                  PUT    /feedbacks/:id(.:format)                         feedbacks#update
#----#                                  DELETE /feedbacks/:id(.:format)                         feedbacks#destroy

#----#         delete_messages_messages DELETE /messages/delete_messages(.:format)              messages#delete_messages
#----#                         messages GET    /messages(.:format)                              messages#index
#----#                                  POST   /messages(.:format)                              messages#create
#----#                      new_message GET    /messages/new(.:format)                          messages#new
#----#                     edit_message GET    /messages/:id/edit(.:format)                     messages#edit
#----#                          message GET    /messages/:id(.:format)                          messages#show
#----#                                  PUT    /messages/:id(.:format)                          messages#update
#----#                                  DELETE /messages/:id(.:format)                          messages#destroy

#----#             change_password_user GET    /users/:id/change_password(.:format)             users#change_password
#----#                      switch_user POST   /users/:id/switch(.:format)                      users#switch
#----#           request_password_users GET    /users/request_password(.:format)                users#request_password
#----#              send_password_users POST   /users/send_password(.:format)                   users#send_password
#sa--#                            users GET    /users(.:format)                                 users#index
#sa--#                                  POST   /users(.:format)                                 users#create
#----#                         new_user GET    /users/new(.:format)                             users#new
#----#                        edit_user GET    /users/:id/edit(.:format)                        users#edit
#Sa--#                             user GET    /users/:id(.:format)                             users#show
#-a--#                                  PUT    /users/:id(.:format)                             users#update
#-a--#                                  DELETE /users/:id(.:format)                             users#destroy

#----#              switch_panel_groups GET    /groups/switch_panel(.:format)                   groups#switch_panel
#----#                unregister_groups POST   /groups/unregister(.:format)                     groups#unregister
#s---#                    switch_groups POST   /groups/switch(.:format)                         groups#switch
#s---#                           groups GET    /groups(.:format)                                groups#index
#s---#                                  POST   /groups(.:format)                                groups#create
#----#                        new_group GET    /groups/new(.:format)                            groups#new
#----#                       edit_group GET    /groups/:id/edit(.:format)                       groups#edit
#s---#                            group GET    /groups/:id(.:format)                            groups#show
#s---#                                  PUT    /groups/:id(.:format)                            groups#update
#s---#                                  DELETE /groups/:id(.:format)                            groups#destroy

#----#                      invitations POST   /invitations(.:format)                           invitations#create
#----#                   new_invitation GET    /invitations/new(.:format)                       invitations#new
#----#                       invitation PUT    /invitations/:id(.:format)                       invitations#update
#----#                                  DELETE /invitations/:id(.:format)                       invitations#destroy

#-a@-#                   start_bourreau POST   /bourreaux/:id/start(.:format)                   bourreaux#start
#-a@-#                    stop_bourreau POST   /bourreaux/:id/stop(.:format)                    bourreaux#stop
#----#                row_data_bourreau GET    /bourreaux/:id/row_data(.:format)                bourreaux#row_data
#-a--#                    info_bourreau GET    /bourreaux/:id/info(.:format)                    bourreaux#info
#-a@-#        cache_disk_usage_bourreau GET    /bourreaux/:id/cache_disk_usage(.:format)        bourreaux#cache_disk_usage
#-a@-#              load_info_bourreaux GET    /bourreaux/load_info(.:format)                   bourreaux#load_info
#-a@-#          rr_disk_usage_bourreaux GET    /bourreaux/rr_disk_usage(.:format)               bourreaux#rr_disk_usage
#-a@-#              rr_access_bourreaux GET    /bourreaux/rr_access(.:format)                   bourreaux#rr_access
#-a@-#         cleanup_caches_bourreaux POST   /bourreaux/cleanup_caches(.:format)              bourreaux#cleanup_caches
#-a@-#           rr_access_dp_bourreaux GET    /bourreaux/rr_access_dp(.:format)                bourreaux#rr_access_dp
#sa--#                        bourreaux GET    /bourreaux(.:format)                             bourreaux#index
#-a@-#                                  POST   /bourreaux(.:format)                             bourreaux#create
#-a@-#                     new_bourreau GET    /bourreaux/new(.:format)                         bourreaux#new
#-a@-#                    edit_bourreau GET    /bourreaux/:id/edit(.:format)                    bourreaux#edit
#sa--#                         bourreau GET    /bourreaux/:id(.:format)                         bourreaux#show
#-a@-#                                  PUT    /bourreaux/:id(.:format)                         bourreaux#update
#-a@-#                                  DELETE /bourreaux/:id(.:format)                         bourreaux#destroy

#sa--#             browse_data_provider GET    /data_providers/:id/browse(.:format)             data_providers#browse
#sa--#           register_data_provider POST   /data_providers/:id/register(.:format)           data_providers#register
#sa--#         unregister_data_provider POST   /data_providers/:id/unregister(.:format)         data_providers#unregister
#sa--#             delete_data_provider POST   /data_providers/:id/delete(.:format)             data_providers#delete
#sa--#           is_alive_data_provider GET    /data_providers/:id/is_alive(.:format)           data_providers#is_alive
#----#         disk_usage_data_provider GET    /data_providers/:id/disk_usage(.:format)         data_providers#disk_usage
#----#             report_data_provider GET    /data_providers/:id/report(.:format)             data_providers#report
#----#             repair_data_provider POST   /data_providers/:id/repair(.:format)             data_providers#repair
#----#         dp_access_data_providers GET    /data_providers/dp_access(.:format)              data_providers#dp_access
#----#      dp_transfers_data_providers GET    /data_providers/dp_transfers(.:format)           data_providers#dp_transfers
#sa--#                   data_providers GET    /data_providers(.:format)                        data_providers#index
#----#                                  POST   /data_providers(.:format)                        data_providers#create
#----#                new_data_provider GET    /data_providers/new(.:format)                    data_providers#new
#----#               edit_data_provider GET    /data_providers/:id/edit(.:format)               data_providers#edit
#sa--#                    data_provider GET    /data_providers/:id(.:format)                    data_providers#show
#----#                                  PUT    /data_providers/:id(.:format)                    data_providers#update
#----#                                  DELETE /data_providers/:id(.:format)                    data_providers#destroy

#sa--#                 content_userfile GET    /userfiles/:id/content(.:format)                 userfiles#content
#-a@-#                 display_userfile GET    /userfiles/:id/display(.:format)                 userfiles#display
#-a@-#           sync_to_cache_userfile POST   /userfiles/:id/sync_to_cache(.:format)           userfiles#sync_to_cache
#-a@-# extract_from_collection_userfile POST   /userfiles/:id/extract_from_collection(.:format) userfiles#extract_from_collection
#sa--#               download_userfiles POST   /userfiles/download(.:format)                    userfiles#download
#-a@X#                                  GET    /userfiles/download(.:format)                    userfiles#download
#-a@-#       new_parent_child_userfiles GET    /userfiles/new_parent_child(.:format)            userfiles#new_parent_child
#-a@-#    create_parent_child_userfiles POST   /userfiles/create_parent_child(.:format)         userfiles#create_parent_child
#sa--#           delete_files_userfiles DELETE /userfiles/delete_files(.:format)                userfiles#delete_files
#-a@-#      create_collection_userfiles POST   /userfiles/create_collection(.:format)           userfiles#create_collection
#-a@-#        update_multiple_userfiles PUT    /userfiles/update_multiple(.:format)             userfiles#update_multiple
#sa--#        change_provider_userfiles POST   /userfiles/change_provider(.:format)             userfiles#change_provider
#sa--#               compress_userfiles POST   /userfiles/compress(.:format)                    userfiles#compress
#sa--#             uncompress_userfiles POST   /userfiles/uncompress(.:format)                  userfiles#uncompress
#-a@-#        quality_control_userfiles POST   /userfiles/quality_control(.:format)             userfiles#quality_control
#-a@-#  quality_control_panel_userfiles POST   /userfiles/quality_control_panel(.:format)       userfiles#quality_control_panel
#sa--#          sync_multiple_userfiles POST   /userfiles/sync_multiple(.:format)               userfiles#sync_multiple
#-a@-#       detect_file_type_userfiles POST   /userfiles/detect_file_type(.:format)            userfiles#detect_file_type
#-a@-#       export_file_list_userfiles POST   /userfiles/export_file_list(.:format)            userfiles#export_file_list
#sa--#                        userfiles GET    /userfiles(.:format)                             userfiles#index
#sa--#                                  POST   /userfiles(.:format)                             userfiles#create
#-a@-#                     new_userfile GET    /userfiles/new(.:format)                         userfiles#new
#-a@-#                    edit_userfile GET    /userfiles/:id/edit(.:format)                    userfiles#edit
#sa--#                         userfile GET    /userfiles/:id(.:format)                         userfiles#show
#sa--#                                  PUT    /userfiles/:id(.:format)                         userfiles#update
#sa--#                                  DELETE /userfiles/:id(.:format)                         userfiles#destroy

#-a--#                        new_tasks POST   /tasks/new(.:format)                             tasks#new
#-a--#                  operation_tasks POST   /tasks/operation(.:format)                       tasks#operation
#-a--#                 batch_list_tasks GET    /tasks/batch_list(.:format)                      tasks#batch_list
#-a--#            update_multiple_tasks POST   /tasks/update_multiple(.:format)                 tasks#update_multiple
#sa--#                            tasks GET    /tasks(.:format)                                 tasks#index
#sa--#                                  POST   /tasks(.:format)                                 tasks#create
#-a--#                         new_task GET    /tasks/new(.:format)                             tasks#new
#-a--#                        edit_task GET    /tasks/:id/edit(.:format)                        tasks#edit
#-a--#                             task GET    /tasks/:id(.:format)                             tasks#show
#s---#                                  PUT    /tasks/:id(.:format)                             tasks#update
#s---#                                  DELETE /tasks/:id(.:format)                             tasks#destroy

#----#         tool_config_select_tools GET    /tools/tool_config_select(.:format)              tools#tool_config_select
#----#               assign_tools_tools POST   /tools/assign_tools(.:format)                    tools#assign_tools
#s---#                            tools GET    /tools(.:format)                                 tools#index
#----#                                  POST   /tools(.:format)                                 tools#create
#----#                         new_tool GET    /tools/new(.:format)                             tools#new
#----#                        edit_tool GET    /tools/:id/edit(.:format)                        tools#edit
#s---#                             tool GET    /tools/:id(.:format)                             tools#show
#----#                                  PUT    /tools/:id(.:format)                             tools#update
#----#                                  DELETE /tools/:id(.:format)                             tools#destroy

#----#                   exception_logs DELETE /exception_logs(.:format)                        exception_logs#destroy
#----#                                  GET    /exception_logs(.:format)                        exception_logs#index
#----#                    exception_log GET    /exception_logs/:id(.:format)                    exception_logs#show

#----#                             root        /                                                portal#welcome
#----#                             home GET    /home(.:format)                                  portal#welcome
#----#                                  POST   /home(.:format)                                  portal#welcome
#----#                          credits GET    /credits(.:format)                               portal#credits
#----#                         about_us GET    /about_us(.:format)                              portal#about_us
#----#                           search GET    /search(.:format)                                portal#search
#----#                           report GET    /report(.:format)                                portal#report
#----#                          swagger GET    /swagger(.:format)                               portal#swagger
#----#                                  GET    /show_license/:license(.:format)                 portal#show_license
#----#                                  POST   /sign_license/:license(.:format)                 portal#sign_license
#----#                       portal_log GET    /portal_log(.:format)                            portal#portal_log
crocodoyle commented 7 years ago

In the list above, you said we should allow a create for tags, but not new... do we want the API to be able to create tags? I think it doesn't hurt

crocodoyle commented 7 years ago

Maybe we can close this issue? The list of actions and implementation status in the Swagger UI should be preserved somewhere though.

prioux commented 7 years ago

Yeah, was thinking the same thing.We'll open new issues as needed.