# Copyright 2017 Google Inc. # # 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 class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Gmail.V1.Model.History do @moduledoc """ A record of a change to the user's mailbox. Each history change may affect multiple messages in multiple ways. ## Attributes - id (String.t): The mailbox sequence ID. Defaults to: `null`. - labelsAdded ([HistoryLabelAdded]): Labels added to messages in this history record. Defaults to: `null`. - labelsRemoved ([HistoryLabelRemoved]): Labels removed from messages in this history record. Defaults to: `null`. - messages ([Message]): List of messages changed in this history record. The fields for specific change types, such as messagesAdded may duplicate messages in this field. We recommend using the specific change-type fields instead of this. Defaults to: `null`. - messagesAdded ([HistoryMessageAdded]): Messages added to the mailbox in this history record. Defaults to: `null`. - messagesDeleted ([HistoryMessageDeleted]): Messages deleted (not Trashed) from the mailbox in this history record. Defaults to: `null`. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :id => any(), :labelsAdded => list(GoogleApi.Gmail.V1.Model.HistoryLabelAdded.t()), :labelsRemoved => list(GoogleApi.Gmail.V1.Model.HistoryLabelRemoved.t()), :messages => list(GoogleApi.Gmail.V1.Model.Message.t()), :messagesAdded => list(GoogleApi.Gmail.V1.Model.HistoryMessageAdded.t()), :messagesDeleted => list(GoogleApi.Gmail.V1.Model.HistoryMessageDeleted.t()) } field(:id) field(:labelsAdded, as: GoogleApi.Gmail.V1.Model.HistoryLabelAdded, type: :list) field(:labelsRemoved, as: GoogleApi.Gmail.V1.Model.HistoryLabelRemoved, type: :list) field(:messages, as: GoogleApi.Gmail.V1.Model.Message, type: :list) field(:messagesAdded, as: GoogleApi.Gmail.V1.Model.HistoryMessageAdded, type: :list) field(:messagesDeleted, as: GoogleApi.Gmail.V1.Model.HistoryMessageDeleted, type: :list) end defimpl Poison.Decoder, for: GoogleApi.Gmail.V1.Model.History do def decode(value, options) do GoogleApi.Gmail.V1.Model.History.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Gmail.V1.Model.History do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end