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