chore(ent): re-run go generate
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
surtur 2023-08-07 21:31:46 +02:00
parent 1c67191c09
commit 50e7596672
Signed by: wanderer
SSH Key Fingerprint: SHA256:MdCZyJ2sHLltrLBp0xQO0O1qTW9BT/xl5nXkDvhlMCI
20 changed files with 222 additions and 65 deletions

@ -7,6 +7,7 @@ import (
"errors"
"fmt"
"reflect"
"sync"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
@ -62,35 +63,31 @@ func NewTxContext(parent context.Context, tx *Tx) context.Context {
}
// OrderFunc applies an ordering on the sql selector.
// Deprecated: Use Asc/Desc functions or the package builders instead.
type OrderFunc func(*sql.Selector)
// columnChecker returns a function indicates if the column exists in the given column.
func columnChecker(table string) func(string) error {
checks := map[string]func(string) bool{
hibp.Table: hibp.ValidColumn,
setup.Table: setup.ValidColumn,
user.Table: user.ValidColumn,
}
check, ok := checks[table]
if !ok {
return func(string) error {
return fmt.Errorf("unknown table %q", table)
}
}
return func(column string) error {
if !check(column) {
return fmt.Errorf("unknown column %q for table %q", column, table)
}
return nil
}
var (
initCheck sync.Once
columnCheck sql.ColumnCheck
)
// columnChecker checks if the column exists in the given table.
func checkColumn(table, column string) error {
initCheck.Do(func() {
columnCheck = sql.NewColumnCheck(map[string]func(string) bool{
hibp.Table: hibp.ValidColumn,
setup.Table: setup.ValidColumn,
user.Table: user.ValidColumn,
})
})
return columnCheck(table, column)
}
// Asc applies the given fields in ASC order.
func Asc(fields ...string) OrderFunc {
func Asc(fields ...string) func(*sql.Selector) {
return func(s *sql.Selector) {
check := columnChecker(s.TableName())
for _, f := range fields {
if err := check(f); err != nil {
if err := checkColumn(s.TableName(), f); err != nil {
s.AddError(&ValidationError{Name: f, err: fmt.Errorf("ent: %w", err)})
}
s.OrderBy(sql.Asc(s.C(f)))
@ -99,11 +96,10 @@ func Asc(fields ...string) OrderFunc {
}
// Desc applies the given fields in DESC order.
func Desc(fields ...string) OrderFunc {
func Desc(fields ...string) func(*sql.Selector) {
return func(s *sql.Selector) {
check := columnChecker(s.TableName())
for _, f := range fields {
if err := check(f); err != nil {
if err := checkColumn(s.TableName(), f); err != nil {
s.AddError(&ValidationError{Name: f, err: fmt.Errorf("ent: %w", err)})
}
s.OrderBy(sql.Desc(s.C(f)))
@ -135,8 +131,7 @@ func Count() AggregateFunc {
// Max applies the "max" aggregation function on the given field of each group.
func Max(field string) AggregateFunc {
return func(s *sql.Selector) string {
check := columnChecker(s.TableName())
if err := check(field); err != nil {
if err := checkColumn(s.TableName(), field); err != nil {
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)})
return ""
}
@ -147,8 +142,7 @@ func Max(field string) AggregateFunc {
// Mean applies the "mean" aggregation function on the given field of each group.
func Mean(field string) AggregateFunc {
return func(s *sql.Selector) string {
check := columnChecker(s.TableName())
if err := check(field); err != nil {
if err := checkColumn(s.TableName(), field); err != nil {
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)})
return ""
}
@ -159,8 +153,7 @@ func Mean(field string) AggregateFunc {
// Min applies the "min" aggregation function on the given field of each group.
func Min(field string) AggregateFunc {
return func(s *sql.Selector) string {
check := columnChecker(s.TableName())
if err := check(field); err != nil {
if err := checkColumn(s.TableName(), field); err != nil {
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)})
return ""
}
@ -171,8 +164,7 @@ func Min(field string) AggregateFunc {
// Sum applies the "sum" aggregation function on the given field of each group.
func Sum(field string) AggregateFunc {
return func(s *sql.Selector) string {
check := columnChecker(s.TableName())
if err := check(field); err != nil {
if err := checkColumn(s.TableName(), field); err != nil {
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)})
return ""
}

@ -8,6 +8,7 @@ import (
"strings"
"time"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"git.dotya.ml/mirre-mt/pcmt/ent/hibp"
"github.com/google/uuid"
@ -47,7 +48,8 @@ type HIBP struct {
// IsMalware holds the value of the "is_malware" field.
IsMalware bool `json:"is_malware,omitempty"`
// Always in PNG format
Logo string `json:"logo,omitempty"`
Logo string `json:"logo,omitempty"`
selectValues sql.SelectValues
}
// scanValues returns the types for scanning values from sql.Rows.
@ -68,7 +70,7 @@ func (*HIBP) scanValues(columns []string) ([]any, error) {
case hibp.FieldID:
values[i] = new(uuid.UUID)
default:
return nil, fmt.Errorf("unexpected column %q for type HIBP", columns[i])
values[i] = new(sql.UnknownType)
}
}
return values, nil
@ -180,11 +182,19 @@ func (h *HIBP) assignValues(columns []string, values []any) error {
} else if value.Valid {
h.Logo = value.String
}
default:
h.selectValues.Set(columns[i], values[i])
}
}
return nil
}
// Value returns the ent.Value that was dynamically selected and assigned to the HIBP.
// This includes values selected through modifiers, order, etc.
func (h *HIBP) Value(name string) (ent.Value, error) {
return h.selectValues.Get(name)
}
// Update returns a builder for updating this HIBP.
// Note that you need to call HIBP.Unwrap() before calling this method if this HIBP
// was returned from a transaction, and the transaction was committed or rolled back.

@ -2,6 +2,10 @@
package hibp
import (
"entgo.io/ent/dialect/sql"
)
const (
// Label holds the string label denoting the hibp type in the database.
Label = "hibp"
@ -85,3 +89,81 @@ var (
// DefaultIsMalware holds the default value on creation for the "is_malware" field.
DefaultIsMalware bool
)
// OrderOption defines the ordering options for the HIBP queries.
type OrderOption func(*sql.Selector)
// ByID orders the results by the id field.
func ByID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldID, opts...).ToFunc()
}
// ByName orders the results by the name field.
func ByName(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldName, opts...).ToFunc()
}
// ByDomain orders the results by the domain field.
func ByDomain(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldDomain, opts...).ToFunc()
}
// ByBreachDate orders the results by the breach_date field.
func ByBreachDate(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldBreachDate, opts...).ToFunc()
}
// ByAddedDate orders the results by the added_date field.
func ByAddedDate(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldAddedDate, opts...).ToFunc()
}
// ByModifiedDate orders the results by the modified_date field.
func ByModifiedDate(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldModifiedDate, opts...).ToFunc()
}
// ByPwnCount orders the results by the pwn_count field.
func ByPwnCount(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldPwnCount, opts...).ToFunc()
}
// ByDescription orders the results by the description field.
func ByDescription(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldDescription, opts...).ToFunc()
}
// ByIsVerified orders the results by the is_verified field.
func ByIsVerified(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldIsVerified, opts...).ToFunc()
}
// ByIsFabricated orders the results by the is_fabricated field.
func ByIsFabricated(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldIsFabricated, opts...).ToFunc()
}
// ByIsSensitive orders the results by the is_sensitive field.
func ByIsSensitive(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldIsSensitive, opts...).ToFunc()
}
// ByIsRetired orders the results by the is_retired field.
func ByIsRetired(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldIsRetired, opts...).ToFunc()
}
// ByIsSpamList orders the results by the is_spamList field.
func ByIsSpamList(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldIsSpamList, opts...).ToFunc()
}
// ByIsMalware orders the results by the is_malware field.
func ByIsMalware(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldIsMalware, opts...).ToFunc()
}
// ByLogo orders the results by the logo field.
func ByLogo(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldLogo, opts...).ToFunc()
}

@ -173,7 +173,7 @@ func (hc *HIBPCreate) Mutation() *HIBPMutation {
// Save creates the HIBP in the database.
func (hc *HIBPCreate) Save(ctx context.Context) (*HIBP, error) {
hc.defaults()
return withHooks[*HIBP, HIBPMutation](ctx, hc.sqlSave, hc.mutation, hc.hooks)
return withHooks(ctx, hc.sqlSave, hc.mutation, hc.hooks)
}
// SaveX calls Save and panics if Save returns an error.
@ -395,8 +395,8 @@ func (hcb *HIBPCreateBulk) Save(ctx context.Context) ([]*HIBP, error) {
return nil, err
}
builder.mutation = mutation
nodes[i], specs[i] = builder.createSpec()
var err error
nodes[i], specs[i] = builder.createSpec()
if i < len(mutators)-1 {
_, err = mutators[i+1].Mutate(root, hcb.builders[i+1].mutation)
} else {

@ -27,7 +27,7 @@ func (hd *HIBPDelete) Where(ps ...predicate.HIBP) *HIBPDelete {
// Exec executes the deletion query and returns how many vertices were deleted.
func (hd *HIBPDelete) Exec(ctx context.Context) (int, error) {
return withHooks[int, HIBPMutation](ctx, hd.sqlExec, hd.mutation, hd.hooks)
return withHooks(ctx, hd.sqlExec, hd.mutation, hd.hooks)
}
// ExecX is like Exec, but panics if an error occurs.

@ -19,7 +19,7 @@ import (
type HIBPQuery struct {
config
ctx *QueryContext
order []OrderFunc
order []hibp.OrderOption
inters []Interceptor
predicates []predicate.HIBP
// intermediate query (i.e. traversal path).
@ -53,7 +53,7 @@ func (hq *HIBPQuery) Unique(unique bool) *HIBPQuery {
}
// Order specifies how the records should be ordered.
func (hq *HIBPQuery) Order(o ...OrderFunc) *HIBPQuery {
func (hq *HIBPQuery) Order(o ...hibp.OrderOption) *HIBPQuery {
hq.order = append(hq.order, o...)
return hq
}
@ -247,7 +247,7 @@ func (hq *HIBPQuery) Clone() *HIBPQuery {
return &HIBPQuery{
config: hq.config,
ctx: hq.ctx.Clone(),
order: append([]OrderFunc{}, hq.order...),
order: append([]hibp.OrderOption{}, hq.order...),
inters: append([]Interceptor{}, hq.inters...),
predicates: append([]predicate.HIBP{}, hq.predicates...),
// clone intermediate query.

@ -181,7 +181,7 @@ func (hu *HIBPUpdate) Mutation() *HIBPMutation {
// Save executes the query and returns the number of nodes affected by the update operation.
func (hu *HIBPUpdate) Save(ctx context.Context) (int, error) {
return withHooks[int, HIBPMutation](ctx, hu.sqlSave, hu.mutation, hu.hooks)
return withHooks(ctx, hu.sqlSave, hu.mutation, hu.hooks)
}
// SaveX is like Save, but panics if an error occurs.
@ -450,7 +450,7 @@ func (huo *HIBPUpdateOne) Select(field string, fields ...string) *HIBPUpdateOne
// Save executes the query and returns the updated HIBP entity.
func (huo *HIBPUpdateOne) Save(ctx context.Context) (*HIBP, error) {
return withHooks[*HIBP, HIBPMutation](ctx, huo.sqlSave, huo.mutation, huo.hooks)
return withHooks(ctx, huo.sqlSave, huo.mutation, huo.hooks)
}
// SaveX is like Save, but panics if an error occurs.

@ -5,6 +5,6 @@ package runtime
// The schema-stitching logic is generated in git.dotya.ml/mirre-mt/pcmt/ent/runtime.go
const (
Version = "v0.11.10" // Version of ent codegen.
Sum = "h1:iqn32ybY5HRW3xSAyMNdNKpZhKgMf1Zunsej9yPKUI8=" // Sum of ent codegen.
Version = "v0.12.3" // Version of ent codegen.
Sum = "h1:N5lO2EOrHpCH5HYfiMOCHYbo+oh5M8GjT0/cx5x6xkk=" // Sum of ent codegen.
)

@ -7,6 +7,7 @@ import (
"strings"
"time"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"git.dotya.ml/mirre-mt/pcmt/ent/setup"
"github.com/google/uuid"
@ -18,7 +19,8 @@ type Setup struct {
// ID of the ent.
ID uuid.UUID `json:"id,omitempty"`
// SetUpAt holds the value of the "set_up_at" field.
SetUpAt time.Time `json:"set_up_at,omitempty"`
SetUpAt time.Time `json:"set_up_at,omitempty"`
selectValues sql.SelectValues
}
// scanValues returns the types for scanning values from sql.Rows.
@ -31,7 +33,7 @@ func (*Setup) scanValues(columns []string) ([]any, error) {
case setup.FieldID:
values[i] = new(uuid.UUID)
default:
return nil, fmt.Errorf("unexpected column %q for type Setup", columns[i])
values[i] = new(sql.UnknownType)
}
}
return values, nil
@ -57,11 +59,19 @@ func (s *Setup) assignValues(columns []string, values []any) error {
} else if value.Valid {
s.SetUpAt = value.Time
}
default:
s.selectValues.Set(columns[i], values[i])
}
}
return nil
}
// Value returns the ent.Value that was dynamically selected and assigned to the Setup.
// This includes values selected through modifiers, order, etc.
func (s *Setup) Value(name string) (ent.Value, error) {
return s.selectValues.Get(name)
}
// Update returns a builder for updating this Setup.
// Note that you need to call Setup.Unwrap() before calling this method if this Setup
// was returned from a transaction, and the transaction was committed or rolled back.

@ -5,6 +5,7 @@ package setup
import (
"time"
"entgo.io/ent/dialect/sql"
"github.com/google/uuid"
)
@ -41,3 +42,16 @@ var (
// DefaultID holds the default value on creation for the "id" field.
DefaultID func() uuid.UUID
)
// OrderOption defines the ordering options for the Setup queries.
type OrderOption func(*sql.Selector)
// ByID orders the results by the id field.
func ByID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldID, opts...).ToFunc()
}
// BySetUpAt orders the results by the set_up_at field.
func BySetUpAt(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldSetUpAt, opts...).ToFunc()
}

@ -57,7 +57,7 @@ func (sc *SetupCreate) Mutation() *SetupMutation {
// Save creates the Setup in the database.
func (sc *SetupCreate) Save(ctx context.Context) (*Setup, error) {
sc.defaults()
return withHooks[*Setup, SetupMutation](ctx, sc.sqlSave, sc.mutation, sc.hooks)
return withHooks(ctx, sc.sqlSave, sc.mutation, sc.hooks)
}
// SaveX calls Save and panics if Save returns an error.
@ -165,8 +165,8 @@ func (scb *SetupCreateBulk) Save(ctx context.Context) ([]*Setup, error) {
return nil, err
}
builder.mutation = mutation
nodes[i], specs[i] = builder.createSpec()
var err error
nodes[i], specs[i] = builder.createSpec()
if i < len(mutators)-1 {
_, err = mutators[i+1].Mutate(root, scb.builders[i+1].mutation)
} else {

@ -27,7 +27,7 @@ func (sd *SetupDelete) Where(ps ...predicate.Setup) *SetupDelete {
// Exec executes the deletion query and returns how many vertices were deleted.
func (sd *SetupDelete) Exec(ctx context.Context) (int, error) {
return withHooks[int, SetupMutation](ctx, sd.sqlExec, sd.mutation, sd.hooks)
return withHooks(ctx, sd.sqlExec, sd.mutation, sd.hooks)
}
// ExecX is like Exec, but panics if an error occurs.

@ -19,7 +19,7 @@ import (
type SetupQuery struct {
config
ctx *QueryContext
order []OrderFunc
order []setup.OrderOption
inters []Interceptor
predicates []predicate.Setup
// intermediate query (i.e. traversal path).
@ -53,7 +53,7 @@ func (sq *SetupQuery) Unique(unique bool) *SetupQuery {
}
// Order specifies how the records should be ordered.
func (sq *SetupQuery) Order(o ...OrderFunc) *SetupQuery {
func (sq *SetupQuery) Order(o ...setup.OrderOption) *SetupQuery {
sq.order = append(sq.order, o...)
return sq
}
@ -247,7 +247,7 @@ func (sq *SetupQuery) Clone() *SetupQuery {
return &SetupQuery{
config: sq.config,
ctx: sq.ctx.Clone(),
order: append([]OrderFunc{}, sq.order...),
order: append([]setup.OrderOption{}, sq.order...),
inters: append([]Interceptor{}, sq.inters...),
predicates: append([]predicate.Setup{}, sq.predicates...),
// clone intermediate query.

@ -34,7 +34,7 @@ func (su *SetupUpdate) Mutation() *SetupMutation {
// Save executes the query and returns the number of nodes affected by the update operation.
func (su *SetupUpdate) Save(ctx context.Context) (int, error) {
return withHooks[int, SetupMutation](ctx, su.sqlSave, su.mutation, su.hooks)
return withHooks(ctx, su.sqlSave, su.mutation, su.hooks)
}
// SaveX is like Save, but panics if an error occurs.
@ -108,7 +108,7 @@ func (suo *SetupUpdateOne) Select(field string, fields ...string) *SetupUpdateOn
// Save executes the query and returns the updated Setup entity.
func (suo *SetupUpdateOne) Save(ctx context.Context) (*Setup, error) {
return withHooks[*Setup, SetupMutation](ctx, suo.sqlSave, suo.mutation, suo.hooks)
return withHooks(ctx, suo.sqlSave, suo.mutation, suo.hooks)
}
// SaveX is like Save, but panics if an error occurs.

@ -7,6 +7,7 @@ import (
"strings"
"time"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"git.dotya.ml/mirre-mt/pcmt/ent/user"
"github.com/google/uuid"
@ -30,7 +31,8 @@ type User struct {
// CreatedAt holds the value of the "created_at" field.
CreatedAt time.Time `json:"created_at,omitempty"`
// UpdatedAt holds the value of the "updated_at" field.
UpdatedAt time.Time `json:"updated_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
selectValues sql.SelectValues
}
// scanValues returns the types for scanning values from sql.Rows.
@ -49,7 +51,7 @@ func (*User) scanValues(columns []string) ([]any, error) {
case user.FieldID:
values[i] = new(uuid.UUID)
default:
return nil, fmt.Errorf("unexpected column %q for type User", columns[i])
values[i] = new(sql.UnknownType)
}
}
return values, nil
@ -111,11 +113,19 @@ func (u *User) assignValues(columns []string, values []any) error {
} else if value.Valid {
u.UpdatedAt = value.Time
}
default:
u.selectValues.Set(columns[i], values[i])
}
}
return nil
}
// Value returns the ent.Value that was dynamically selected and assigned to the User.
// This includes values selected through modifiers, order, etc.
func (u *User) Value(name string) (ent.Value, error) {
return u.selectValues.Get(name)
}
// Update returns a builder for updating this User.
// Note that you need to call User.Unwrap() before calling this method if this User
// was returned from a transaction, and the transaction was committed or rolled back.

@ -5,6 +5,7 @@ package user
import (
"time"
"entgo.io/ent/dialect/sql"
"github.com/google/uuid"
)
@ -73,3 +74,41 @@ var (
// DefaultID holds the default value on creation for the "id" field.
DefaultID func() uuid.UUID
)
// OrderOption defines the ordering options for the User queries.
type OrderOption func(*sql.Selector)
// ByID orders the results by the id field.
func ByID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldID, opts...).ToFunc()
}
// ByUsername orders the results by the username field.
func ByUsername(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldUsername, opts...).ToFunc()
}
// ByEmail orders the results by the email field.
func ByEmail(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldEmail, opts...).ToFunc()
}
// ByIsAdmin orders the results by the is_admin field.
func ByIsAdmin(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldIsAdmin, opts...).ToFunc()
}
// ByIsActive orders the results by the is_active field.
func ByIsActive(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldIsActive, opts...).ToFunc()
}
// ByCreatedAt orders the results by the created_at field.
func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldCreatedAt, opts...).ToFunc()
}
// ByUpdatedAt orders the results by the updated_at field.
func ByUpdatedAt(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldUpdatedAt, opts...).ToFunc()
}

@ -117,7 +117,7 @@ func (uc *UserCreate) Mutation() *UserMutation {
// Save creates the User in the database.
func (uc *UserCreate) Save(ctx context.Context) (*User, error) {
uc.defaults()
return withHooks[*User, UserMutation](ctx, uc.sqlSave, uc.mutation, uc.hooks)
return withHooks(ctx, uc.sqlSave, uc.mutation, uc.hooks)
}
// SaveX calls Save and panics if Save returns an error.
@ -294,8 +294,8 @@ func (ucb *UserCreateBulk) Save(ctx context.Context) ([]*User, error) {
return nil, err
}
builder.mutation = mutation
nodes[i], specs[i] = builder.createSpec()
var err error
nodes[i], specs[i] = builder.createSpec()
if i < len(mutators)-1 {
_, err = mutators[i+1].Mutate(root, ucb.builders[i+1].mutation)
} else {

@ -27,7 +27,7 @@ func (ud *UserDelete) Where(ps ...predicate.User) *UserDelete {
// Exec executes the deletion query and returns how many vertices were deleted.
func (ud *UserDelete) Exec(ctx context.Context) (int, error) {
return withHooks[int, UserMutation](ctx, ud.sqlExec, ud.mutation, ud.hooks)
return withHooks(ctx, ud.sqlExec, ud.mutation, ud.hooks)
}
// ExecX is like Exec, but panics if an error occurs.

@ -19,7 +19,7 @@ import (
type UserQuery struct {
config
ctx *QueryContext
order []OrderFunc
order []user.OrderOption
inters []Interceptor
predicates []predicate.User
// intermediate query (i.e. traversal path).
@ -53,7 +53,7 @@ func (uq *UserQuery) Unique(unique bool) *UserQuery {
}
// Order specifies how the records should be ordered.
func (uq *UserQuery) Order(o ...OrderFunc) *UserQuery {
func (uq *UserQuery) Order(o ...user.OrderOption) *UserQuery {
uq.order = append(uq.order, o...)
return uq
}
@ -247,7 +247,7 @@ func (uq *UserQuery) Clone() *UserQuery {
return &UserQuery{
config: uq.config,
ctx: uq.ctx.Clone(),
order: append([]OrderFunc{}, uq.order...),
order: append([]user.OrderOption{}, uq.order...),
inters: append([]Interceptor{}, uq.inters...),
predicates: append([]predicate.User{}, uq.predicates...),
// clone intermediate query.

@ -88,7 +88,7 @@ func (uu *UserUpdate) Mutation() *UserMutation {
// Save executes the query and returns the number of nodes affected by the update operation.
func (uu *UserUpdate) Save(ctx context.Context) (int, error) {
uu.defaults()
return withHooks[int, UserMutation](ctx, uu.sqlSave, uu.mutation, uu.hooks)
return withHooks(ctx, uu.sqlSave, uu.mutation, uu.hooks)
}
// SaveX is like Save, but panics if an error occurs.
@ -264,7 +264,7 @@ func (uuo *UserUpdateOne) Select(field string, fields ...string) *UserUpdateOne
// Save executes the query and returns the updated User entity.
func (uuo *UserUpdateOne) Save(ctx context.Context) (*User, error) {
uuo.defaults()
return withHooks[*User, UserMutation](ctx, uuo.sqlSave, uuo.mutation, uuo.hooks)
return withHooks(ctx, uuo.sqlSave, uuo.mutation, uuo.hooks)
}
// SaveX is like Save, but panics if an error occurs.