mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
@@ -56,14 +56,14 @@ func (pc *PetCreate) Mutation() *PetMutation {
|
||||
|
||||
// Save creates the Pet in the database.
|
||||
func (pc *PetCreate) Save(ctx context.Context) (*Pet, error) {
|
||||
if err := pc.preSave(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var (
|
||||
err error
|
||||
node *Pet
|
||||
)
|
||||
if len(pc.hooks) == 0 {
|
||||
if err = pc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
node, err = pc.sqlSave(ctx)
|
||||
} else {
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
@@ -71,6 +71,9 @@ func (pc *PetCreate) Save(ctx context.Context) (*Pet, error) {
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||
}
|
||||
if err = pc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
pc.mutation = mutation
|
||||
node, err = pc.sqlSave(ctx)
|
||||
mutation.done = true
|
||||
@@ -95,7 +98,8 @@ func (pc *PetCreate) SaveX(ctx context.Context) *Pet {
|
||||
return v
|
||||
}
|
||||
|
||||
func (pc *PetCreate) preSave() error {
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (pc *PetCreate) check() error {
|
||||
if _, ok := pc.mutation.Name(); !ok {
|
||||
return &ValidationError{Name: "name", err: errors.New("ent: missing required field \"name\"")}
|
||||
}
|
||||
@@ -171,13 +175,13 @@ func (pcb *PetCreateBulk) Save(ctx context.Context) ([]*Pet, error) {
|
||||
func(i int, root context.Context) {
|
||||
builder := pcb.builders[i]
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
if err := builder.preSave(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mutation, ok := m.(*PetMutation)
|
||||
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
|
||||
|
||||
@@ -70,7 +70,6 @@ func (pu *PetUpdate) ClearOwner() *PetUpdate {
|
||||
|
||||
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
||||
func (pu *PetUpdate) Save(ctx context.Context) (int, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
affected int
|
||||
@@ -236,7 +235,6 @@ func (puo *PetUpdateOne) ClearOwner() *PetUpdateOne {
|
||||
|
||||
// Save executes the query and returns the updated entity.
|
||||
func (puo *PetUpdateOne) Save(ctx context.Context) (*Pet, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
node *Pet
|
||||
|
||||
@@ -58,14 +58,14 @@ func (uc *UserCreate) Mutation() *UserMutation {
|
||||
|
||||
// Save creates the User in the database.
|
||||
func (uc *UserCreate) Save(ctx context.Context) (*User, error) {
|
||||
if err := uc.preSave(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var (
|
||||
err error
|
||||
node *User
|
||||
)
|
||||
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) {
|
||||
@@ -73,6 +73,9 @@ func (uc *UserCreate) Save(ctx context.Context) (*User, error) {
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||
}
|
||||
if err = uc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
uc.mutation = mutation
|
||||
node, err = uc.sqlSave(ctx)
|
||||
mutation.done = true
|
||||
@@ -97,7 +100,8 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User {
|
||||
return v
|
||||
}
|
||||
|
||||
func (uc *UserCreate) preSave() error {
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (uc *UserCreate) check() error {
|
||||
if _, ok := uc.mutation.Age(); !ok {
|
||||
return &ValidationError{Name: "age", err: errors.New("ent: missing required field \"age\"")}
|
||||
}
|
||||
@@ -184,13 +188,13 @@ func (ucb *UserCreateBulk) Save(ctx context.Context) ([]*User, error) {
|
||||
func(i int, root context.Context) {
|
||||
builder := ucb.builders[i]
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
if err := builder.preSave(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mutation, ok := m.(*UserMutation)
|
||||
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
|
||||
|
||||
@@ -94,7 +94,6 @@ func (uu *UserUpdate) RemovePets(p ...*Pet) *UserUpdate {
|
||||
|
||||
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
||||
func (uu *UserUpdate) Save(ctx context.Context) (int, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
affected int
|
||||
@@ -317,7 +316,6 @@ func (uuo *UserUpdateOne) RemovePets(p ...*Pet) *UserUpdateOne {
|
||||
|
||||
// Save executes the query and returns the updated entity.
|
||||
func (uuo *UserUpdateOne) Save(ctx context.Context) (*User, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
node *User
|
||||
|
||||
Reference in New Issue
Block a user