gitlink-forgeplus/config/routes/api.rb

181 lines
5.2 KiB
Ruby

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
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
patch :update_email
patch :update_phone
end
end
scope module: :users do
resources :projects, only: [:index]
resources :feedbacks, only: [:create]
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
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 :actions, module: 'actions' do
collection do
post :disable
post :enable
resources :runs, only: [:index] do
post '/jobs/:job', to: 'runs#job_show'
end
end
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 :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]
end
end
end