github.com/crowdsecurity/crowdsec@v1.6.1/pkg/database/ent/decision_delete.go (about)

     1  // Code generated by ent, DO NOT EDIT.
     2  
     3  package ent
     4  
     5  import (
     6  	"context"
     7  
     8  	"entgo.io/ent/dialect/sql"
     9  	"entgo.io/ent/dialect/sql/sqlgraph"
    10  	"entgo.io/ent/schema/field"
    11  	"github.com/crowdsecurity/crowdsec/pkg/database/ent/decision"
    12  	"github.com/crowdsecurity/crowdsec/pkg/database/ent/predicate"
    13  )
    14  
    15  // DecisionDelete is the builder for deleting a Decision entity.
    16  type DecisionDelete struct {
    17  	config
    18  	hooks    []Hook
    19  	mutation *DecisionMutation
    20  }
    21  
    22  // Where appends a list predicates to the DecisionDelete builder.
    23  func (dd *DecisionDelete) Where(ps ...predicate.Decision) *DecisionDelete {
    24  	dd.mutation.Where(ps...)
    25  	return dd
    26  }
    27  
    28  // Exec executes the deletion query and returns how many vertices were deleted.
    29  func (dd *DecisionDelete) Exec(ctx context.Context) (int, error) {
    30  	return withHooks(ctx, dd.sqlExec, dd.mutation, dd.hooks)
    31  }
    32  
    33  // ExecX is like Exec, but panics if an error occurs.
    34  func (dd *DecisionDelete) ExecX(ctx context.Context) int {
    35  	n, err := dd.Exec(ctx)
    36  	if err != nil {
    37  		panic(err)
    38  	}
    39  	return n
    40  }
    41  
    42  func (dd *DecisionDelete) sqlExec(ctx context.Context) (int, error) {
    43  	_spec := sqlgraph.NewDeleteSpec(decision.Table, sqlgraph.NewFieldSpec(decision.FieldID, field.TypeInt))
    44  	if ps := dd.mutation.predicates; len(ps) > 0 {
    45  		_spec.Predicate = func(selector *sql.Selector) {
    46  			for i := range ps {
    47  				ps[i](selector)
    48  			}
    49  		}
    50  	}
    51  	affected, err := sqlgraph.DeleteNodes(ctx, dd.driver, _spec)
    52  	if err != nil && sqlgraph.IsConstraintError(err) {
    53  		err = &ConstraintError{msg: err.Error(), wrap: err}
    54  	}
    55  	dd.mutation.done = true
    56  	return affected, err
    57  }
    58  
    59  // DecisionDeleteOne is the builder for deleting a single Decision entity.
    60  type DecisionDeleteOne struct {
    61  	dd *DecisionDelete
    62  }
    63  
    64  // Where appends a list predicates to the DecisionDelete builder.
    65  func (ddo *DecisionDeleteOne) Where(ps ...predicate.Decision) *DecisionDeleteOne {
    66  	ddo.dd.mutation.Where(ps...)
    67  	return ddo
    68  }
    69  
    70  // Exec executes the deletion query.
    71  func (ddo *DecisionDeleteOne) Exec(ctx context.Context) error {
    72  	n, err := ddo.dd.Exec(ctx)
    73  	switch {
    74  	case err != nil:
    75  		return err
    76  	case n == 0:
    77  		return &NotFoundError{decision.Label}
    78  	default:
    79  		return nil
    80  	}
    81  }
    82  
    83  // ExecX is like Exec, but panics if an error occurs.
    84  func (ddo *DecisionDeleteOne) ExecX(ctx context.Context) {
    85  	if err := ddo.Exec(ctx); err != nil {
    86  		panic(err)
    87  	}
    88  }