1
0
api/ent/users_create.go
2022-08-31 15:18:14 +09:00

675 lines
16 KiB
Go

// 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)
}
}