defaults format: :json do namespace :api do namespace :pm do resources :issues do collection do patch :batch_update delete :batch_destroy get :priorities get :tags get :statues get :export post :import end member do get :link_index get :parent_issues end resources :issue_links resources :journals do member do get :children_journals end end end resources :issue_tags resources :sprint_issues, only: [:index] do collection do get :statistics get :burndown_charts post :complete end end resources :projects do collection do get :convert get :issues_count get :statistics get :polyline end end end namespace :v1 do resources :users, only: [:index] do collection do post :check_user_id post :check_user_login end end scope ':owner' do resource :users, path: '/', only: [:update, :edit, :destroy] do collection do get :send_email_vefify_code post :check_password post :check_email post :check_email_verify_code post :check_phone_verify_code post :check_user_can_delete patch :update_email patch :update_phone end end scope module: :users do resources :projects, only: [:index] resources :feedbacks, only: [:create] resources :home_top_settings, only: [:create] do collection do delete :cancel end end resources :openkylin_sign, only: [:create] do collection do get :competitions end end end scope ':repo', constraints: { repo: /[^\/]+/ } do # projects resource :projects, path: '/', only: [:show, :update, :edit] do collection do get :compare get :blame end end resource :sonarqubes, only: [:index] do collection do get :issues_search get :ce_component get :sources_issue_snippet get :rules_show get :measures_search_history get :measures_component post :sonar_initialize post :insert_file end end resources :issues, param: :index, except: [:new, :edit] do collection do patch :batch_update delete :batch_destroy post :pm_create end member do get :show_by_id resources :journals, module: :issues, only: [:index, :create, :update, :destroy] do member do get :children_journals end end end end scope module: :issues do resources :issue_tags, except: [:new, :edit] resources :milestones, except: [:new, :edit] resources :issue_statues, only: [:index], controller: '/api/v1/issues/statues' resources :issue_authors, only: [:index], controller: '/api/v1/issues/authors' resources :issue_assigners, only: [:index], controller: '/api/v1/issues/assigners' resources :issue_priorities, only: [:index] end # projects文件夹下的 scope module: :projects do resources :portrait, only: [:index] resources :sync_repositories, only: [:create, :index] do collection do post :update_info post :sync get :branches post :change_enable post :unbind get :history post :create_branch end end resource :dataset, only: [:create, :update, :show] resources :actions, module: 'actions' do collection do post :disable post :enable resources :runs, only: [:index, :create] do post '/jobs/:job', to: 'runs#job_show' post '/rerun', to: 'runs#rerun' post '/jobs/:job/rerun', to: 'runs#job_rerun' get '/jobs/:job/logs', to: 'runs#job_logs' end end end resources :pipelines do post :build_yaml, on: :collection post :save_yaml, on: :collection end resources :pulls, module: 'pulls' do resources :versions, only: [:index] do member do get :diff end end resources :journals, except: [:show, :edit] resources :reviews, only: [:index, :create] end resources :collaborators, only: [:index] resources :release_versions resources :webhooks do member do post :tests get :hooktasks end end resources :branches, param: :name, only:[:index, :create, :destroy] do collection do get :gitee get :github get :all post :restore patch :update_default_branch end end match 'branches/*name', to: "branches#destroy", via: :all resources :tags, param: :name, only: [:index, :show, :destroy] delete 'tags/*name', to: "tags#destroy", via: :all get 'tags/*name', to: "tags#show", via: :all resources :commits, only: [:index] do collection do get :recent end end resources :code_stats, only: [:index] resources :contributors, only: [:index] do collection do get :stat end end get '/commits/:sha/diff', to: 'commits#diff' get '/git/blobs/:sha', to: 'git#blobs' get '/git/trees/:sha', to: 'git#trees' resources :contents, only: [:index] do collection do post :batch end end end end end resources :projects, only: [:index] resources :project_topics, only: [:index, :create, :destroy] resources :project_datasets, only: [:index] resources :gitlink_competition_applies, only: [:create] end end end