mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
@@ -8,6 +8,7 @@ package ent
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/facebook/ent/dialect/sql/sqlgraph"
|
||||
@@ -76,14 +77,15 @@ func (bc *BlobCreate) Mutation() *BlobMutation {
|
||||
|
||||
// Save creates the Blob in the database.
|
||||
func (bc *BlobCreate) Save(ctx context.Context) (*Blob, error) {
|
||||
if err := bc.preSave(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var (
|
||||
err error
|
||||
node *Blob
|
||||
)
|
||||
bc.defaults()
|
||||
if len(bc.hooks) == 0 {
|
||||
if err = bc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
node, err = bc.sqlSave(ctx)
|
||||
} else {
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
@@ -91,6 +93,9 @@ func (bc *BlobCreate) Save(ctx context.Context) (*Blob, error) {
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||
}
|
||||
if err = bc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
bc.mutation = mutation
|
||||
node, err = bc.sqlSave(ctx)
|
||||
mutation.done = true
|
||||
@@ -115,7 +120,8 @@ func (bc *BlobCreate) SaveX(ctx context.Context) *Blob {
|
||||
return v
|
||||
}
|
||||
|
||||
func (bc *BlobCreate) preSave() error {
|
||||
// defaults sets the default values of the builder before save.
|
||||
func (bc *BlobCreate) defaults() {
|
||||
if _, ok := bc.mutation.UUID(); !ok {
|
||||
v := blob.DefaultUUID()
|
||||
bc.mutation.SetUUID(v)
|
||||
@@ -124,6 +130,13 @@ func (bc *BlobCreate) preSave() error {
|
||||
v := blob.DefaultID()
|
||||
bc.mutation.SetID(v)
|
||||
}
|
||||
}
|
||||
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (bc *BlobCreate) check() error {
|
||||
if _, ok := bc.mutation.UUID(); !ok {
|
||||
return &ValidationError{Name: "uuid", err: errors.New("ent: missing required field \"uuid\"")}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -216,14 +229,15 @@ func (bcb *BlobCreateBulk) Save(ctx context.Context) ([]*Blob, error) {
|
||||
for i := range bcb.builders {
|
||||
func(i int, root context.Context) {
|
||||
builder := bcb.builders[i]
|
||||
builder.defaults()
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
if err := builder.preSave(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mutation, ok := m.(*BlobMutation)
|
||||
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
|
||||
|
||||
@@ -106,7 +106,6 @@ func (bu *BlobUpdate) RemoveLinks(b ...*Blob) *BlobUpdate {
|
||||
|
||||
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
||||
func (bu *BlobUpdate) Save(ctx context.Context) (int, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
affected int
|
||||
@@ -362,7 +361,6 @@ func (buo *BlobUpdateOne) RemoveLinks(b ...*Blob) *BlobUpdateOne {
|
||||
|
||||
// Save executes the query and returns the updated entity.
|
||||
func (buo *BlobUpdateOne) Save(ctx context.Context) (*Blob, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
node *Blob
|
||||
|
||||
@@ -90,14 +90,14 @@ func (cc *CarCreate) Mutation() *CarMutation {
|
||||
|
||||
// Save creates the Car in the database.
|
||||
func (cc *CarCreate) Save(ctx context.Context) (*Car, error) {
|
||||
if err := cc.preSave(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var (
|
||||
err error
|
||||
node *Car
|
||||
)
|
||||
if len(cc.hooks) == 0 {
|
||||
if err = cc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
node, err = cc.sqlSave(ctx)
|
||||
} else {
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
@@ -105,6 +105,9 @@ func (cc *CarCreate) Save(ctx context.Context) (*Car, error) {
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||
}
|
||||
if err = cc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
cc.mutation = mutation
|
||||
node, err = cc.sqlSave(ctx)
|
||||
mutation.done = true
|
||||
@@ -129,7 +132,8 @@ func (cc *CarCreate) SaveX(ctx context.Context) *Car {
|
||||
return v
|
||||
}
|
||||
|
||||
func (cc *CarCreate) preSave() error {
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (cc *CarCreate) check() error {
|
||||
if v, ok := cc.mutation.BeforeID(); ok {
|
||||
if err := car.BeforeIDValidator(v); err != nil {
|
||||
return &ValidationError{Name: "before_id", err: fmt.Errorf("ent: validator failed for field \"before_id\": %w", err)}
|
||||
@@ -242,13 +246,13 @@ func (ccb *CarCreateBulk) Save(ctx context.Context) ([]*Car, error) {
|
||||
func(i int, root context.Context) {
|
||||
builder := ccb.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.(*CarMutation)
|
||||
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
|
||||
|
||||
@@ -124,22 +124,14 @@ func (cu *CarUpdate) ClearOwner() *CarUpdate {
|
||||
|
||||
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
||||
func (cu *CarUpdate) Save(ctx context.Context) (int, error) {
|
||||
if v, ok := cu.mutation.BeforeID(); ok {
|
||||
if err := car.BeforeIDValidator(v); err != nil {
|
||||
return 0, &ValidationError{Name: "before_id", err: fmt.Errorf("ent: validator failed for field \"before_id\": %w", err)}
|
||||
}
|
||||
}
|
||||
if v, ok := cu.mutation.AfterID(); ok {
|
||||
if err := car.AfterIDValidator(v); err != nil {
|
||||
return 0, &ValidationError{Name: "after_id", err: fmt.Errorf("ent: validator failed for field \"after_id\": %w", err)}
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
err error
|
||||
affected int
|
||||
)
|
||||
if len(cu.hooks) == 0 {
|
||||
if err = cu.check(); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
affected, err = cu.sqlSave(ctx)
|
||||
} else {
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
@@ -147,6 +139,9 @@ func (cu *CarUpdate) Save(ctx context.Context) (int, error) {
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||
}
|
||||
if err = cu.check(); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
cu.mutation = mutation
|
||||
affected, err = cu.sqlSave(ctx)
|
||||
mutation.done = true
|
||||
@@ -184,6 +179,21 @@ func (cu *CarUpdate) ExecX(ctx context.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (cu *CarUpdate) check() error {
|
||||
if v, ok := cu.mutation.BeforeID(); ok {
|
||||
if err := car.BeforeIDValidator(v); err != nil {
|
||||
return &ValidationError{Name: "before_id", err: fmt.Errorf("ent: validator failed for field \"before_id\": %w", err)}
|
||||
}
|
||||
}
|
||||
if v, ok := cu.mutation.AfterID(); ok {
|
||||
if err := car.AfterIDValidator(v); err != nil {
|
||||
return &ValidationError{Name: "after_id", err: fmt.Errorf("ent: validator failed for field \"after_id\": %w", err)}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cu *CarUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||
_spec := &sqlgraph.UpdateSpec{
|
||||
Node: &sqlgraph.NodeSpec{
|
||||
@@ -394,22 +404,14 @@ func (cuo *CarUpdateOne) ClearOwner() *CarUpdateOne {
|
||||
|
||||
// Save executes the query and returns the updated entity.
|
||||
func (cuo *CarUpdateOne) Save(ctx context.Context) (*Car, error) {
|
||||
if v, ok := cuo.mutation.BeforeID(); ok {
|
||||
if err := car.BeforeIDValidator(v); err != nil {
|
||||
return nil, &ValidationError{Name: "before_id", err: fmt.Errorf("ent: validator failed for field \"before_id\": %w", err)}
|
||||
}
|
||||
}
|
||||
if v, ok := cuo.mutation.AfterID(); ok {
|
||||
if err := car.AfterIDValidator(v); err != nil {
|
||||
return nil, &ValidationError{Name: "after_id", err: fmt.Errorf("ent: validator failed for field \"after_id\": %w", err)}
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
err error
|
||||
node *Car
|
||||
)
|
||||
if len(cuo.hooks) == 0 {
|
||||
if err = cuo.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
node, err = cuo.sqlSave(ctx)
|
||||
} else {
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
@@ -417,6 +419,9 @@ func (cuo *CarUpdateOne) Save(ctx context.Context) (*Car, error) {
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||
}
|
||||
if err = cuo.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
cuo.mutation = mutation
|
||||
node, err = cuo.sqlSave(ctx)
|
||||
mutation.done = true
|
||||
@@ -454,6 +459,21 @@ func (cuo *CarUpdateOne) ExecX(ctx context.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (cuo *CarUpdateOne) check() error {
|
||||
if v, ok := cuo.mutation.BeforeID(); ok {
|
||||
if err := car.BeforeIDValidator(v); err != nil {
|
||||
return &ValidationError{Name: "before_id", err: fmt.Errorf("ent: validator failed for field \"before_id\": %w", err)}
|
||||
}
|
||||
}
|
||||
if v, ok := cuo.mutation.AfterID(); ok {
|
||||
if err := car.AfterIDValidator(v); err != nil {
|
||||
return &ValidationError{Name: "after_id", err: fmt.Errorf("ent: validator failed for field \"after_id\": %w", err)}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cuo *CarUpdateOne) sqlSave(ctx context.Context) (c *Car, err error) {
|
||||
_spec := &sqlgraph.UpdateSpec{
|
||||
Node: &sqlgraph.NodeSpec{
|
||||
|
||||
@@ -51,14 +51,14 @@ func (gc *GroupCreate) Mutation() *GroupMutation {
|
||||
|
||||
// Save creates the Group in the database.
|
||||
func (gc *GroupCreate) Save(ctx context.Context) (*Group, error) {
|
||||
if err := gc.preSave(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var (
|
||||
err error
|
||||
node *Group
|
||||
)
|
||||
if len(gc.hooks) == 0 {
|
||||
if err = gc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
node, err = gc.sqlSave(ctx)
|
||||
} else {
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
@@ -66,6 +66,9 @@ func (gc *GroupCreate) Save(ctx context.Context) (*Group, error) {
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||
}
|
||||
if err = gc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
gc.mutation = mutation
|
||||
node, err = gc.sqlSave(ctx)
|
||||
mutation.done = true
|
||||
@@ -90,7 +93,8 @@ func (gc *GroupCreate) SaveX(ctx context.Context) *Group {
|
||||
return v
|
||||
}
|
||||
|
||||
func (gc *GroupCreate) preSave() error {
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (gc *GroupCreate) check() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -161,13 +165,13 @@ func (gcb *GroupCreateBulk) Save(ctx context.Context) ([]*Group, error) {
|
||||
func(i int, root context.Context) {
|
||||
builder := gcb.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.(*GroupMutation)
|
||||
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
|
||||
|
||||
@@ -75,7 +75,6 @@ func (gu *GroupUpdate) RemoveUsers(u ...*User) *GroupUpdate {
|
||||
|
||||
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
||||
func (gu *GroupUpdate) Save(ctx context.Context) (int, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
affected int
|
||||
@@ -258,7 +257,6 @@ func (guo *GroupUpdateOne) RemoveUsers(u ...*User) *GroupUpdateOne {
|
||||
|
||||
// Save executes the query and returns the updated entity.
|
||||
func (guo *GroupUpdateOne) Save(ctx context.Context) (*Group, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
node *Group
|
||||
|
||||
@@ -105,14 +105,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) {
|
||||
@@ -120,6 +120,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
|
||||
@@ -144,7 +147,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 v, ok := pc.mutation.ID(); ok {
|
||||
if err := pet.IDValidator(v); err != nil {
|
||||
return &ValidationError{Name: "id", err: fmt.Errorf("ent: validator failed for field \"id\": %w", err)}
|
||||
@@ -273,13 +277,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
|
||||
|
||||
@@ -162,7 +162,6 @@ func (pu *PetUpdate) ClearBestFriend() *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
|
||||
@@ -555,7 +554,6 @@ func (puo *PetUpdateOne) ClearBestFriend() *PetUpdateOne {
|
||||
|
||||
// Save executes the query and returns the updated entity.
|
||||
func (puo *PetUpdateOne) Save(ctx context.Context) (*Pet, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
node *Pet
|
||||
|
||||
@@ -101,14 +101,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) {
|
||||
@@ -116,6 +116,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
|
||||
@@ -140,7 +143,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 {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -268,13 +272,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
|
||||
|
||||
@@ -173,7 +173,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
|
||||
@@ -596,7 +595,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