Module: MetabaseCli::Api

Included in:
DatabaseService, GroupService
Defined in:
lib/metabase_cli/api.rb

Class Method Summary collapse

Class Method Details

.clientObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/metabase_cli/api.rb', line 8

def self.client
  raise "Missing url" unless ENV["METABASE_URL"]
  raise "Missing username" unless ENV["METABASE_USERNAME"]
  raise "Missing password" unless ENV["METABASE_PASSWORD"]

  @client ||= Metabase::Client.new(
    url: ENV.fetch("METABASE_URL", nil),
    username: ENV.fetch("METABASE_USERNAME", nil),
    password: ENV.fetch("METABASE_PASSWORD", nil)
  ).tap(&:login)
end

.permissions_graphObject



20
21
22
23
# File 'lib/metabase_cli/api.rb', line 20

def self.permissions_graph
  # Due to Faraday we need to use a trick to get the string key as symbol
  @permissions_graph ||= JSON.parse(JSON.dump(client.get("/api/permissions/graph")), symbolize_names: true)
end