github.com/ngocphuongnb/tetua@v0.0.7-alpha/packages/entrepository/ent/user_create.go (about)

     1  // Code generated by entc, DO NOT EDIT.
     2  
     3  package ent
     4  
     5  import (
     6  	"context"
     7  	"errors"
     8  	"fmt"
     9  	"time"
    10  
    11  	"entgo.io/ent/dialect/sql"
    12  	"entgo.io/ent/dialect/sql/sqlgraph"
    13  	"entgo.io/ent/schema/field"
    14  	"github.com/ngocphuongnb/tetua/packages/entrepository/ent/comment"
    15  	"github.com/ngocphuongnb/tetua/packages/entrepository/ent/file"
    16  	"github.com/ngocphuongnb/tetua/packages/entrepository/ent/post"
    17  	"github.com/ngocphuongnb/tetua/packages/entrepository/ent/role"
    18  	"github.com/ngocphuongnb/tetua/packages/entrepository/ent/user"
    19  )
    20  
    21  // UserCreate is the builder for creating a User entity.
    22  type UserCreate struct {
    23  	config
    24  	mutation *UserMutation
    25  	hooks    []Hook
    26  	conflict []sql.ConflictOption
    27  }
    28  
    29  // SetCreatedAt sets the "created_at" field.
    30  func (uc *UserCreate) SetCreatedAt(t time.Time) *UserCreate {
    31  	uc.mutation.SetCreatedAt(t)
    32  	return uc
    33  }
    34  
    35  // SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
    36  func (uc *UserCreate) SetNillableCreatedAt(t *time.Time) *UserCreate {
    37  	if t != nil {
    38  		uc.SetCreatedAt(*t)
    39  	}
    40  	return uc
    41  }
    42  
    43  // SetUpdatedAt sets the "updated_at" field.
    44  func (uc *UserCreate) SetUpdatedAt(t time.Time) *UserCreate {
    45  	uc.mutation.SetUpdatedAt(t)
    46  	return uc
    47  }
    48  
    49  // SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
    50  func (uc *UserCreate) SetNillableUpdatedAt(t *time.Time) *UserCreate {
    51  	if t != nil {
    52  		uc.SetUpdatedAt(*t)
    53  	}
    54  	return uc
    55  }
    56  
    57  // SetDeletedAt sets the "deleted_at" field.
    58  func (uc *UserCreate) SetDeletedAt(t time.Time) *UserCreate {
    59  	uc.mutation.SetDeletedAt(t)
    60  	return uc
    61  }
    62  
    63  // SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
    64  func (uc *UserCreate) SetNillableDeletedAt(t *time.Time) *UserCreate {
    65  	if t != nil {
    66  		uc.SetDeletedAt(*t)
    67  	}
    68  	return uc
    69  }
    70  
    71  // SetUsername sets the "username" field.
    72  func (uc *UserCreate) SetUsername(s string) *UserCreate {
    73  	uc.mutation.SetUsername(s)
    74  	return uc
    75  }
    76  
    77  // SetDisplayName sets the "display_name" field.
    78  func (uc *UserCreate) SetDisplayName(s string) *UserCreate {
    79  	uc.mutation.SetDisplayName(s)
    80  	return uc
    81  }
    82  
    83  // SetNillableDisplayName sets the "display_name" field if the given value is not nil.
    84  func (uc *UserCreate) SetNillableDisplayName(s *string) *UserCreate {
    85  	if s != nil {
    86  		uc.SetDisplayName(*s)
    87  	}
    88  	return uc
    89  }
    90  
    91  // SetURL sets the "url" field.
    92  func (uc *UserCreate) SetURL(s string) *UserCreate {
    93  	uc.mutation.SetURL(s)
    94  	return uc
    95  }
    96  
    97  // SetNillableURL sets the "url" field if the given value is not nil.
    98  func (uc *UserCreate) SetNillableURL(s *string) *UserCreate {
    99  	if s != nil {
   100  		uc.SetURL(*s)
   101  	}
   102  	return uc
   103  }
   104  
   105  // SetProvider sets the "provider" field.
   106  func (uc *UserCreate) SetProvider(s string) *UserCreate {
   107  	uc.mutation.SetProvider(s)
   108  	return uc
   109  }
   110  
   111  // SetNillableProvider sets the "provider" field if the given value is not nil.
   112  func (uc *UserCreate) SetNillableProvider(s *string) *UserCreate {
   113  	if s != nil {
   114  		uc.SetProvider(*s)
   115  	}
   116  	return uc
   117  }
   118  
   119  // SetProviderID sets the "provider_id" field.
   120  func (uc *UserCreate) SetProviderID(s string) *UserCreate {
   121  	uc.mutation.SetProviderID(s)
   122  	return uc
   123  }
   124  
   125  // SetNillableProviderID sets the "provider_id" field if the given value is not nil.
   126  func (uc *UserCreate) SetNillableProviderID(s *string) *UserCreate {
   127  	if s != nil {
   128  		uc.SetProviderID(*s)
   129  	}
   130  	return uc
   131  }
   132  
   133  // SetProviderUsername sets the "provider_username" field.
   134  func (uc *UserCreate) SetProviderUsername(s string) *UserCreate {
   135  	uc.mutation.SetProviderUsername(s)
   136  	return uc
   137  }
   138  
   139  // SetNillableProviderUsername sets the "provider_username" field if the given value is not nil.
   140  func (uc *UserCreate) SetNillableProviderUsername(s *string) *UserCreate {
   141  	if s != nil {
   142  		uc.SetProviderUsername(*s)
   143  	}
   144  	return uc
   145  }
   146  
   147  // SetProviderAvatar sets the "provider_avatar" field.
   148  func (uc *UserCreate) SetProviderAvatar(s string) *UserCreate {
   149  	uc.mutation.SetProviderAvatar(s)
   150  	return uc
   151  }
   152  
   153  // SetNillableProviderAvatar sets the "provider_avatar" field if the given value is not nil.
   154  func (uc *UserCreate) SetNillableProviderAvatar(s *string) *UserCreate {
   155  	if s != nil {
   156  		uc.SetProviderAvatar(*s)
   157  	}
   158  	return uc
   159  }
   160  
   161  // SetEmail sets the "email" field.
   162  func (uc *UserCreate) SetEmail(s string) *UserCreate {
   163  	uc.mutation.SetEmail(s)
   164  	return uc
   165  }
   166  
   167  // SetNillableEmail sets the "email" field if the given value is not nil.
   168  func (uc *UserCreate) SetNillableEmail(s *string) *UserCreate {
   169  	if s != nil {
   170  		uc.SetEmail(*s)
   171  	}
   172  	return uc
   173  }
   174  
   175  // SetPassword sets the "password" field.
   176  func (uc *UserCreate) SetPassword(s string) *UserCreate {
   177  	uc.mutation.SetPassword(s)
   178  	return uc
   179  }
   180  
   181  // SetNillablePassword sets the "password" field if the given value is not nil.
   182  func (uc *UserCreate) SetNillablePassword(s *string) *UserCreate {
   183  	if s != nil {
   184  		uc.SetPassword(*s)
   185  	}
   186  	return uc
   187  }
   188  
   189  // SetBio sets the "bio" field.
   190  func (uc *UserCreate) SetBio(s string) *UserCreate {
   191  	uc.mutation.SetBio(s)
   192  	return uc
   193  }
   194  
   195  // SetNillableBio sets the "bio" field if the given value is not nil.
   196  func (uc *UserCreate) SetNillableBio(s *string) *UserCreate {
   197  	if s != nil {
   198  		uc.SetBio(*s)
   199  	}
   200  	return uc
   201  }
   202  
   203  // SetBioHTML sets the "bio_html" field.
   204  func (uc *UserCreate) SetBioHTML(s string) *UserCreate {
   205  	uc.mutation.SetBioHTML(s)
   206  	return uc
   207  }
   208  
   209  // SetNillableBioHTML sets the "bio_html" field if the given value is not nil.
   210  func (uc *UserCreate) SetNillableBioHTML(s *string) *UserCreate {
   211  	if s != nil {
   212  		uc.SetBioHTML(*s)
   213  	}
   214  	return uc
   215  }
   216  
   217  // SetActive sets the "active" field.
   218  func (uc *UserCreate) SetActive(b bool) *UserCreate {
   219  	uc.mutation.SetActive(b)
   220  	return uc
   221  }
   222  
   223  // SetNillableActive sets the "active" field if the given value is not nil.
   224  func (uc *UserCreate) SetNillableActive(b *bool) *UserCreate {
   225  	if b != nil {
   226  		uc.SetActive(*b)
   227  	}
   228  	return uc
   229  }
   230  
   231  // SetAvatarImageID sets the "avatar_image_id" field.
   232  func (uc *UserCreate) SetAvatarImageID(i int) *UserCreate {
   233  	uc.mutation.SetAvatarImageID(i)
   234  	return uc
   235  }
   236  
   237  // SetNillableAvatarImageID sets the "avatar_image_id" field if the given value is not nil.
   238  func (uc *UserCreate) SetNillableAvatarImageID(i *int) *UserCreate {
   239  	if i != nil {
   240  		uc.SetAvatarImageID(*i)
   241  	}
   242  	return uc
   243  }
   244  
   245  // AddPostIDs adds the "posts" edge to the Post entity by IDs.
   246  func (uc *UserCreate) AddPostIDs(ids ...int) *UserCreate {
   247  	uc.mutation.AddPostIDs(ids...)
   248  	return uc
   249  }
   250  
   251  // AddPosts adds the "posts" edges to the Post entity.
   252  func (uc *UserCreate) AddPosts(p ...*Post) *UserCreate {
   253  	ids := make([]int, len(p))
   254  	for i := range p {
   255  		ids[i] = p[i].ID
   256  	}
   257  	return uc.AddPostIDs(ids...)
   258  }
   259  
   260  // AddFileIDs adds the "files" edge to the File entity by IDs.
   261  func (uc *UserCreate) AddFileIDs(ids ...int) *UserCreate {
   262  	uc.mutation.AddFileIDs(ids...)
   263  	return uc
   264  }
   265  
   266  // AddFiles adds the "files" edges to the File entity.
   267  func (uc *UserCreate) AddFiles(f ...*File) *UserCreate {
   268  	ids := make([]int, len(f))
   269  	for i := range f {
   270  		ids[i] = f[i].ID
   271  	}
   272  	return uc.AddFileIDs(ids...)
   273  }
   274  
   275  // AddCommentIDs adds the "comments" edge to the Comment entity by IDs.
   276  func (uc *UserCreate) AddCommentIDs(ids ...int) *UserCreate {
   277  	uc.mutation.AddCommentIDs(ids...)
   278  	return uc
   279  }
   280  
   281  // AddComments adds the "comments" edges to the Comment entity.
   282  func (uc *UserCreate) AddComments(c ...*Comment) *UserCreate {
   283  	ids := make([]int, len(c))
   284  	for i := range c {
   285  		ids[i] = c[i].ID
   286  	}
   287  	return uc.AddCommentIDs(ids...)
   288  }
   289  
   290  // AddRoleIDs adds the "roles" edge to the Role entity by IDs.
   291  func (uc *UserCreate) AddRoleIDs(ids ...int) *UserCreate {
   292  	uc.mutation.AddRoleIDs(ids...)
   293  	return uc
   294  }
   295  
   296  // AddRoles adds the "roles" edges to the Role entity.
   297  func (uc *UserCreate) AddRoles(r ...*Role) *UserCreate {
   298  	ids := make([]int, len(r))
   299  	for i := range r {
   300  		ids[i] = r[i].ID
   301  	}
   302  	return uc.AddRoleIDs(ids...)
   303  }
   304  
   305  // SetAvatarImage sets the "avatar_image" edge to the File entity.
   306  func (uc *UserCreate) SetAvatarImage(f *File) *UserCreate {
   307  	return uc.SetAvatarImageID(f.ID)
   308  }
   309  
   310  // Mutation returns the UserMutation object of the builder.
   311  func (uc *UserCreate) Mutation() *UserMutation {
   312  	return uc.mutation
   313  }
   314  
   315  // Save creates the User in the database.
   316  func (uc *UserCreate) Save(ctx context.Context) (*User, error) {
   317  	var (
   318  		err  error
   319  		node *User
   320  	)
   321  	uc.defaults()
   322  	if len(uc.hooks) == 0 {
   323  		if err = uc.check(); err != nil {
   324  			return nil, err
   325  		}
   326  		node, err = uc.sqlSave(ctx)
   327  	} else {
   328  		var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
   329  			mutation, ok := m.(*UserMutation)
   330  			if !ok {
   331  				return nil, fmt.Errorf("unexpected mutation type %T", m)
   332  			}
   333  			if err = uc.check(); err != nil {
   334  				return nil, err
   335  			}
   336  			uc.mutation = mutation
   337  			if node, err = uc.sqlSave(ctx); err != nil {
   338  				return nil, err
   339  			}
   340  			mutation.id = &node.ID
   341  			mutation.done = true
   342  			return node, err
   343  		})
   344  		for i := len(uc.hooks) - 1; i >= 0; i-- {
   345  			if uc.hooks[i] == nil {
   346  				return nil, fmt.Errorf("ent: uninitialized hook (forgotten import ent/runtime?)")
   347  			}
   348  			mut = uc.hooks[i](mut)
   349  		}
   350  		if _, err := mut.Mutate(ctx, uc.mutation); err != nil {
   351  			return nil, err
   352  		}
   353  	}
   354  	return node, err
   355  }
   356  
   357  // SaveX calls Save and panics if Save returns an error.
   358  func (uc *UserCreate) SaveX(ctx context.Context) *User {
   359  	v, err := uc.Save(ctx)
   360  	if err != nil {
   361  		panic(err)
   362  	}
   363  	return v
   364  }
   365  
   366  // Exec executes the query.
   367  func (uc *UserCreate) Exec(ctx context.Context) error {
   368  	_, err := uc.Save(ctx)
   369  	return err
   370  }
   371  
   372  // ExecX is like Exec, but panics if an error occurs.
   373  func (uc *UserCreate) ExecX(ctx context.Context) {
   374  	if err := uc.Exec(ctx); err != nil {
   375  		panic(err)
   376  	}
   377  }
   378  
   379  // defaults sets the default values of the builder before save.
   380  func (uc *UserCreate) defaults() {
   381  	if _, ok := uc.mutation.CreatedAt(); !ok {
   382  		v := user.DefaultCreatedAt()
   383  		uc.mutation.SetCreatedAt(v)
   384  	}
   385  	if _, ok := uc.mutation.UpdatedAt(); !ok {
   386  		v := user.DefaultUpdatedAt()
   387  		uc.mutation.SetUpdatedAt(v)
   388  	}
   389  	if _, ok := uc.mutation.Active(); !ok {
   390  		v := user.DefaultActive
   391  		uc.mutation.SetActive(v)
   392  	}
   393  }
   394  
   395  // check runs all checks and user-defined validators on the builder.
   396  func (uc *UserCreate) check() error {
   397  	if _, ok := uc.mutation.CreatedAt(); !ok {
   398  		return &ValidationError{Name: "created_at", err: errors.New(`ent: missing required field "User.created_at"`)}
   399  	}
   400  	if _, ok := uc.mutation.UpdatedAt(); !ok {
   401  		return &ValidationError{Name: "updated_at", err: errors.New(`ent: missing required field "User.updated_at"`)}
   402  	}
   403  	if _, ok := uc.mutation.Username(); !ok {
   404  		return &ValidationError{Name: "username", err: errors.New(`ent: missing required field "User.username"`)}
   405  	}
   406  	if _, ok := uc.mutation.Active(); !ok {
   407  		return &ValidationError{Name: "active", err: errors.New(`ent: missing required field "User.active"`)}
   408  	}
   409  	return nil
   410  }
   411  
   412  func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) {
   413  	_node, _spec := uc.createSpec()
   414  	if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil {
   415  		if sqlgraph.IsConstraintError(err) {
   416  			err = &ConstraintError{err.Error(), err}
   417  		}
   418  		return nil, err
   419  	}
   420  	id := _spec.ID.Value.(int64)
   421  	_node.ID = int(id)
   422  	return _node, nil
   423  }
   424  
   425  func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) {
   426  	var (
   427  		_node = &User{config: uc.config}
   428  		_spec = &sqlgraph.CreateSpec{
   429  			Table: user.Table,
   430  			ID: &sqlgraph.FieldSpec{
   431  				Type:   field.TypeInt,
   432  				Column: user.FieldID,
   433  			},
   434  		}
   435  	)
   436  	_spec.OnConflict = uc.conflict
   437  	if value, ok := uc.mutation.CreatedAt(); ok {
   438  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   439  			Type:   field.TypeTime,
   440  			Value:  value,
   441  			Column: user.FieldCreatedAt,
   442  		})
   443  		_node.CreatedAt = value
   444  	}
   445  	if value, ok := uc.mutation.UpdatedAt(); ok {
   446  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   447  			Type:   field.TypeTime,
   448  			Value:  value,
   449  			Column: user.FieldUpdatedAt,
   450  		})
   451  		_node.UpdatedAt = value
   452  	}
   453  	if value, ok := uc.mutation.DeletedAt(); ok {
   454  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   455  			Type:   field.TypeTime,
   456  			Value:  value,
   457  			Column: user.FieldDeletedAt,
   458  		})
   459  		_node.DeletedAt = value
   460  	}
   461  	if value, ok := uc.mutation.Username(); ok {
   462  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   463  			Type:   field.TypeString,
   464  			Value:  value,
   465  			Column: user.FieldUsername,
   466  		})
   467  		_node.Username = value
   468  	}
   469  	if value, ok := uc.mutation.DisplayName(); ok {
   470  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   471  			Type:   field.TypeString,
   472  			Value:  value,
   473  			Column: user.FieldDisplayName,
   474  		})
   475  		_node.DisplayName = value
   476  	}
   477  	if value, ok := uc.mutation.URL(); ok {
   478  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   479  			Type:   field.TypeString,
   480  			Value:  value,
   481  			Column: user.FieldURL,
   482  		})
   483  		_node.URL = value
   484  	}
   485  	if value, ok := uc.mutation.Provider(); ok {
   486  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   487  			Type:   field.TypeString,
   488  			Value:  value,
   489  			Column: user.FieldProvider,
   490  		})
   491  		_node.Provider = value
   492  	}
   493  	if value, ok := uc.mutation.ProviderID(); ok {
   494  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   495  			Type:   field.TypeString,
   496  			Value:  value,
   497  			Column: user.FieldProviderID,
   498  		})
   499  		_node.ProviderID = value
   500  	}
   501  	if value, ok := uc.mutation.ProviderUsername(); ok {
   502  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   503  			Type:   field.TypeString,
   504  			Value:  value,
   505  			Column: user.FieldProviderUsername,
   506  		})
   507  		_node.ProviderUsername = value
   508  	}
   509  	if value, ok := uc.mutation.ProviderAvatar(); ok {
   510  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   511  			Type:   field.TypeString,
   512  			Value:  value,
   513  			Column: user.FieldProviderAvatar,
   514  		})
   515  		_node.ProviderAvatar = value
   516  	}
   517  	if value, ok := uc.mutation.Email(); ok {
   518  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   519  			Type:   field.TypeString,
   520  			Value:  value,
   521  			Column: user.FieldEmail,
   522  		})
   523  		_node.Email = value
   524  	}
   525  	if value, ok := uc.mutation.Password(); ok {
   526  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   527  			Type:   field.TypeString,
   528  			Value:  value,
   529  			Column: user.FieldPassword,
   530  		})
   531  		_node.Password = value
   532  	}
   533  	if value, ok := uc.mutation.Bio(); ok {
   534  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   535  			Type:   field.TypeString,
   536  			Value:  value,
   537  			Column: user.FieldBio,
   538  		})
   539  		_node.Bio = value
   540  	}
   541  	if value, ok := uc.mutation.BioHTML(); ok {
   542  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   543  			Type:   field.TypeString,
   544  			Value:  value,
   545  			Column: user.FieldBioHTML,
   546  		})
   547  		_node.BioHTML = value
   548  	}
   549  	if value, ok := uc.mutation.Active(); ok {
   550  		_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
   551  			Type:   field.TypeBool,
   552  			Value:  value,
   553  			Column: user.FieldActive,
   554  		})
   555  		_node.Active = value
   556  	}
   557  	if nodes := uc.mutation.PostsIDs(); len(nodes) > 0 {
   558  		edge := &sqlgraph.EdgeSpec{
   559  			Rel:     sqlgraph.O2M,
   560  			Inverse: false,
   561  			Table:   user.PostsTable,
   562  			Columns: []string{user.PostsColumn},
   563  			Bidi:    false,
   564  			Target: &sqlgraph.EdgeTarget{
   565  				IDSpec: &sqlgraph.FieldSpec{
   566  					Type:   field.TypeInt,
   567  					Column: post.FieldID,
   568  				},
   569  			},
   570  		}
   571  		for _, k := range nodes {
   572  			edge.Target.Nodes = append(edge.Target.Nodes, k)
   573  		}
   574  		_spec.Edges = append(_spec.Edges, edge)
   575  	}
   576  	if nodes := uc.mutation.FilesIDs(); len(nodes) > 0 {
   577  		edge := &sqlgraph.EdgeSpec{
   578  			Rel:     sqlgraph.O2M,
   579  			Inverse: false,
   580  			Table:   user.FilesTable,
   581  			Columns: []string{user.FilesColumn},
   582  			Bidi:    false,
   583  			Target: &sqlgraph.EdgeTarget{
   584  				IDSpec: &sqlgraph.FieldSpec{
   585  					Type:   field.TypeInt,
   586  					Column: file.FieldID,
   587  				},
   588  			},
   589  		}
   590  		for _, k := range nodes {
   591  			edge.Target.Nodes = append(edge.Target.Nodes, k)
   592  		}
   593  		_spec.Edges = append(_spec.Edges, edge)
   594  	}
   595  	if nodes := uc.mutation.CommentsIDs(); len(nodes) > 0 {
   596  		edge := &sqlgraph.EdgeSpec{
   597  			Rel:     sqlgraph.O2M,
   598  			Inverse: false,
   599  			Table:   user.CommentsTable,
   600  			Columns: []string{user.CommentsColumn},
   601  			Bidi:    false,
   602  			Target: &sqlgraph.EdgeTarget{
   603  				IDSpec: &sqlgraph.FieldSpec{
   604  					Type:   field.TypeInt,
   605  					Column: comment.FieldID,
   606  				},
   607  			},
   608  		}
   609  		for _, k := range nodes {
   610  			edge.Target.Nodes = append(edge.Target.Nodes, k)
   611  		}
   612  		_spec.Edges = append(_spec.Edges, edge)
   613  	}
   614  	if nodes := uc.mutation.RolesIDs(); len(nodes) > 0 {
   615  		edge := &sqlgraph.EdgeSpec{
   616  			Rel:     sqlgraph.M2M,
   617  			Inverse: true,
   618  			Table:   user.RolesTable,
   619  			Columns: user.RolesPrimaryKey,
   620  			Bidi:    false,
   621  			Target: &sqlgraph.EdgeTarget{
   622  				IDSpec: &sqlgraph.FieldSpec{
   623  					Type:   field.TypeInt,
   624  					Column: role.FieldID,
   625  				},
   626  			},
   627  		}
   628  		for _, k := range nodes {
   629  			edge.Target.Nodes = append(edge.Target.Nodes, k)
   630  		}
   631  		_spec.Edges = append(_spec.Edges, edge)
   632  	}
   633  	if nodes := uc.mutation.AvatarImageIDs(); len(nodes) > 0 {
   634  		edge := &sqlgraph.EdgeSpec{
   635  			Rel:     sqlgraph.M2O,
   636  			Inverse: true,
   637  			Table:   user.AvatarImageTable,
   638  			Columns: []string{user.AvatarImageColumn},
   639  			Bidi:    false,
   640  			Target: &sqlgraph.EdgeTarget{
   641  				IDSpec: &sqlgraph.FieldSpec{
   642  					Type:   field.TypeInt,
   643  					Column: file.FieldID,
   644  				},
   645  			},
   646  		}
   647  		for _, k := range nodes {
   648  			edge.Target.Nodes = append(edge.Target.Nodes, k)
   649  		}
   650  		_node.AvatarImageID = nodes[0]
   651  		_spec.Edges = append(_spec.Edges, edge)
   652  	}
   653  	return _node, _spec
   654  }
   655  
   656  // OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause
   657  // of the `INSERT` statement. For example:
   658  //
   659  //	client.User.Create().
   660  //		SetCreatedAt(v).
   661  //		OnConflict(
   662  //			// Update the row with the new values
   663  //			// the was proposed for insertion.
   664  //			sql.ResolveWithNewValues(),
   665  //		).
   666  //		// Override some of the fields with custom
   667  //		// update values.
   668  //		Update(func(u *ent.UserUpsert) {
   669  //			SetCreatedAt(v+v).
   670  //		}).
   671  //		Exec(ctx)
   672  //
   673  func (uc *UserCreate) OnConflict(opts ...sql.ConflictOption) *UserUpsertOne {
   674  	uc.conflict = opts
   675  	return &UserUpsertOne{
   676  		create: uc,
   677  	}
   678  }
   679  
   680  // OnConflictColumns calls `OnConflict` and configures the columns
   681  // as conflict target. Using this option is equivalent to using:
   682  //
   683  //	client.User.Create().
   684  //		OnConflict(sql.ConflictColumns(columns...)).
   685  //		Exec(ctx)
   686  //
   687  func (uc *UserCreate) OnConflictColumns(columns ...string) *UserUpsertOne {
   688  	uc.conflict = append(uc.conflict, sql.ConflictColumns(columns...))
   689  	return &UserUpsertOne{
   690  		create: uc,
   691  	}
   692  }
   693  
   694  type (
   695  	// UserUpsertOne is the builder for "upsert"-ing
   696  	//  one User node.
   697  	UserUpsertOne struct {
   698  		create *UserCreate
   699  	}
   700  
   701  	// UserUpsert is the "OnConflict" setter.
   702  	UserUpsert struct {
   703  		*sql.UpdateSet
   704  	}
   705  )
   706  
   707  // SetCreatedAt sets the "created_at" field.
   708  func (u *UserUpsert) SetCreatedAt(v time.Time) *UserUpsert {
   709  	u.Set(user.FieldCreatedAt, v)
   710  	return u
   711  }
   712  
   713  // UpdateCreatedAt sets the "created_at" field to the value that was provided on create.
   714  func (u *UserUpsert) UpdateCreatedAt() *UserUpsert {
   715  	u.SetExcluded(user.FieldCreatedAt)
   716  	return u
   717  }
   718  
   719  // SetUpdatedAt sets the "updated_at" field.
   720  func (u *UserUpsert) SetUpdatedAt(v time.Time) *UserUpsert {
   721  	u.Set(user.FieldUpdatedAt, v)
   722  	return u
   723  }
   724  
   725  // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
   726  func (u *UserUpsert) UpdateUpdatedAt() *UserUpsert {
   727  	u.SetExcluded(user.FieldUpdatedAt)
   728  	return u
   729  }
   730  
   731  // SetDeletedAt sets the "deleted_at" field.
   732  func (u *UserUpsert) SetDeletedAt(v time.Time) *UserUpsert {
   733  	u.Set(user.FieldDeletedAt, v)
   734  	return u
   735  }
   736  
   737  // UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create.
   738  func (u *UserUpsert) UpdateDeletedAt() *UserUpsert {
   739  	u.SetExcluded(user.FieldDeletedAt)
   740  	return u
   741  }
   742  
   743  // ClearDeletedAt clears the value of the "deleted_at" field.
   744  func (u *UserUpsert) ClearDeletedAt() *UserUpsert {
   745  	u.SetNull(user.FieldDeletedAt)
   746  	return u
   747  }
   748  
   749  // SetUsername sets the "username" field.
   750  func (u *UserUpsert) SetUsername(v string) *UserUpsert {
   751  	u.Set(user.FieldUsername, v)
   752  	return u
   753  }
   754  
   755  // UpdateUsername sets the "username" field to the value that was provided on create.
   756  func (u *UserUpsert) UpdateUsername() *UserUpsert {
   757  	u.SetExcluded(user.FieldUsername)
   758  	return u
   759  }
   760  
   761  // SetDisplayName sets the "display_name" field.
   762  func (u *UserUpsert) SetDisplayName(v string) *UserUpsert {
   763  	u.Set(user.FieldDisplayName, v)
   764  	return u
   765  }
   766  
   767  // UpdateDisplayName sets the "display_name" field to the value that was provided on create.
   768  func (u *UserUpsert) UpdateDisplayName() *UserUpsert {
   769  	u.SetExcluded(user.FieldDisplayName)
   770  	return u
   771  }
   772  
   773  // ClearDisplayName clears the value of the "display_name" field.
   774  func (u *UserUpsert) ClearDisplayName() *UserUpsert {
   775  	u.SetNull(user.FieldDisplayName)
   776  	return u
   777  }
   778  
   779  // SetURL sets the "url" field.
   780  func (u *UserUpsert) SetURL(v string) *UserUpsert {
   781  	u.Set(user.FieldURL, v)
   782  	return u
   783  }
   784  
   785  // UpdateURL sets the "url" field to the value that was provided on create.
   786  func (u *UserUpsert) UpdateURL() *UserUpsert {
   787  	u.SetExcluded(user.FieldURL)
   788  	return u
   789  }
   790  
   791  // ClearURL clears the value of the "url" field.
   792  func (u *UserUpsert) ClearURL() *UserUpsert {
   793  	u.SetNull(user.FieldURL)
   794  	return u
   795  }
   796  
   797  // SetProvider sets the "provider" field.
   798  func (u *UserUpsert) SetProvider(v string) *UserUpsert {
   799  	u.Set(user.FieldProvider, v)
   800  	return u
   801  }
   802  
   803  // UpdateProvider sets the "provider" field to the value that was provided on create.
   804  func (u *UserUpsert) UpdateProvider() *UserUpsert {
   805  	u.SetExcluded(user.FieldProvider)
   806  	return u
   807  }
   808  
   809  // ClearProvider clears the value of the "provider" field.
   810  func (u *UserUpsert) ClearProvider() *UserUpsert {
   811  	u.SetNull(user.FieldProvider)
   812  	return u
   813  }
   814  
   815  // SetProviderID sets the "provider_id" field.
   816  func (u *UserUpsert) SetProviderID(v string) *UserUpsert {
   817  	u.Set(user.FieldProviderID, v)
   818  	return u
   819  }
   820  
   821  // UpdateProviderID sets the "provider_id" field to the value that was provided on create.
   822  func (u *UserUpsert) UpdateProviderID() *UserUpsert {
   823  	u.SetExcluded(user.FieldProviderID)
   824  	return u
   825  }
   826  
   827  // ClearProviderID clears the value of the "provider_id" field.
   828  func (u *UserUpsert) ClearProviderID() *UserUpsert {
   829  	u.SetNull(user.FieldProviderID)
   830  	return u
   831  }
   832  
   833  // SetProviderUsername sets the "provider_username" field.
   834  func (u *UserUpsert) SetProviderUsername(v string) *UserUpsert {
   835  	u.Set(user.FieldProviderUsername, v)
   836  	return u
   837  }
   838  
   839  // UpdateProviderUsername sets the "provider_username" field to the value that was provided on create.
   840  func (u *UserUpsert) UpdateProviderUsername() *UserUpsert {
   841  	u.SetExcluded(user.FieldProviderUsername)
   842  	return u
   843  }
   844  
   845  // ClearProviderUsername clears the value of the "provider_username" field.
   846  func (u *UserUpsert) ClearProviderUsername() *UserUpsert {
   847  	u.SetNull(user.FieldProviderUsername)
   848  	return u
   849  }
   850  
   851  // SetProviderAvatar sets the "provider_avatar" field.
   852  func (u *UserUpsert) SetProviderAvatar(v string) *UserUpsert {
   853  	u.Set(user.FieldProviderAvatar, v)
   854  	return u
   855  }
   856  
   857  // UpdateProviderAvatar sets the "provider_avatar" field to the value that was provided on create.
   858  func (u *UserUpsert) UpdateProviderAvatar() *UserUpsert {
   859  	u.SetExcluded(user.FieldProviderAvatar)
   860  	return u
   861  }
   862  
   863  // ClearProviderAvatar clears the value of the "provider_avatar" field.
   864  func (u *UserUpsert) ClearProviderAvatar() *UserUpsert {
   865  	u.SetNull(user.FieldProviderAvatar)
   866  	return u
   867  }
   868  
   869  // SetEmail sets the "email" field.
   870  func (u *UserUpsert) SetEmail(v string) *UserUpsert {
   871  	u.Set(user.FieldEmail, v)
   872  	return u
   873  }
   874  
   875  // UpdateEmail sets the "email" field to the value that was provided on create.
   876  func (u *UserUpsert) UpdateEmail() *UserUpsert {
   877  	u.SetExcluded(user.FieldEmail)
   878  	return u
   879  }
   880  
   881  // ClearEmail clears the value of the "email" field.
   882  func (u *UserUpsert) ClearEmail() *UserUpsert {
   883  	u.SetNull(user.FieldEmail)
   884  	return u
   885  }
   886  
   887  // SetPassword sets the "password" field.
   888  func (u *UserUpsert) SetPassword(v string) *UserUpsert {
   889  	u.Set(user.FieldPassword, v)
   890  	return u
   891  }
   892  
   893  // UpdatePassword sets the "password" field to the value that was provided on create.
   894  func (u *UserUpsert) UpdatePassword() *UserUpsert {
   895  	u.SetExcluded(user.FieldPassword)
   896  	return u
   897  }
   898  
   899  // ClearPassword clears the value of the "password" field.
   900  func (u *UserUpsert) ClearPassword() *UserUpsert {
   901  	u.SetNull(user.FieldPassword)
   902  	return u
   903  }
   904  
   905  // SetBio sets the "bio" field.
   906  func (u *UserUpsert) SetBio(v string) *UserUpsert {
   907  	u.Set(user.FieldBio, v)
   908  	return u
   909  }
   910  
   911  // UpdateBio sets the "bio" field to the value that was provided on create.
   912  func (u *UserUpsert) UpdateBio() *UserUpsert {
   913  	u.SetExcluded(user.FieldBio)
   914  	return u
   915  }
   916  
   917  // ClearBio clears the value of the "bio" field.
   918  func (u *UserUpsert) ClearBio() *UserUpsert {
   919  	u.SetNull(user.FieldBio)
   920  	return u
   921  }
   922  
   923  // SetBioHTML sets the "bio_html" field.
   924  func (u *UserUpsert) SetBioHTML(v string) *UserUpsert {
   925  	u.Set(user.FieldBioHTML, v)
   926  	return u
   927  }
   928  
   929  // UpdateBioHTML sets the "bio_html" field to the value that was provided on create.
   930  func (u *UserUpsert) UpdateBioHTML() *UserUpsert {
   931  	u.SetExcluded(user.FieldBioHTML)
   932  	return u
   933  }
   934  
   935  // ClearBioHTML clears the value of the "bio_html" field.
   936  func (u *UserUpsert) ClearBioHTML() *UserUpsert {
   937  	u.SetNull(user.FieldBioHTML)
   938  	return u
   939  }
   940  
   941  // SetActive sets the "active" field.
   942  func (u *UserUpsert) SetActive(v bool) *UserUpsert {
   943  	u.Set(user.FieldActive, v)
   944  	return u
   945  }
   946  
   947  // UpdateActive sets the "active" field to the value that was provided on create.
   948  func (u *UserUpsert) UpdateActive() *UserUpsert {
   949  	u.SetExcluded(user.FieldActive)
   950  	return u
   951  }
   952  
   953  // SetAvatarImageID sets the "avatar_image_id" field.
   954  func (u *UserUpsert) SetAvatarImageID(v int) *UserUpsert {
   955  	u.Set(user.FieldAvatarImageID, v)
   956  	return u
   957  }
   958  
   959  // UpdateAvatarImageID sets the "avatar_image_id" field to the value that was provided on create.
   960  func (u *UserUpsert) UpdateAvatarImageID() *UserUpsert {
   961  	u.SetExcluded(user.FieldAvatarImageID)
   962  	return u
   963  }
   964  
   965  // ClearAvatarImageID clears the value of the "avatar_image_id" field.
   966  func (u *UserUpsert) ClearAvatarImageID() *UserUpsert {
   967  	u.SetNull(user.FieldAvatarImageID)
   968  	return u
   969  }
   970  
   971  // UpdateNewValues updates the mutable fields using the new values that were set on create.
   972  // Using this option is equivalent to using:
   973  //
   974  //	client.User.Create().
   975  //		OnConflict(
   976  //			sql.ResolveWithNewValues(),
   977  //		).
   978  //		Exec(ctx)
   979  //
   980  func (u *UserUpsertOne) UpdateNewValues() *UserUpsertOne {
   981  	u.create.conflict = append(u.create.conflict, sql.ResolveWithNewValues())
   982  	u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(s *sql.UpdateSet) {
   983  		if _, exists := u.create.mutation.CreatedAt(); exists {
   984  			s.SetIgnore(user.FieldCreatedAt)
   985  		}
   986  	}))
   987  	return u
   988  }
   989  
   990  // Ignore sets each column to itself in case of conflict.
   991  // Using this option is equivalent to using:
   992  //
   993  //  client.User.Create().
   994  //      OnConflict(sql.ResolveWithIgnore()).
   995  //      Exec(ctx)
   996  //
   997  func (u *UserUpsertOne) Ignore() *UserUpsertOne {
   998  	u.create.conflict = append(u.create.conflict, sql.ResolveWithIgnore())
   999  	return u
  1000  }
  1001  
  1002  // DoNothing configures the conflict_action to `DO NOTHING`.
  1003  // Supported only by SQLite and PostgreSQL.
  1004  func (u *UserUpsertOne) DoNothing() *UserUpsertOne {
  1005  	u.create.conflict = append(u.create.conflict, sql.DoNothing())
  1006  	return u
  1007  }
  1008  
  1009  // Update allows overriding fields `UPDATE` values. See the UserCreate.OnConflict
  1010  // documentation for more info.
  1011  func (u *UserUpsertOne) Update(set func(*UserUpsert)) *UserUpsertOne {
  1012  	u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(update *sql.UpdateSet) {
  1013  		set(&UserUpsert{UpdateSet: update})
  1014  	}))
  1015  	return u
  1016  }
  1017  
  1018  // SetCreatedAt sets the "created_at" field.
  1019  func (u *UserUpsertOne) SetCreatedAt(v time.Time) *UserUpsertOne {
  1020  	return u.Update(func(s *UserUpsert) {
  1021  		s.SetCreatedAt(v)
  1022  	})
  1023  }
  1024  
  1025  // UpdateCreatedAt sets the "created_at" field to the value that was provided on create.
  1026  func (u *UserUpsertOne) UpdateCreatedAt() *UserUpsertOne {
  1027  	return u.Update(func(s *UserUpsert) {
  1028  		s.UpdateCreatedAt()
  1029  	})
  1030  }
  1031  
  1032  // SetUpdatedAt sets the "updated_at" field.
  1033  func (u *UserUpsertOne) SetUpdatedAt(v time.Time) *UserUpsertOne {
  1034  	return u.Update(func(s *UserUpsert) {
  1035  		s.SetUpdatedAt(v)
  1036  	})
  1037  }
  1038  
  1039  // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
  1040  func (u *UserUpsertOne) UpdateUpdatedAt() *UserUpsertOne {
  1041  	return u.Update(func(s *UserUpsert) {
  1042  		s.UpdateUpdatedAt()
  1043  	})
  1044  }
  1045  
  1046  // SetDeletedAt sets the "deleted_at" field.
  1047  func (u *UserUpsertOne) SetDeletedAt(v time.Time) *UserUpsertOne {
  1048  	return u.Update(func(s *UserUpsert) {
  1049  		s.SetDeletedAt(v)
  1050  	})
  1051  }
  1052  
  1053  // UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create.
  1054  func (u *UserUpsertOne) UpdateDeletedAt() *UserUpsertOne {
  1055  	return u.Update(func(s *UserUpsert) {
  1056  		s.UpdateDeletedAt()
  1057  	})
  1058  }
  1059  
  1060  // ClearDeletedAt clears the value of the "deleted_at" field.
  1061  func (u *UserUpsertOne) ClearDeletedAt() *UserUpsertOne {
  1062  	return u.Update(func(s *UserUpsert) {
  1063  		s.ClearDeletedAt()
  1064  	})
  1065  }
  1066  
  1067  // SetUsername sets the "username" field.
  1068  func (u *UserUpsertOne) SetUsername(v string) *UserUpsertOne {
  1069  	return u.Update(func(s *UserUpsert) {
  1070  		s.SetUsername(v)
  1071  	})
  1072  }
  1073  
  1074  // UpdateUsername sets the "username" field to the value that was provided on create.
  1075  func (u *UserUpsertOne) UpdateUsername() *UserUpsertOne {
  1076  	return u.Update(func(s *UserUpsert) {
  1077  		s.UpdateUsername()
  1078  	})
  1079  }
  1080  
  1081  // SetDisplayName sets the "display_name" field.
  1082  func (u *UserUpsertOne) SetDisplayName(v string) *UserUpsertOne {
  1083  	return u.Update(func(s *UserUpsert) {
  1084  		s.SetDisplayName(v)
  1085  	})
  1086  }
  1087  
  1088  // UpdateDisplayName sets the "display_name" field to the value that was provided on create.
  1089  func (u *UserUpsertOne) UpdateDisplayName() *UserUpsertOne {
  1090  	return u.Update(func(s *UserUpsert) {
  1091  		s.UpdateDisplayName()
  1092  	})
  1093  }
  1094  
  1095  // ClearDisplayName clears the value of the "display_name" field.
  1096  func (u *UserUpsertOne) ClearDisplayName() *UserUpsertOne {
  1097  	return u.Update(func(s *UserUpsert) {
  1098  		s.ClearDisplayName()
  1099  	})
  1100  }
  1101  
  1102  // SetURL sets the "url" field.
  1103  func (u *UserUpsertOne) SetURL(v string) *UserUpsertOne {
  1104  	return u.Update(func(s *UserUpsert) {
  1105  		s.SetURL(v)
  1106  	})
  1107  }
  1108  
  1109  // UpdateURL sets the "url" field to the value that was provided on create.
  1110  func (u *UserUpsertOne) UpdateURL() *UserUpsertOne {
  1111  	return u.Update(func(s *UserUpsert) {
  1112  		s.UpdateURL()
  1113  	})
  1114  }
  1115  
  1116  // ClearURL clears the value of the "url" field.
  1117  func (u *UserUpsertOne) ClearURL() *UserUpsertOne {
  1118  	return u.Update(func(s *UserUpsert) {
  1119  		s.ClearURL()
  1120  	})
  1121  }
  1122  
  1123  // SetProvider sets the "provider" field.
  1124  func (u *UserUpsertOne) SetProvider(v string) *UserUpsertOne {
  1125  	return u.Update(func(s *UserUpsert) {
  1126  		s.SetProvider(v)
  1127  	})
  1128  }
  1129  
  1130  // UpdateProvider sets the "provider" field to the value that was provided on create.
  1131  func (u *UserUpsertOne) UpdateProvider() *UserUpsertOne {
  1132  	return u.Update(func(s *UserUpsert) {
  1133  		s.UpdateProvider()
  1134  	})
  1135  }
  1136  
  1137  // ClearProvider clears the value of the "provider" field.
  1138  func (u *UserUpsertOne) ClearProvider() *UserUpsertOne {
  1139  	return u.Update(func(s *UserUpsert) {
  1140  		s.ClearProvider()
  1141  	})
  1142  }
  1143  
  1144  // SetProviderID sets the "provider_id" field.
  1145  func (u *UserUpsertOne) SetProviderID(v string) *UserUpsertOne {
  1146  	return u.Update(func(s *UserUpsert) {
  1147  		s.SetProviderID(v)
  1148  	})
  1149  }
  1150  
  1151  // UpdateProviderID sets the "provider_id" field to the value that was provided on create.
  1152  func (u *UserUpsertOne) UpdateProviderID() *UserUpsertOne {
  1153  	return u.Update(func(s *UserUpsert) {
  1154  		s.UpdateProviderID()
  1155  	})
  1156  }
  1157  
  1158  // ClearProviderID clears the value of the "provider_id" field.
  1159  func (u *UserUpsertOne) ClearProviderID() *UserUpsertOne {
  1160  	return u.Update(func(s *UserUpsert) {
  1161  		s.ClearProviderID()
  1162  	})
  1163  }
  1164  
  1165  // SetProviderUsername sets the "provider_username" field.
  1166  func (u *UserUpsertOne) SetProviderUsername(v string) *UserUpsertOne {
  1167  	return u.Update(func(s *UserUpsert) {
  1168  		s.SetProviderUsername(v)
  1169  	})
  1170  }
  1171  
  1172  // UpdateProviderUsername sets the "provider_username" field to the value that was provided on create.
  1173  func (u *UserUpsertOne) UpdateProviderUsername() *UserUpsertOne {
  1174  	return u.Update(func(s *UserUpsert) {
  1175  		s.UpdateProviderUsername()
  1176  	})
  1177  }
  1178  
  1179  // ClearProviderUsername clears the value of the "provider_username" field.
  1180  func (u *UserUpsertOne) ClearProviderUsername() *UserUpsertOne {
  1181  	return u.Update(func(s *UserUpsert) {
  1182  		s.ClearProviderUsername()
  1183  	})
  1184  }
  1185  
  1186  // SetProviderAvatar sets the "provider_avatar" field.
  1187  func (u *UserUpsertOne) SetProviderAvatar(v string) *UserUpsertOne {
  1188  	return u.Update(func(s *UserUpsert) {
  1189  		s.SetProviderAvatar(v)
  1190  	})
  1191  }
  1192  
  1193  // UpdateProviderAvatar sets the "provider_avatar" field to the value that was provided on create.
  1194  func (u *UserUpsertOne) UpdateProviderAvatar() *UserUpsertOne {
  1195  	return u.Update(func(s *UserUpsert) {
  1196  		s.UpdateProviderAvatar()
  1197  	})
  1198  }
  1199  
  1200  // ClearProviderAvatar clears the value of the "provider_avatar" field.
  1201  func (u *UserUpsertOne) ClearProviderAvatar() *UserUpsertOne {
  1202  	return u.Update(func(s *UserUpsert) {
  1203  		s.ClearProviderAvatar()
  1204  	})
  1205  }
  1206  
  1207  // SetEmail sets the "email" field.
  1208  func (u *UserUpsertOne) SetEmail(v string) *UserUpsertOne {
  1209  	return u.Update(func(s *UserUpsert) {
  1210  		s.SetEmail(v)
  1211  	})
  1212  }
  1213  
  1214  // UpdateEmail sets the "email" field to the value that was provided on create.
  1215  func (u *UserUpsertOne) UpdateEmail() *UserUpsertOne {
  1216  	return u.Update(func(s *UserUpsert) {
  1217  		s.UpdateEmail()
  1218  	})
  1219  }
  1220  
  1221  // ClearEmail clears the value of the "email" field.
  1222  func (u *UserUpsertOne) ClearEmail() *UserUpsertOne {
  1223  	return u.Update(func(s *UserUpsert) {
  1224  		s.ClearEmail()
  1225  	})
  1226  }
  1227  
  1228  // SetPassword sets the "password" field.
  1229  func (u *UserUpsertOne) SetPassword(v string) *UserUpsertOne {
  1230  	return u.Update(func(s *UserUpsert) {
  1231  		s.SetPassword(v)
  1232  	})
  1233  }
  1234  
  1235  // UpdatePassword sets the "password" field to the value that was provided on create.
  1236  func (u *UserUpsertOne) UpdatePassword() *UserUpsertOne {
  1237  	return u.Update(func(s *UserUpsert) {
  1238  		s.UpdatePassword()
  1239  	})
  1240  }
  1241  
  1242  // ClearPassword clears the value of the "password" field.
  1243  func (u *UserUpsertOne) ClearPassword() *UserUpsertOne {
  1244  	return u.Update(func(s *UserUpsert) {
  1245  		s.ClearPassword()
  1246  	})
  1247  }
  1248  
  1249  // SetBio sets the "bio" field.
  1250  func (u *UserUpsertOne) SetBio(v string) *UserUpsertOne {
  1251  	return u.Update(func(s *UserUpsert) {
  1252  		s.SetBio(v)
  1253  	})
  1254  }
  1255  
  1256  // UpdateBio sets the "bio" field to the value that was provided on create.
  1257  func (u *UserUpsertOne) UpdateBio() *UserUpsertOne {
  1258  	return u.Update(func(s *UserUpsert) {
  1259  		s.UpdateBio()
  1260  	})
  1261  }
  1262  
  1263  // ClearBio clears the value of the "bio" field.
  1264  func (u *UserUpsertOne) ClearBio() *UserUpsertOne {
  1265  	return u.Update(func(s *UserUpsert) {
  1266  		s.ClearBio()
  1267  	})
  1268  }
  1269  
  1270  // SetBioHTML sets the "bio_html" field.
  1271  func (u *UserUpsertOne) SetBioHTML(v string) *UserUpsertOne {
  1272  	return u.Update(func(s *UserUpsert) {
  1273  		s.SetBioHTML(v)
  1274  	})
  1275  }
  1276  
  1277  // UpdateBioHTML sets the "bio_html" field to the value that was provided on create.
  1278  func (u *UserUpsertOne) UpdateBioHTML() *UserUpsertOne {
  1279  	return u.Update(func(s *UserUpsert) {
  1280  		s.UpdateBioHTML()
  1281  	})
  1282  }
  1283  
  1284  // ClearBioHTML clears the value of the "bio_html" field.
  1285  func (u *UserUpsertOne) ClearBioHTML() *UserUpsertOne {
  1286  	return u.Update(func(s *UserUpsert) {
  1287  		s.ClearBioHTML()
  1288  	})
  1289  }
  1290  
  1291  // SetActive sets the "active" field.
  1292  func (u *UserUpsertOne) SetActive(v bool) *UserUpsertOne {
  1293  	return u.Update(func(s *UserUpsert) {
  1294  		s.SetActive(v)
  1295  	})
  1296  }
  1297  
  1298  // UpdateActive sets the "active" field to the value that was provided on create.
  1299  func (u *UserUpsertOne) UpdateActive() *UserUpsertOne {
  1300  	return u.Update(func(s *UserUpsert) {
  1301  		s.UpdateActive()
  1302  	})
  1303  }
  1304  
  1305  // SetAvatarImageID sets the "avatar_image_id" field.
  1306  func (u *UserUpsertOne) SetAvatarImageID(v int) *UserUpsertOne {
  1307  	return u.Update(func(s *UserUpsert) {
  1308  		s.SetAvatarImageID(v)
  1309  	})
  1310  }
  1311  
  1312  // UpdateAvatarImageID sets the "avatar_image_id" field to the value that was provided on create.
  1313  func (u *UserUpsertOne) UpdateAvatarImageID() *UserUpsertOne {
  1314  	return u.Update(func(s *UserUpsert) {
  1315  		s.UpdateAvatarImageID()
  1316  	})
  1317  }
  1318  
  1319  // ClearAvatarImageID clears the value of the "avatar_image_id" field.
  1320  func (u *UserUpsertOne) ClearAvatarImageID() *UserUpsertOne {
  1321  	return u.Update(func(s *UserUpsert) {
  1322  		s.ClearAvatarImageID()
  1323  	})
  1324  }
  1325  
  1326  // Exec executes the query.
  1327  func (u *UserUpsertOne) Exec(ctx context.Context) error {
  1328  	if len(u.create.conflict) == 0 {
  1329  		return errors.New("ent: missing options for UserCreate.OnConflict")
  1330  	}
  1331  	return u.create.Exec(ctx)
  1332  }
  1333  
  1334  // ExecX is like Exec, but panics if an error occurs.
  1335  func (u *UserUpsertOne) ExecX(ctx context.Context) {
  1336  	if err := u.create.Exec(ctx); err != nil {
  1337  		panic(err)
  1338  	}
  1339  }
  1340  
  1341  // Exec executes the UPSERT query and returns the inserted/updated ID.
  1342  func (u *UserUpsertOne) ID(ctx context.Context) (id int, err error) {
  1343  	node, err := u.create.Save(ctx)
  1344  	if err != nil {
  1345  		return id, err
  1346  	}
  1347  	return node.ID, nil
  1348  }
  1349  
  1350  // IDX is like ID, but panics if an error occurs.
  1351  func (u *UserUpsertOne) IDX(ctx context.Context) int {
  1352  	id, err := u.ID(ctx)
  1353  	if err != nil {
  1354  		panic(err)
  1355  	}
  1356  	return id
  1357  }
  1358  
  1359  // UserCreateBulk is the builder for creating many User entities in bulk.
  1360  type UserCreateBulk struct {
  1361  	config
  1362  	builders []*UserCreate
  1363  	conflict []sql.ConflictOption
  1364  }
  1365  
  1366  // Save creates the User entities in the database.
  1367  func (ucb *UserCreateBulk) Save(ctx context.Context) ([]*User, error) {
  1368  	specs := make([]*sqlgraph.CreateSpec, len(ucb.builders))
  1369  	nodes := make([]*User, len(ucb.builders))
  1370  	mutators := make([]Mutator, len(ucb.builders))
  1371  	for i := range ucb.builders {
  1372  		func(i int, root context.Context) {
  1373  			builder := ucb.builders[i]
  1374  			builder.defaults()
  1375  			var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
  1376  				mutation, ok := m.(*UserMutation)
  1377  				if !ok {
  1378  					return nil, fmt.Errorf("unexpected mutation type %T", m)
  1379  				}
  1380  				if err := builder.check(); err != nil {
  1381  					return nil, err
  1382  				}
  1383  				builder.mutation = mutation
  1384  				nodes[i], specs[i] = builder.createSpec()
  1385  				var err error
  1386  				if i < len(mutators)-1 {
  1387  					_, err = mutators[i+1].Mutate(root, ucb.builders[i+1].mutation)
  1388  				} else {
  1389  					spec := &sqlgraph.BatchCreateSpec{Nodes: specs}
  1390  					spec.OnConflict = ucb.conflict
  1391  					// Invoke the actual operation on the latest mutation in the chain.
  1392  					if err = sqlgraph.BatchCreate(ctx, ucb.driver, spec); err != nil {
  1393  						if sqlgraph.IsConstraintError(err) {
  1394  							err = &ConstraintError{err.Error(), err}
  1395  						}
  1396  					}
  1397  				}
  1398  				if err != nil {
  1399  					return nil, err
  1400  				}
  1401  				mutation.id = &nodes[i].ID
  1402  				mutation.done = true
  1403  				if specs[i].ID.Value != nil {
  1404  					id := specs[i].ID.Value.(int64)
  1405  					nodes[i].ID = int(id)
  1406  				}
  1407  				return nodes[i], nil
  1408  			})
  1409  			for i := len(builder.hooks) - 1; i >= 0; i-- {
  1410  				mut = builder.hooks[i](mut)
  1411  			}
  1412  			mutators[i] = mut
  1413  		}(i, ctx)
  1414  	}
  1415  	if len(mutators) > 0 {
  1416  		if _, err := mutators[0].Mutate(ctx, ucb.builders[0].mutation); err != nil {
  1417  			return nil, err
  1418  		}
  1419  	}
  1420  	return nodes, nil
  1421  }
  1422  
  1423  // SaveX is like Save, but panics if an error occurs.
  1424  func (ucb *UserCreateBulk) SaveX(ctx context.Context) []*User {
  1425  	v, err := ucb.Save(ctx)
  1426  	if err != nil {
  1427  		panic(err)
  1428  	}
  1429  	return v
  1430  }
  1431  
  1432  // Exec executes the query.
  1433  func (ucb *UserCreateBulk) Exec(ctx context.Context) error {
  1434  	_, err := ucb.Save(ctx)
  1435  	return err
  1436  }
  1437  
  1438  // ExecX is like Exec, but panics if an error occurs.
  1439  func (ucb *UserCreateBulk) ExecX(ctx context.Context) {
  1440  	if err := ucb.Exec(ctx); err != nil {
  1441  		panic(err)
  1442  	}
  1443  }
  1444  
  1445  // OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause
  1446  // of the `INSERT` statement. For example:
  1447  //
  1448  //	client.User.CreateBulk(builders...).
  1449  //		OnConflict(
  1450  //			// Update the row with the new values
  1451  //			// the was proposed for insertion.
  1452  //			sql.ResolveWithNewValues(),
  1453  //		).
  1454  //		// Override some of the fields with custom
  1455  //		// update values.
  1456  //		Update(func(u *ent.UserUpsert) {
  1457  //			SetCreatedAt(v+v).
  1458  //		}).
  1459  //		Exec(ctx)
  1460  //
  1461  func (ucb *UserCreateBulk) OnConflict(opts ...sql.ConflictOption) *UserUpsertBulk {
  1462  	ucb.conflict = opts
  1463  	return &UserUpsertBulk{
  1464  		create: ucb,
  1465  	}
  1466  }
  1467  
  1468  // OnConflictColumns calls `OnConflict` and configures the columns
  1469  // as conflict target. Using this option is equivalent to using:
  1470  //
  1471  //	client.User.Create().
  1472  //		OnConflict(sql.ConflictColumns(columns...)).
  1473  //		Exec(ctx)
  1474  //
  1475  func (ucb *UserCreateBulk) OnConflictColumns(columns ...string) *UserUpsertBulk {
  1476  	ucb.conflict = append(ucb.conflict, sql.ConflictColumns(columns...))
  1477  	return &UserUpsertBulk{
  1478  		create: ucb,
  1479  	}
  1480  }
  1481  
  1482  // UserUpsertBulk is the builder for "upsert"-ing
  1483  // a bulk of User nodes.
  1484  type UserUpsertBulk struct {
  1485  	create *UserCreateBulk
  1486  }
  1487  
  1488  // UpdateNewValues updates the mutable fields using the new values that
  1489  // were set on create. Using this option is equivalent to using:
  1490  //
  1491  //	client.User.Create().
  1492  //		OnConflict(
  1493  //			sql.ResolveWithNewValues(),
  1494  //		).
  1495  //		Exec(ctx)
  1496  //
  1497  func (u *UserUpsertBulk) UpdateNewValues() *UserUpsertBulk {
  1498  	u.create.conflict = append(u.create.conflict, sql.ResolveWithNewValues())
  1499  	u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(s *sql.UpdateSet) {
  1500  		for _, b := range u.create.builders {
  1501  			if _, exists := b.mutation.CreatedAt(); exists {
  1502  				s.SetIgnore(user.FieldCreatedAt)
  1503  			}
  1504  		}
  1505  	}))
  1506  	return u
  1507  }
  1508  
  1509  // Ignore sets each column to itself in case of conflict.
  1510  // Using this option is equivalent to using:
  1511  //
  1512  //	client.User.Create().
  1513  //		OnConflict(sql.ResolveWithIgnore()).
  1514  //		Exec(ctx)
  1515  //
  1516  func (u *UserUpsertBulk) Ignore() *UserUpsertBulk {
  1517  	u.create.conflict = append(u.create.conflict, sql.ResolveWithIgnore())
  1518  	return u
  1519  }
  1520  
  1521  // DoNothing configures the conflict_action to `DO NOTHING`.
  1522  // Supported only by SQLite and PostgreSQL.
  1523  func (u *UserUpsertBulk) DoNothing() *UserUpsertBulk {
  1524  	u.create.conflict = append(u.create.conflict, sql.DoNothing())
  1525  	return u
  1526  }
  1527  
  1528  // Update allows overriding fields `UPDATE` values. See the UserCreateBulk.OnConflict
  1529  // documentation for more info.
  1530  func (u *UserUpsertBulk) Update(set func(*UserUpsert)) *UserUpsertBulk {
  1531  	u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(update *sql.UpdateSet) {
  1532  		set(&UserUpsert{UpdateSet: update})
  1533  	}))
  1534  	return u
  1535  }
  1536  
  1537  // SetCreatedAt sets the "created_at" field.
  1538  func (u *UserUpsertBulk) SetCreatedAt(v time.Time) *UserUpsertBulk {
  1539  	return u.Update(func(s *UserUpsert) {
  1540  		s.SetCreatedAt(v)
  1541  	})
  1542  }
  1543  
  1544  // UpdateCreatedAt sets the "created_at" field to the value that was provided on create.
  1545  func (u *UserUpsertBulk) UpdateCreatedAt() *UserUpsertBulk {
  1546  	return u.Update(func(s *UserUpsert) {
  1547  		s.UpdateCreatedAt()
  1548  	})
  1549  }
  1550  
  1551  // SetUpdatedAt sets the "updated_at" field.
  1552  func (u *UserUpsertBulk) SetUpdatedAt(v time.Time) *UserUpsertBulk {
  1553  	return u.Update(func(s *UserUpsert) {
  1554  		s.SetUpdatedAt(v)
  1555  	})
  1556  }
  1557  
  1558  // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
  1559  func (u *UserUpsertBulk) UpdateUpdatedAt() *UserUpsertBulk {
  1560  	return u.Update(func(s *UserUpsert) {
  1561  		s.UpdateUpdatedAt()
  1562  	})
  1563  }
  1564  
  1565  // SetDeletedAt sets the "deleted_at" field.
  1566  func (u *UserUpsertBulk) SetDeletedAt(v time.Time) *UserUpsertBulk {
  1567  	return u.Update(func(s *UserUpsert) {
  1568  		s.SetDeletedAt(v)
  1569  	})
  1570  }
  1571  
  1572  // UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create.
  1573  func (u *UserUpsertBulk) UpdateDeletedAt() *UserUpsertBulk {
  1574  	return u.Update(func(s *UserUpsert) {
  1575  		s.UpdateDeletedAt()
  1576  	})
  1577  }
  1578  
  1579  // ClearDeletedAt clears the value of the "deleted_at" field.
  1580  func (u *UserUpsertBulk) ClearDeletedAt() *UserUpsertBulk {
  1581  	return u.Update(func(s *UserUpsert) {
  1582  		s.ClearDeletedAt()
  1583  	})
  1584  }
  1585  
  1586  // SetUsername sets the "username" field.
  1587  func (u *UserUpsertBulk) SetUsername(v string) *UserUpsertBulk {
  1588  	return u.Update(func(s *UserUpsert) {
  1589  		s.SetUsername(v)
  1590  	})
  1591  }
  1592  
  1593  // UpdateUsername sets the "username" field to the value that was provided on create.
  1594  func (u *UserUpsertBulk) UpdateUsername() *UserUpsertBulk {
  1595  	return u.Update(func(s *UserUpsert) {
  1596  		s.UpdateUsername()
  1597  	})
  1598  }
  1599  
  1600  // SetDisplayName sets the "display_name" field.
  1601  func (u *UserUpsertBulk) SetDisplayName(v string) *UserUpsertBulk {
  1602  	return u.Update(func(s *UserUpsert) {
  1603  		s.SetDisplayName(v)
  1604  	})
  1605  }
  1606  
  1607  // UpdateDisplayName sets the "display_name" field to the value that was provided on create.
  1608  func (u *UserUpsertBulk) UpdateDisplayName() *UserUpsertBulk {
  1609  	return u.Update(func(s *UserUpsert) {
  1610  		s.UpdateDisplayName()
  1611  	})
  1612  }
  1613  
  1614  // ClearDisplayName clears the value of the "display_name" field.
  1615  func (u *UserUpsertBulk) ClearDisplayName() *UserUpsertBulk {
  1616  	return u.Update(func(s *UserUpsert) {
  1617  		s.ClearDisplayName()
  1618  	})
  1619  }
  1620  
  1621  // SetURL sets the "url" field.
  1622  func (u *UserUpsertBulk) SetURL(v string) *UserUpsertBulk {
  1623  	return u.Update(func(s *UserUpsert) {
  1624  		s.SetURL(v)
  1625  	})
  1626  }
  1627  
  1628  // UpdateURL sets the "url" field to the value that was provided on create.
  1629  func (u *UserUpsertBulk) UpdateURL() *UserUpsertBulk {
  1630  	return u.Update(func(s *UserUpsert) {
  1631  		s.UpdateURL()
  1632  	})
  1633  }
  1634  
  1635  // ClearURL clears the value of the "url" field.
  1636  func (u *UserUpsertBulk) ClearURL() *UserUpsertBulk {
  1637  	return u.Update(func(s *UserUpsert) {
  1638  		s.ClearURL()
  1639  	})
  1640  }
  1641  
  1642  // SetProvider sets the "provider" field.
  1643  func (u *UserUpsertBulk) SetProvider(v string) *UserUpsertBulk {
  1644  	return u.Update(func(s *UserUpsert) {
  1645  		s.SetProvider(v)
  1646  	})
  1647  }
  1648  
  1649  // UpdateProvider sets the "provider" field to the value that was provided on create.
  1650  func (u *UserUpsertBulk) UpdateProvider() *UserUpsertBulk {
  1651  	return u.Update(func(s *UserUpsert) {
  1652  		s.UpdateProvider()
  1653  	})
  1654  }
  1655  
  1656  // ClearProvider clears the value of the "provider" field.
  1657  func (u *UserUpsertBulk) ClearProvider() *UserUpsertBulk {
  1658  	return u.Update(func(s *UserUpsert) {
  1659  		s.ClearProvider()
  1660  	})
  1661  }
  1662  
  1663  // SetProviderID sets the "provider_id" field.
  1664  func (u *UserUpsertBulk) SetProviderID(v string) *UserUpsertBulk {
  1665  	return u.Update(func(s *UserUpsert) {
  1666  		s.SetProviderID(v)
  1667  	})
  1668  }
  1669  
  1670  // UpdateProviderID sets the "provider_id" field to the value that was provided on create.
  1671  func (u *UserUpsertBulk) UpdateProviderID() *UserUpsertBulk {
  1672  	return u.Update(func(s *UserUpsert) {
  1673  		s.UpdateProviderID()
  1674  	})
  1675  }
  1676  
  1677  // ClearProviderID clears the value of the "provider_id" field.
  1678  func (u *UserUpsertBulk) ClearProviderID() *UserUpsertBulk {
  1679  	return u.Update(func(s *UserUpsert) {
  1680  		s.ClearProviderID()
  1681  	})
  1682  }
  1683  
  1684  // SetProviderUsername sets the "provider_username" field.
  1685  func (u *UserUpsertBulk) SetProviderUsername(v string) *UserUpsertBulk {
  1686  	return u.Update(func(s *UserUpsert) {
  1687  		s.SetProviderUsername(v)
  1688  	})
  1689  }
  1690  
  1691  // UpdateProviderUsername sets the "provider_username" field to the value that was provided on create.
  1692  func (u *UserUpsertBulk) UpdateProviderUsername() *UserUpsertBulk {
  1693  	return u.Update(func(s *UserUpsert) {
  1694  		s.UpdateProviderUsername()
  1695  	})
  1696  }
  1697  
  1698  // ClearProviderUsername clears the value of the "provider_username" field.
  1699  func (u *UserUpsertBulk) ClearProviderUsername() *UserUpsertBulk {
  1700  	return u.Update(func(s *UserUpsert) {
  1701  		s.ClearProviderUsername()
  1702  	})
  1703  }
  1704  
  1705  // SetProviderAvatar sets the "provider_avatar" field.
  1706  func (u *UserUpsertBulk) SetProviderAvatar(v string) *UserUpsertBulk {
  1707  	return u.Update(func(s *UserUpsert) {
  1708  		s.SetProviderAvatar(v)
  1709  	})
  1710  }
  1711  
  1712  // UpdateProviderAvatar sets the "provider_avatar" field to the value that was provided on create.
  1713  func (u *UserUpsertBulk) UpdateProviderAvatar() *UserUpsertBulk {
  1714  	return u.Update(func(s *UserUpsert) {
  1715  		s.UpdateProviderAvatar()
  1716  	})
  1717  }
  1718  
  1719  // ClearProviderAvatar clears the value of the "provider_avatar" field.
  1720  func (u *UserUpsertBulk) ClearProviderAvatar() *UserUpsertBulk {
  1721  	return u.Update(func(s *UserUpsert) {
  1722  		s.ClearProviderAvatar()
  1723  	})
  1724  }
  1725  
  1726  // SetEmail sets the "email" field.
  1727  func (u *UserUpsertBulk) SetEmail(v string) *UserUpsertBulk {
  1728  	return u.Update(func(s *UserUpsert) {
  1729  		s.SetEmail(v)
  1730  	})
  1731  }
  1732  
  1733  // UpdateEmail sets the "email" field to the value that was provided on create.
  1734  func (u *UserUpsertBulk) UpdateEmail() *UserUpsertBulk {
  1735  	return u.Update(func(s *UserUpsert) {
  1736  		s.UpdateEmail()
  1737  	})
  1738  }
  1739  
  1740  // ClearEmail clears the value of the "email" field.
  1741  func (u *UserUpsertBulk) ClearEmail() *UserUpsertBulk {
  1742  	return u.Update(func(s *UserUpsert) {
  1743  		s.ClearEmail()
  1744  	})
  1745  }
  1746  
  1747  // SetPassword sets the "password" field.
  1748  func (u *UserUpsertBulk) SetPassword(v string) *UserUpsertBulk {
  1749  	return u.Update(func(s *UserUpsert) {
  1750  		s.SetPassword(v)
  1751  	})
  1752  }
  1753  
  1754  // UpdatePassword sets the "password" field to the value that was provided on create.
  1755  func (u *UserUpsertBulk) UpdatePassword() *UserUpsertBulk {
  1756  	return u.Update(func(s *UserUpsert) {
  1757  		s.UpdatePassword()
  1758  	})
  1759  }
  1760  
  1761  // ClearPassword clears the value of the "password" field.
  1762  func (u *UserUpsertBulk) ClearPassword() *UserUpsertBulk {
  1763  	return u.Update(func(s *UserUpsert) {
  1764  		s.ClearPassword()
  1765  	})
  1766  }
  1767  
  1768  // SetBio sets the "bio" field.
  1769  func (u *UserUpsertBulk) SetBio(v string) *UserUpsertBulk {
  1770  	return u.Update(func(s *UserUpsert) {
  1771  		s.SetBio(v)
  1772  	})
  1773  }
  1774  
  1775  // UpdateBio sets the "bio" field to the value that was provided on create.
  1776  func (u *UserUpsertBulk) UpdateBio() *UserUpsertBulk {
  1777  	return u.Update(func(s *UserUpsert) {
  1778  		s.UpdateBio()
  1779  	})
  1780  }
  1781  
  1782  // ClearBio clears the value of the "bio" field.
  1783  func (u *UserUpsertBulk) ClearBio() *UserUpsertBulk {
  1784  	return u.Update(func(s *UserUpsert) {
  1785  		s.ClearBio()
  1786  	})
  1787  }
  1788  
  1789  // SetBioHTML sets the "bio_html" field.
  1790  func (u *UserUpsertBulk) SetBioHTML(v string) *UserUpsertBulk {
  1791  	return u.Update(func(s *UserUpsert) {
  1792  		s.SetBioHTML(v)
  1793  	})
  1794  }
  1795  
  1796  // UpdateBioHTML sets the "bio_html" field to the value that was provided on create.
  1797  func (u *UserUpsertBulk) UpdateBioHTML() *UserUpsertBulk {
  1798  	return u.Update(func(s *UserUpsert) {
  1799  		s.UpdateBioHTML()
  1800  	})
  1801  }
  1802  
  1803  // ClearBioHTML clears the value of the "bio_html" field.
  1804  func (u *UserUpsertBulk) ClearBioHTML() *UserUpsertBulk {
  1805  	return u.Update(func(s *UserUpsert) {
  1806  		s.ClearBioHTML()
  1807  	})
  1808  }
  1809  
  1810  // SetActive sets the "active" field.
  1811  func (u *UserUpsertBulk) SetActive(v bool) *UserUpsertBulk {
  1812  	return u.Update(func(s *UserUpsert) {
  1813  		s.SetActive(v)
  1814  	})
  1815  }
  1816  
  1817  // UpdateActive sets the "active" field to the value that was provided on create.
  1818  func (u *UserUpsertBulk) UpdateActive() *UserUpsertBulk {
  1819  	return u.Update(func(s *UserUpsert) {
  1820  		s.UpdateActive()
  1821  	})
  1822  }
  1823  
  1824  // SetAvatarImageID sets the "avatar_image_id" field.
  1825  func (u *UserUpsertBulk) SetAvatarImageID(v int) *UserUpsertBulk {
  1826  	return u.Update(func(s *UserUpsert) {
  1827  		s.SetAvatarImageID(v)
  1828  	})
  1829  }
  1830  
  1831  // UpdateAvatarImageID sets the "avatar_image_id" field to the value that was provided on create.
  1832  func (u *UserUpsertBulk) UpdateAvatarImageID() *UserUpsertBulk {
  1833  	return u.Update(func(s *UserUpsert) {
  1834  		s.UpdateAvatarImageID()
  1835  	})
  1836  }
  1837  
  1838  // ClearAvatarImageID clears the value of the "avatar_image_id" field.
  1839  func (u *UserUpsertBulk) ClearAvatarImageID() *UserUpsertBulk {
  1840  	return u.Update(func(s *UserUpsert) {
  1841  		s.ClearAvatarImageID()
  1842  	})
  1843  }
  1844  
  1845  // Exec executes the query.
  1846  func (u *UserUpsertBulk) Exec(ctx context.Context) error {
  1847  	for i, b := range u.create.builders {
  1848  		if len(b.conflict) != 0 {
  1849  			return fmt.Errorf("ent: OnConflict was set for builder %d. Set it on the UserCreateBulk instead", i)
  1850  		}
  1851  	}
  1852  	if len(u.create.conflict) == 0 {
  1853  		return errors.New("ent: missing options for UserCreateBulk.OnConflict")
  1854  	}
  1855  	return u.create.Exec(ctx)
  1856  }
  1857  
  1858  // ExecX is like Exec, but panics if an error occurs.
  1859  func (u *UserUpsertBulk) ExecX(ctx context.Context) {
  1860  	if err := u.create.Exec(ctx); err != nil {
  1861  		panic(err)
  1862  	}
  1863  }