/* authentik Making authentication simple. API version: 2026.5.0-rc1 Contact: hello@goauthentik.io */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package api import ( "encoding/json" "fmt" "time" ) // checks if the PartialUser type satisfies the MappedNullable interface at compile time var _ MappedNullable = &PartialUser{} // PartialUser Partial User Serializer, does not include child relations. type PartialUser struct { Pk int32 `json:"pk"` // Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. Username string `json:"username" validate:"regexp=^[\\\\w.@+-]+$"` // User's display name. Name string `json:"name"` // Designates whether this user should be treated as active. Unselect this instead of deleting accounts. IsActive *bool `json:"is_active,omitempty"` LastLogin NullableTime `json:"last_login,omitempty"` Email *string `json:"email,omitempty"` Attributes map[string]interface{} `json:"attributes,omitempty"` Uid string `json:"uid"` AdditionalProperties map[string]interface{} } type _PartialUser PartialUser // NewPartialUser instantiates a new PartialUser 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 NewPartialUser(pk int32, username string, name string, uid string) *PartialUser { this := PartialUser{} this.Pk = pk this.Username = username this.Name = name this.Uid = uid return &this } // NewPartialUserWithDefaults instantiates a new PartialUser 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 NewPartialUserWithDefaults() *PartialUser { this := PartialUser{} return &this } // GetPk returns the Pk field value func (o *PartialUser) GetPk() int32 { if o == nil { var ret int32 return ret } return o.Pk } // GetPkOk returns a tuple with the Pk field value // and a boolean to check if the value has been set. func (o *PartialUser) GetPkOk() (*int32, bool) { if o == nil { return nil, false } return &o.Pk, true } // SetPk sets field value func (o *PartialUser) SetPk(v int32) { o.Pk = v } // GetUsername returns the Username field value func (o *PartialUser) GetUsername() string { if o == nil { var ret string return ret } return o.Username } // GetUsernameOk returns a tuple with the Username field value // and a boolean to check if the value has been set. func (o *PartialUser) GetUsernameOk() (*string, bool) { if o == nil { return nil, false } return &o.Username, true } // SetUsername sets field value func (o *PartialUser) SetUsername(v string) { o.Username = v } // GetName returns the Name field value func (o *PartialUser) GetName() string { if o == nil { var ret string return ret } return o.Name } // GetNameOk returns a tuple with the Name field value // and a boolean to check if the value has been set. func (o *PartialUser) GetNameOk() (*string, bool) { if o == nil { return nil, false } return &o.Name, true } // SetName sets field value func (o *PartialUser) SetName(v string) { o.Name = v } // GetIsActive returns the IsActive field value if set, zero value otherwise. func (o *PartialUser) GetIsActive() bool { if o == nil || IsNil(o.IsActive) { var ret bool return ret } return *o.IsActive } // GetIsActiveOk returns a tuple with the IsActive field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *PartialUser) GetIsActiveOk() (*bool, bool) { if o == nil || IsNil(o.IsActive) { return nil, false } return o.IsActive, true } // HasIsActive returns a boolean if a field has been set. func (o *PartialUser) HasIsActive() bool { if o != nil && !IsNil(o.IsActive) { return true } return false } // SetIsActive gets a reference to the given bool and assigns it to the IsActive field. func (o *PartialUser) SetIsActive(v bool) { o.IsActive = &v } // GetLastLogin returns the LastLogin field value if set, zero value otherwise (both if not set or set to explicit null). func (o *PartialUser) GetLastLogin() time.Time { if o == nil || IsNil(o.LastLogin.Get()) { var ret time.Time return ret } return *o.LastLogin.Get() } // GetLastLoginOk returns a tuple with the LastLogin 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 *PartialUser) GetLastLoginOk() (*time.Time, bool) { if o == nil { return nil, false } return o.LastLogin.Get(), o.LastLogin.IsSet() } // HasLastLogin returns a boolean if a field has been set. func (o *PartialUser) HasLastLogin() bool { if o != nil && o.LastLogin.IsSet() { return true } return false } // SetLastLogin gets a reference to the given NullableTime and assigns it to the LastLogin field. func (o *PartialUser) SetLastLogin(v time.Time) { o.LastLogin.Set(&v) } // SetLastLoginNil sets the value for LastLogin to be an explicit nil func (o *PartialUser) SetLastLoginNil() { o.LastLogin.Set(nil) } // UnsetLastLogin ensures that no value is present for LastLogin, not even an explicit nil func (o *PartialUser) UnsetLastLogin() { o.LastLogin.Unset() } // GetEmail returns the Email field value if set, zero value otherwise. func (o *PartialUser) GetEmail() string { if o == nil || IsNil(o.Email) { var ret string return ret } return *o.Email } // GetEmailOk returns a tuple with the Email field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *PartialUser) GetEmailOk() (*string, bool) { if o == nil || IsNil(o.Email) { return nil, false } return o.Email, true } // HasEmail returns a boolean if a field has been set. func (o *PartialUser) HasEmail() bool { if o != nil && !IsNil(o.Email) { return true } return false } // SetEmail gets a reference to the given string and assigns it to the Email field. func (o *PartialUser) SetEmail(v string) { o.Email = &v } // GetAttributes returns the Attributes field value if set, zero value otherwise. func (o *PartialUser) GetAttributes() map[string]interface{} { if o == nil || IsNil(o.Attributes) { var ret map[string]interface{} return ret } return o.Attributes } // GetAttributesOk returns a tuple with the Attributes field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *PartialUser) GetAttributesOk() (map[string]interface{}, bool) { if o == nil || IsNil(o.Attributes) { return map[string]interface{}{}, false } return o.Attributes, true } // HasAttributes returns a boolean if a field has been set. func (o *PartialUser) HasAttributes() bool { if o != nil && !IsNil(o.Attributes) { return true } return false } // SetAttributes gets a reference to the given map[string]interface{} and assigns it to the Attributes field. func (o *PartialUser) SetAttributes(v map[string]interface{}) { o.Attributes = v } // GetUid returns the Uid field value func (o *PartialUser) GetUid() string { if o == nil { var ret string return ret } return o.Uid } // GetUidOk returns a tuple with the Uid field value // and a boolean to check if the value has been set. func (o *PartialUser) GetUidOk() (*string, bool) { if o == nil { return nil, false } return &o.Uid, true } // SetUid sets field value func (o *PartialUser) SetUid(v string) { o.Uid = v } func (o PartialUser) MarshalJSON() ([]byte, error) { toSerialize, err := o.ToMap() if err != nil { return []byte{}, err } return json.Marshal(toSerialize) } func (o PartialUser) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} toSerialize["pk"] = o.Pk toSerialize["username"] = o.Username toSerialize["name"] = o.Name if !IsNil(o.IsActive) { toSerialize["is_active"] = o.IsActive } if o.LastLogin.IsSet() { toSerialize["last_login"] = o.LastLogin.Get() } if !IsNil(o.Email) { toSerialize["email"] = o.Email } if !IsNil(o.Attributes) { toSerialize["attributes"] = o.Attributes } toSerialize["uid"] = o.Uid for key, value := range o.AdditionalProperties { toSerialize[key] = value } return toSerialize, nil } func (o *PartialUser) UnmarshalJSON(data []byte) (err error) { // This validates that all required properties are included in the JSON object // by unmarshalling the object into a generic map with string keys and checking // that every required field exists as a key in the generic map. requiredProperties := []string{ "pk", "username", "name", "uid", } allProperties := make(map[string]interface{}) err = json.Unmarshal(data, &allProperties) if err != nil { return err } for _, requiredProperty := range requiredProperties { if _, exists := allProperties[requiredProperty]; !exists { return fmt.Errorf("no value given for required property %v", requiredProperty) } } varPartialUser := _PartialUser{} err = json.Unmarshal(data, &varPartialUser) if err != nil { return err } *o = PartialUser(varPartialUser) additionalProperties := make(map[string]interface{}) if err = json.Unmarshal(data, &additionalProperties); err == nil { delete(additionalProperties, "pk") delete(additionalProperties, "username") delete(additionalProperties, "name") delete(additionalProperties, "is_active") delete(additionalProperties, "last_login") delete(additionalProperties, "email") delete(additionalProperties, "attributes") delete(additionalProperties, "uid") o.AdditionalProperties = additionalProperties } return err } type NullablePartialUser struct { value *PartialUser isSet bool } func (v NullablePartialUser) Get() *PartialUser { return v.value } func (v *NullablePartialUser) Set(val *PartialUser) { v.value = val v.isSet = true } func (v NullablePartialUser) IsSet() bool { return v.isSet } func (v *NullablePartialUser) Unset() { v.value = nil v.isSet = false } func NewNullablePartialUser(val *PartialUser) *NullablePartialUser { return &NullablePartialUser{value: val, isSet: true} } func (v NullablePartialUser) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullablePartialUser) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }