seatsio 38.0.0 → 40.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|