# NOTE: This file is auto generated by OpenAPI Generator # https://openapi-generator.tech # Do not edit this file manually. defmodule DocuSign.Model.AccountManagementGranular do @moduledoc """ """ alias DocuSign.Deserializer alias DocuSign.Model.SettingsMetadata defstruct [ :allowManageAccountSecuritySettings, :allowManageAccountSecuritySettingsMetadata, :allowManageAccountSettings, :allowManageAccountSettingsMetadata, :allowManageAdmins, :allowManageAdminsMetadata, :allowManageConnect, :allowManageConnectMetadata, :allowManageDocumentRetention, :allowManageDocumentRetentionMetadata, :allowManageEnvelopeTransfer, :allowManageEnvelopeTransferMetadata, :allowManageGroupsButNotUsers, :allowManageGroupsButNotUsersMetadata, :allowManageJointAgreements, :allowManageJointAgreementsMetadata, :allowManageReporting, :allowManageReportingMetadata, :allowManageSharing, :allowManageSharingMetadata, :allowManageSigningGroups, :allowManageSigningGroupsMetadata, :allowManageStamps, :allowManageStampsMetadata, :allowManageUsers, :allowManageUsersMetadata, :allowViewUsers ] @doc false defimpl Jason.Encoder, for: __MODULE__ do def encode(struct, opts) do struct |> Map.from_struct() |> Enum.reject(fn {_k, v} -> is_nil(v) end) |> Map.new() |> Jason.Encode.map(opts) end end @type t :: %__MODULE__{ :allowManageAccountSecuritySettings => String.t() | nil, :allowManageAccountSecuritySettingsMetadata => SettingsMetadata.t() | nil, :allowManageAccountSettings => String.t() | nil, :allowManageAccountSettingsMetadata => SettingsMetadata.t() | nil, :allowManageAdmins => String.t() | nil, :allowManageAdminsMetadata => SettingsMetadata.t() | nil, :allowManageConnect => String.t() | nil, :allowManageConnectMetadata => SettingsMetadata.t() | nil, :allowManageDocumentRetention => String.t() | nil, :allowManageDocumentRetentionMetadata => SettingsMetadata.t() | nil, :allowManageEnvelopeTransfer => String.t() | nil, :allowManageEnvelopeTransferMetadata => SettingsMetadata.t() | nil, :allowManageGroupsButNotUsers => String.t() | nil, :allowManageGroupsButNotUsersMetadata => SettingsMetadata.t() | nil, :allowManageJointAgreements => String.t() | nil, :allowManageJointAgreementsMetadata => SettingsMetadata.t() | nil, :allowManageReporting => String.t() | nil, :allowManageReportingMetadata => SettingsMetadata.t() | nil, :allowManageSharing => String.t() | nil, :allowManageSharingMetadata => SettingsMetadata.t() | nil, :allowManageSigningGroups => String.t() | nil, :allowManageSigningGroupsMetadata => SettingsMetadata.t() | nil, :allowManageStamps => String.t() | nil, :allowManageStampsMetadata => SettingsMetadata.t() | nil, :allowManageUsers => String.t() | nil, :allowManageUsersMetadata => SettingsMetadata.t() | nil, :allowViewUsers => String.t() | nil } def decode(value) do value |> Deserializer.deserialize( :allowManageAccountSecuritySettingsMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageAccountSettingsMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageAdminsMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageConnectMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageDocumentRetentionMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageEnvelopeTransferMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageGroupsButNotUsersMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageJointAgreementsMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageReportingMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageSharingMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageSigningGroupsMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageStampsMetadata, :struct, SettingsMetadata ) |> Deserializer.deserialize( :allowManageUsersMetadata, :struct, SettingsMetadata ) |> then(&struct(__MODULE__, &1)) end end