# 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.Drive.V3.Model.FileCapabilities do @moduledoc """ Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. ## Attributes * `canAddChildren` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can add children to this folder. This is always false when the item is not a folder. * `canChangeCopyRequiresWriterPermission` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can change the copyRequiresWriterPermission restriction of this file. * `canChangeViewersCanCopyContent` (*type:* `boolean()`, *default:* `nil`) - Deprecated * `canComment` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can comment on this file. * `canCopy` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can copy this file. For an item in a shared drive, whether the current user can copy non-folder descendants of this item, or this item itself if it is not a folder. * `canDelete` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can delete this file. * `canDeleteChildren` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can delete children of this folder. This is false when the item is not a folder. Only populated for items in shared drives. * `canDownload` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can download this file. * `canEdit` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can edit this file. Other factors may limit the type of changes a user can make to a file. For example, see canChangeCopyRequiresWriterPermission or canModifyContent. * `canListChildren` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can list the children of this folder. This is always false when the item is not a folder. * `canModifyContent` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can modify the content of this file. * `canMoveChildrenOutOfDrive` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can move children of this folder outside of the shared drive. This is false when the item is not a folder. Only populated for items in shared drives. * `canMoveChildrenOutOfTeamDrive` (*type:* `boolean()`, *default:* `nil`) - Deprecated - use canMoveChildrenOutOfDrive instead. * `canMoveChildrenWithinDrive` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can move children of this folder within the shared drive. This is false when the item is not a folder. Only populated for items in shared drives. * `canMoveChildrenWithinTeamDrive` (*type:* `boolean()`, *default:* `nil`) - Deprecated - use canMoveChildrenWithinDrive instead. * `canMoveItemIntoTeamDrive` (*type:* `boolean()`, *default:* `nil`) - Deprecated - use canMoveItemOutOfDrive instead. * `canMoveItemOutOfDrive` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can move this item outside of this drive by changing its parent. Note that a request to change the parent of the item may still fail depending on the new parent that is being added. * `canMoveItemOutOfTeamDrive` (*type:* `boolean()`, *default:* `nil`) - Deprecated - use canMoveItemOutOfDrive instead. * `canMoveItemWithinDrive` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can move this item within this shared drive. Note that a request to change the parent of the item may still fail depending on the new parent that is being added. Only populated for items in shared drives. * `canMoveItemWithinTeamDrive` (*type:* `boolean()`, *default:* `nil`) - Deprecated - use canMoveItemWithinDrive instead. * `canMoveTeamDriveItem` (*type:* `boolean()`, *default:* `nil`) - Deprecated - use canMoveItemWithinDrive or canMoveItemOutOfDrive instead. * `canReadDrive` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can read the shared drive to which this file belongs. Only populated for items in shared drives. * `canReadRevisions` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can read the revisions resource of this file. For a shared drive item, whether revisions of non-folder descendants of this item, or this item itself if it is not a folder, can be read. * `canReadTeamDrive` (*type:* `boolean()`, *default:* `nil`) - Deprecated - use canReadDrive instead. * `canRemoveChildren` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can remove children from this folder. This is always false when the item is not a folder. For a folder in a shared drive, use canDeleteChildren or canTrashChildren instead. * `canRename` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can rename this file. * `canShare` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can modify the sharing settings for this file. * `canTrash` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can move this file to trash. * `canTrashChildren` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can trash children of this folder. This is false when the item is not a folder. Only populated for items in shared drives. * `canUntrash` (*type:* `boolean()`, *default:* `nil`) - Whether the current user can restore this file from trash. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :canAddChildren => boolean(), :canChangeCopyRequiresWriterPermission => boolean(), :canChangeViewersCanCopyContent => boolean(), :canComment => boolean(), :canCopy => boolean(), :canDelete => boolean(), :canDeleteChildren => boolean(), :canDownload => boolean(), :canEdit => boolean(), :canListChildren => boolean(), :canModifyContent => boolean(), :canMoveChildrenOutOfDrive => boolean(), :canMoveChildrenOutOfTeamDrive => boolean(), :canMoveChildrenWithinDrive => boolean(), :canMoveChildrenWithinTeamDrive => boolean(), :canMoveItemIntoTeamDrive => boolean(), :canMoveItemOutOfDrive => boolean(), :canMoveItemOutOfTeamDrive => boolean(), :canMoveItemWithinDrive => boolean(), :canMoveItemWithinTeamDrive => boolean(), :canMoveTeamDriveItem => boolean(), :canReadDrive => boolean(), :canReadRevisions => boolean(), :canReadTeamDrive => boolean(), :canRemoveChildren => boolean(), :canRename => boolean(), :canShare => boolean(), :canTrash => boolean(), :canTrashChildren => boolean(), :canUntrash => boolean() } field(:canAddChildren) field(:canChangeCopyRequiresWriterPermission) field(:canChangeViewersCanCopyContent) field(:canComment) field(:canCopy) field(:canDelete) field(:canDeleteChildren) field(:canDownload) field(:canEdit) field(:canListChildren) field(:canModifyContent) field(:canMoveChildrenOutOfDrive) field(:canMoveChildrenOutOfTeamDrive) field(:canMoveChildrenWithinDrive) field(:canMoveChildrenWithinTeamDrive) field(:canMoveItemIntoTeamDrive) field(:canMoveItemOutOfDrive) field(:canMoveItemOutOfTeamDrive) field(:canMoveItemWithinDrive) field(:canMoveItemWithinTeamDrive) field(:canMoveTeamDriveItem) field(:canReadDrive) field(:canReadRevisions) field(:canReadTeamDrive) field(:canRemoveChildren) field(:canRename) field(:canShare) field(:canTrash) field(:canTrashChildren) field(:canUntrash) end defimpl Poison.Decoder, for: GoogleApi.Drive.V3.Model.FileCapabilities do def decode(value, options) do GoogleApi.Drive.V3.Model.FileCapabilities.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Drive.V3.Model.FileCapabilities do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end