// Code generated by entc, DO NOT EDIT. package ent import ( "context" "errors" "fmt" "t/ent/users" "time" "entgo.io/ent/dialect/sql/sqlgraph" "entgo.io/ent/schema/field" ) // UsersCreate is the builder for creating a Users entity. type UsersCreate struct { config mutation *UsersMutation hooks []Hook } // SetUser sets the "user" field. func (uc *UsersCreate) SetUser(s string) *UsersCreate { uc.mutation.SetUser(s) return uc } // SetChara sets the "chara" field. func (uc *UsersCreate) SetChara(s string) *UsersCreate { uc.mutation.SetChara(s) return uc } // SetNillableChara sets the "chara" field if the given value is not nil. func (uc *UsersCreate) SetNillableChara(s *string) *UsersCreate { if s != nil { uc.SetChara(*s) } return uc } // SetSkill sets the "skill" field. func (uc *UsersCreate) SetSkill(i int) *UsersCreate { uc.mutation.SetSkill(i) return uc } // SetNillableSkill sets the "skill" field if the given value is not nil. func (uc *UsersCreate) SetNillableSkill(i *int) *UsersCreate { if i != nil { uc.SetSkill(*i) } return uc } // SetHp sets the "hp" field. func (uc *UsersCreate) SetHp(i int) *UsersCreate { uc.mutation.SetHp(i) return uc } // SetNillableHp sets the "hp" field if the given value is not nil. func (uc *UsersCreate) SetNillableHp(i *int) *UsersCreate { if i != nil { uc.SetHp(*i) } return uc } // SetAttack sets the "attack" field. func (uc *UsersCreate) SetAttack(i int) *UsersCreate { uc.mutation.SetAttack(i) return uc } // SetNillableAttack sets the "attack" field if the given value is not nil. func (uc *UsersCreate) SetNillableAttack(i *int) *UsersCreate { if i != nil { uc.SetAttack(*i) } return uc } // SetDefense sets the "defense" field. func (uc *UsersCreate) SetDefense(i int) *UsersCreate { uc.mutation.SetDefense(i) return uc } // SetNillableDefense sets the "defense" field if the given value is not nil. func (uc *UsersCreate) SetNillableDefense(i *int) *UsersCreate { if i != nil { uc.SetDefense(*i) } return uc } // SetCritical sets the "critical" field. func (uc *UsersCreate) SetCritical(i int) *UsersCreate { uc.mutation.SetCritical(i) return uc } // SetNillableCritical sets the "critical" field if the given value is not nil. func (uc *UsersCreate) SetNillableCritical(i *int) *UsersCreate { if i != nil { uc.SetCritical(*i) } return uc } // SetBattle sets the "battle" field. func (uc *UsersCreate) SetBattle(i int) *UsersCreate { uc.mutation.SetBattle(i) return uc } // SetNillableBattle sets the "battle" field if the given value is not nil. func (uc *UsersCreate) SetNillableBattle(i *int) *UsersCreate { if i != nil { uc.SetBattle(*i) } return uc } // SetWin sets the "win" field. func (uc *UsersCreate) SetWin(i int) *UsersCreate { uc.mutation.SetWin(i) return uc } // SetNillableWin sets the "win" field if the given value is not nil. func (uc *UsersCreate) SetNillableWin(i *int) *UsersCreate { if i != nil { uc.SetWin(*i) } return uc } // SetDay sets the "day" field. func (uc *UsersCreate) SetDay(i int) *UsersCreate { uc.mutation.SetDay(i) return uc } // SetNillableDay sets the "day" field if the given value is not nil. func (uc *UsersCreate) SetNillableDay(i *int) *UsersCreate { if i != nil { uc.SetDay(*i) } return uc } // SetPercentage sets the "percentage" field. func (uc *UsersCreate) SetPercentage(f float64) *UsersCreate { uc.mutation.SetPercentage(f) return uc } // SetNillablePercentage sets the "percentage" field if the given value is not nil. func (uc *UsersCreate) SetNillablePercentage(f *float64) *UsersCreate { if f != nil { uc.SetPercentage(*f) } return uc } // SetLimit sets the "limit" field. func (uc *UsersCreate) SetLimit(b bool) *UsersCreate { uc.mutation.SetLimit(b) return uc } // SetNillableLimit sets the "limit" field if the given value is not nil. func (uc *UsersCreate) SetNillableLimit(b *bool) *UsersCreate { if b != nil { uc.SetLimit(*b) } return uc } // SetStatus sets the "status" field. func (uc *UsersCreate) SetStatus(s string) *UsersCreate { uc.mutation.SetStatus(s) return uc } // SetNillableStatus sets the "status" field if the given value is not nil. func (uc *UsersCreate) SetNillableStatus(s *string) *UsersCreate { if s != nil { uc.SetStatus(*s) } return uc } // SetComment sets the "comment" field. func (uc *UsersCreate) SetComment(s string) *UsersCreate { uc.mutation.SetComment(s) return uc } // SetNillableComment sets the "comment" field if the given value is not nil. func (uc *UsersCreate) SetNillableComment(s *string) *UsersCreate { if s != nil { uc.SetComment(*s) } return uc } // SetCreatedAt sets the "created_at" field. func (uc *UsersCreate) SetCreatedAt(t time.Time) *UsersCreate { uc.mutation.SetCreatedAt(t) return uc } // SetNillableCreatedAt sets the "created_at" field if the given value is not nil. func (uc *UsersCreate) SetNillableCreatedAt(t *time.Time) *UsersCreate { if t != nil { uc.SetCreatedAt(*t) } return uc } // SetNext sets the "next" field. func (uc *UsersCreate) SetNext(s string) *UsersCreate { uc.mutation.SetNext(s) return uc } // SetNillableNext sets the "next" field if the given value is not nil. func (uc *UsersCreate) SetNillableNext(s *string) *UsersCreate { if s != nil { uc.SetNext(*s) } return uc } // SetUpdatedAt sets the "updated_at" field. func (uc *UsersCreate) SetUpdatedAt(t time.Time) *UsersCreate { uc.mutation.SetUpdatedAt(t) return uc } // SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil. func (uc *UsersCreate) SetNillableUpdatedAt(t *time.Time) *UsersCreate { if t != nil { uc.SetUpdatedAt(*t) } return uc } // SetURL sets the "url" field. func (uc *UsersCreate) SetURL(s string) *UsersCreate { uc.mutation.SetURL(s) return uc } // SetNillableURL sets the "url" field if the given value is not nil. func (uc *UsersCreate) SetNillableURL(s *string) *UsersCreate { if s != nil { uc.SetURL(*s) } return uc } // Mutation returns the UsersMutation object of the builder. func (uc *UsersCreate) Mutation() *UsersMutation { return uc.mutation } // Save creates the Users in the database. func (uc *UsersCreate) Save(ctx context.Context) (*Users, error) { var ( err error node *Users ) uc.defaults() if len(uc.hooks) == 0 { if err = uc.check(); err != nil { return nil, err } node, err = uc.sqlSave(ctx) } else { var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) { mutation, ok := m.(*UsersMutation) if !ok { return nil, fmt.Errorf("unexpected mutation type %T", m) } if err = uc.check(); err != nil { return nil, err } uc.mutation = mutation if node, err = uc.sqlSave(ctx); err != nil { return nil, err } mutation.id = &node.ID mutation.done = true return node, err }) for i := len(uc.hooks) - 1; i >= 0; i-- { if uc.hooks[i] == nil { return nil, fmt.Errorf("ent: uninitialized hook (forgotten import ent/runtime?)") } mut = uc.hooks[i](mut) } if _, err := mut.Mutate(ctx, uc.mutation); err != nil { return nil, err } } return node, err } // SaveX calls Save and panics if Save returns an error. func (uc *UsersCreate) SaveX(ctx context.Context) *Users { v, err := uc.Save(ctx) if err != nil { panic(err) } return v } // Exec executes the query. func (uc *UsersCreate) Exec(ctx context.Context) error { _, err := uc.Save(ctx) return err } // ExecX is like Exec, but panics if an error occurs. func (uc *UsersCreate) ExecX(ctx context.Context) { if err := uc.Exec(ctx); err != nil { panic(err) } } // defaults sets the default values of the builder before save. func (uc *UsersCreate) defaults() { if _, ok := uc.mutation.Chara(); !ok { v := users.DefaultChara uc.mutation.SetChara(v) } if _, ok := uc.mutation.Skill(); !ok { v := users.DefaultSkill uc.mutation.SetSkill(v) } if _, ok := uc.mutation.Hp(); !ok { v := users.DefaultHp uc.mutation.SetHp(v) } if _, ok := uc.mutation.Attack(); !ok { v := users.DefaultAttack uc.mutation.SetAttack(v) } if _, ok := uc.mutation.Defense(); !ok { v := users.DefaultDefense uc.mutation.SetDefense(v) } if _, ok := uc.mutation.Critical(); !ok { v := users.DefaultCritical uc.mutation.SetCritical(v) } if _, ok := uc.mutation.Battle(); !ok { v := users.DefaultBattle uc.mutation.SetBattle(v) } if _, ok := uc.mutation.Win(); !ok { v := users.DefaultWin uc.mutation.SetWin(v) } if _, ok := uc.mutation.Day(); !ok { v := users.DefaultDay uc.mutation.SetDay(v) } if _, ok := uc.mutation.Percentage(); !ok { v := users.DefaultPercentage uc.mutation.SetPercentage(v) } if _, ok := uc.mutation.Limit(); !ok { v := users.DefaultLimit uc.mutation.SetLimit(v) } if _, ok := uc.mutation.Status(); !ok { v := users.DefaultStatus uc.mutation.SetStatus(v) } if _, ok := uc.mutation.Comment(); !ok { v := users.DefaultComment uc.mutation.SetComment(v) } if _, ok := uc.mutation.CreatedAt(); !ok { v := users.DefaultCreatedAt() uc.mutation.SetCreatedAt(v) } if _, ok := uc.mutation.Next(); !ok { v := users.DefaultNext uc.mutation.SetNext(v) } if _, ok := uc.mutation.UpdatedAt(); !ok { v := users.DefaultUpdatedAt() uc.mutation.SetUpdatedAt(v) } if _, ok := uc.mutation.URL(); !ok { v := users.DefaultURL uc.mutation.SetURL(v) } } // check runs all checks and user-defined validators on the builder. func (uc *UsersCreate) check() error { if _, ok := uc.mutation.User(); !ok { return &ValidationError{Name: "user", err: errors.New(`ent: missing required field "Users.user"`)} } if v, ok := uc.mutation.User(); ok { if err := users.UserValidator(v); err != nil { return &ValidationError{Name: "user", err: fmt.Errorf(`ent: validator failed for field "Users.user": %w`, err)} } } return nil } func (uc *UsersCreate) sqlSave(ctx context.Context) (*Users, error) { _node, _spec := uc.createSpec() if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { if sqlgraph.IsConstraintError(err) { err = &ConstraintError{err.Error(), err} } return nil, err } id := _spec.ID.Value.(int64) _node.ID = int(id) return _node, nil } func (uc *UsersCreate) createSpec() (*Users, *sqlgraph.CreateSpec) { var ( _node = &Users{config: uc.config} _spec = &sqlgraph.CreateSpec{ Table: users.Table, ID: &sqlgraph.FieldSpec{ Type: field.TypeInt, Column: users.FieldID, }, } ) if value, ok := uc.mutation.User(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeString, Value: value, Column: users.FieldUser, }) _node.User = value } if value, ok := uc.mutation.Chara(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeString, Value: value, Column: users.FieldChara, }) _node.Chara = value } if value, ok := uc.mutation.Skill(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeInt, Value: value, Column: users.FieldSkill, }) _node.Skill = value } if value, ok := uc.mutation.Hp(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeInt, Value: value, Column: users.FieldHp, }) _node.Hp = value } if value, ok := uc.mutation.Attack(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeInt, Value: value, Column: users.FieldAttack, }) _node.Attack = value } if value, ok := uc.mutation.Defense(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeInt, Value: value, Column: users.FieldDefense, }) _node.Defense = value } if value, ok := uc.mutation.Critical(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeInt, Value: value, Column: users.FieldCritical, }) _node.Critical = value } if value, ok := uc.mutation.Battle(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeInt, Value: value, Column: users.FieldBattle, }) _node.Battle = value } if value, ok := uc.mutation.Win(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeInt, Value: value, Column: users.FieldWin, }) _node.Win = value } if value, ok := uc.mutation.Day(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeInt, Value: value, Column: users.FieldDay, }) _node.Day = value } if value, ok := uc.mutation.Percentage(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeFloat64, Value: value, Column: users.FieldPercentage, }) _node.Percentage = value } if value, ok := uc.mutation.Limit(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeBool, Value: value, Column: users.FieldLimit, }) _node.Limit = value } if value, ok := uc.mutation.Status(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeString, Value: value, Column: users.FieldStatus, }) _node.Status = value } if value, ok := uc.mutation.Comment(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeString, Value: value, Column: users.FieldComment, }) _node.Comment = value } if value, ok := uc.mutation.CreatedAt(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeTime, Value: value, Column: users.FieldCreatedAt, }) _node.CreatedAt = value } if value, ok := uc.mutation.Next(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeString, Value: value, Column: users.FieldNext, }) _node.Next = value } if value, ok := uc.mutation.UpdatedAt(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeTime, Value: value, Column: users.FieldUpdatedAt, }) _node.UpdatedAt = value } if value, ok := uc.mutation.URL(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeString, Value: value, Column: users.FieldURL, }) _node.URL = value } return _node, _spec } // UsersCreateBulk is the builder for creating many Users entities in bulk. type UsersCreateBulk struct { config builders []*UsersCreate } // Save creates the Users entities in the database. func (ucb *UsersCreateBulk) Save(ctx context.Context) ([]*Users, error) { specs := make([]*sqlgraph.CreateSpec, len(ucb.builders)) nodes := make([]*Users, len(ucb.builders)) mutators := make([]Mutator, len(ucb.builders)) for i := range ucb.builders { func(i int, root context.Context) { builder := ucb.builders[i] builder.defaults() var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) { mutation, ok := m.(*UsersMutation) if !ok { return nil, fmt.Errorf("unexpected mutation type %T", m) } if err := builder.check(); err != nil { return nil, err } builder.mutation = mutation nodes[i], specs[i] = builder.createSpec() var err error if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, ucb.builders[i+1].mutation) } else { spec := &sqlgraph.BatchCreateSpec{Nodes: specs} // Invoke the actual operation on the latest mutation in the chain. if err = sqlgraph.BatchCreate(ctx, ucb.driver, spec); err != nil { if sqlgraph.IsConstraintError(err) { err = &ConstraintError{err.Error(), err} } } } if err != nil { return nil, err } mutation.id = &nodes[i].ID mutation.done = true if specs[i].ID.Value != nil { id := specs[i].ID.Value.(int64) nodes[i].ID = int(id) } return nodes[i], nil }) for i := len(builder.hooks) - 1; i >= 0; i-- { mut = builder.hooks[i](mut) } mutators[i] = mut }(i, ctx) } if len(mutators) > 0 { if _, err := mutators[0].Mutate(ctx, ucb.builders[0].mutation); err != nil { return nil, err } } return nodes, nil } // SaveX is like Save, but panics if an error occurs. func (ucb *UsersCreateBulk) SaveX(ctx context.Context) []*Users { v, err := ucb.Save(ctx) if err != nil { panic(err) } return v } // Exec executes the query. func (ucb *UsersCreateBulk) Exec(ctx context.Context) error { _, err := ucb.Save(ctx) return err } // ExecX is like Exec, but panics if an error occurs. func (ucb *UsersCreateBulk) ExecX(ctx context.Context) { if err := ucb.Exec(ctx); err != nil { panic(err) } }