From ea697b71433818dd0313bd25537661a8ab7f2c50 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 1 Dec 2025 14:01:34 +0100 Subject: [PATCH] Add API to boards --- app/controllers/boards_controller.rb | 6 +++++- app/views/boards/_board.json.jbuilder | 1 + app/views/boards/index.json.jbuilder | 1 + app/views/boards/show.json.jbuilder | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 app/views/boards/index.json.jbuilder create mode 100644 app/views/boards/show.json.jbuilder diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb index ff7c35ec0..d37a5358e 100644 --- a/app/controllers/boards_controller.rb +++ b/app/controllers/boards_controller.rb @@ -1,9 +1,13 @@ class BoardsController < ApplicationController include FilterScoped - before_action :set_board, except: %i[ new create ] + before_action :set_board, except: %i[ index new create ] before_action :ensure_permission_to_admin_board, only: %i[ update destroy ] + def index + @boards = Current.user.boards + end + def show if @filter.used?(ignore_boards: true) show_filtered_cards diff --git a/app/views/boards/_board.json.jbuilder b/app/views/boards/_board.json.jbuilder index ce2ef0451..7723f6aae 100644 --- a/app/views/boards/_board.json.jbuilder +++ b/app/views/boards/_board.json.jbuilder @@ -1,6 +1,7 @@ json.cache! board do json.(board, :id, :name, :all_access) json.created_at board.created_at.utc + json.url board_url(board) json.creator do json.partial! "users/user", user: board.creator diff --git a/app/views/boards/index.json.jbuilder b/app/views/boards/index.json.jbuilder new file mode 100644 index 000000000..fe042c91c --- /dev/null +++ b/app/views/boards/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @boards, partial: "boards/board", as: :board diff --git a/app/views/boards/show.json.jbuilder b/app/views/boards/show.json.jbuilder new file mode 100644 index 000000000..a6916c467 --- /dev/null +++ b/app/views/boards/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "boards/board", board: @board