// Code generated by ent, DO NOT EDIT. package ent import ( "context" "errors" "fmt" "time" "wechat-api/ent/creditbalance" "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" "entgo.io/ent/schema/field" ) // CreditBalanceCreate is the builder for creating a CreditBalance entity. type CreditBalanceCreate struct { config mutation *CreditBalanceMutation hooks []Hook conflict []sql.ConflictOption } // SetCreatedAt sets the "created_at" field. func (cbc *CreditBalanceCreate) SetCreatedAt(t time.Time) *CreditBalanceCreate { cbc.mutation.SetCreatedAt(t) return cbc } // SetNillableCreatedAt sets the "created_at" field if the given value is not nil. func (cbc *CreditBalanceCreate) SetNillableCreatedAt(t *time.Time) *CreditBalanceCreate { if t != nil { cbc.SetCreatedAt(*t) } return cbc } // SetUpdatedAt sets the "updated_at" field. func (cbc *CreditBalanceCreate) SetUpdatedAt(t time.Time) *CreditBalanceCreate { cbc.mutation.SetUpdatedAt(t) return cbc } // SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil. func (cbc *CreditBalanceCreate) SetNillableUpdatedAt(t *time.Time) *CreditBalanceCreate { if t != nil { cbc.SetUpdatedAt(*t) } return cbc } // SetDeletedAt sets the "deleted_at" field. func (cbc *CreditBalanceCreate) SetDeletedAt(t time.Time) *CreditBalanceCreate { cbc.mutation.SetDeletedAt(t) return cbc } // SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil. func (cbc *CreditBalanceCreate) SetNillableDeletedAt(t *time.Time) *CreditBalanceCreate { if t != nil { cbc.SetDeletedAt(*t) } return cbc } // SetUserID sets the "user_id" field. func (cbc *CreditBalanceCreate) SetUserID(s string) *CreditBalanceCreate { cbc.mutation.SetUserID(s) return cbc } // SetNillableUserID sets the "user_id" field if the given value is not nil. func (cbc *CreditBalanceCreate) SetNillableUserID(s *string) *CreditBalanceCreate { if s != nil { cbc.SetUserID(*s) } return cbc } // SetBalance sets the "balance" field. func (cbc *CreditBalanceCreate) SetBalance(f float32) *CreditBalanceCreate { cbc.mutation.SetBalance(f) return cbc } // SetStatus sets the "status" field. func (cbc *CreditBalanceCreate) SetStatus(i int) *CreditBalanceCreate { cbc.mutation.SetStatus(i) return cbc } // SetNillableStatus sets the "status" field if the given value is not nil. func (cbc *CreditBalanceCreate) SetNillableStatus(i *int) *CreditBalanceCreate { if i != nil { cbc.SetStatus(*i) } return cbc } // SetOrganizationID sets the "organization_id" field. func (cbc *CreditBalanceCreate) SetOrganizationID(u uint64) *CreditBalanceCreate { cbc.mutation.SetOrganizationID(u) return cbc } // SetNillableOrganizationID sets the "organization_id" field if the given value is not nil. func (cbc *CreditBalanceCreate) SetNillableOrganizationID(u *uint64) *CreditBalanceCreate { if u != nil { cbc.SetOrganizationID(*u) } return cbc } // SetID sets the "id" field. func (cbc *CreditBalanceCreate) SetID(u uint64) *CreditBalanceCreate { cbc.mutation.SetID(u) return cbc } // Mutation returns the CreditBalanceMutation object of the builder. func (cbc *CreditBalanceCreate) Mutation() *CreditBalanceMutation { return cbc.mutation } // Save creates the CreditBalance in the database. func (cbc *CreditBalanceCreate) Save(ctx context.Context) (*CreditBalance, error) { if err := cbc.defaults(); err != nil { return nil, err } return withHooks(ctx, cbc.sqlSave, cbc.mutation, cbc.hooks) } // SaveX calls Save and panics if Save returns an error. func (cbc *CreditBalanceCreate) SaveX(ctx context.Context) *CreditBalance { v, err := cbc.Save(ctx) if err != nil { panic(err) } return v } // Exec executes the query. func (cbc *CreditBalanceCreate) Exec(ctx context.Context) error { _, err := cbc.Save(ctx) return err } // ExecX is like Exec, but panics if an error occurs. func (cbc *CreditBalanceCreate) ExecX(ctx context.Context) { if err := cbc.Exec(ctx); err != nil { panic(err) } } // defaults sets the default values of the builder before save. func (cbc *CreditBalanceCreate) defaults() error { if _, ok := cbc.mutation.CreatedAt(); !ok { if creditbalance.DefaultCreatedAt == nil { return fmt.Errorf("ent: uninitialized creditbalance.DefaultCreatedAt (forgotten import ent/runtime?)") } v := creditbalance.DefaultCreatedAt() cbc.mutation.SetCreatedAt(v) } if _, ok := cbc.mutation.UpdatedAt(); !ok { if creditbalance.DefaultUpdatedAt == nil { return fmt.Errorf("ent: uninitialized creditbalance.DefaultUpdatedAt (forgotten import ent/runtime?)") } v := creditbalance.DefaultUpdatedAt() cbc.mutation.SetUpdatedAt(v) } if _, ok := cbc.mutation.Status(); !ok { v := creditbalance.DefaultStatus cbc.mutation.SetStatus(v) } return nil } // check runs all checks and user-defined validators on the builder. func (cbc *CreditBalanceCreate) check() error { if _, ok := cbc.mutation.CreatedAt(); !ok { return &ValidationError{Name: "created_at", err: errors.New(`ent: missing required field "CreditBalance.created_at"`)} } if _, ok := cbc.mutation.UpdatedAt(); !ok { return &ValidationError{Name: "updated_at", err: errors.New(`ent: missing required field "CreditBalance.updated_at"`)} } if _, ok := cbc.mutation.Balance(); !ok { return &ValidationError{Name: "balance", err: errors.New(`ent: missing required field "CreditBalance.balance"`)} } if v, ok := cbc.mutation.Status(); ok { if err := creditbalance.StatusValidator(v); err != nil { return &ValidationError{Name: "status", err: fmt.Errorf(`ent: validator failed for field "CreditBalance.status": %w`, err)} } } return nil } func (cbc *CreditBalanceCreate) sqlSave(ctx context.Context) (*CreditBalance, error) { if err := cbc.check(); err != nil { return nil, err } _node, _spec := cbc.createSpec() if err := sqlgraph.CreateNode(ctx, cbc.driver, _spec); err != nil { if sqlgraph.IsConstraintError(err) { err = &ConstraintError{msg: err.Error(), wrap: err} } return nil, err } if _spec.ID.Value != _node.ID { id := _spec.ID.Value.(int64) _node.ID = uint64(id) } cbc.mutation.id = &_node.ID cbc.mutation.done = true return _node, nil } func (cbc *CreditBalanceCreate) createSpec() (*CreditBalance, *sqlgraph.CreateSpec) { var ( _node = &CreditBalance{config: cbc.config} _spec = sqlgraph.NewCreateSpec(creditbalance.Table, sqlgraph.NewFieldSpec(creditbalance.FieldID, field.TypeUint64)) ) _spec.OnConflict = cbc.conflict if id, ok := cbc.mutation.ID(); ok { _node.ID = id _spec.ID.Value = id } if value, ok := cbc.mutation.CreatedAt(); ok { _spec.SetField(creditbalance.FieldCreatedAt, field.TypeTime, value) _node.CreatedAt = value } if value, ok := cbc.mutation.UpdatedAt(); ok { _spec.SetField(creditbalance.FieldUpdatedAt, field.TypeTime, value) _node.UpdatedAt = value } if value, ok := cbc.mutation.DeletedAt(); ok { _spec.SetField(creditbalance.FieldDeletedAt, field.TypeTime, value) _node.DeletedAt = value } if value, ok := cbc.mutation.UserID(); ok { _spec.SetField(creditbalance.FieldUserID, field.TypeString, value) _node.UserID = value } if value, ok := cbc.mutation.Balance(); ok { _spec.SetField(creditbalance.FieldBalance, field.TypeFloat32, value) _node.Balance = value } if value, ok := cbc.mutation.Status(); ok { _spec.SetField(creditbalance.FieldStatus, field.TypeInt, value) _node.Status = value } if value, ok := cbc.mutation.OrganizationID(); ok { _spec.SetField(creditbalance.FieldOrganizationID, field.TypeUint64, value) _node.OrganizationID = value } return _node, _spec } // OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause // of the `INSERT` statement. For example: // // client.CreditBalance.Create(). // SetCreatedAt(v). // OnConflict( // // Update the row with the new values // // the was proposed for insertion. // sql.ResolveWithNewValues(), // ). // // Override some of the fields with custom // // update values. // Update(func(u *ent.CreditBalanceUpsert) { // SetCreatedAt(v+v). // }). // Exec(ctx) func (cbc *CreditBalanceCreate) OnConflict(opts ...sql.ConflictOption) *CreditBalanceUpsertOne { cbc.conflict = opts return &CreditBalanceUpsertOne{ create: cbc, } } // OnConflictColumns calls `OnConflict` and configures the columns // as conflict target. Using this option is equivalent to using: // // client.CreditBalance.Create(). // OnConflict(sql.ConflictColumns(columns...)). // Exec(ctx) func (cbc *CreditBalanceCreate) OnConflictColumns(columns ...string) *CreditBalanceUpsertOne { cbc.conflict = append(cbc.conflict, sql.ConflictColumns(columns...)) return &CreditBalanceUpsertOne{ create: cbc, } } type ( // CreditBalanceUpsertOne is the builder for "upsert"-ing // one CreditBalance node. CreditBalanceUpsertOne struct { create *CreditBalanceCreate } // CreditBalanceUpsert is the "OnConflict" setter. CreditBalanceUpsert struct { *sql.UpdateSet } ) // SetUpdatedAt sets the "updated_at" field. func (u *CreditBalanceUpsert) SetUpdatedAt(v time.Time) *CreditBalanceUpsert { u.Set(creditbalance.FieldUpdatedAt, v) return u } // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create. func (u *CreditBalanceUpsert) UpdateUpdatedAt() *CreditBalanceUpsert { u.SetExcluded(creditbalance.FieldUpdatedAt) return u } // SetDeletedAt sets the "deleted_at" field. func (u *CreditBalanceUpsert) SetDeletedAt(v time.Time) *CreditBalanceUpsert { u.Set(creditbalance.FieldDeletedAt, v) return u } // UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create. func (u *CreditBalanceUpsert) UpdateDeletedAt() *CreditBalanceUpsert { u.SetExcluded(creditbalance.FieldDeletedAt) return u } // ClearDeletedAt clears the value of the "deleted_at" field. func (u *CreditBalanceUpsert) ClearDeletedAt() *CreditBalanceUpsert { u.SetNull(creditbalance.FieldDeletedAt) return u } // SetUserID sets the "user_id" field. func (u *CreditBalanceUpsert) SetUserID(v string) *CreditBalanceUpsert { u.Set(creditbalance.FieldUserID, v) return u } // UpdateUserID sets the "user_id" field to the value that was provided on create. func (u *CreditBalanceUpsert) UpdateUserID() *CreditBalanceUpsert { u.SetExcluded(creditbalance.FieldUserID) return u } // ClearUserID clears the value of the "user_id" field. func (u *CreditBalanceUpsert) ClearUserID() *CreditBalanceUpsert { u.SetNull(creditbalance.FieldUserID) return u } // SetBalance sets the "balance" field. func (u *CreditBalanceUpsert) SetBalance(v float32) *CreditBalanceUpsert { u.Set(creditbalance.FieldBalance, v) return u } // UpdateBalance sets the "balance" field to the value that was provided on create. func (u *CreditBalanceUpsert) UpdateBalance() *CreditBalanceUpsert { u.SetExcluded(creditbalance.FieldBalance) return u } // AddBalance adds v to the "balance" field. func (u *CreditBalanceUpsert) AddBalance(v float32) *CreditBalanceUpsert { u.Add(creditbalance.FieldBalance, v) return u } // SetStatus sets the "status" field. func (u *CreditBalanceUpsert) SetStatus(v int) *CreditBalanceUpsert { u.Set(creditbalance.FieldStatus, v) return u } // UpdateStatus sets the "status" field to the value that was provided on create. func (u *CreditBalanceUpsert) UpdateStatus() *CreditBalanceUpsert { u.SetExcluded(creditbalance.FieldStatus) return u } // AddStatus adds v to the "status" field. func (u *CreditBalanceUpsert) AddStatus(v int) *CreditBalanceUpsert { u.Add(creditbalance.FieldStatus, v) return u } // ClearStatus clears the value of the "status" field. func (u *CreditBalanceUpsert) ClearStatus() *CreditBalanceUpsert { u.SetNull(creditbalance.FieldStatus) return u } // SetOrganizationID sets the "organization_id" field. func (u *CreditBalanceUpsert) SetOrganizationID(v uint64) *CreditBalanceUpsert { u.Set(creditbalance.FieldOrganizationID, v) return u } // UpdateOrganizationID sets the "organization_id" field to the value that was provided on create. func (u *CreditBalanceUpsert) UpdateOrganizationID() *CreditBalanceUpsert { u.SetExcluded(creditbalance.FieldOrganizationID) return u } // AddOrganizationID adds v to the "organization_id" field. func (u *CreditBalanceUpsert) AddOrganizationID(v uint64) *CreditBalanceUpsert { u.Add(creditbalance.FieldOrganizationID, v) return u } // ClearOrganizationID clears the value of the "organization_id" field. func (u *CreditBalanceUpsert) ClearOrganizationID() *CreditBalanceUpsert { u.SetNull(creditbalance.FieldOrganizationID) return u } // UpdateNewValues updates the mutable fields using the new values that were set on create except the ID field. // Using this option is equivalent to using: // // client.CreditBalance.Create(). // OnConflict( // sql.ResolveWithNewValues(), // sql.ResolveWith(func(u *sql.UpdateSet) { // u.SetIgnore(creditbalance.FieldID) // }), // ). // Exec(ctx) func (u *CreditBalanceUpsertOne) UpdateNewValues() *CreditBalanceUpsertOne { u.create.conflict = append(u.create.conflict, sql.ResolveWithNewValues()) u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(s *sql.UpdateSet) { if _, exists := u.create.mutation.ID(); exists { s.SetIgnore(creditbalance.FieldID) } if _, exists := u.create.mutation.CreatedAt(); exists { s.SetIgnore(creditbalance.FieldCreatedAt) } })) return u } // Ignore sets each column to itself in case of conflict. // Using this option is equivalent to using: // // client.CreditBalance.Create(). // OnConflict(sql.ResolveWithIgnore()). // Exec(ctx) func (u *CreditBalanceUpsertOne) Ignore() *CreditBalanceUpsertOne { u.create.conflict = append(u.create.conflict, sql.ResolveWithIgnore()) return u } // DoNothing configures the conflict_action to `DO NOTHING`. // Supported only by SQLite and PostgreSQL. func (u *CreditBalanceUpsertOne) DoNothing() *CreditBalanceUpsertOne { u.create.conflict = append(u.create.conflict, sql.DoNothing()) return u } // Update allows overriding fields `UPDATE` values. See the CreditBalanceCreate.OnConflict // documentation for more info. func (u *CreditBalanceUpsertOne) Update(set func(*CreditBalanceUpsert)) *CreditBalanceUpsertOne { u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(update *sql.UpdateSet) { set(&CreditBalanceUpsert{UpdateSet: update}) })) return u } // SetUpdatedAt sets the "updated_at" field. func (u *CreditBalanceUpsertOne) SetUpdatedAt(v time.Time) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.SetUpdatedAt(v) }) } // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create. func (u *CreditBalanceUpsertOne) UpdateUpdatedAt() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateUpdatedAt() }) } // SetDeletedAt sets the "deleted_at" field. func (u *CreditBalanceUpsertOne) SetDeletedAt(v time.Time) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.SetDeletedAt(v) }) } // UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create. func (u *CreditBalanceUpsertOne) UpdateDeletedAt() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateDeletedAt() }) } // ClearDeletedAt clears the value of the "deleted_at" field. func (u *CreditBalanceUpsertOne) ClearDeletedAt() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.ClearDeletedAt() }) } // SetUserID sets the "user_id" field. func (u *CreditBalanceUpsertOne) SetUserID(v string) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.SetUserID(v) }) } // UpdateUserID sets the "user_id" field to the value that was provided on create. func (u *CreditBalanceUpsertOne) UpdateUserID() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateUserID() }) } // ClearUserID clears the value of the "user_id" field. func (u *CreditBalanceUpsertOne) ClearUserID() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.ClearUserID() }) } // SetBalance sets the "balance" field. func (u *CreditBalanceUpsertOne) SetBalance(v float32) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.SetBalance(v) }) } // AddBalance adds v to the "balance" field. func (u *CreditBalanceUpsertOne) AddBalance(v float32) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.AddBalance(v) }) } // UpdateBalance sets the "balance" field to the value that was provided on create. func (u *CreditBalanceUpsertOne) UpdateBalance() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateBalance() }) } // SetStatus sets the "status" field. func (u *CreditBalanceUpsertOne) SetStatus(v int) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.SetStatus(v) }) } // AddStatus adds v to the "status" field. func (u *CreditBalanceUpsertOne) AddStatus(v int) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.AddStatus(v) }) } // UpdateStatus sets the "status" field to the value that was provided on create. func (u *CreditBalanceUpsertOne) UpdateStatus() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateStatus() }) } // ClearStatus clears the value of the "status" field. func (u *CreditBalanceUpsertOne) ClearStatus() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.ClearStatus() }) } // SetOrganizationID sets the "organization_id" field. func (u *CreditBalanceUpsertOne) SetOrganizationID(v uint64) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.SetOrganizationID(v) }) } // AddOrganizationID adds v to the "organization_id" field. func (u *CreditBalanceUpsertOne) AddOrganizationID(v uint64) *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.AddOrganizationID(v) }) } // UpdateOrganizationID sets the "organization_id" field to the value that was provided on create. func (u *CreditBalanceUpsertOne) UpdateOrganizationID() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateOrganizationID() }) } // ClearOrganizationID clears the value of the "organization_id" field. func (u *CreditBalanceUpsertOne) ClearOrganizationID() *CreditBalanceUpsertOne { return u.Update(func(s *CreditBalanceUpsert) { s.ClearOrganizationID() }) } // Exec executes the query. func (u *CreditBalanceUpsertOne) Exec(ctx context.Context) error { if len(u.create.conflict) == 0 { return errors.New("ent: missing options for CreditBalanceCreate.OnConflict") } return u.create.Exec(ctx) } // ExecX is like Exec, but panics if an error occurs. func (u *CreditBalanceUpsertOne) ExecX(ctx context.Context) { if err := u.create.Exec(ctx); err != nil { panic(err) } } // Exec executes the UPSERT query and returns the inserted/updated ID. func (u *CreditBalanceUpsertOne) ID(ctx context.Context) (id uint64, err error) { node, err := u.create.Save(ctx) if err != nil { return id, err } return node.ID, nil } // IDX is like ID, but panics if an error occurs. func (u *CreditBalanceUpsertOne) IDX(ctx context.Context) uint64 { id, err := u.ID(ctx) if err != nil { panic(err) } return id } // CreditBalanceCreateBulk is the builder for creating many CreditBalance entities in bulk. type CreditBalanceCreateBulk struct { config err error builders []*CreditBalanceCreate conflict []sql.ConflictOption } // Save creates the CreditBalance entities in the database. func (cbcb *CreditBalanceCreateBulk) Save(ctx context.Context) ([]*CreditBalance, error) { if cbcb.err != nil { return nil, cbcb.err } specs := make([]*sqlgraph.CreateSpec, len(cbcb.builders)) nodes := make([]*CreditBalance, len(cbcb.builders)) mutators := make([]Mutator, len(cbcb.builders)) for i := range cbcb.builders { func(i int, root context.Context) { builder := cbcb.builders[i] builder.defaults() var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) { mutation, ok := m.(*CreditBalanceMutation) if !ok { return nil, fmt.Errorf("unexpected mutation type %T", m) } if err := builder.check(); err != nil { return nil, err } builder.mutation = mutation var err error nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, cbcb.builders[i+1].mutation) } else { spec := &sqlgraph.BatchCreateSpec{Nodes: specs} spec.OnConflict = cbcb.conflict // Invoke the actual operation on the latest mutation in the chain. if err = sqlgraph.BatchCreate(ctx, cbcb.driver, spec); err != nil { if sqlgraph.IsConstraintError(err) { err = &ConstraintError{msg: err.Error(), wrap: err} } } } if err != nil { return nil, err } mutation.id = &nodes[i].ID if specs[i].ID.Value != nil && nodes[i].ID == 0 { id := specs[i].ID.Value.(int64) nodes[i].ID = uint64(id) } mutation.done = true 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, cbcb.builders[0].mutation); err != nil { return nil, err } } return nodes, nil } // SaveX is like Save, but panics if an error occurs. func (cbcb *CreditBalanceCreateBulk) SaveX(ctx context.Context) []*CreditBalance { v, err := cbcb.Save(ctx) if err != nil { panic(err) } return v } // Exec executes the query. func (cbcb *CreditBalanceCreateBulk) Exec(ctx context.Context) error { _, err := cbcb.Save(ctx) return err } // ExecX is like Exec, but panics if an error occurs. func (cbcb *CreditBalanceCreateBulk) ExecX(ctx context.Context) { if err := cbcb.Exec(ctx); err != nil { panic(err) } } // OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause // of the `INSERT` statement. For example: // // client.CreditBalance.CreateBulk(builders...). // OnConflict( // // Update the row with the new values // // the was proposed for insertion. // sql.ResolveWithNewValues(), // ). // // Override some of the fields with custom // // update values. // Update(func(u *ent.CreditBalanceUpsert) { // SetCreatedAt(v+v). // }). // Exec(ctx) func (cbcb *CreditBalanceCreateBulk) OnConflict(opts ...sql.ConflictOption) *CreditBalanceUpsertBulk { cbcb.conflict = opts return &CreditBalanceUpsertBulk{ create: cbcb, } } // OnConflictColumns calls `OnConflict` and configures the columns // as conflict target. Using this option is equivalent to using: // // client.CreditBalance.Create(). // OnConflict(sql.ConflictColumns(columns...)). // Exec(ctx) func (cbcb *CreditBalanceCreateBulk) OnConflictColumns(columns ...string) *CreditBalanceUpsertBulk { cbcb.conflict = append(cbcb.conflict, sql.ConflictColumns(columns...)) return &CreditBalanceUpsertBulk{ create: cbcb, } } // CreditBalanceUpsertBulk is the builder for "upsert"-ing // a bulk of CreditBalance nodes. type CreditBalanceUpsertBulk struct { create *CreditBalanceCreateBulk } // UpdateNewValues updates the mutable fields using the new values that // were set on create. Using this option is equivalent to using: // // client.CreditBalance.Create(). // OnConflict( // sql.ResolveWithNewValues(), // sql.ResolveWith(func(u *sql.UpdateSet) { // u.SetIgnore(creditbalance.FieldID) // }), // ). // Exec(ctx) func (u *CreditBalanceUpsertBulk) UpdateNewValues() *CreditBalanceUpsertBulk { u.create.conflict = append(u.create.conflict, sql.ResolveWithNewValues()) u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(s *sql.UpdateSet) { for _, b := range u.create.builders { if _, exists := b.mutation.ID(); exists { s.SetIgnore(creditbalance.FieldID) } if _, exists := b.mutation.CreatedAt(); exists { s.SetIgnore(creditbalance.FieldCreatedAt) } } })) return u } // Ignore sets each column to itself in case of conflict. // Using this option is equivalent to using: // // client.CreditBalance.Create(). // OnConflict(sql.ResolveWithIgnore()). // Exec(ctx) func (u *CreditBalanceUpsertBulk) Ignore() *CreditBalanceUpsertBulk { u.create.conflict = append(u.create.conflict, sql.ResolveWithIgnore()) return u } // DoNothing configures the conflict_action to `DO NOTHING`. // Supported only by SQLite and PostgreSQL. func (u *CreditBalanceUpsertBulk) DoNothing() *CreditBalanceUpsertBulk { u.create.conflict = append(u.create.conflict, sql.DoNothing()) return u } // Update allows overriding fields `UPDATE` values. See the CreditBalanceCreateBulk.OnConflict // documentation for more info. func (u *CreditBalanceUpsertBulk) Update(set func(*CreditBalanceUpsert)) *CreditBalanceUpsertBulk { u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(update *sql.UpdateSet) { set(&CreditBalanceUpsert{UpdateSet: update}) })) return u } // SetUpdatedAt sets the "updated_at" field. func (u *CreditBalanceUpsertBulk) SetUpdatedAt(v time.Time) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.SetUpdatedAt(v) }) } // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create. func (u *CreditBalanceUpsertBulk) UpdateUpdatedAt() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateUpdatedAt() }) } // SetDeletedAt sets the "deleted_at" field. func (u *CreditBalanceUpsertBulk) SetDeletedAt(v time.Time) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.SetDeletedAt(v) }) } // UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create. func (u *CreditBalanceUpsertBulk) UpdateDeletedAt() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateDeletedAt() }) } // ClearDeletedAt clears the value of the "deleted_at" field. func (u *CreditBalanceUpsertBulk) ClearDeletedAt() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.ClearDeletedAt() }) } // SetUserID sets the "user_id" field. func (u *CreditBalanceUpsertBulk) SetUserID(v string) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.SetUserID(v) }) } // UpdateUserID sets the "user_id" field to the value that was provided on create. func (u *CreditBalanceUpsertBulk) UpdateUserID() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateUserID() }) } // ClearUserID clears the value of the "user_id" field. func (u *CreditBalanceUpsertBulk) ClearUserID() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.ClearUserID() }) } // SetBalance sets the "balance" field. func (u *CreditBalanceUpsertBulk) SetBalance(v float32) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.SetBalance(v) }) } // AddBalance adds v to the "balance" field. func (u *CreditBalanceUpsertBulk) AddBalance(v float32) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.AddBalance(v) }) } // UpdateBalance sets the "balance" field to the value that was provided on create. func (u *CreditBalanceUpsertBulk) UpdateBalance() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateBalance() }) } // SetStatus sets the "status" field. func (u *CreditBalanceUpsertBulk) SetStatus(v int) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.SetStatus(v) }) } // AddStatus adds v to the "status" field. func (u *CreditBalanceUpsertBulk) AddStatus(v int) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.AddStatus(v) }) } // UpdateStatus sets the "status" field to the value that was provided on create. func (u *CreditBalanceUpsertBulk) UpdateStatus() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateStatus() }) } // ClearStatus clears the value of the "status" field. func (u *CreditBalanceUpsertBulk) ClearStatus() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.ClearStatus() }) } // SetOrganizationID sets the "organization_id" field. func (u *CreditBalanceUpsertBulk) SetOrganizationID(v uint64) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.SetOrganizationID(v) }) } // AddOrganizationID adds v to the "organization_id" field. func (u *CreditBalanceUpsertBulk) AddOrganizationID(v uint64) *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.AddOrganizationID(v) }) } // UpdateOrganizationID sets the "organization_id" field to the value that was provided on create. func (u *CreditBalanceUpsertBulk) UpdateOrganizationID() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.UpdateOrganizationID() }) } // ClearOrganizationID clears the value of the "organization_id" field. func (u *CreditBalanceUpsertBulk) ClearOrganizationID() *CreditBalanceUpsertBulk { return u.Update(func(s *CreditBalanceUpsert) { s.ClearOrganizationID() }) } // Exec executes the query. func (u *CreditBalanceUpsertBulk) Exec(ctx context.Context) error { if u.create.err != nil { return u.create.err } for i, b := range u.create.builders { if len(b.conflict) != 0 { return fmt.Errorf("ent: OnConflict was set for builder %d. Set it on the CreditBalanceCreateBulk instead", i) } } if len(u.create.conflict) == 0 { return errors.New("ent: missing options for CreditBalanceCreateBulk.OnConflict") } return u.create.Exec(ctx) } // ExecX is like Exec, but panics if an error occurs. func (u *CreditBalanceUpsertBulk) ExecX(ctx context.Context) { if err := u.create.Exec(ctx); err != nil { panic(err) } }