seatsio 22 → 23

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: ec1d4c214dfcab163284ddb2d393ec973be88caaca8d597225125d657b24b037
4
- data.tar.gz: 16d74ad7f467a299e1a9178c778fc82cc58d7a8256da1f64ee8caaa38acdc766
3
+ metadata.gz: b88d6d19b2c22781400c6ae47b2b56ad427ac9bad5c8ec5a3c6bff74ee51b669
4
+ data.tar.gz: 11bf8b67f7fee295ee84353f2d949b4394f74c503f62ad390629f4911d441e19
5
5
  SHA512:
6
- metadata.gz: 8cce5386a6d962c113a0a7d3899e2978422635be1631a89d5ac45bdc79f116386beafa504744a1cfde8be1eb08710d28cebe195ebe021e1268fa7ef8a74feb1a
7
- data.tar.gz: e249ddad6f59c000c8e9304df61d157f89250d6ced614520694c14ad9e97c0670a92f7934a5afbfeff8d8d990bf454e594a1e9d51f35e8e4cd19149eb34f39c5
6
+ metadata.gz: 58861f8258b3054132b3cd5e9a58689a1f484da363da9a006c35829c59e21dd454bb3b284aa114c4b015158e2673d28a68f949f82905184d7e8adeda44a43839
7
+ data.tar.gz: 72b0cd80783a6ae96f5d029246fb602ed8e06390a98a301b78b87998ea076db2357b6466692d42573949aafd68a17e7494947189190e4eb5e5d100530f78a9c9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seatsio (22)
4
+ seatsio (23)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/seatsio.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'seatsio/version'
2
2
  require 'seatsio/charts'
3
- require 'seatsio/accounts'
4
3
  require 'seatsio/subaccounts'
5
4
  require 'seatsio/workspaces'
6
5
  require 'seatsio/events'
@@ -12,12 +11,11 @@ require 'seatsio/usage_reports'
12
11
  module Seatsio
13
12
  # Main Seatsio Class
14
13
  class Client
15
- attr_reader :charts, :accounts, :subaccounts, :workspaces, :events,
14
+ attr_reader :charts, :subaccounts, :workspaces, :events,
16
15
  :hold_tokens, :chart_reports, :event_reports, :usage_reports
17
16
 
18
17
  def initialize(secret_key, workspace_key = nil, base_url = 'https://api.seatsio.net')
19
18
  @charts = ChartsClient.new(secret_key, workspace_key, base_url)
20
- @accounts = AccountsClient.new(secret_key, workspace_key, base_url)
21
19
  @subaccounts = SubaccountsClient.new(secret_key, workspace_key, base_url)
22
20
  @workspaces = WorkspacesClient.new(secret_key, base_url)
23
21
  @events = EventsClient.new(secret_key, workspace_key, base_url)
@@ -118,48 +118,16 @@ module Seatsio::Domain
118
118
  end
119
119
  end
120
120
 
121
- class ChartValidationSettings
122
- attr_reader :validate_duplicate_labels, :validate_objects_without_categories,
123
- :validate_unlabeled_objects
124
-
125
- def initialize(data)
126
- @validate_duplicate_labels = data['VALIDATE_DUPLICATE_LABELS']
127
- @validate_objects_without_categories = data['VALIDATE_OBJECTS_WITHOUT_CATEGORIES']
128
- @validate_unlabeled_objects = data['VALIDATE_UNLABELED_OBJECTS']
129
- end
130
- end
131
-
132
- class AccountSettings
133
- attr_reader :draft_chart_drawings_enabled, :hold_on_select_for_gas, :chart_validation
134
-
135
- def initialize(data)
136
- @draft_chart_drawings_enabled = data['draftChartDrawingsEnabled']
137
- @hold_on_select_for_gas = data['holdOnSelectForGAs']
138
- @chart_validation = ChartValidationSettings.new(data['chartValidation'])
139
- end
140
- end
141
-
142
- class Account
143
- attr_reader :id, :secret_key, :designer_key, :name,
144
- :email, :active, :settings
121
+ class Subaccount
122
+ attr_reader :id, :secret_key, :designer_key, :public_key, :name, :active
145
123
 
146
124
  def initialize(data)
147
125
  @id = data['id']
126
+ @public_key = data['publicKey']
148
127
  @secret_key = data['secretKey']
149
128
  @designer_key = data['designerKey']
150
129
  @name = data['name']
151
- @email = data['email']
152
130
  @active = data['active']
153
- @settings = AccountSettings.new(data['settings']) if data['settings'] != nil
154
- end
155
- end
156
-
157
- class Subaccount < Account
158
- attr_reader :public_key, :workspace
159
-
160
- def initialize(data)
161
- super
162
- @public_key = data['publicKey']
163
131
  end
164
132
  end
165
133
 
@@ -203,6 +171,15 @@ module Seatsio::Domain
203
171
  end
204
172
  end
205
173
 
174
+ class ChangeObjectStatusInBatchResult
175
+
176
+ attr_reader :results
177
+
178
+ def initialize(data)
179
+ @results = data['results'].map { |r| ChangeObjectStatusResult.new(r) }
180
+ end
181
+ end
182
+
206
183
  class HoldToken
207
184
 
208
185
  attr_reader :hold_token, :expires_at, :expires_in_seconds, :workspace_key
@@ -338,7 +315,7 @@ module Seatsio::Domain
338
315
 
339
316
  def initialize(data)
340
317
  @subaccount = data['subaccount'] ? UsageSubaccount.new(data['subaccount']) : nil
341
- @usage_by_chart = data['usageByChart'].map {|usage| UsageByChart.new(usage)}
318
+ @usage_by_chart = data['usageByChart'].map { |usage| UsageByChart.new(usage) }
342
319
  end
343
320
  end
344
321
 
@@ -356,8 +333,8 @@ module Seatsio::Domain
356
333
  attr_reader :chart, :usage_by_event
357
334
 
358
335
  def initialize(data)
359
- @chart = data['chart'] ? UsageChart.new(data['chart']) : nil
360
- @usage_by_event = data['usageByEvent'].map {|usage| UsageByEvent.new(usage)}
336
+ @chart = data['chart'] ? UsageChart.new(data['chart']) : nil
337
+ @usage_by_event = data['usageByEvent'].map { |usage| UsageByEvent.new(usage) }
361
338
  end
362
339
  end
363
340
 
@@ -59,12 +59,21 @@ module Seatsio
59
59
  def change_object_status(event_key_or_keys, object_or_objects, status, hold_token = nil, order_id = nil, keep_extra_data = nil)
60
60
  request = create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data)
61
61
  request[:params] = {
62
- 'expand' => 'objects'
62
+ :expand => 'objects'
63
63
  }
64
64
  response = @http_client.post("seasons/actions/change-object-status", request)
65
65
  Domain::ChangeObjectStatusResult.new(response)
66
66
  end
67
67
 
68
+ def change_object_status_in_batch(status_change_requests)
69
+ request = {
70
+ :statusChanges => status_change_requests,
71
+ :params => { :expand => 'objects' }
72
+ }
73
+ response = @http_client.post("events/actions/change-object-status", request)
74
+ Domain::ChangeObjectStatusInBatchResult.new(response).results
75
+ end
76
+
68
77
  def hold(event_key_or_keys, object_or_objects, hold_token, order_id = nil, keep_extra_data = nil)
69
78
  change_object_status(event_key_or_keys, object_or_objects, Domain::ObjectStatus::HELD, hold_token, order_id, keep_extra_data)
70
79
  end
@@ -0,0 +1,6 @@
1
+ def create_change_object_status_jn_batch_request(event_key, object_or_objects, status, hold_token = nil , order_id = nil, keep_extra_data = nil)
2
+ result = create_change_object_status_request(object_or_objects, status, hold_token, order_id, '', keep_extra_data)
3
+ result.delete(:events)
4
+ result[:event] = event_key
5
+ result
6
+ end
@@ -1,3 +1,3 @@
1
1
  module Seatsio
2
- VERSION = "22"
2
+ VERSION = "23"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seatsio
3
3
  version: !ruby/object:Gem::Version
4
- version: '22'
4
+ version: '23'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seats.io
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-28 00:00:00.000000000 Z
11
+ date: 2020-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -109,13 +109,13 @@ files:
109
109
  - bin/console
110
110
  - bin/setup
111
111
  - lib/seatsio.rb
112
- - lib/seatsio/accounts.rb
113
112
  - lib/seatsio/chart_reports.rb
114
113
  - lib/seatsio/charts.rb
115
114
  - lib/seatsio/domain.rb
116
115
  - lib/seatsio/event_reports.rb
117
116
  - lib/seatsio/events.rb
118
117
  - lib/seatsio/events/change_best_available_object_status_request.rb
118
+ - lib/seatsio/events/change_object_status_in_batch_request.rb
119
119
  - lib/seatsio/events/change_object_status_request.rb
120
120
  - lib/seatsio/exception.rb
121
121
  - lib/seatsio/hold_tokens.rb
@@ -1,20 +0,0 @@
1
- require "seatsio/exception"
2
- require "base64"
3
- require "seatsio/httpClient"
4
- require "seatsio/domain"
5
- require "json"
6
- require "cgi"
7
- require "seatsio/domain"
8
-
9
- module Seatsio
10
- class AccountsClient
11
- def initialize(secret_key, workspace_key, base_url)
12
- @http_client = ::Seatsio::HttpClient.new(secret_key, workspace_key, base_url)
13
- end
14
-
15
- def retrieve_my_account
16
- response = @http_client.get('accounts/me')
17
- Domain::Account.new(response)
18
- end
19
- end
20
- end