From 934b42f1a15ec07a95ddcbbd6547d838bd680b8f Mon Sep 17 00:00:00 2001 From: yystopf Date: Thu, 9 Feb 2023 16:20:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E4=BC=98=E5=85=88?= =?UTF-8?q?=E7=BA=A7=E5=92=8C=E6=89=80=E6=9C=89=E4=BB=93=E5=BA=93=E6=88=90?= =?UTF-8?q?=E5=91=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v1/issues/issue_priorities_controller.rb | 9 +++++++++ .../api/v1/projects/collaborators_controller.rb | 10 ++++++++++ .../api/v1/issues/_simple_detail.json.jbuilder | 2 +- .../issues/issue_priorities/index.json.jbuilder | 4 ++++ .../projects/collaborators/index.json.jbuilder | 4 ++++ config/routes/api.rb | 17 +++++++++-------- 6 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 app/controllers/api/v1/issues/issue_priorities_controller.rb create mode 100644 app/controllers/api/v1/projects/collaborators_controller.rb create mode 100644 app/views/api/v1/issues/issue_priorities/index.json.jbuilder create mode 100644 app/views/api/v1/projects/collaborators/index.json.jbuilder diff --git a/app/controllers/api/v1/issues/issue_priorities_controller.rb b/app/controllers/api/v1/issues/issue_priorities_controller.rb new file mode 100644 index 000000000..d26d8f3a8 --- /dev/null +++ b/app/controllers/api/v1/issues/issue_priorities_controller.rb @@ -0,0 +1,9 @@ +class Api::V1::Issues::IssuePrioritiesController < Api::V1::BaseController + + before_action :require_public_and_member_above, only: [:index] + + def index + @priorities = IssuePriority.order(position: :asc) + @priorities = kaminary_select_paginate(@priorities) + end +end \ No newline at end of file diff --git a/app/controllers/api/v1/projects/collaborators_controller.rb b/app/controllers/api/v1/projects/collaborators_controller.rb new file mode 100644 index 000000000..67a96378e --- /dev/null +++ b/app/controllers/api/v1/projects/collaborators_controller.rb @@ -0,0 +1,10 @@ +class Api::V1::Projects::CollaboratorsController < Api::V1::BaseController + + before_action :require_public_and_member_above, only: [:index] + + def index + @collaborators = @project.all_collaborators.ransack(name_or_login_cont: params[:keyword]).result + @collaborators = kaminary_select_paginate(@collaborators) + end + +end \ No newline at end of file diff --git a/app/views/api/v1/issues/_simple_detail.json.jbuilder b/app/views/api/v1/issues/_simple_detail.json.jbuilder index da1bdfcb1..a33cde4cf 100644 --- a/app/views/api/v1/issues/_simple_detail.json.jbuilder +++ b/app/views/api/v1/issues/_simple_detail.json.jbuilder @@ -17,4 +17,4 @@ end json.assigners issue.assigners.each do |assigner| json.partial! "api/v1/users/simple_user", locals: {user: assigner} end -json.journals_count issue.comment_journals.size \ No newline at end of file +json.comment_journals_count issue.comment_journals.size \ No newline at end of file diff --git a/app/views/api/v1/issues/issue_priorities/index.json.jbuilder b/app/views/api/v1/issues/issue_priorities/index.json.jbuilder new file mode 100644 index 000000000..41499d456 --- /dev/null +++ b/app/views/api/v1/issues/issue_priorities/index.json.jbuilder @@ -0,0 +1,4 @@ +json.total_count @priorities.total_count +json.priorities @priorities.each do |priority| + json.(priority, :id, :name) +end \ No newline at end of file diff --git a/app/views/api/v1/projects/collaborators/index.json.jbuilder b/app/views/api/v1/projects/collaborators/index.json.jbuilder new file mode 100644 index 000000000..c0c33c6ba --- /dev/null +++ b/app/views/api/v1/projects/collaborators/index.json.jbuilder @@ -0,0 +1,4 @@ +json.total_count @collaborators.total_count +json.collaborators @collaborators.each do |collaborator| + json.partial! "api/v1/users/simple_user", locals: {user: collaborator} +end \ No newline at end of file diff --git a/config/routes/api.rb b/config/routes/api.rb index 657ca52bd..e4994f529 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -26,13 +26,14 @@ defaults format: :json do end resources :issues - scope module: :issues do - resources :issue_tags, only: [:index] - 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' - end + scope module: :issues do + resources :issue_tags, only: [:index] + 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 @@ -45,7 +46,7 @@ defaults format: :json do resources :journals, except: [:show, :edit] resources :reviews, only: [:index, :create] end - + resources :collaborators, only: [:index] resources :release_versions resources :webhooks do member do