Class: MetabaseCli::DatabaseService

Inherits:
Object
  • Object
show all
Includes:
Api
Defined in:
lib/metabase_cli/database_service.rb

Instance Method Summary collapse

Methods included from Api

client, permissions_graph

Constructor Details

#initialize(client_name:, dbname:, engine:, host:, port:, dbusername:, password:) ⇒ DatabaseService

Returns a new instance of DatabaseService.



11
12
13
14
15
16
17
18
19
20
# File 'lib/metabase_cli/database_service.rb', line 11

def initialize(client_name:, dbname:, engine:, host:, port:, dbusername:, password:)
  @client_name = client_name
  @dbname = dbname
  @engine = engine
  @host = host
  @port = port
  @dbusername = dbusername
  @password = password
  @database_id = nil
end

Instance Method Details

#create_databaseObject



22
23
24
25
26
27
28
# File 'lib/metabase_cli/database_service.rb', line 22

def create_database
  response = MetabaseCli::Api.client.post("/api/database", database_params)
  @database_id = response.fetch("id")
  puts "Successfully created database with id: #{@database_id}"

  self
end

#set_default_permissionsObject



30
31
32
33
34
# File 'lib/metabase_cli/database_service.rb', line 30

def set_default_permissions
  response = MetabaseCli::Api.client.put("/api/permissions/graph", default_permissions)

  puts "Successfully set default permissions" if permissions_graph[:revision] != response["revision"]
end