seatsio 38.0.0 → 40.1.0
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/seatsio/channels.rb +48 -0
- data/lib/seatsio/domain.rb +5 -7
- data/lib/seatsio/events.rb +4 -8
- data/lib/seatsio/httpClient.rb +3 -3
- data/lib/seatsio/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b8822f5a0c8488e65a7291c414a1425fbb3d499bf77a4621c43dc46a11afd8b
|
4
|
+
data.tar.gz: a79e55c7a602c061cdc39ac05bcc3c73e5e6497d4c3af76327c98b55ae041905
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3db73b2ababeefb303f173e20fcabf96e97b025c6a6d773229a1e194ab7c5885a27aeef84fa667b9dafc1d7b3a0f438f0b0b03091eb2b55dccc22b468066792e
|
7
|
+
data.tar.gz: b98d89bea756c377f98ec4857a1a980359a19bdb6d65cfd99fdf534006090588814a4eb35e5ee8690342e929ab2875a8cf55173eb8958db6606e9cf27ca98e10
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
module Seatsio
|
2
|
+
|
3
|
+
class ChannelsClient
|
4
|
+
def initialize(http_client)
|
5
|
+
@http_client = http_client
|
6
|
+
end
|
7
|
+
|
8
|
+
def add(event_key:, channel_key:, channel_name:, channel_color:, index: nil, objects: nil)
|
9
|
+
payload = {
|
10
|
+
key: channel_key,
|
11
|
+
name: channel_name,
|
12
|
+
color: channel_color
|
13
|
+
}
|
14
|
+
payload['index'] = index if index != nil
|
15
|
+
payload['objects'] = objects if objects != nil
|
16
|
+
@http_client.post("events/#{event_key}/channels", payload)
|
17
|
+
end
|
18
|
+
|
19
|
+
def remove(event_key:, channel_key:)
|
20
|
+
@http_client.delete("events/#{event_key}/channels/#{channel_key}")
|
21
|
+
end
|
22
|
+
|
23
|
+
def update(event_key:, channel_key:, channel_name: nil, channel_color: nil, objects: nil)
|
24
|
+
payload = {}
|
25
|
+
payload['name'] = channel_name if channel_name != nil
|
26
|
+
payload['color'] = channel_color if channel_color != nil
|
27
|
+
payload['objects'] = objects if objects != nil
|
28
|
+
@http_client.post("events/#{event_key}/channels/#{channel_key}", payload)
|
29
|
+
end
|
30
|
+
|
31
|
+
def add_objects(event_key:, channel_key:, objects:)
|
32
|
+
@http_client.post("events/#{event_key}/channels/#{channel_key}/objects", { objects: objects })
|
33
|
+
end
|
34
|
+
|
35
|
+
def remove_objects(event_key:, channel_key:, objects:)
|
36
|
+
@http_client.delete("events/#{event_key}/channels/#{channel_key}/objects", { objects: objects })
|
37
|
+
end
|
38
|
+
|
39
|
+
def replace(key:, channels:)
|
40
|
+
@http_client.post("events/#{key}/channels/update", channels: channels)
|
41
|
+
end
|
42
|
+
|
43
|
+
def set_objects(key:, channelConfig:)
|
44
|
+
@http_client.post("events/#{key}/channels/assign-objects", channelConfig: channelConfig)
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
data/lib/seatsio/domain.rb
CHANGED
@@ -315,7 +315,7 @@ module Seatsio
|
|
315
315
|
class ChartObjectInfo
|
316
316
|
|
317
317
|
attr_reader :label, :labels, :ids, :category_key, :category_label, :section, :entrance, :capacity, :object_type,
|
318
|
-
:left_neighbour, :right_neighbour, :book_as_a_whole, :distance_to_focal_point
|
318
|
+
:left_neighbour, :right_neighbour, :book_as_a_whole, :distance_to_focal_point, :num_seats
|
319
319
|
|
320
320
|
def initialize(data)
|
321
321
|
@label = data['label']
|
@@ -331,6 +331,7 @@ module Seatsio
|
|
331
331
|
@right_neighbour = data['rightNeighbour']
|
332
332
|
@book_as_a_whole = data['bookAsAWhole']
|
333
333
|
@distance_to_focal_point = data['distanceToFocalPoint']
|
334
|
+
@num_seats = data['numSeats']
|
334
335
|
end
|
335
336
|
end
|
336
337
|
|
@@ -386,7 +387,7 @@ module Seatsio
|
|
386
387
|
:ticket_type, :num_booked, :num_free, :num_held, :for_sale, :section,
|
387
388
|
:is_accessible, :is_companion_seat, :has_restricted_view, :displayed_object_type,
|
388
389
|
:left_neighbour, :right_neighbour, :is_available, :is_disabled_by_social_distancing, :channel,
|
389
|
-
:book_as_a_whole, :distance_to_focal_point, :holds
|
390
|
+
:book_as_a_whole, :distance_to_focal_point, :holds, :num_seats
|
390
391
|
|
391
392
|
def initialize(data)
|
392
393
|
@status = data['status']
|
@@ -419,6 +420,7 @@ module Seatsio
|
|
419
420
|
@book_as_a_whole = data['bookAsAWhole']
|
420
421
|
@distance_to_focal_point = data['distanceToFocalPoint']
|
421
422
|
@holds = data['holds']
|
423
|
+
@num_seats = data['numSeats']
|
422
424
|
end
|
423
425
|
end
|
424
426
|
|
@@ -476,16 +478,12 @@ module Seatsio
|
|
476
478
|
|
477
479
|
class UsageByEvent
|
478
480
|
|
479
|
-
attr_reader :event, :num_used_objects, :num_first_bookings, :
|
480
|
-
:num_ga_selections_without_booking, :num_non_ga_selections_without_booking, :num_object_selections
|
481
|
+
attr_reader :event, :num_used_objects, :num_first_bookings, :num_object_selections
|
481
482
|
|
482
483
|
def initialize(data)
|
483
484
|
@event = UsageEvent.new(data['event'])
|
484
485
|
@num_used_objects = data['numUsedObjects']
|
485
486
|
@num_first_bookings = data['numFirstBookings']
|
486
|
-
@num_first_bookings_or_selections = data['numFirstBookingsOrSelections']
|
487
|
-
@num_ga_selections_without_booking = data['numGASelectionsWithoutBooking']
|
488
|
-
@num_non_ga_selections_without_booking = data['numNonGASelectionsWithoutBooking']
|
489
487
|
@num_object_selections = data['numObjectSelections']
|
490
488
|
end
|
491
489
|
end
|
data/lib/seatsio/events.rb
CHANGED
@@ -6,12 +6,16 @@ require "json"
|
|
6
6
|
require "cgi"
|
7
7
|
require "seatsio/events/change_object_status_request"
|
8
8
|
require "seatsio/events/change_best_available_object_status_request"
|
9
|
+
require 'seatsio/channels'
|
9
10
|
|
10
11
|
module Seatsio
|
11
12
|
|
12
13
|
class EventsClient
|
14
|
+
attr_reader :channels
|
15
|
+
|
13
16
|
def initialize(http_client)
|
14
17
|
@http_client = http_client
|
18
|
+
@channels = ChannelsClient.new(@http_client)
|
15
19
|
end
|
16
20
|
|
17
21
|
def create(chart_key: nil, event_key: nil, table_booking_config: nil, social_distancing_ruleset_key: nil, object_categories: nil)
|
@@ -142,14 +146,6 @@ module Seatsio
|
|
142
146
|
@http_client.post("events/#{key}/actions/mark-as-for-sale", request)
|
143
147
|
end
|
144
148
|
|
145
|
-
def update_channels(key:, channels:)
|
146
|
-
@http_client.post("events/#{key}/channels/update", channels: channels)
|
147
|
-
end
|
148
|
-
|
149
|
-
def assign_objects_to_channels(key:, channelConfig:)
|
150
|
-
@http_client.post("events/#{key}/channels/assign-objects", channelConfig: channelConfig)
|
151
|
-
end
|
152
|
-
|
153
149
|
private
|
154
150
|
|
155
151
|
def build_parameters_for_mark_as_sale(objects: nil, categories: nil)
|
data/lib/seatsio/httpClient.rb
CHANGED
@@ -33,7 +33,7 @@ module Seatsio
|
|
33
33
|
|
34
34
|
request_options = { method: args[0], url: url, headers: headers }
|
35
35
|
|
36
|
-
if args[0] == :post
|
36
|
+
if args[0] == :post || args[0] == :delete
|
37
37
|
args[2].delete :params
|
38
38
|
request_options[:payload] = args[2].to_json
|
39
39
|
end
|
@@ -90,8 +90,8 @@ module Seatsio
|
|
90
90
|
execute(:post, endpoint, payload)
|
91
91
|
end
|
92
92
|
|
93
|
-
def delete(endpoint)
|
94
|
-
execute(:delete, endpoint,
|
93
|
+
def delete(endpoint, payload = {})
|
94
|
+
execute(:delete, endpoint, payload)
|
95
95
|
end
|
96
96
|
end
|
97
97
|
end
|
data/lib/seatsio/version.rb
CHANGED
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:
|
4
|
+
version: 40.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seats.io
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- bin/console
|
113
113
|
- bin/setup
|
114
114
|
- lib/seatsio.rb
|
115
|
+
- lib/seatsio/channels.rb
|
115
116
|
- lib/seatsio/chart_reports.rb
|
116
117
|
- lib/seatsio/charts.rb
|
117
118
|
- lib/seatsio/domain.rb
|