Class: PlatformSdk::CatalogManager::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/platform_sdk/catalog_manager/client.rb

Overview

Client for making calls to the Catalog Manager API

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_url, client_id: nil, client_secret: nil, identity_base_url: nil) ⇒ Client

Returns a new instance of Client.



9
10
11
12
13
# File 'lib/platform_sdk/catalog_manager/client.rb', line 9

def initialize(base_url, client_id: nil, client_secret: nil, identity_base_url: nil)
  @base_url = base_url
  @auth = setup_auth_client(client_id, client_secret, identity_base_url)
  @conn = build_connection
end

Instance Attribute Details

#base_urlObject (readonly)

Returns the value of attribute base_url.



7
8
9
# File 'lib/platform_sdk/catalog_manager/client.rb', line 7

def base_url
  @base_url
end

#connObject (readonly)

Returns the value of attribute conn.



7
8
9
# File 'lib/platform_sdk/catalog_manager/client.rb', line 7

def conn
  @conn
end

Instance Method Details

#detail_model(detail_model_id) ⇒ Object



29
30
31
# File 'lib/platform_sdk/catalog_manager/client.rb', line 29

def detail_model(detail_model_id)
  get_payload("/api/v1/DetailModels/#{detail_model_id}")
end

#detail_modelsObject

Detail Models operations



25
26
27
# File 'lib/platform_sdk/catalog_manager/client.rb', line 25

def detail_models
  get_payload('/api/v1/DetailModels/all')
end

#get_cartridge_url_for_integration_with_domain(external_course_id:, external_school_id:, canvas_domain:) ⇒ Object



56
57
58
59
60
# File 'lib/platform_sdk/catalog_manager/client.rb', line 56

def get_cartridge_url_for_integration_with_domain(external_course_id:, external_school_id:, canvas_domain:)
  path = "/api/v1/CourseCartridges/ExternalCourse/#{external_course_id}/" \
         "ExternalSchool/#{external_school_id}/CanvasDomain/#{canvas_domain}"
  get_payload(path)
end

#get_cartridge_url_for_powerschool(external_course_id:, external_school_id:) ⇒ Object



51
52
53
54
# File 'lib/platform_sdk/catalog_manager/client.rb', line 51

def get_cartridge_url_for_powerschool(external_course_id:, external_school_id:)
  path = "/api/v1/CourseCartridges/ExternalCourse/#{external_course_id}/ExternalSchool/#{external_school_id}"
  get_payload(path)
end

#get_course_image_by_external_course(canvas_domain:, canvas_account_id:, external_course_id:) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/platform_sdk/catalog_manager/client.rb', line 33

def get_course_image_by_external_course(canvas_domain:, canvas_account_id:, external_course_id:)
  params = {
    canvasDomain: canvas_domain,
    canvasAccountId: ,
    externalCourseId: external_course_id
  }
  get_authenticated_payload_with_params('/api/v1/schools/course-image', params)
end

#get_sm_catalog_id_by_external_course(canvas_domain:, canvas_account_id:, external_course_id:) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/platform_sdk/catalog_manager/client.rb', line 42

def get_sm_catalog_id_by_external_course(canvas_domain:, canvas_account_id:, external_course_id:)
  params = {
    canvasDomain: canvas_domain,
    canvasAccountId: ,
    externalCourseId: external_course_id
  }
  get_authenticated_payload_with_params('/api/v1/SchoolExternalCourse/sm-catalog-id', params)
end

#school(school_id) ⇒ Object



20
21
22
# File 'lib/platform_sdk/catalog_manager/client.rb', line 20

def school(school_id)
  get_payload("/api/v1/schools/#{school_id}")
end

#schoolsObject

Schools operations



16
17
18
# File 'lib/platform_sdk/catalog_manager/client.rb', line 16

def schools
  get_payload('/api/v1/schools')
end