Class: Conversant::V3::Services::LMS::Domain

Inherits:
Object
  • Object
show all
Defined in:
lib/conversant/v3/services/lms/domain.rb

Overview

Since:

  • 1.0.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent) ⇒ Domain

Returns a new instance of Domain.

Since:

  • 1.0.0



10
11
12
# File 'lib/conversant/v3/services/lms/domain.rb', line 10

def initialize(parent)
  @parent = parent
end

Instance Attribute Details

#parentObject (readonly)

Since:

  • 1.0.0



8
9
10
# File 'lib/conversant/v3/services/lms/domain.rb', line 8

def parent
  @parent
end

Instance Method Details

#all(params = {}) ⇒ Object

Since:

  • 1.0.0



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/conversant/v3/services/lms/domain.rb', line 14

def all(params = {})
  default_payload = {
    sEcho: 1,
    iColumns: 1,
    sColumns: nil,
    iDisplayStart: 0,
    iDisplayLength: 20,
    mDataProp_0: 'domain',
    mDataProp_1: 'app',
    mDataProp_2: 'stream',
    mDataProp_3: 'created',
    mDataProp_4: 'id',
    iSortingCols: 0,
    bSortable_0: 'false',
    bSortable_1: 'false',
    bSortable_2: 'false',
    bSortable_3: 'false',
    bSortable_4: 'false',
    page_number: 1,
    page_size: 20,
    sort_field: nil,
    sort_type: nil,
    _: (Time.now.to_f * 1000).to_i
  }

  merged_payload = default_payload.merge(params)
  response = @parent.send(:call, 'GET', "/live/domain?#{merged_payload.to_query}")
  return nil if response.nil?

  response = JSON.parse(response)
  return nil unless response&.[]('list')

  {
    current_page_number: response['current_page_number'],
    has_next: response['has_next'],
    has_pre: response['has_pre'],
    total_count: response['total_count'],
    total_page_number: response['total_page_number'],
    data: response['list']
  }
rescue StandardError => e
  logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.message}"
  nil
end

#create(payload) ⇒ Object

Since:

  • 1.0.0



69
70
71
72
73
74
75
76
77
# File 'lib/conversant/v3/services/lms/domain.rb', line 69

def create(payload)
  response = @parent.send(:call, 'POST', '/live/domain', payload)
  return false if response.nil?

  JSON.parse(response)&.[]('status') == 'ok'
rescue StandardError => e
  logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.message}"
  false
end

#delete(domain_id) ⇒ Object

Since:

  • 1.0.0



89
90
91
92
93
94
95
96
97
# File 'lib/conversant/v3/services/lms/domain.rb', line 89

def delete(domain_id)
  response = @parent.send(:call, 'DELETE', "/live/domain/#{domain_id}")
  return false if response.nil?

  JSON.parse(response)&.[]('status') == 'ok'
rescue StandardError => e
  logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.message}"
  false
end

#show(domain_id) ⇒ Object

Since:

  • 1.0.0



59
60
61
62
63
64
65
66
67
# File 'lib/conversant/v3/services/lms/domain.rb', line 59

def show(domain_id)
  response = @parent.send(:call, 'GET', "/live/domain/#{domain_id}")
  return nil if response.nil?

  JSON.parse(response)
rescue StandardError => e
  logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.message}"
  nil
end

#update(payload) ⇒ Object

Since:

  • 1.0.0



79
80
81
82
83
84
85
86
87
# File 'lib/conversant/v3/services/lms/domain.rb', line 79

def update(payload)
  response = @parent.send(:call, 'PUT', '/live/domain', payload)
  return false if response.nil?

  JSON.parse(response)&.[]('status') == 'ok'
rescue StandardError => e
  logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.message}"
  false
end