dock_health_api 0.5.7 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60108cba91179c4029f17053daa0ee7cde2e6a067e48e35461db07e8c2bcefc0
4
- data.tar.gz: 49fd631f9c4f65bc3bdf7570848dad0f6da8a387b67bf65e0b0ff1d2ae8feb31
3
+ metadata.gz: 3d1832a40bbc54875371a1f819afe18ea48072ba29254aac0fbf4d535cbbf25d
4
+ data.tar.gz: faa6758f0cd9b27186921934898640fa7833360d47106a4b2d740d94aef26106
5
5
  SHA512:
6
- metadata.gz: 839de68118bab1fb66bc0136ac1d5f53e8585cbcd97a393bd59a767357c94ee8d19c11df84f014c9ccccd0e1829d67a0087ab596fbaa8227d138572b52e26e83
7
- data.tar.gz: '0498a398b03fe384825157e1ee6d0135315443edb6ba97d5dd330a5e9d057eff3cf8a70d73e60ffad2231a01e528197046f5bdb9b4c68561626403106dcabd3f'
6
+ metadata.gz: 49846f61f1b202289521fbacc162e63f976378692f7152c496c37ddff66b87cf9b1bdc2e26f32b251d7db619f84b2dfddbbfa3a9c4042846577f9c95fea78e20
7
+ data.tar.gz: 7e79857806c080d7f5bf156a1438befead22c8ee3f07984ca0f73357bdb94ec36071815c251039c3543b101da27cfa3a4b8142fdbd607acce0580adf4de92b4a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dock_health_api (0.5.7)
4
+ dock_health_api (0.5.9)
5
5
  oauth2 (~> 1.4)
6
6
  ostruct
7
7
  rspec (~> 3.0)
data/README.md CHANGED
@@ -126,6 +126,19 @@ params = { userId: "<user id>", organizationId: "<organization id>" }
126
126
  DockHealthApi::Organization::User.update(params)
127
127
  # Delete User from Organization
128
128
  DockHealthApi::Organization::User.delete({id: "< user id >"})
129
+
130
+ # Get Specific Comment
131
+ DockHealthApi::Task::Comment.get("<comment id>")
132
+ # List comments for a specific task
133
+ DockHealthApi::Task::Comment.list(taskIdentifier: "<task id>")
134
+ # Create comment for a specific task
135
+ params = { comment: "comment text here", task: { type: "TASK", id: "<task id>" }}
136
+ DockHealthApi::Task::Comment.create(params)
137
+ # Update specific comment
138
+ params = { comment: "comment text here", id: "<comment id>" }
139
+ DockHealthApi::Task::Comment.update(params)
140
+ # Delete a specific comment
141
+ DockHealthApi::Task::Comment.delete(id: "<comment id>")
129
142
  ```
130
143
 
131
144
  # Patient Data Format
@@ -6,17 +6,13 @@ module DockHealthApi
6
6
  BUFFER = 120
7
7
 
8
8
  include Singleton
9
-
9
+
10
10
  attr_reader :config
11
11
 
12
12
  def initialize
13
13
  @config = DockHealthApi.config
14
14
  end
15
15
 
16
- def active_client
17
- instance
18
- end
19
-
20
16
  def connection
21
17
  @connection ||= OAuth2::Client.new(config.api_key, config.api_secret, token_url: config.token_url, raise_errors: false)
22
18
  end
@@ -35,10 +31,18 @@ module DockHealthApi
35
31
  end
36
32
 
37
33
  def iframe_token_connection
38
- get_iframe_token
34
+ get_iframe_token if @iframe_token_connection.nil? || iframe_token_about_to_expire?
39
35
  @iframe_token_connection
40
36
  end
41
37
 
38
+ def iframe_token_expiration_time
39
+ @iframe_token_expiration_time ||= Time.now + @iframe_token_connection.expires_in
40
+ end
41
+
42
+ def iframe_token_about_to_expire?
43
+ Time.now + BUFFER > iframe_token_expiration_time
44
+ end
45
+
42
46
  def token
43
47
  @token ||= token_connection.token
44
48
  end
@@ -56,8 +60,8 @@ module DockHealthApi
56
60
  def get_iframe_token
57
61
  @iframe_token_connection = connection.client_credentials.get_token(scope:"dockhealth/system.embedded.launch")
58
62
  return @iframe_token_connection if @iframe_token_connection.nil?
59
- DockHealthApi.iframe_token = @iframe_token_connection.token
60
- DockHealthApi.iframe_token_expires_at = Time.now + @iframe_token_connection.expires_in
63
+ @iframe_token_expiration_time = Time.now + @iframe_token_connection.expires_in
64
+ @iframe_token_connection
61
65
  end
62
66
  end
63
67
  end
@@ -8,10 +8,6 @@ module DockHealthApi
8
8
  :org_id,
9
9
  :user_id,
10
10
  :api,
11
- :iframe_token,
12
- :token,
13
- :iframe_token_expires_at,
14
- :token_expires_at,
15
11
  :debug,
16
12
  :iframe_base_url
17
13
  end
@@ -16,5 +16,11 @@ module DockHealthApi
16
16
  "#{Task.resource_url}/group"
17
17
  end
18
18
  end
19
+
20
+ class Comment < Task
21
+ def self.resource_url
22
+ "#{Task.resource_url}/comment"
23
+ end
24
+ end
19
25
  end
20
26
  end
@@ -1,3 +1,3 @@
1
1
  module DockHealthApi
2
- VERSION = "0.5.7"
2
+ VERSION = "0.5.9"
3
3
  end
@@ -45,24 +45,19 @@ module DockHealthApi
45
45
  def_delegators :@config, :org_id, :org_id=
46
46
  def_delegators :@config, :user_id, :user_id=
47
47
  def_delegators :@config, :api, :api=
48
- def_delegators :@config, :iframe_token, :iframe_token=
49
- def_delegators :@config, :iframe_token_expires_at, :iframe_token_expires_at=
50
- def_delegators :@config, :token, :token=
51
- def_delegators :@config, :token_expires_at, :token_expires_at=
52
48
  def_delegators :@config, :debug, :debug=
53
49
  def_delegators :@config, :iframe_base_url, :iframe_base_url=
54
50
 
55
51
  def receive_iframe_token
56
- Client.instance.iframe_token_connection if iframe_token_expired?
52
+ @receive_iframe_token ||= Client.instance.iframe_token_connection
57
53
  end
58
54
 
59
- def iframe_token_expired?
60
- return Time.now > self.iframe_token_expires_at if self.iframe_token_expires_at
61
- true
55
+ def iframe_token
56
+ receive_iframe_token.token
62
57
  end
63
58
 
64
59
  def iframe_url(arg={})
65
- DockHealthApi.receive_iframe_token
60
+ receive_iframe_token
66
61
  dock_user_id = arg[:user_id]
67
62
  view_type = arg[:view_type]
68
63
  target_type = arg[:target_type]
@@ -0,0 +1,72 @@
1
+ require 'dock_health_api'
2
+ require 'spec_helper'
3
+
4
+ RSpec.describe DockHealthApi::Task::Comment do
5
+ let(:tasklistid) {DockHealthApi::TaskList.list.last["id"]}
6
+ let(:task) { DockHealthApi::Task.create({ description: "test foobar", taskList: { type: "DEVELOPER", id: tasklistid } }) }
7
+ let(:params) { { comment: "initial comment", task: { type: "TASK", id: task["id"] }} }
8
+ let!(:comment) { DockHealthApi::Task::Comment.create(params) }
9
+
10
+ describe "#create" do
11
+ context "create new task comment" do
12
+ let(:new_comment_params) { { comment: "new comment", task: { type: "TASK", id: task["id"] }} }
13
+
14
+ it "should create new task comment" do
15
+ initial_count = DockHealthApi::Task::Comment.list(taskIdentifier: task["id"]).count
16
+ response = DockHealthApi::Task::Comment.create(new_comment_params)
17
+ final_count = DockHealthApi::Task::Comment.list(taskIdentifier: task["id"]).count
18
+ expect(response["comment"]).to eq(new_comment_params[:comment])
19
+ expect(final_count - initial_count).to eq(1)
20
+ end
21
+ end
22
+ end
23
+
24
+ describe "#list" do
25
+ context "list task comment by criteria" do
26
+ it "should list all task comments by criteria" do
27
+ response = DockHealthApi::Task::Comment.list(taskIdentifier: task["id"])
28
+ expect(response.last.is_a?(DockHealthApi::Task::Comment))
29
+ end
30
+ end
31
+ end
32
+
33
+ describe "#get" do
34
+ context "get a specific task comment" do
35
+ it "should get the correct task comment" do
36
+ response = DockHealthApi::Task::Comment.get(comment["id"])
37
+ expect(response["comment"]).to eq(params[:comment])
38
+ end
39
+ end
40
+
41
+ context "get task comment with wrong id" do
42
+ it "should return 404" do
43
+ wrong_id = "a" * 36
44
+ response = DockHealthApi::Task::Comment.get(wrong_id)
45
+ expect(response["status"]).to eq(500)
46
+ end
47
+ end
48
+ end
49
+
50
+ describe "#update" do
51
+ context "update existing task comment" do
52
+ it "should update existing task comment" do
53
+ update_params = { comment: "updated text", id: comment["id"] }
54
+ response = DockHealthApi::Task::Comment.update(update_params)
55
+ expect(response["comment"]).to eq(update_params[:comment])
56
+ updated_task = DockHealthApi::Task::Comment.get(comment["id"])
57
+ expect(updated_task["comment"]).to eq(update_params[:comment])
58
+ end
59
+ end
60
+ end
61
+
62
+ describe "#delete" do
63
+ context "Delete existing task comment" do
64
+ it "should delete existing task comment" do
65
+ initial_count = DockHealthApi::Task::Comment.list(taskIdentifier: task["id"]).count
66
+ response = DockHealthApi::Task::Comment.delete(id: comment["id"])
67
+ final_count = DockHealthApi::Task::Comment.list(taskIdentifier: task["id"]).count
68
+ expect(initial_count - final_count).to eq(1)
69
+ end
70
+ end
71
+ end
72
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dock_health_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Magomero
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-01-19 00:00:00.000000000 Z
12
+ date: 2023-02-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: oauth2
@@ -127,6 +127,7 @@ files:
127
127
  - spec/organization.rb
128
128
  - spec/patient_spec.rb
129
129
  - spec/spec_helper.rb
130
+ - spec/task_comment_spec.rb
130
131
  - spec/task_group_spec.rb
131
132
  - spec/task_spec.rb
132
133
  - spec/tasklist_spec.rb