contact_delete.go 2.2 KB

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