mingyang-admin-iot-app/rpc/ent/user_update.go

1105 lines
32 KiB
Go

// Code generated by ent, DO NOT EDIT.
package ent
import (
"context"
"errors"
"fmt"
"mingyang-admin-app-rpc/ent/predicate"
"mingyang-admin-app-rpc/ent/user"
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
)
// UserUpdate is the builder for updating User entities.
type UserUpdate struct {
config
hooks []Hook
mutation *UserMutation
}
// Where appends a list predicates to the UserUpdate builder.
func (_u *UserUpdate) Where(ps ...predicate.User) *UserUpdate {
_u.mutation.Where(ps...)
return _u
}
// SetUpdatedAt sets the "updated_at" field.
func (_u *UserUpdate) SetUpdatedAt(v time.Time) *UserUpdate {
_u.mutation.SetUpdatedAt(v)
return _u
}
// SetStatus sets the "status" field.
func (_u *UserUpdate) SetStatus(v uint8) *UserUpdate {
_u.mutation.ResetStatus()
_u.mutation.SetStatus(v)
return _u
}
// SetNillableStatus sets the "status" field if the given value is not nil.
func (_u *UserUpdate) SetNillableStatus(v *uint8) *UserUpdate {
if v != nil {
_u.SetStatus(*v)
}
return _u
}
// AddStatus adds value to the "status" field.
func (_u *UserUpdate) AddStatus(v int8) *UserUpdate {
_u.mutation.AddStatus(v)
return _u
}
// ClearStatus clears the value of the "status" field.
func (_u *UserUpdate) ClearStatus() *UserUpdate {
_u.mutation.ClearStatus()
return _u
}
// SetDeletedAt sets the "deleted_at" field.
func (_u *UserUpdate) SetDeletedAt(v time.Time) *UserUpdate {
_u.mutation.SetDeletedAt(v)
return _u
}
// SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
func (_u *UserUpdate) SetNillableDeletedAt(v *time.Time) *UserUpdate {
if v != nil {
_u.SetDeletedAt(*v)
}
return _u
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func (_u *UserUpdate) ClearDeletedAt() *UserUpdate {
_u.mutation.ClearDeletedAt()
return _u
}
// SetUsername sets the "username" field.
func (_u *UserUpdate) SetUsername(v string) *UserUpdate {
_u.mutation.SetUsername(v)
return _u
}
// SetNillableUsername sets the "username" field if the given value is not nil.
func (_u *UserUpdate) SetNillableUsername(v *string) *UserUpdate {
if v != nil {
_u.SetUsername(*v)
}
return _u
}
// SetEmail sets the "email" field.
func (_u *UserUpdate) SetEmail(v string) *UserUpdate {
_u.mutation.SetEmail(v)
return _u
}
// SetNillableEmail sets the "email" field if the given value is not nil.
func (_u *UserUpdate) SetNillableEmail(v *string) *UserUpdate {
if v != nil {
_u.SetEmail(*v)
}
return _u
}
// SetMobile sets the "mobile" field.
func (_u *UserUpdate) SetMobile(v string) *UserUpdate {
_u.mutation.SetMobile(v)
return _u
}
// SetNillableMobile sets the "mobile" field if the given value is not nil.
func (_u *UserUpdate) SetNillableMobile(v *string) *UserUpdate {
if v != nil {
_u.SetMobile(*v)
}
return _u
}
// ClearMobile clears the value of the "mobile" field.
func (_u *UserUpdate) ClearMobile() *UserUpdate {
_u.mutation.ClearMobile()
return _u
}
// SetPasswordHash sets the "password_hash" field.
func (_u *UserUpdate) SetPasswordHash(v string) *UserUpdate {
_u.mutation.SetPasswordHash(v)
return _u
}
// SetNillablePasswordHash sets the "password_hash" field if the given value is not nil.
func (_u *UserUpdate) SetNillablePasswordHash(v *string) *UserUpdate {
if v != nil {
_u.SetPasswordHash(*v)
}
return _u
}
// SetSalt sets the "salt" field.
func (_u *UserUpdate) SetSalt(v string) *UserUpdate {
_u.mutation.SetSalt(v)
return _u
}
// SetNillableSalt sets the "salt" field if the given value is not nil.
func (_u *UserUpdate) SetNillableSalt(v *string) *UserUpdate {
if v != nil {
_u.SetSalt(*v)
}
return _u
}
// SetNickname sets the "nickname" field.
func (_u *UserUpdate) SetNickname(v string) *UserUpdate {
_u.mutation.SetNickname(v)
return _u
}
// SetNillableNickname sets the "nickname" field if the given value is not nil.
func (_u *UserUpdate) SetNillableNickname(v *string) *UserUpdate {
if v != nil {
_u.SetNickname(*v)
}
return _u
}
// SetAvatar sets the "avatar" field.
func (_u *UserUpdate) SetAvatar(v string) *UserUpdate {
_u.mutation.SetAvatar(v)
return _u
}
// SetNillableAvatar sets the "avatar" field if the given value is not nil.
func (_u *UserUpdate) SetNillableAvatar(v *string) *UserUpdate {
if v != nil {
_u.SetAvatar(*v)
}
return _u
}
// ClearAvatar clears the value of the "avatar" field.
func (_u *UserUpdate) ClearAvatar() *UserUpdate {
_u.mutation.ClearAvatar()
return _u
}
// SetGender sets the "gender" field.
func (_u *UserUpdate) SetGender(v user.Gender) *UserUpdate {
_u.mutation.SetGender(v)
return _u
}
// SetNillableGender sets the "gender" field if the given value is not nil.
func (_u *UserUpdate) SetNillableGender(v *user.Gender) *UserUpdate {
if v != nil {
_u.SetGender(*v)
}
return _u
}
// SetBirthday sets the "birthday" field.
func (_u *UserUpdate) SetBirthday(v time.Time) *UserUpdate {
_u.mutation.SetBirthday(v)
return _u
}
// SetNillableBirthday sets the "birthday" field if the given value is not nil.
func (_u *UserUpdate) SetNillableBirthday(v *time.Time) *UserUpdate {
if v != nil {
_u.SetBirthday(*v)
}
return _u
}
// ClearBirthday clears the value of the "birthday" field.
func (_u *UserUpdate) ClearBirthday() *UserUpdate {
_u.mutation.ClearBirthday()
return _u
}
// SetAccountStatus sets the "account_status" field.
func (_u *UserUpdate) SetAccountStatus(v user.AccountStatus) *UserUpdate {
_u.mutation.SetAccountStatus(v)
return _u
}
// SetNillableAccountStatus sets the "account_status" field if the given value is not nil.
func (_u *UserUpdate) SetNillableAccountStatus(v *user.AccountStatus) *UserUpdate {
if v != nil {
_u.SetAccountStatus(*v)
}
return _u
}
// SetIsVerified sets the "is_verified" field.
func (_u *UserUpdate) SetIsVerified(v uint32) *UserUpdate {
_u.mutation.ResetIsVerified()
_u.mutation.SetIsVerified(v)
return _u
}
// SetNillableIsVerified sets the "is_verified" field if the given value is not nil.
func (_u *UserUpdate) SetNillableIsVerified(v *uint32) *UserUpdate {
if v != nil {
_u.SetIsVerified(*v)
}
return _u
}
// AddIsVerified adds value to the "is_verified" field.
func (_u *UserUpdate) AddIsVerified(v int32) *UserUpdate {
_u.mutation.AddIsVerified(v)
return _u
}
// SetRegisteredLoginIP sets the "registered_login_ip" field.
func (_u *UserUpdate) SetRegisteredLoginIP(v string) *UserUpdate {
_u.mutation.SetRegisteredLoginIP(v)
return _u
}
// SetNillableRegisteredLoginIP sets the "registered_login_ip" field if the given value is not nil.
func (_u *UserUpdate) SetNillableRegisteredLoginIP(v *string) *UserUpdate {
if v != nil {
_u.SetRegisteredLoginIP(*v)
}
return _u
}
// ClearRegisteredLoginIP clears the value of the "registered_login_ip" field.
func (_u *UserUpdate) ClearRegisteredLoginIP() *UserUpdate {
_u.mutation.ClearRegisteredLoginIP()
return _u
}
// SetLoginAttempts sets the "login_attempts" field.
func (_u *UserUpdate) SetLoginAttempts(v int64) *UserUpdate {
_u.mutation.ResetLoginAttempts()
_u.mutation.SetLoginAttempts(v)
return _u
}
// SetNillableLoginAttempts sets the "login_attempts" field if the given value is not nil.
func (_u *UserUpdate) SetNillableLoginAttempts(v *int64) *UserUpdate {
if v != nil {
_u.SetLoginAttempts(*v)
}
return _u
}
// AddLoginAttempts adds value to the "login_attempts" field.
func (_u *UserUpdate) AddLoginAttempts(v int64) *UserUpdate {
_u.mutation.AddLoginAttempts(v)
return _u
}
// SetMetadata sets the "metadata" field.
func (_u *UserUpdate) SetMetadata(v map[string]interface{}) *UserUpdate {
_u.mutation.SetMetadata(v)
return _u
}
// ClearMetadata clears the value of the "metadata" field.
func (_u *UserUpdate) ClearMetadata() *UserUpdate {
_u.mutation.ClearMetadata()
return _u
}
// SetRegistrationSource sets the "registration_source" field.
func (_u *UserUpdate) SetRegistrationSource(v string) *UserUpdate {
_u.mutation.SetRegistrationSource(v)
return _u
}
// SetNillableRegistrationSource sets the "registration_source" field if the given value is not nil.
func (_u *UserUpdate) SetNillableRegistrationSource(v *string) *UserUpdate {
if v != nil {
_u.SetRegistrationSource(*v)
}
return _u
}
// ClearRegistrationSource clears the value of the "registration_source" field.
func (_u *UserUpdate) ClearRegistrationSource() *UserUpdate {
_u.mutation.ClearRegistrationSource()
return _u
}
// Mutation returns the UserMutation object of the builder.
func (_u *UserUpdate) Mutation() *UserMutation {
return _u.mutation
}
// Save executes the query and returns the number of nodes affected by the update operation.
func (_u *UserUpdate) Save(ctx context.Context) (int, error) {
_u.defaults()
return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (_u *UserUpdate) SaveX(ctx context.Context) int {
affected, err := _u.Save(ctx)
if err != nil {
panic(err)
}
return affected
}
// Exec executes the query.
func (_u *UserUpdate) Exec(ctx context.Context) error {
_, err := _u.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (_u *UserUpdate) ExecX(ctx context.Context) {
if err := _u.Exec(ctx); err != nil {
panic(err)
}
}
// defaults sets the default values of the builder before save.
func (_u *UserUpdate) defaults() {
if _, ok := _u.mutation.UpdatedAt(); !ok {
v := user.UpdateDefaultUpdatedAt()
_u.mutation.SetUpdatedAt(v)
}
}
// check runs all checks and user-defined validators on the builder.
func (_u *UserUpdate) check() error {
if v, ok := _u.mutation.Username(); ok {
if err := user.UsernameValidator(v); err != nil {
return &ValidationError{Name: "username", err: fmt.Errorf(`ent: validator failed for field "User.username": %w`, err)}
}
}
if v, ok := _u.mutation.Email(); ok {
if err := user.EmailValidator(v); err != nil {
return &ValidationError{Name: "email", err: fmt.Errorf(`ent: validator failed for field "User.email": %w`, err)}
}
}
if v, ok := _u.mutation.Mobile(); ok {
if err := user.MobileValidator(v); err != nil {
return &ValidationError{Name: "mobile", err: fmt.Errorf(`ent: validator failed for field "User.mobile": %w`, err)}
}
}
if v, ok := _u.mutation.PasswordHash(); ok {
if err := user.PasswordHashValidator(v); err != nil {
return &ValidationError{Name: "password_hash", err: fmt.Errorf(`ent: validator failed for field "User.password_hash": %w`, err)}
}
}
if v, ok := _u.mutation.Salt(); ok {
if err := user.SaltValidator(v); err != nil {
return &ValidationError{Name: "salt", err: fmt.Errorf(`ent: validator failed for field "User.salt": %w`, err)}
}
}
if v, ok := _u.mutation.Nickname(); ok {
if err := user.NicknameValidator(v); err != nil {
return &ValidationError{Name: "nickname", err: fmt.Errorf(`ent: validator failed for field "User.nickname": %w`, err)}
}
}
if v, ok := _u.mutation.Avatar(); ok {
if err := user.AvatarValidator(v); err != nil {
return &ValidationError{Name: "avatar", err: fmt.Errorf(`ent: validator failed for field "User.avatar": %w`, err)}
}
}
if v, ok := _u.mutation.Gender(); ok {
if err := user.GenderValidator(v); err != nil {
return &ValidationError{Name: "gender", err: fmt.Errorf(`ent: validator failed for field "User.gender": %w`, err)}
}
}
if v, ok := _u.mutation.AccountStatus(); ok {
if err := user.AccountStatusValidator(v); err != nil {
return &ValidationError{Name: "account_status", err: fmt.Errorf(`ent: validator failed for field "User.account_status": %w`, err)}
}
}
if v, ok := _u.mutation.RegisteredLoginIP(); ok {
if err := user.RegisteredLoginIPValidator(v); err != nil {
return &ValidationError{Name: "registered_login_ip", err: fmt.Errorf(`ent: validator failed for field "User.registered_login_ip": %w`, err)}
}
}
if v, ok := _u.mutation.RegistrationSource(); ok {
if err := user.RegistrationSourceValidator(v); err != nil {
return &ValidationError{Name: "registration_source", err: fmt.Errorf(`ent: validator failed for field "User.registration_source": %w`, err)}
}
}
return nil
}
func (_u *UserUpdate) sqlSave(ctx context.Context) (_node int, err error) {
if err := _u.check(); err != nil {
return _node, err
}
_spec := sqlgraph.NewUpdateSpec(user.Table, user.Columns, sqlgraph.NewFieldSpec(user.FieldID, field.TypeUint64))
if ps := _u.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := _u.mutation.UpdatedAt(); ok {
_spec.SetField(user.FieldUpdatedAt, field.TypeTime, value)
}
if value, ok := _u.mutation.Status(); ok {
_spec.SetField(user.FieldStatus, field.TypeUint8, value)
}
if value, ok := _u.mutation.AddedStatus(); ok {
_spec.AddField(user.FieldStatus, field.TypeUint8, value)
}
if _u.mutation.StatusCleared() {
_spec.ClearField(user.FieldStatus, field.TypeUint8)
}
if value, ok := _u.mutation.DeletedAt(); ok {
_spec.SetField(user.FieldDeletedAt, field.TypeTime, value)
}
if _u.mutation.DeletedAtCleared() {
_spec.ClearField(user.FieldDeletedAt, field.TypeTime)
}
if value, ok := _u.mutation.Username(); ok {
_spec.SetField(user.FieldUsername, field.TypeString, value)
}
if value, ok := _u.mutation.Email(); ok {
_spec.SetField(user.FieldEmail, field.TypeString, value)
}
if value, ok := _u.mutation.Mobile(); ok {
_spec.SetField(user.FieldMobile, field.TypeString, value)
}
if _u.mutation.MobileCleared() {
_spec.ClearField(user.FieldMobile, field.TypeString)
}
if value, ok := _u.mutation.PasswordHash(); ok {
_spec.SetField(user.FieldPasswordHash, field.TypeString, value)
}
if value, ok := _u.mutation.Salt(); ok {
_spec.SetField(user.FieldSalt, field.TypeString, value)
}
if value, ok := _u.mutation.Nickname(); ok {
_spec.SetField(user.FieldNickname, field.TypeString, value)
}
if value, ok := _u.mutation.Avatar(); ok {
_spec.SetField(user.FieldAvatar, field.TypeString, value)
}
if _u.mutation.AvatarCleared() {
_spec.ClearField(user.FieldAvatar, field.TypeString)
}
if value, ok := _u.mutation.Gender(); ok {
_spec.SetField(user.FieldGender, field.TypeEnum, value)
}
if value, ok := _u.mutation.Birthday(); ok {
_spec.SetField(user.FieldBirthday, field.TypeTime, value)
}
if _u.mutation.BirthdayCleared() {
_spec.ClearField(user.FieldBirthday, field.TypeTime)
}
if value, ok := _u.mutation.AccountStatus(); ok {
_spec.SetField(user.FieldAccountStatus, field.TypeEnum, value)
}
if value, ok := _u.mutation.IsVerified(); ok {
_spec.SetField(user.FieldIsVerified, field.TypeUint32, value)
}
if value, ok := _u.mutation.AddedIsVerified(); ok {
_spec.AddField(user.FieldIsVerified, field.TypeUint32, value)
}
if value, ok := _u.mutation.RegisteredLoginIP(); ok {
_spec.SetField(user.FieldRegisteredLoginIP, field.TypeString, value)
}
if _u.mutation.RegisteredLoginIPCleared() {
_spec.ClearField(user.FieldRegisteredLoginIP, field.TypeString)
}
if value, ok := _u.mutation.LoginAttempts(); ok {
_spec.SetField(user.FieldLoginAttempts, field.TypeInt64, value)
}
if value, ok := _u.mutation.AddedLoginAttempts(); ok {
_spec.AddField(user.FieldLoginAttempts, field.TypeInt64, value)
}
if value, ok := _u.mutation.Metadata(); ok {
_spec.SetField(user.FieldMetadata, field.TypeJSON, value)
}
if _u.mutation.MetadataCleared() {
_spec.ClearField(user.FieldMetadata, field.TypeJSON)
}
if value, ok := _u.mutation.RegistrationSource(); ok {
_spec.SetField(user.FieldRegistrationSource, field.TypeString, value)
}
if _u.mutation.RegistrationSourceCleared() {
_spec.ClearField(user.FieldRegistrationSource, field.TypeString)
}
if _node, err = sqlgraph.UpdateNodes(ctx, _u.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{user.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return 0, err
}
_u.mutation.done = true
return _node, nil
}
// UserUpdateOne is the builder for updating a single User entity.
type UserUpdateOne struct {
config
fields []string
hooks []Hook
mutation *UserMutation
}
// SetUpdatedAt sets the "updated_at" field.
func (_u *UserUpdateOne) SetUpdatedAt(v time.Time) *UserUpdateOne {
_u.mutation.SetUpdatedAt(v)
return _u
}
// SetStatus sets the "status" field.
func (_u *UserUpdateOne) SetStatus(v uint8) *UserUpdateOne {
_u.mutation.ResetStatus()
_u.mutation.SetStatus(v)
return _u
}
// SetNillableStatus sets the "status" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableStatus(v *uint8) *UserUpdateOne {
if v != nil {
_u.SetStatus(*v)
}
return _u
}
// AddStatus adds value to the "status" field.
func (_u *UserUpdateOne) AddStatus(v int8) *UserUpdateOne {
_u.mutation.AddStatus(v)
return _u
}
// ClearStatus clears the value of the "status" field.
func (_u *UserUpdateOne) ClearStatus() *UserUpdateOne {
_u.mutation.ClearStatus()
return _u
}
// SetDeletedAt sets the "deleted_at" field.
func (_u *UserUpdateOne) SetDeletedAt(v time.Time) *UserUpdateOne {
_u.mutation.SetDeletedAt(v)
return _u
}
// SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableDeletedAt(v *time.Time) *UserUpdateOne {
if v != nil {
_u.SetDeletedAt(*v)
}
return _u
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func (_u *UserUpdateOne) ClearDeletedAt() *UserUpdateOne {
_u.mutation.ClearDeletedAt()
return _u
}
// SetUsername sets the "username" field.
func (_u *UserUpdateOne) SetUsername(v string) *UserUpdateOne {
_u.mutation.SetUsername(v)
return _u
}
// SetNillableUsername sets the "username" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableUsername(v *string) *UserUpdateOne {
if v != nil {
_u.SetUsername(*v)
}
return _u
}
// SetEmail sets the "email" field.
func (_u *UserUpdateOne) SetEmail(v string) *UserUpdateOne {
_u.mutation.SetEmail(v)
return _u
}
// SetNillableEmail sets the "email" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableEmail(v *string) *UserUpdateOne {
if v != nil {
_u.SetEmail(*v)
}
return _u
}
// SetMobile sets the "mobile" field.
func (_u *UserUpdateOne) SetMobile(v string) *UserUpdateOne {
_u.mutation.SetMobile(v)
return _u
}
// SetNillableMobile sets the "mobile" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableMobile(v *string) *UserUpdateOne {
if v != nil {
_u.SetMobile(*v)
}
return _u
}
// ClearMobile clears the value of the "mobile" field.
func (_u *UserUpdateOne) ClearMobile() *UserUpdateOne {
_u.mutation.ClearMobile()
return _u
}
// SetPasswordHash sets the "password_hash" field.
func (_u *UserUpdateOne) SetPasswordHash(v string) *UserUpdateOne {
_u.mutation.SetPasswordHash(v)
return _u
}
// SetNillablePasswordHash sets the "password_hash" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillablePasswordHash(v *string) *UserUpdateOne {
if v != nil {
_u.SetPasswordHash(*v)
}
return _u
}
// SetSalt sets the "salt" field.
func (_u *UserUpdateOne) SetSalt(v string) *UserUpdateOne {
_u.mutation.SetSalt(v)
return _u
}
// SetNillableSalt sets the "salt" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableSalt(v *string) *UserUpdateOne {
if v != nil {
_u.SetSalt(*v)
}
return _u
}
// SetNickname sets the "nickname" field.
func (_u *UserUpdateOne) SetNickname(v string) *UserUpdateOne {
_u.mutation.SetNickname(v)
return _u
}
// SetNillableNickname sets the "nickname" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableNickname(v *string) *UserUpdateOne {
if v != nil {
_u.SetNickname(*v)
}
return _u
}
// SetAvatar sets the "avatar" field.
func (_u *UserUpdateOne) SetAvatar(v string) *UserUpdateOne {
_u.mutation.SetAvatar(v)
return _u
}
// SetNillableAvatar sets the "avatar" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableAvatar(v *string) *UserUpdateOne {
if v != nil {
_u.SetAvatar(*v)
}
return _u
}
// ClearAvatar clears the value of the "avatar" field.
func (_u *UserUpdateOne) ClearAvatar() *UserUpdateOne {
_u.mutation.ClearAvatar()
return _u
}
// SetGender sets the "gender" field.
func (_u *UserUpdateOne) SetGender(v user.Gender) *UserUpdateOne {
_u.mutation.SetGender(v)
return _u
}
// SetNillableGender sets the "gender" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableGender(v *user.Gender) *UserUpdateOne {
if v != nil {
_u.SetGender(*v)
}
return _u
}
// SetBirthday sets the "birthday" field.
func (_u *UserUpdateOne) SetBirthday(v time.Time) *UserUpdateOne {
_u.mutation.SetBirthday(v)
return _u
}
// SetNillableBirthday sets the "birthday" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableBirthday(v *time.Time) *UserUpdateOne {
if v != nil {
_u.SetBirthday(*v)
}
return _u
}
// ClearBirthday clears the value of the "birthday" field.
func (_u *UserUpdateOne) ClearBirthday() *UserUpdateOne {
_u.mutation.ClearBirthday()
return _u
}
// SetAccountStatus sets the "account_status" field.
func (_u *UserUpdateOne) SetAccountStatus(v user.AccountStatus) *UserUpdateOne {
_u.mutation.SetAccountStatus(v)
return _u
}
// SetNillableAccountStatus sets the "account_status" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableAccountStatus(v *user.AccountStatus) *UserUpdateOne {
if v != nil {
_u.SetAccountStatus(*v)
}
return _u
}
// SetIsVerified sets the "is_verified" field.
func (_u *UserUpdateOne) SetIsVerified(v uint32) *UserUpdateOne {
_u.mutation.ResetIsVerified()
_u.mutation.SetIsVerified(v)
return _u
}
// SetNillableIsVerified sets the "is_verified" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableIsVerified(v *uint32) *UserUpdateOne {
if v != nil {
_u.SetIsVerified(*v)
}
return _u
}
// AddIsVerified adds value to the "is_verified" field.
func (_u *UserUpdateOne) AddIsVerified(v int32) *UserUpdateOne {
_u.mutation.AddIsVerified(v)
return _u
}
// SetRegisteredLoginIP sets the "registered_login_ip" field.
func (_u *UserUpdateOne) SetRegisteredLoginIP(v string) *UserUpdateOne {
_u.mutation.SetRegisteredLoginIP(v)
return _u
}
// SetNillableRegisteredLoginIP sets the "registered_login_ip" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableRegisteredLoginIP(v *string) *UserUpdateOne {
if v != nil {
_u.SetRegisteredLoginIP(*v)
}
return _u
}
// ClearRegisteredLoginIP clears the value of the "registered_login_ip" field.
func (_u *UserUpdateOne) ClearRegisteredLoginIP() *UserUpdateOne {
_u.mutation.ClearRegisteredLoginIP()
return _u
}
// SetLoginAttempts sets the "login_attempts" field.
func (_u *UserUpdateOne) SetLoginAttempts(v int64) *UserUpdateOne {
_u.mutation.ResetLoginAttempts()
_u.mutation.SetLoginAttempts(v)
return _u
}
// SetNillableLoginAttempts sets the "login_attempts" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableLoginAttempts(v *int64) *UserUpdateOne {
if v != nil {
_u.SetLoginAttempts(*v)
}
return _u
}
// AddLoginAttempts adds value to the "login_attempts" field.
func (_u *UserUpdateOne) AddLoginAttempts(v int64) *UserUpdateOne {
_u.mutation.AddLoginAttempts(v)
return _u
}
// SetMetadata sets the "metadata" field.
func (_u *UserUpdateOne) SetMetadata(v map[string]interface{}) *UserUpdateOne {
_u.mutation.SetMetadata(v)
return _u
}
// ClearMetadata clears the value of the "metadata" field.
func (_u *UserUpdateOne) ClearMetadata() *UserUpdateOne {
_u.mutation.ClearMetadata()
return _u
}
// SetRegistrationSource sets the "registration_source" field.
func (_u *UserUpdateOne) SetRegistrationSource(v string) *UserUpdateOne {
_u.mutation.SetRegistrationSource(v)
return _u
}
// SetNillableRegistrationSource sets the "registration_source" field if the given value is not nil.
func (_u *UserUpdateOne) SetNillableRegistrationSource(v *string) *UserUpdateOne {
if v != nil {
_u.SetRegistrationSource(*v)
}
return _u
}
// ClearRegistrationSource clears the value of the "registration_source" field.
func (_u *UserUpdateOne) ClearRegistrationSource() *UserUpdateOne {
_u.mutation.ClearRegistrationSource()
return _u
}
// Mutation returns the UserMutation object of the builder.
func (_u *UserUpdateOne) Mutation() *UserMutation {
return _u.mutation
}
// Where appends a list predicates to the UserUpdate builder.
func (_u *UserUpdateOne) Where(ps ...predicate.User) *UserUpdateOne {
_u.mutation.Where(ps...)
return _u
}
// Select allows selecting one or more fields (columns) of the returned entity.
// The default is selecting all fields defined in the entity schema.
func (_u *UserUpdateOne) Select(field string, fields ...string) *UserUpdateOne {
_u.fields = append([]string{field}, fields...)
return _u
}
// Save executes the query and returns the updated User entity.
func (_u *UserUpdateOne) Save(ctx context.Context) (*User, error) {
_u.defaults()
return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (_u *UserUpdateOne) SaveX(ctx context.Context) *User {
node, err := _u.Save(ctx)
if err != nil {
panic(err)
}
return node
}
// Exec executes the query on the entity.
func (_u *UserUpdateOne) Exec(ctx context.Context) error {
_, err := _u.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (_u *UserUpdateOne) ExecX(ctx context.Context) {
if err := _u.Exec(ctx); err != nil {
panic(err)
}
}
// defaults sets the default values of the builder before save.
func (_u *UserUpdateOne) defaults() {
if _, ok := _u.mutation.UpdatedAt(); !ok {
v := user.UpdateDefaultUpdatedAt()
_u.mutation.SetUpdatedAt(v)
}
}
// check runs all checks and user-defined validators on the builder.
func (_u *UserUpdateOne) check() error {
if v, ok := _u.mutation.Username(); ok {
if err := user.UsernameValidator(v); err != nil {
return &ValidationError{Name: "username", err: fmt.Errorf(`ent: validator failed for field "User.username": %w`, err)}
}
}
if v, ok := _u.mutation.Email(); ok {
if err := user.EmailValidator(v); err != nil {
return &ValidationError{Name: "email", err: fmt.Errorf(`ent: validator failed for field "User.email": %w`, err)}
}
}
if v, ok := _u.mutation.Mobile(); ok {
if err := user.MobileValidator(v); err != nil {
return &ValidationError{Name: "mobile", err: fmt.Errorf(`ent: validator failed for field "User.mobile": %w`, err)}
}
}
if v, ok := _u.mutation.PasswordHash(); ok {
if err := user.PasswordHashValidator(v); err != nil {
return &ValidationError{Name: "password_hash", err: fmt.Errorf(`ent: validator failed for field "User.password_hash": %w`, err)}
}
}
if v, ok := _u.mutation.Salt(); ok {
if err := user.SaltValidator(v); err != nil {
return &ValidationError{Name: "salt", err: fmt.Errorf(`ent: validator failed for field "User.salt": %w`, err)}
}
}
if v, ok := _u.mutation.Nickname(); ok {
if err := user.NicknameValidator(v); err != nil {
return &ValidationError{Name: "nickname", err: fmt.Errorf(`ent: validator failed for field "User.nickname": %w`, err)}
}
}
if v, ok := _u.mutation.Avatar(); ok {
if err := user.AvatarValidator(v); err != nil {
return &ValidationError{Name: "avatar", err: fmt.Errorf(`ent: validator failed for field "User.avatar": %w`, err)}
}
}
if v, ok := _u.mutation.Gender(); ok {
if err := user.GenderValidator(v); err != nil {
return &ValidationError{Name: "gender", err: fmt.Errorf(`ent: validator failed for field "User.gender": %w`, err)}
}
}
if v, ok := _u.mutation.AccountStatus(); ok {
if err := user.AccountStatusValidator(v); err != nil {
return &ValidationError{Name: "account_status", err: fmt.Errorf(`ent: validator failed for field "User.account_status": %w`, err)}
}
}
if v, ok := _u.mutation.RegisteredLoginIP(); ok {
if err := user.RegisteredLoginIPValidator(v); err != nil {
return &ValidationError{Name: "registered_login_ip", err: fmt.Errorf(`ent: validator failed for field "User.registered_login_ip": %w`, err)}
}
}
if v, ok := _u.mutation.RegistrationSource(); ok {
if err := user.RegistrationSourceValidator(v); err != nil {
return &ValidationError{Name: "registration_source", err: fmt.Errorf(`ent: validator failed for field "User.registration_source": %w`, err)}
}
}
return nil
}
func (_u *UserUpdateOne) sqlSave(ctx context.Context) (_node *User, err error) {
if err := _u.check(); err != nil {
return _node, err
}
_spec := sqlgraph.NewUpdateSpec(user.Table, user.Columns, sqlgraph.NewFieldSpec(user.FieldID, field.TypeUint64))
id, ok := _u.mutation.ID()
if !ok {
return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "User.id" for update`)}
}
_spec.Node.ID.Value = id
if fields := _u.fields; len(fields) > 0 {
_spec.Node.Columns = make([]string, 0, len(fields))
_spec.Node.Columns = append(_spec.Node.Columns, user.FieldID)
for _, f := range fields {
if !user.ValidColumn(f) {
return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
}
if f != user.FieldID {
_spec.Node.Columns = append(_spec.Node.Columns, f)
}
}
}
if ps := _u.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := _u.mutation.UpdatedAt(); ok {
_spec.SetField(user.FieldUpdatedAt, field.TypeTime, value)
}
if value, ok := _u.mutation.Status(); ok {
_spec.SetField(user.FieldStatus, field.TypeUint8, value)
}
if value, ok := _u.mutation.AddedStatus(); ok {
_spec.AddField(user.FieldStatus, field.TypeUint8, value)
}
if _u.mutation.StatusCleared() {
_spec.ClearField(user.FieldStatus, field.TypeUint8)
}
if value, ok := _u.mutation.DeletedAt(); ok {
_spec.SetField(user.FieldDeletedAt, field.TypeTime, value)
}
if _u.mutation.DeletedAtCleared() {
_spec.ClearField(user.FieldDeletedAt, field.TypeTime)
}
if value, ok := _u.mutation.Username(); ok {
_spec.SetField(user.FieldUsername, field.TypeString, value)
}
if value, ok := _u.mutation.Email(); ok {
_spec.SetField(user.FieldEmail, field.TypeString, value)
}
if value, ok := _u.mutation.Mobile(); ok {
_spec.SetField(user.FieldMobile, field.TypeString, value)
}
if _u.mutation.MobileCleared() {
_spec.ClearField(user.FieldMobile, field.TypeString)
}
if value, ok := _u.mutation.PasswordHash(); ok {
_spec.SetField(user.FieldPasswordHash, field.TypeString, value)
}
if value, ok := _u.mutation.Salt(); ok {
_spec.SetField(user.FieldSalt, field.TypeString, value)
}
if value, ok := _u.mutation.Nickname(); ok {
_spec.SetField(user.FieldNickname, field.TypeString, value)
}
if value, ok := _u.mutation.Avatar(); ok {
_spec.SetField(user.FieldAvatar, field.TypeString, value)
}
if _u.mutation.AvatarCleared() {
_spec.ClearField(user.FieldAvatar, field.TypeString)
}
if value, ok := _u.mutation.Gender(); ok {
_spec.SetField(user.FieldGender, field.TypeEnum, value)
}
if value, ok := _u.mutation.Birthday(); ok {
_spec.SetField(user.FieldBirthday, field.TypeTime, value)
}
if _u.mutation.BirthdayCleared() {
_spec.ClearField(user.FieldBirthday, field.TypeTime)
}
if value, ok := _u.mutation.AccountStatus(); ok {
_spec.SetField(user.FieldAccountStatus, field.TypeEnum, value)
}
if value, ok := _u.mutation.IsVerified(); ok {
_spec.SetField(user.FieldIsVerified, field.TypeUint32, value)
}
if value, ok := _u.mutation.AddedIsVerified(); ok {
_spec.AddField(user.FieldIsVerified, field.TypeUint32, value)
}
if value, ok := _u.mutation.RegisteredLoginIP(); ok {
_spec.SetField(user.FieldRegisteredLoginIP, field.TypeString, value)
}
if _u.mutation.RegisteredLoginIPCleared() {
_spec.ClearField(user.FieldRegisteredLoginIP, field.TypeString)
}
if value, ok := _u.mutation.LoginAttempts(); ok {
_spec.SetField(user.FieldLoginAttempts, field.TypeInt64, value)
}
if value, ok := _u.mutation.AddedLoginAttempts(); ok {
_spec.AddField(user.FieldLoginAttempts, field.TypeInt64, value)
}
if value, ok := _u.mutation.Metadata(); ok {
_spec.SetField(user.FieldMetadata, field.TypeJSON, value)
}
if _u.mutation.MetadataCleared() {
_spec.ClearField(user.FieldMetadata, field.TypeJSON)
}
if value, ok := _u.mutation.RegistrationSource(); ok {
_spec.SetField(user.FieldRegistrationSource, field.TypeString, value)
}
if _u.mutation.RegistrationSourceCleared() {
_spec.ClearField(user.FieldRegistrationSource, field.TypeString)
}
_node = &User{config: _u.config}
_spec.Assign = _node.assignValues
_spec.ScanValues = _node.scanValues
if err = sqlgraph.UpdateNode(ctx, _u.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{user.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return nil, err
}
_u.mutation.done = true
return _node, nil
}