Class: Smplkit::Platform::ServicesClient

Inherits:
Object
  • Object
show all
Defined in:
lib/smplkit/platform/client.rb

Overview

Sync service CRUD (client.platform.services).

Instance Method Summary collapse

Constructor Details

#initialize(app_http) ⇒ ServicesClient

Returns a new instance of ServicesClient.



142
143
144
# File 'lib/smplkit/platform/client.rb', line 142

def initialize(app_http)
  @api = SmplkitGeneratedClient::App::ServicesApi.new(app_http)
end

Instance Method Details

#_create(svc) ⇒ Object



169
170
171
172
# File 'lib/smplkit/platform/client.rb', line 169

def _create(svc)
  response = ApiSupport::ErrorMapping.call { @api.create_service(create_body_for(svc)) }
  from_resource(ApiSupport::ResourceShim.from_model(response.data))
end

#_update(svc) ⇒ Object



174
175
176
177
178
179
# File 'lib/smplkit/platform/client.rb', line 174

def _update(svc)
  raise "cannot update a Service with no id" if svc.id.nil?

  response = ApiSupport::ErrorMapping.call { @api.update_service(svc.id, body_for(svc)) }
  from_resource(ApiSupport::ResourceShim.from_model(response.data))
end

#delete(id) ⇒ Object



164
165
166
167
# File 'lib/smplkit/platform/client.rb', line 164

def delete(id)
  ApiSupport::ErrorMapping.call { @api.delete_service(id) }
  nil
end

#get(id) ⇒ Object



159
160
161
162
# File 'lib/smplkit/platform/client.rb', line 159

def get(id)
  response = ApiSupport::ErrorMapping.call { @api.get_service(id) }
  from_resource(ApiSupport::ResourceShim.from_model(response.data))
end

#list(page_number: nil, page_size: nil) ⇒ Object



151
152
153
154
155
156
157
# File 'lib/smplkit/platform/client.rb', line 151

def list(page_number: nil, page_size: nil)
  opts = {}
  opts[:page_number] = page_number unless page_number.nil?
  opts[:page_size] = page_size unless page_size.nil?
  response = ApiSupport::ErrorMapping.call { @api.list_services(opts) }
  (response.data || []).map { |r| from_resource(ApiSupport::ResourceShim.from_model(r)) }
end

#new(id, name:) ⇒ Object

Return an unsaved Service. Call .save to persist.



147
148
149
# File 'lib/smplkit/platform/client.rb', line 147

def new(id, name:)
  Service.new(self, id: id, name: name)
end