263 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
		
		
			
		
	
	
			263 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
|  | # Copyright 2020 Google LLC | ||
|  | # | ||
|  | # Licensed under the Apache License, Version 2.0 (the "License"); | ||
|  | # you may not use this file except in compliance with the License. | ||
|  | # You may obtain a copy of the License at | ||
|  | # | ||
|  | #      http://www.apache.org/licenses/LICENSE-2.0 | ||
|  | # | ||
|  | # Unless required by applicable law or agreed to in writing, software | ||
|  | # distributed under the License is distributed on an "AS IS" BASIS, | ||
|  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
|  | # See the License for the specific language governing permissions and | ||
|  | # limitations under the License. | ||
|  | 
 | ||
|  | require 'date' | ||
|  | require 'google/apis/core/base_service' | ||
|  | require 'google/apis/core/json_representation' | ||
|  | require 'google/apis/core/hashable' | ||
|  | require 'google/apis/errors' | ||
|  | 
 | ||
|  | module Google | ||
|  |   module Apis | ||
|  |     module FcmV1 | ||
|  |        | ||
|  |       class AndroidConfig | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class AndroidFcmOptions | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class AndroidNotification | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class ApnsConfig | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class ApnsFcmOptions | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class Color | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class FcmOptions | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class LightSettings | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class Message | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class Notification | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class SendMessageRequest | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class WebpushConfig | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class WebpushFcmOptions | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation; end | ||
|  |        | ||
|  |         include Google::Apis::Core::JsonObjectSupport | ||
|  |       end | ||
|  |        | ||
|  |       class AndroidConfig | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :collapse_key, as: 'collapseKey' | ||
|  |           hash :data, as: 'data' | ||
|  |           property :direct_boot_ok, as: 'directBootOk' | ||
|  |           property :fcm_options, as: 'fcmOptions', class: Google::Apis::FcmV1::AndroidFcmOptions, decorator: Google::Apis::FcmV1::AndroidFcmOptions::Representation | ||
|  |        | ||
|  |           property :notification, as: 'notification', class: Google::Apis::FcmV1::AndroidNotification, decorator: Google::Apis::FcmV1::AndroidNotification::Representation | ||
|  |        | ||
|  |           property :priority, as: 'priority' | ||
|  |           property :restricted_package_name, as: 'restrictedPackageName' | ||
|  |           property :ttl, as: 'ttl' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class AndroidFcmOptions | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :analytics_label, as: 'analyticsLabel' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class AndroidNotification | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :body, as: 'body' | ||
|  |           collection :body_loc_args, as: 'bodyLocArgs' | ||
|  |           property :body_loc_key, as: 'bodyLocKey' | ||
|  |           property :channel_id, as: 'channelId' | ||
|  |           property :click_action, as: 'clickAction' | ||
|  |           property :color, as: 'color' | ||
|  |           property :default_light_settings, as: 'defaultLightSettings' | ||
|  |           property :default_sound, as: 'defaultSound' | ||
|  |           property :default_vibrate_timings, as: 'defaultVibrateTimings' | ||
|  |           property :event_time, as: 'eventTime' | ||
|  |           property :icon, as: 'icon' | ||
|  |           property :image, as: 'image' | ||
|  |           property :light_settings, as: 'lightSettings', class: Google::Apis::FcmV1::LightSettings, decorator: Google::Apis::FcmV1::LightSettings::Representation | ||
|  |        | ||
|  |           property :local_only, as: 'localOnly' | ||
|  |           property :notification_count, as: 'notificationCount' | ||
|  |           property :notification_priority, as: 'notificationPriority' | ||
|  |           property :sound, as: 'sound' | ||
|  |           property :sticky, as: 'sticky' | ||
|  |           property :tag, as: 'tag' | ||
|  |           property :ticker, as: 'ticker' | ||
|  |           property :title, as: 'title' | ||
|  |           collection :title_loc_args, as: 'titleLocArgs' | ||
|  |           property :title_loc_key, as: 'titleLocKey' | ||
|  |           collection :vibrate_timings, as: 'vibrateTimings' | ||
|  |           property :visibility, as: 'visibility' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class ApnsConfig | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :fcm_options, as: 'fcmOptions', class: Google::Apis::FcmV1::ApnsFcmOptions, decorator: Google::Apis::FcmV1::ApnsFcmOptions::Representation | ||
|  |        | ||
|  |           hash :headers, as: 'headers' | ||
|  |           hash :payload, as: 'payload' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class ApnsFcmOptions | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :analytics_label, as: 'analyticsLabel' | ||
|  |           property :image, as: 'image' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class Color | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :alpha, as: 'alpha' | ||
|  |           property :blue, as: 'blue' | ||
|  |           property :green, as: 'green' | ||
|  |           property :red, as: 'red' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class FcmOptions | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :analytics_label, as: 'analyticsLabel' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class LightSettings | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :color, as: 'color', class: Google::Apis::FcmV1::Color, decorator: Google::Apis::FcmV1::Color::Representation | ||
|  |        | ||
|  |           property :light_off_duration, as: 'lightOffDuration' | ||
|  |           property :light_on_duration, as: 'lightOnDuration' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class Message | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :android, as: 'android', class: Google::Apis::FcmV1::AndroidConfig, decorator: Google::Apis::FcmV1::AndroidConfig::Representation | ||
|  |        | ||
|  |           property :apns, as: 'apns', class: Google::Apis::FcmV1::ApnsConfig, decorator: Google::Apis::FcmV1::ApnsConfig::Representation | ||
|  |        | ||
|  |           property :condition, as: 'condition' | ||
|  |           hash :data, as: 'data' | ||
|  |           property :fcm_options, as: 'fcmOptions', class: Google::Apis::FcmV1::FcmOptions, decorator: Google::Apis::FcmV1::FcmOptions::Representation | ||
|  |        | ||
|  |           property :name, as: 'name' | ||
|  |           property :notification, as: 'notification', class: Google::Apis::FcmV1::Notification, decorator: Google::Apis::FcmV1::Notification::Representation | ||
|  |        | ||
|  |           property :token, as: 'token' | ||
|  |           property :topic, as: 'topic' | ||
|  |           property :webpush, as: 'webpush', class: Google::Apis::FcmV1::WebpushConfig, decorator: Google::Apis::FcmV1::WebpushConfig::Representation | ||
|  |        | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class Notification | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :body, as: 'body' | ||
|  |           property :image, as: 'image' | ||
|  |           property :title, as: 'title' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class SendMessageRequest | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :message, as: 'message', class: Google::Apis::FcmV1::Message, decorator: Google::Apis::FcmV1::Message::Representation | ||
|  |        | ||
|  |           property :validate_only, as: 'validateOnly' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class WebpushConfig | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           hash :data, as: 'data' | ||
|  |           property :fcm_options, as: 'fcmOptions', class: Google::Apis::FcmV1::WebpushFcmOptions, decorator: Google::Apis::FcmV1::WebpushFcmOptions::Representation | ||
|  |        | ||
|  |           hash :headers, as: 'headers' | ||
|  |           hash :notification, as: 'notification' | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |       class WebpushFcmOptions | ||
|  |         # @private | ||
|  |         class Representation < Google::Apis::Core::JsonRepresentation | ||
|  |           property :analytics_label, as: 'analyticsLabel' | ||
|  |           property :link, as: 'link' | ||
|  |         end | ||
|  |       end | ||
|  |     end | ||
|  |   end | ||
|  | end |