Current section
Files
Jump to
Current section
Files
lib/google_api/fcm/v1/model/webpush_config.ex
# Copyright 2019 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.
# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.
defmodule GoogleApi.FCM.V1.Model.WebpushConfig do
@moduledoc """
[Webpush protocol](https://tools.ietf.org/html/rfc8030) options.
## Attributes
* `data` (*type:* `map()`, *default:* `nil`) - Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data.
* `fcmOptions` (*type:* `GoogleApi.FCM.V1.Model.WebpushFcmOptions.t`, *default:* `nil`) - Options for features provided by the FCM SDK for Web.
* `headers` (*type:* `map()`, *default:* `nil`) - HTTP headers defined in webpush protocol. Refer to [Webpush protocol](https://tools.ietf.org/html/rfc8030#section-5) for supported headers, e.g. "TTL": "15".
* `notification` (*type:* `map()`, *default:* `nil`) - Web Notification options as a JSON object. Supports Notification instance properties as defined in [Web Notification API](https://developer.mozilla.org/en-US/docs/Web/API/Notification). If present, "title" and "body" fields override [google.firebase.fcm.v1.Notification.title] and [google.firebase.fcm.v1.Notification.body].
"""
use GoogleApi.Gax.ModelBase
@type t :: %__MODULE__{
:data => map() | nil,
:fcmOptions => GoogleApi.FCM.V1.Model.WebpushFcmOptions.t() | nil,
:headers => map() | nil,
:notification => map() | nil
}
field(:data, type: :map)
field(:fcmOptions, as: GoogleApi.FCM.V1.Model.WebpushFcmOptions)
field(:headers, type: :map)
field(:notification, type: :map)
end
defimpl Poison.Decoder, for: GoogleApi.FCM.V1.Model.WebpushConfig do
def decode(value, options) do
GoogleApi.FCM.V1.Model.WebpushConfig.decode(value, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.FCM.V1.Model.WebpushConfig do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end