diff --git a/lib/metabase/endpoint.rb b/lib/metabase/endpoint.rb index 0e0eec9..66a24b8 100644 --- a/lib/metabase/endpoint.rb +++ b/lib/metabase/endpoint.rb @@ -13,6 +13,7 @@ require 'metabase/endpoint/public' require 'metabase/endpoint/pulse' require 'metabase/endpoint/revision' +require 'metabase/endpoint/search' require 'metabase/endpoint/segment' require 'metabase/endpoint/session' require 'metabase/endpoint/setting' @@ -37,6 +38,7 @@ module Endpoint include Public include Pulse include Revision + include Search include Segment include Session include Setting diff --git a/lib/metabase/endpoint/card.rb b/lib/metabase/endpoint/card.rb index 263cede..289922d 100644 --- a/lib/metabase/endpoint/card.rb +++ b/lib/metabase/endpoint/card.rb @@ -42,6 +42,16 @@ def query_card_with_metadata(card_id, **params) def query_card(card_id, format: :json, **params) post("/api/card/#{card_id}/query/#{format}", **params) end + + # Update a card. + # + # @param card_id [Integer, String] Card ID + # @param params [Hash] Request body + # @return [Array, String] Query results + # @see https://github.com/metabase/metabase/blob/master/docs/api-documentation.md#post-apicardcard-idqueryexport-format + def update_card(card_id, **params) + put("/api/card/#{card_id}", **params) + end end end end diff --git a/lib/metabase/endpoint/database.rb b/lib/metabase/endpoint/database.rb index a8fb281..b0bc58a 100644 --- a/lib/metabase/endpoint/database.rb +++ b/lib/metabase/endpoint/database.rb @@ -11,6 +11,10 @@ module Database def databases(**params) get('/api/database', **params) end + + def sync_schema(database_id, **params) + post("/api/database/#{database_id}/sync_schema", **params) + end end end end diff --git a/lib/metabase/endpoint/search.rb b/lib/metabase/endpoint/search.rb new file mode 100644 index 0000000..789b916 --- /dev/null +++ b/lib/metabase/endpoint/search.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Metabase + module Endpoint + module Search + def search(**params) + get('/api/search', **params) + end + + def search_models(**params) + get('/api/search/models', **params) + end + end + end +end diff --git a/lib/metabase/endpoint/table.rb b/lib/metabase/endpoint/table.rb index 9e639cc..028caa1 100644 --- a/lib/metabase/endpoint/table.rb +++ b/lib/metabase/endpoint/table.rb @@ -11,6 +11,10 @@ module Table def tables(**params) get('/api/table', **params) end + + def update_table(table_id, **params) + put("/api/table/#{table_id}", **params) + end end end end