github.com/crowdsecurity/crowdsec@v1.6.1/pkg/database/ent/bouncer_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/bouncer"
    12  	"github.com/crowdsecurity/crowdsec/pkg/database/ent/predicate"
    13  )
    14  
    15  // BouncerDelete is the builder for deleting a Bouncer entity.
    16  type BouncerDelete struct {
    17  	config
    18  	hooks    []Hook
    19  	mutation *BouncerMutation
    20  }
    21  
    22  // Where appends a list predicates to the BouncerDelete builder.
    23  func (bd *BouncerDelete) Where(ps ...predicate.Bouncer) *BouncerDelete {
    24  	bd.mutation.Where(ps...)
    25  	return bd
    26  }
    27  
    28  // Exec executes the deletion query and returns how many vertices were deleted.
    29  func (bd *BouncerDelete) Exec(ctx context.Context) (int, error) {
    30  	return withHooks(ctx, bd.sqlExec, bd.mutation, bd.hooks)
    31  }
    32  
    33  // ExecX is like Exec, but panics if an error occurs.
    34  func (bd *BouncerDelete) ExecX(ctx context.Context) int {
    35  	n, err := bd.Exec(ctx)
    36  	if err != nil {
    37  		panic(err)
    38  	}
    39  	return n
    40  }
    41  
    42  func (bd *BouncerDelete) sqlExec(ctx context.Context) (int, error) {
    43  	_spec := sqlgraph.NewDeleteSpec(bouncer.Table, sqlgraph.NewFieldSpec(bouncer.FieldID, field.TypeInt))
    44  	if ps := bd.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, bd.driver, _spec)
    52  	if err != nil && sqlgraph.IsConstraintError(err) {
    53  		err = &ConstraintError{msg: err.Error(), wrap: err}
    54  	}
    55  	bd.mutation.done = true
    56  	return affected, err
    57  }
    58  
    59  // BouncerDeleteOne is the builder for deleting a single Bouncer entity.
    60  type BouncerDeleteOne struct {
    61  	bd *BouncerDelete
    62  }
    63  
    64  // Where appends a list predicates to the BouncerDelete builder.
    65  func (bdo *BouncerDeleteOne) Where(ps ...predicate.Bouncer) *BouncerDeleteOne {
    66  	bdo.bd.mutation.Where(ps...)
    67  	return bdo
    68  }
    69  
    70  // Exec executes the deletion query.
    71  func (bdo *BouncerDeleteOne) Exec(ctx context.Context) error {
    72  	n, err := bdo.bd.Exec(ctx)
    73  	switch {
    74  	case err != nil:
    75  		return err
    76  	case n == 0:
    77  		return &NotFoundError{bouncer.Label}
    78  	default:
    79  		return nil
    80  	}
    81  }
    82  
    83  // ExecX is like Exec, but panics if an error occurs.
    84  func (bdo *BouncerDeleteOne) ExecX(ctx context.Context) {
    85  	if err := bdo.Exec(ctx); err != nil {
    86  		panic(err)
    87  	}
    88  }