bitbucket.org/Aishee/synsec@v0.0.0-20210414005726-236fc01a153d/pkg/database/ent/machine_delete.go (about)

     1  // Code generated by entc, DO NOT EDIT.
     2  
     3  package ent
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  
     9  	"entgo.io/ent/dialect/sql"
    10  	"entgo.io/ent/dialect/sql/sqlgraph"
    11  	"entgo.io/ent/schema/field"
    12  	"bitbucket.org/Aishee/synsec/pkg/database/ent/machine"
    13  	"bitbucket.org/Aishee/synsec/pkg/database/ent/predicate"
    14  )
    15  
    16  // MachineDelete is the builder for deleting a Machine entity.
    17  type MachineDelete struct {
    18  	config
    19  	hooks    []Hook
    20  	mutation *MachineMutation
    21  }
    22  
    23  // Where adds a new predicate to the MachineDelete builder.
    24  func (md *MachineDelete) Where(ps ...predicate.Machine) *MachineDelete {
    25  	md.mutation.predicates = append(md.mutation.predicates, ps...)
    26  	return md
    27  }
    28  
    29  // Exec executes the deletion query and returns how many vertices were deleted.
    30  func (md *MachineDelete) Exec(ctx context.Context) (int, error) {
    31  	var (
    32  		err      error
    33  		affected int
    34  	)
    35  	if len(md.hooks) == 0 {
    36  		affected, err = md.sqlExec(ctx)
    37  	} else {
    38  		var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
    39  			mutation, ok := m.(*MachineMutation)
    40  			if !ok {
    41  				return nil, fmt.Errorf("unexpected mutation type %T", m)
    42  			}
    43  			md.mutation = mutation
    44  			affected, err = md.sqlExec(ctx)
    45  			mutation.done = true
    46  			return affected, err
    47  		})
    48  		for i := len(md.hooks) - 1; i >= 0; i-- {
    49  			mut = md.hooks[i](mut)
    50  		}
    51  		if _, err := mut.Mutate(ctx, md.mutation); err != nil {
    52  			return 0, err
    53  		}
    54  	}
    55  	return affected, err
    56  }
    57  
    58  // ExecX is like Exec, but panics if an error occurs.
    59  func (md *MachineDelete) ExecX(ctx context.Context) int {
    60  	n, err := md.Exec(ctx)
    61  	if err != nil {
    62  		panic(err)
    63  	}
    64  	return n
    65  }
    66  
    67  func (md *MachineDelete) sqlExec(ctx context.Context) (int, error) {
    68  	_spec := &sqlgraph.DeleteSpec{
    69  		Node: &sqlgraph.NodeSpec{
    70  			Table: machine.Table,
    71  			ID: &sqlgraph.FieldSpec{
    72  				Type:   field.TypeInt,
    73  				Column: machine.FieldID,
    74  			},
    75  		},
    76  	}
    77  	if ps := md.mutation.predicates; len(ps) > 0 {
    78  		_spec.Predicate = func(selector *sql.Selector) {
    79  			for i := range ps {
    80  				ps[i](selector)
    81  			}
    82  		}
    83  	}
    84  	return sqlgraph.DeleteNodes(ctx, md.driver, _spec)
    85  }
    86  
    87  // MachineDeleteOne is the builder for deleting a single Machine entity.
    88  type MachineDeleteOne struct {
    89  	md *MachineDelete
    90  }
    91  
    92  // Exec executes the deletion query.
    93  func (mdo *MachineDeleteOne) Exec(ctx context.Context) error {
    94  	n, err := mdo.md.Exec(ctx)
    95  	switch {
    96  	case err != nil:
    97  		return err
    98  	case n == 0:
    99  		return &NotFoundError{machine.Label}
   100  	default:
   101  		return nil
   102  	}
   103  }
   104  
   105  // ExecX is like Exec, but panics if an error occurs.
   106  func (mdo *MachineDeleteOne) ExecX(ctx context.Context) {
   107  	mdo.md.ExecX(ctx)
   108  }