/* Libre Graph API Libre Graph is a free API for cloud collaboration inspired by the MS Graph API. API version: v1.0.4 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package libregraph import ( "encoding/json" "time" ) // checks if the Permission type satisfies the MappedNullable interface at compile time var _ MappedNullable = &Permission{} // Permission The Permission resource provides information about a sharing permission granted for a DriveItem resource. ### Remarks The Permission resource uses *facets* to provide information about the kind of permission represented by the resource. Permissions with a `link` facet represent sharing links created on the item. Sharing links contain a unique token that provides access to the item for anyone with the link. Permissions with a `invitation` facet represent permissions added by inviting specific users or groups to have access to the file. type Permission struct { // The unique identifier of the permission among all permissions on the item. Read-only. Id *string `json:"id,omitempty"` // Indicates whether the password is set for this permission. This property only appears in the response. Optional. Read-only. HasPassword *bool `json:"hasPassword,omitempty"` // An optional expiration date which limits the permission in time. ExpirationDateTime NullableTime `json:"expirationDateTime,omitempty"` // An optional creation date. Libregraph only. CreatedDateTime NullableTime `json:"createdDateTime,omitempty"` GrantedToV2 *SharePointIdentitySet `json:"grantedToV2,omitempty"` Link *SharingLink `json:"link,omitempty"` Roles []string `json:"roles,omitempty"` // For link type permissions, the details of the identity to whom permission was granted. This could be used to grant access to a an external user that can be identified by email, aka guest accounts. // Deprecated GrantedToIdentities []IdentitySet `json:"grantedToIdentities,omitempty"` // Use this to create a permission with custom actions. LibreGraphPermissionsActions []string `json:"@libre.graph.permissions.actions,omitempty"` Invitation *SharingInvitation `json:"invitation,omitempty"` } // NewPermission instantiates a new Permission object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed func NewPermission() *Permission { this := Permission{} return &this } // NewPermissionWithDefaults instantiates a new Permission object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set func NewPermissionWithDefaults() *Permission { this := Permission{} return &this } // GetId returns the Id field value if set, zero value otherwise. func (o *Permission) GetId() string { if o == nil || IsNil(o.Id) { var ret string return ret } return *o.Id } // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Permission) GetIdOk() (*string, bool) { if o == nil || IsNil(o.Id) { return nil, false } return o.Id, true } // HasId returns a boolean if a field has been set. func (o *Permission) HasId() bool { if o != nil && !IsNil(o.Id) { return true } return false } // SetId gets a reference to the given string and assigns it to the Id field. func (o *Permission) SetId(v string) { o.Id = &v } // GetHasPassword returns the HasPassword field value if set, zero value otherwise. func (o *Permission) GetHasPassword() bool { if o == nil || IsNil(o.HasPassword) { var ret bool return ret } return *o.HasPassword } // GetHasPasswordOk returns a tuple with the HasPassword field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Permission) GetHasPasswordOk() (*bool, bool) { if o == nil || IsNil(o.HasPassword) { return nil, false } return o.HasPassword, true } // HasHasPassword returns a boolean if a field has been set. func (o *Permission) HasHasPassword() bool { if o != nil && !IsNil(o.HasPassword) { return true } return false } // SetHasPassword gets a reference to the given bool and assigns it to the HasPassword field. func (o *Permission) SetHasPassword(v bool) { o.HasPassword = &v } // GetExpirationDateTime returns the ExpirationDateTime field value if set, zero value otherwise (both if not set or set to explicit null). func (o *Permission) GetExpirationDateTime() time.Time { if o == nil || IsNil(o.ExpirationDateTime.Get()) { var ret time.Time return ret } return *o.ExpirationDateTime.Get() } // GetExpirationDateTimeOk returns a tuple with the ExpirationDateTime field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned func (o *Permission) GetExpirationDateTimeOk() (*time.Time, bool) { if o == nil { return nil, false } return o.ExpirationDateTime.Get(), o.ExpirationDateTime.IsSet() } // HasExpirationDateTime returns a boolean if a field has been set. func (o *Permission) HasExpirationDateTime() bool { if o != nil && o.ExpirationDateTime.IsSet() { return true } return false } // SetExpirationDateTime gets a reference to the given NullableTime and assigns it to the ExpirationDateTime field. func (o *Permission) SetExpirationDateTime(v time.Time) { o.ExpirationDateTime.Set(&v) } // SetExpirationDateTimeNil sets the value for ExpirationDateTime to be an explicit nil func (o *Permission) SetExpirationDateTimeNil() { o.ExpirationDateTime.Set(nil) } // UnsetExpirationDateTime ensures that no value is present for ExpirationDateTime, not even an explicit nil func (o *Permission) UnsetExpirationDateTime() { o.ExpirationDateTime.Unset() } // GetCreatedDateTime returns the CreatedDateTime field value if set, zero value otherwise (both if not set or set to explicit null). func (o *Permission) GetCreatedDateTime() time.Time { if o == nil || IsNil(o.CreatedDateTime.Get()) { var ret time.Time return ret } return *o.CreatedDateTime.Get() } // GetCreatedDateTimeOk returns a tuple with the CreatedDateTime field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned func (o *Permission) GetCreatedDateTimeOk() (*time.Time, bool) { if o == nil { return nil, false } return o.CreatedDateTime.Get(), o.CreatedDateTime.IsSet() } // HasCreatedDateTime returns a boolean if a field has been set. func (o *Permission) HasCreatedDateTime() bool { if o != nil && o.CreatedDateTime.IsSet() { return true } return false } // SetCreatedDateTime gets a reference to the given NullableTime and assigns it to the CreatedDateTime field. func (o *Permission) SetCreatedDateTime(v time.Time) { o.CreatedDateTime.Set(&v) } // SetCreatedDateTimeNil sets the value for CreatedDateTime to be an explicit nil func (o *Permission) SetCreatedDateTimeNil() { o.CreatedDateTime.Set(nil) } // UnsetCreatedDateTime ensures that no value is present for CreatedDateTime, not even an explicit nil func (o *Permission) UnsetCreatedDateTime() { o.CreatedDateTime.Unset() } // GetGrantedToV2 returns the GrantedToV2 field value if set, zero value otherwise. func (o *Permission) GetGrantedToV2() SharePointIdentitySet { if o == nil || IsNil(o.GrantedToV2) { var ret SharePointIdentitySet return ret } return *o.GrantedToV2 } // GetGrantedToV2Ok returns a tuple with the GrantedToV2 field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Permission) GetGrantedToV2Ok() (*SharePointIdentitySet, bool) { if o == nil || IsNil(o.GrantedToV2) { return nil, false } return o.GrantedToV2, true } // HasGrantedToV2 returns a boolean if a field has been set. func (o *Permission) HasGrantedToV2() bool { if o != nil && !IsNil(o.GrantedToV2) { return true } return false } // SetGrantedToV2 gets a reference to the given SharePointIdentitySet and assigns it to the GrantedToV2 field. func (o *Permission) SetGrantedToV2(v SharePointIdentitySet) { o.GrantedToV2 = &v } // GetLink returns the Link field value if set, zero value otherwise. func (o *Permission) GetLink() SharingLink { if o == nil || IsNil(o.Link) { var ret SharingLink return ret } return *o.Link } // GetLinkOk returns a tuple with the Link field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Permission) GetLinkOk() (*SharingLink, bool) { if o == nil || IsNil(o.Link) { return nil, false } return o.Link, true } // HasLink returns a boolean if a field has been set. func (o *Permission) HasLink() bool { if o != nil && !IsNil(o.Link) { return true } return false } // SetLink gets a reference to the given SharingLink and assigns it to the Link field. func (o *Permission) SetLink(v SharingLink) { o.Link = &v } // GetRoles returns the Roles field value if set, zero value otherwise. func (o *Permission) GetRoles() []string { if o == nil || IsNil(o.Roles) { var ret []string return ret } return o.Roles } // GetRolesOk returns a tuple with the Roles field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Permission) GetRolesOk() ([]string, bool) { if o == nil || IsNil(o.Roles) { return nil, false } return o.Roles, true } // HasRoles returns a boolean if a field has been set. func (o *Permission) HasRoles() bool { if o != nil && !IsNil(o.Roles) { return true } return false } // SetRoles gets a reference to the given []string and assigns it to the Roles field. func (o *Permission) SetRoles(v []string) { o.Roles = v } // GetGrantedToIdentities returns the GrantedToIdentities field value if set, zero value otherwise. // Deprecated func (o *Permission) GetGrantedToIdentities() []IdentitySet { if o == nil || IsNil(o.GrantedToIdentities) { var ret []IdentitySet return ret } return o.GrantedToIdentities } // GetGrantedToIdentitiesOk returns a tuple with the GrantedToIdentities field value if set, nil otherwise // and a boolean to check if the value has been set. // Deprecated func (o *Permission) GetGrantedToIdentitiesOk() ([]IdentitySet, bool) { if o == nil || IsNil(o.GrantedToIdentities) { return nil, false } return o.GrantedToIdentities, true } // HasGrantedToIdentities returns a boolean if a field has been set. func (o *Permission) HasGrantedToIdentities() bool { if o != nil && !IsNil(o.GrantedToIdentities) { return true } return false } // SetGrantedToIdentities gets a reference to the given []IdentitySet and assigns it to the GrantedToIdentities field. // Deprecated func (o *Permission) SetGrantedToIdentities(v []IdentitySet) { o.GrantedToIdentities = v } // GetLibreGraphPermissionsActions returns the LibreGraphPermissionsActions field value if set, zero value otherwise. func (o *Permission) GetLibreGraphPermissionsActions() []string { if o == nil || IsNil(o.LibreGraphPermissionsActions) { var ret []string return ret } return o.LibreGraphPermissionsActions } // GetLibreGraphPermissionsActionsOk returns a tuple with the LibreGraphPermissionsActions field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Permission) GetLibreGraphPermissionsActionsOk() ([]string, bool) { if o == nil || IsNil(o.LibreGraphPermissionsActions) { return nil, false } return o.LibreGraphPermissionsActions, true } // HasLibreGraphPermissionsActions returns a boolean if a field has been set. func (o *Permission) HasLibreGraphPermissionsActions() bool { if o != nil && !IsNil(o.LibreGraphPermissionsActions) { return true } return false } // SetLibreGraphPermissionsActions gets a reference to the given []string and assigns it to the LibreGraphPermissionsActions field. func (o *Permission) SetLibreGraphPermissionsActions(v []string) { o.LibreGraphPermissionsActions = v } // GetInvitation returns the Invitation field value if set, zero value otherwise. func (o *Permission) GetInvitation() SharingInvitation { if o == nil || IsNil(o.Invitation) { var ret SharingInvitation return ret } return *o.Invitation } // GetInvitationOk returns a tuple with the Invitation field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Permission) GetInvitationOk() (*SharingInvitation, bool) { if o == nil || IsNil(o.Invitation) { return nil, false } return o.Invitation, true } // HasInvitation returns a boolean if a field has been set. func (o *Permission) HasInvitation() bool { if o != nil && !IsNil(o.Invitation) { return true } return false } // SetInvitation gets a reference to the given SharingInvitation and assigns it to the Invitation field. func (o *Permission) SetInvitation(v SharingInvitation) { o.Invitation = &v } func (o Permission) MarshalJSON() ([]byte, error) { toSerialize, err := o.ToMap() if err != nil { return []byte{}, err } return json.Marshal(toSerialize) } func (o Permission) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.Id) { toSerialize["id"] = o.Id } if !IsNil(o.HasPassword) { toSerialize["hasPassword"] = o.HasPassword } if o.ExpirationDateTime.IsSet() { toSerialize["expirationDateTime"] = o.ExpirationDateTime.Get() } if o.CreatedDateTime.IsSet() { toSerialize["createdDateTime"] = o.CreatedDateTime.Get() } if !IsNil(o.GrantedToV2) { toSerialize["grantedToV2"] = o.GrantedToV2 } if !IsNil(o.Link) { toSerialize["link"] = o.Link } if !IsNil(o.Roles) { toSerialize["roles"] = o.Roles } if !IsNil(o.GrantedToIdentities) { toSerialize["grantedToIdentities"] = o.GrantedToIdentities } if !IsNil(o.LibreGraphPermissionsActions) { toSerialize["@libre.graph.permissions.actions"] = o.LibreGraphPermissionsActions } if !IsNil(o.Invitation) { toSerialize["invitation"] = o.Invitation } return toSerialize, nil } type NullablePermission struct { value *Permission isSet bool } func (v NullablePermission) Get() *Permission { return v.value } func (v *NullablePermission) Set(val *Permission) { v.value = val v.isSet = true } func (v NullablePermission) IsSet() bool { return v.isSet } func (v *NullablePermission) Unset() { v.value = nil v.isSet = false } func NewNullablePermission(val *Permission) *NullablePermission { return &NullablePermission{value: val, isSet: true} } func (v NullablePermission) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullablePermission) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }