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

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

@ -2,6 +2,10 @@
package hibp package hibp
import (
"entgo.io/ent/dialect/sql"
)
const ( const (
// Label holds the string label denoting the hibp type in the database. // Label holds the string label denoting the hibp type in the database.
Label = "hibp" Label = "hibp"
@ -85,3 +89,81 @@ var (
// DefaultIsMalware holds the default value on creation for the "is_malware" field. // DefaultIsMalware holds the default value on creation for the "is_malware" field.
DefaultIsMalware bool 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. // Save creates the HIBP in the database.
func (hc *HIBPCreate) Save(ctx context.Context) (*HIBP, error) { func (hc *HIBPCreate) Save(ctx context.Context) (*HIBP, error) {
hc.defaults() 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. // 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 return nil, err
} }
builder.mutation = mutation builder.mutation = mutation
nodes[i], specs[i] = builder.createSpec()
var err error var err error
nodes[i], specs[i] = builder.createSpec()
if i < len(mutators)-1 { if i < len(mutators)-1 {
_, err = mutators[i+1].Mutate(root, hcb.builders[i+1].mutation) _, err = mutators[i+1].Mutate(root, hcb.builders[i+1].mutation)
} else { } 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. // Exec executes the deletion query and returns how many vertices were deleted.
func (hd *HIBPDelete) Exec(ctx context.Context) (int, error) { 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. // ExecX is like Exec, but panics if an error occurs.

@ -19,7 +19,7 @@ import (
type HIBPQuery struct { type HIBPQuery struct {
config config
ctx *QueryContext ctx *QueryContext
order []OrderFunc order []hibp.OrderOption
inters []Interceptor inters []Interceptor
predicates []predicate.HIBP predicates []predicate.HIBP
// intermediate query (i.e. traversal path). // 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. // 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...) hq.order = append(hq.order, o...)
return hq return hq
} }
@ -247,7 +247,7 @@ func (hq *HIBPQuery) Clone() *HIBPQuery {
return &HIBPQuery{ return &HIBPQuery{
config: hq.config, config: hq.config,
ctx: hq.ctx.Clone(), ctx: hq.ctx.Clone(),
order: append([]OrderFunc{}, hq.order...), order: append([]hibp.OrderOption{}, hq.order...),
inters: append([]Interceptor{}, hq.inters...), inters: append([]Interceptor{}, hq.inters...),
predicates: append([]predicate.HIBP{}, hq.predicates...), predicates: append([]predicate.HIBP{}, hq.predicates...),
// clone intermediate query. // 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. // Save executes the query and returns the number of nodes affected by the update operation.
func (hu *HIBPUpdate) Save(ctx context.Context) (int, error) { 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. // 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. // Save executes the query and returns the updated HIBP entity.
func (huo *HIBPUpdateOne) Save(ctx context.Context) (*HIBP, error) { 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. // 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 // The schema-stitching logic is generated in git.dotya.ml/mirre-mt/pcmt/ent/runtime.go
const ( const (
Version = "v0.11.10" // Version of ent codegen. Version = "v0.12.3" // Version of ent codegen.
Sum = "h1:iqn32ybY5HRW3xSAyMNdNKpZhKgMf1Zunsej9yPKUI8=" // Sum of ent codegen. Sum = "h1:N5lO2EOrHpCH5HYfiMOCHYbo+oh5M8GjT0/cx5x6xkk=" // Sum of ent codegen.
) )

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

@ -5,6 +5,7 @@ package setup
import ( import (
"time" "time"
"entgo.io/ent/dialect/sql"
"github.com/google/uuid" "github.com/google/uuid"
) )
@ -41,3 +42,16 @@ var (
// DefaultID holds the default value on creation for the "id" field. // DefaultID holds the default value on creation for the "id" field.
DefaultID func() uuid.UUID 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. // Save creates the Setup in the database.
func (sc *SetupCreate) Save(ctx context.Context) (*Setup, error) { func (sc *SetupCreate) Save(ctx context.Context) (*Setup, error) {
sc.defaults() 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. // 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 return nil, err
} }
builder.mutation = mutation builder.mutation = mutation
nodes[i], specs[i] = builder.createSpec()
var err error var err error
nodes[i], specs[i] = builder.createSpec()
if i < len(mutators)-1 { if i < len(mutators)-1 {
_, err = mutators[i+1].Mutate(root, scb.builders[i+1].mutation) _, err = mutators[i+1].Mutate(root, scb.builders[i+1].mutation)
} else { } 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. // Exec executes the deletion query and returns how many vertices were deleted.
func (sd *SetupDelete) Exec(ctx context.Context) (int, error) { 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. // ExecX is like Exec, but panics if an error occurs.

@ -19,7 +19,7 @@ import (
type SetupQuery struct { type SetupQuery struct {
config config
ctx *QueryContext ctx *QueryContext
order []OrderFunc order []setup.OrderOption
inters []Interceptor inters []Interceptor
predicates []predicate.Setup predicates []predicate.Setup
// intermediate query (i.e. traversal path). // 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. // 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...) sq.order = append(sq.order, o...)
return sq return sq
} }
@ -247,7 +247,7 @@ func (sq *SetupQuery) Clone() *SetupQuery {
return &SetupQuery{ return &SetupQuery{
config: sq.config, config: sq.config,
ctx: sq.ctx.Clone(), ctx: sq.ctx.Clone(),
order: append([]OrderFunc{}, sq.order...), order: append([]setup.OrderOption{}, sq.order...),
inters: append([]Interceptor{}, sq.inters...), inters: append([]Interceptor{}, sq.inters...),
predicates: append([]predicate.Setup{}, sq.predicates...), predicates: append([]predicate.Setup{}, sq.predicates...),
// clone intermediate query. // 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. // Save executes the query and returns the number of nodes affected by the update operation.
func (su *SetupUpdate) Save(ctx context.Context) (int, error) { 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. // 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. // Save executes the query and returns the updated Setup entity.
func (suo *SetupUpdateOne) Save(ctx context.Context) (*Setup, error) { 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. // SaveX is like Save, but panics if an error occurs.

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

@ -5,6 +5,7 @@ package user
import ( import (
"time" "time"
"entgo.io/ent/dialect/sql"
"github.com/google/uuid" "github.com/google/uuid"
) )
@ -73,3 +74,41 @@ var (
// DefaultID holds the default value on creation for the "id" field. // DefaultID holds the default value on creation for the "id" field.
DefaultID func() uuid.UUID 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. // Save creates the User in the database.
func (uc *UserCreate) Save(ctx context.Context) (*User, error) { func (uc *UserCreate) Save(ctx context.Context) (*User, error) {
uc.defaults() 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. // 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 return nil, err
} }
builder.mutation = mutation builder.mutation = mutation
nodes[i], specs[i] = builder.createSpec()
var err error var err error
nodes[i], specs[i] = builder.createSpec()
if i < len(mutators)-1 { if i < len(mutators)-1 {
_, err = mutators[i+1].Mutate(root, ucb.builders[i+1].mutation) _, err = mutators[i+1].Mutate(root, ucb.builders[i+1].mutation)
} else { } 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. // Exec executes the deletion query and returns how many vertices were deleted.
func (ud *UserDelete) Exec(ctx context.Context) (int, error) { 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. // ExecX is like Exec, but panics if an error occurs.

@ -19,7 +19,7 @@ import (
type UserQuery struct { type UserQuery struct {
config config
ctx *QueryContext ctx *QueryContext
order []OrderFunc order []user.OrderOption
inters []Interceptor inters []Interceptor
predicates []predicate.User predicates []predicate.User
// intermediate query (i.e. traversal path). // 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. // 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...) uq.order = append(uq.order, o...)
return uq return uq
} }
@ -247,7 +247,7 @@ func (uq *UserQuery) Clone() *UserQuery {
return &UserQuery{ return &UserQuery{
config: uq.config, config: uq.config,
ctx: uq.ctx.Clone(), ctx: uq.ctx.Clone(),
order: append([]OrderFunc{}, uq.order...), order: append([]user.OrderOption{}, uq.order...),
inters: append([]Interceptor{}, uq.inters...), inters: append([]Interceptor{}, uq.inters...),
predicates: append([]predicate.User{}, uq.predicates...), predicates: append([]predicate.User{}, uq.predicates...),
// clone intermediate query. // 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. // Save executes the query and returns the number of nodes affected by the update operation.
func (uu *UserUpdate) Save(ctx context.Context) (int, error) { func (uu *UserUpdate) Save(ctx context.Context) (int, error) {
uu.defaults() 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. // 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. // Save executes the query and returns the updated User entity.
func (uuo *UserUpdateOne) Save(ctx context.Context) (*User, error) { func (uuo *UserUpdateOne) Save(ctx context.Context) (*User, error) {
uuo.defaults() 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. // SaveX is like Save, but panics if an error occurs.